Class: EnigmaRuby::Commands::AdvanceRotors

Inherits:
Base
  • Object
show all
Defined in:
lib/enigma_ruby/commands/advance_rotors.rb

Instance Method Summary collapse

Constructor Details

#initialize(rotors) ⇒ AdvanceRotors

Returns a new instance of AdvanceRotors.



4
5
6
# File 'lib/enigma_ruby/commands/advance_rotors.rb', line 4

def initialize(rotors)
  @rotors = rotors
end

Instance Method Details

#execute(_) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/enigma_ruby/commands/advance_rotors.rb', line 8

def execute(_)
  @rotors[0].advance
  @rotors.each_with_index do |rotor, i|
    next if i == 0
    break unless @rotors[i - 1].at_notch?

    rotor.advance
  end
end