class Event::Events
Attributes
side[RW]
Public Instance Methods
<<(event)
click to toggle source
# File lib/ascension/events.rb, line 12 def <<(event) event.first = true if first?(event) self.events << event propagate(event) end
[](i)
click to toggle source
# File lib/ascension/events.rb, line 23 def [](i) events[i] end
cond?(&b)
click to toggle source
# File lib/ascension/events.rb, line 26 def cond?(&b) events.any?(&b) end
first?(event)
click to toggle source
# File lib/ascension/events.rb, line 20 def first?(event) events.select { |x| x.key == event.key && x.class == event.class }.empty?#.tap { |x| puts "first? #{x}" } end
propagate(event)
click to toggle source
# File lib/ascension/events.rb, line 17 def propagate(event) side.constructs.each { |c| c.apply_triggers(event,side) } if side end