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