Module: Eventful::ClassMethods
- Defined in:
- lib/Eventful/ClassMethods.rb
Instance Method Summary collapse
-
#memory_run(frequency_in_seconds = 1, runtime_in_seconds = nil) ⇒ Object
memory resident.
- #run(frequency_in_seconds = nil, runtime_in_seconds = nil) ⇒ Object
-
#scheduled_run ⇒ Object
scheduled.
Instance Method Details
#memory_run(frequency_in_seconds = 1, runtime_in_seconds = nil) ⇒ Object
memory resident
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/Eventful/ClassMethods.rb', line 8 def memory_run(frequency_in_seconds = 1, runtime_in_seconds = nil) if runtime_in_seconds expiry_time = Time.now + runtime_in_seconds end loop do break if runtime_in_seconds && Time.now >= expiry_time scheduled_run sleep frequency_in_seconds end end |
#run(frequency_in_seconds = nil, runtime_in_seconds = nil) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/Eventful/ClassMethods.rb', line 30 def run(frequency_in_seconds = nil, runtime_in_seconds = nil) if frequency_in_seconds memory_run(frequency_in_seconds, runtime_in_seconds) else scheduled_run end end |
#scheduled_run ⇒ Object
scheduled
20 21 22 23 24 25 26 27 28 |
# File 'lib/Eventful/ClassMethods.rb', line 20 def scheduled_run self.active.each do |instance| instance.transitions.each do |transition| if instance.send("#{transition.event_name}?") instance.send("#{transition.event_name}") end end end end |