Class: Sequence::SequenceGroup

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/lucid/sequence/sequence_group.rb

Instance Method Summary collapse

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

#clearObject



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.expand(phrase, data)
end

#sequence_stepsObject



14
15
16
17
# File 'lib/lucid/sequence/sequence_group.rb', line 14

def sequence_steps
  @sequence_steps ||= {}
  return @sequence_steps
end