Class: Lomic::Rule
Constant Summary
Constants included from Lomic
Instance Method Summary collapse
- #event(event_name, options = {}, &block) ⇒ Object
- #event_bag ⇒ Object
-
#initialize(number) ⇒ Rule
constructor
A new instance of Rule.
- #inspect ⇒ Object
Methods included from Lomic
Constructor Details
#initialize(number) ⇒ Rule
Returns a new instance of Rule.
4 5 6 7 |
# File 'lib/lomic/Rule.rb', line 4 def initialize(number) @number = number @event_bag = {} # "event_name" => [Event] end |
Instance Method Details
#event(event_name, options = {}, &block) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/lomic/Rule.rb', line 10 def event(event_name, ={}, &block) [:priority] ||= 5 [:name] = event_name [:block] = block event = Event.new() if @event_bag[event_name].nil? @event_bag[event_name] = [event] else # insert into sorted spot arr = @event_bag[event_name] i = 0 arr.each do |e| if event.priority > e.priority arr.insert(i,event) break elsif i == arr.size-1 arr.insert(i+1,event) break end i += 1 end end end |
#event_bag ⇒ Object
35 36 37 |
# File 'lib/lomic/Rule.rb', line 35 def event_bag @event_bag end |
#inspect ⇒ Object
39 40 41 |
# File 'lib/lomic/Rule.rb', line 39 def inspect "Rule #{@number}: #{@event_bag.inspect}" end |