Class: TestBench::Random::Generator
- Inherits:
-
Object
- Object
- TestBench::Random::Generator
- Defined in:
- lib/test_bench/random/generator.rb,
lib/test_bench/random/generator/substitute.rb
Direct Known Subclasses
Defined Under Namespace
Modules: Substitute
Instance Attribute Summary collapse
- #iterator ⇒ Object
-
#seed ⇒ Object
Returns the value of attribute seed.
Class Method Summary collapse
Instance Method Summary collapse
- #boolean ⇒ Object
- #decimal ⇒ Object
-
#initialize(seed) ⇒ Generator
constructor
A new instance of Generator.
- #integer ⇒ Object
- #reset ⇒ Object
- #reset? ⇒ Boolean
- #string ⇒ Object
Constructor Details
#initialize(seed) ⇒ Generator
Returns a new instance of Generator.
12 13 14 |
# File 'lib/test_bench/random/generator.rb', line 12 def initialize(seed) @seed = seed end |
Instance Attribute Details
#iterator ⇒ Object
4 5 6 |
# File 'lib/test_bench/random/generator.rb', line 4 def iterator @iterator ||= Iterator.build(seed) end |
#seed ⇒ Object
Returns the value of attribute seed.
9 10 11 |
# File 'lib/test_bench/random/generator.rb', line 9 def seed @seed end |
Class Method Details
.build(seed = nil) ⇒ Object
16 17 18 19 20 |
# File 'lib/test_bench/random/generator.rb', line 16 def self.build(seed=nil) seed ||= Defaults.seed new(seed) end |
.configure(receiver, attr_name: nil) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/test_bench/random/generator.rb', line 26 def self.configure(receiver, attr_name: nil) attr_name ||= :random_generator instance = self.instance receiver.public_send(:"#{attr_name}=", instance) end |
.instance ⇒ Object
22 23 24 |
# File 'lib/test_bench/random/generator.rb', line 22 def self.instance @instance ||= build end |
Instance Method Details
#boolean ⇒ Object
37 38 39 |
# File 'lib/test_bench/random/generator.rb', line 37 def boolean self.integer % 2 == 1 end |
#decimal ⇒ Object
45 46 47 |
# File 'lib/test_bench/random/generator.rb', line 45 def decimal iterator.next.unpack1('D') end |
#integer ⇒ Object
41 42 43 |
# File 'lib/test_bench/random/generator.rb', line 41 def integer iterator.next.unpack1('Q>') end |
#reset ⇒ Object
49 50 51 |
# File 'lib/test_bench/random/generator.rb', line 49 def reset self.iterator = Iterator.build(seed) end |
#reset? ⇒ Boolean
53 54 55 56 57 58 59 |
# File 'lib/test_bench/random/generator.rb', line 53 def reset? if iterator.iterated? false else true end end |
#string ⇒ Object
33 34 35 |
# File 'lib/test_bench/random/generator.rb', line 33 def string self.integer.to_s(36) end |