Class: Mumukit::Randomizer
- Inherits:
-
Object
- Object
- Mumukit::Randomizer
- Defined in:
- lib/mumukit/randomizer.rb,
lib/mumukit/randomizer/version.rb
Defined Under Namespace
Modules: Randomization
Constant Summary collapse
- VERSION =
'0.1.0'
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(randomizations) ⇒ Randomizer
constructor
A new instance of Randomizer.
- #randomize!(field, seed) ⇒ Object
- #with_seed(seed) ⇒ Object
Constructor Details
#initialize(randomizations) ⇒ Randomizer
Returns a new instance of Randomizer.
3 4 5 |
# File 'lib/mumukit/randomizer.rb', line 3 def initialize(randomizations) @randomizations = randomizations end |
Class Method Details
.parse(randomizations) ⇒ Object
15 16 17 |
# File 'lib/mumukit/randomizer.rb', line 15 def self.parse(randomizations) new randomizations.with_indifferent_access.transform_values { |it| Mumukit::Randomizer::Randomization.parse it } end |
Instance Method Details
#randomize!(field, seed) ⇒ Object
11 12 13 |
# File 'lib/mumukit/randomizer.rb', line 11 def randomize!(field, seed) with_seed(seed).inject(field) { |result, (replacee, replacer)| result.gsub "$#{replacee}", replacer.to_s } end |
#with_seed(seed) ⇒ Object
7 8 9 |
# File 'lib/mumukit/randomizer.rb', line 7 def with_seed(seed) @randomizations.each_with_index.map { |(key, value), index| [key, value.get(seed + index)] } end |