Class: Sequence::SequenceGroup
- Includes:
- Singleton
- Defined in:
- lib/lucid/sequence/sequence_group.rb
Instance Method Summary collapse
- #add_sequence(phrase, sequence, data) ⇒ Object
- #clear ⇒ Object
- #find_sequence(phrase, data) ⇒ Object
- #generate_steps(phrase, data = nil) ⇒ Object
- #sequence_steps ⇒ Object
Instance Method Details
#add_sequence(phrase, sequence, data) ⇒ Object
8 9 10 11 12 |
# File 'lib/lucid/sequence/sequence_group.rb', line 8 def add_sequence(phrase, sequence, data) new_sequence = SequencePhrase.new(phrase, sequence, data) raise DuplicateSequenceError.new(phrase) if find_sequence(phrase, data) sequence_steps[new_sequence.key] = new_sequence end |
#clear ⇒ Object
26 27 28 |
# File 'lib/lucid/sequence/sequence_group.rb', line 26 def clear sequence_steps.clear end |
#find_sequence(phrase, data) ⇒ Object
30 31 32 33 |
# File 'lib/lucid/sequence/sequence_group.rb', line 30 def find_sequence(phrase, data) key = SequencePhrase.sequence_key(phrase, data, :invoke) return sequence_steps[key] end |
#generate_steps(phrase, data = nil) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/lucid/sequence/sequence_group.rb', line 19 def generate_steps(phrase, data = nil) data_table =! data.nil? sequence = find_sequence(phrase, data_table) raise UnknownSequenceError.new(phrase) if sequence.nil? return sequence.(phrase, data) end |
#sequence_steps ⇒ Object
14 15 16 17 |
# File 'lib/lucid/sequence/sequence_group.rb', line 14 def sequence_steps @sequence_steps ||= {} return @sequence_steps end |