Module: SecureRandom
- Defined in:
- lib/securer_randomer/monkeypatch/secure_random.rb
Constant Summary collapse
- KERNEL_RAND =
SecurerRandomer.method(:kernel_rand)
- FLOAT_ERROR =
begin random_number(1.0); rescue => e; e end
Class Method Summary collapse
Class Method Details
.gen_random(n) ⇒ Object
7 8 9 |
# File 'lib/securer_randomer/monkeypatch/secure_random.rb', line 7 def self.gen_random(n) RbNaCl::Random.random_bytes(n) end |
.random_bytes(n = nil) ⇒ Object
11 12 13 |
# File 'lib/securer_randomer/monkeypatch/secure_random.rb', line 11 def self.random_bytes(n = nil) RbNaCl::Random.random_bytes(n ? n.to_i : 16) end |
.random_number(n = 0) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/securer_randomer/monkeypatch/secure_random.rb', line 17 def self.random_number(n = 0) arg = case n when nil 0 when Numeric n > 0 ? n : 0 when Range if n.end < n.begin 0 elsif n.begin == n.end and n.exclude_end? 0 else n end end raise TypeError unless arg KERNEL_RAND.call(arg) rescue TypeError raise ArgumentError, "invalid argument - #{n}" end |