lib/pry.rb: keep randomness predictable!

Still a horrible hack, but at least it fixes issue
https://github.com/pry/pry/issues/988 (In PRY, srand() and rand()
results differs from IRB's or command line Ruby's).

I also would like to mention that the `result` variable also contains
some extra "\e[0m" sequences; it also messes Pry Theme up (singleton
objects) a bit.
This commit is contained in:
Kyrylo Silin 2013-10-24 02:17:51 +03:00
parent 9cb54fd755
commit 235203b11f
1 changed files with 3 additions and 1 deletions

View File

@ -8,6 +8,8 @@ require 'pry/exceptions'
require 'pry/helpers/base_helpers'
require 'pry/hooks'
require 'securerandom'
class Pry
# The default hooks - display messages when beginning and ending Pry sessions.
@ -37,7 +39,7 @@ class Pry
stringified = "#<#{klass}:0x#{id}>"
end
nonce = rand(0x100000000).to_s(16) # whatever
nonce = SecureRandom.hex(4)
stringified.gsub!(/#</, "%<#{nonce}")
# Don't recolorize output with color (for cucumber, looksee, etc.) [Issue #751]