Class: DummyLogGenerator::Random
- Inherits:
-
Object
- Object
- DummyLogGenerator::Random
- Defined in:
- lib/dummy_log_generator/generator.rb
Instance Method Summary collapse
- #any(any) ⇒ Object
- #datetime(format: "%Y-%m-%d %H:%M:%S.%3N", random: false, prev: nil) ⇒ Object
- #float(range: nil, prev: nil) ⇒ Object
-
#initialize ⇒ Random
constructor
A new instance of Random.
- #integer(range: nil, countup: false, prev: nil) ⇒ Object
- #rand(arg = nil) ⇒ Object
- #range(range) ⇒ Object
- #string(length: 8, any: nil, prev: nil) ⇒ Object
Constructor Details
#initialize ⇒ Random
Returns a new instance of Random.
36 37 38 39 |
# File 'lib/dummy_log_generator/generator.rb', line 36 def initialize @rand = ::Random.new(0) @chars = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a # no symbols and multi-bytes for now end |
Instance Method Details
#any(any) ⇒ Object
89 90 91 |
# File 'lib/dummy_log_generator/generator.rb', line 89 def any(any) any[rand(any.size-1)] end |
#datetime(format: "%Y-%m-%d %H:%M:%S.%3N", random: false, prev: nil) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/dummy_log_generator/generator.rb', line 69 def datetime(format: "%Y-%m-%d %H:%M:%S.%3N", random: false, prev: nil) time = if random y = rand(1970..2037); m = rand(1..12); d = rand(1..27); h = rand(0..23); min = rand(0..59); s = rand(0..59); usec = rand(0..999999); Time.local(y, m, d, h, min, s, usec) else Time.now end time.strftime(format) end |
#float(range: nil, prev: nil) ⇒ Object
60 61 62 63 64 65 66 67 |
# File 'lib/dummy_log_generator/generator.rb', line 60 def float(range: nil, prev: nil) if range self.range(range) else r = rand(1..358) r * Math.cos(r) # cheat end end |
#integer(range: nil, countup: false, prev: nil) ⇒ Object
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/dummy_log_generator/generator.rb', line 49 def integer(range: nil, countup: false, prev: nil) if range self.range(range) elsif countup prev ||= -1 prev + 1 else rand(0..2,147,483,647) end end |
#rand(arg = nil) ⇒ Object
93 94 95 |
# File 'lib/dummy_log_generator/generator.rb', line 93 def rand(arg = nil) @rand.rand(arg) end |
#range(range) ⇒ Object
85 86 87 |
# File 'lib/dummy_log_generator/generator.rb', line 85 def range(range) rand(range) end |
#string(length: 8, any: nil, prev: nil) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/dummy_log_generator/generator.rb', line 41 def string(length: 8, any: nil, prev: nil) if any self.any(any) else Array.new(length){@chars[rand(@chars.size-1)]}.join end end |