Class: OpenHAB::Core::Timer
- Inherits:
 - 
      Object
      
        
- Object
 - OpenHAB::Core::Timer
 
 
- Defined in:
 - lib/openhab/core/timer.rb
 
Overview
Timer allows you to administer the block of code that has been scheduled to run later with after.
Instance Attribute Summary collapse
- 
  
    
      #execution_time  ⇒ ZonedDateTime? 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The scheduled execution time, or
nilif the timer was cancelled. - #id ⇒ Object?
 
Instance Method Summary collapse
- 
  
    
      #active?  ⇒ true, false 
    
    
  
  
  
  
  
  
  
  
  
    
Check if the timer will execute in the future.
 - 
  
    
      #cancel  ⇒ true, false 
    
    
  
  
  
  
  
  
  
  
  
    
Cancel timer.
 - 
  
    
      #cancelled?  ⇒ true, false 
    
    
  
  
  
  
  
  
  
  
  
    
Check if the timer has been cancelled.
 - #inspect ⇒ String (also: #to_s)
 - 
  
    
      #reschedule(time = nil)  ⇒ self 
    
    
  
  
  
  
  
  
  
  
  
    
Reschedule timer.
 - 
  
    
      #running?  ⇒ true, false 
    
    
  
  
  
  
  
  
  
  
  
    
Check if the timer code is currently running.
 - 
  
    
      #terminated?  ⇒ true, false 
    
    
  
  
  
  
  
  
  
  
  
    
Check if the timer has terminated.
 
Instance Attribute Details
#execution_time ⇒ ZonedDateTime? (readonly)
Returns the scheduled execution time, or nil if the timer was cancelled.
| 
       | 
    
      # File 'lib/openhab/core/timer.rb', line 69
     | 
  
#id ⇒ Object?
      34 35 36  | 
    
      # File 'lib/openhab/core/timer.rb', line 34 def id @id end  | 
  
Instance Method Details
#active? ⇒ true, false
Check if the timer will execute in the future.
| 
       | 
    
      # File 'lib/openhab/core/timer.rb', line 14
     | 
  
#cancel ⇒ true, false
Cancel timer
      107 108 109 110  | 
    
      # File 'lib/openhab/core/timer.rb', line 107 def cancel DSL.timers.delete(self) cancel! end  | 
  
#cancelled? ⇒ true, false
Check if the timer has been cancelled.
| 
       | 
    
      # File 'lib/openhab/core/timer.rb', line 18
     | 
  
#inspect ⇒ String Also known as: to_s
      57 58 59 60 61 62 63 64 65 66  | 
    
      # File 'lib/openhab/core/timer.rb', line 57 def inspect r = "#<#{self.class.name} #{"#{id.inspect} " if id}#{block.source_location.join(":")}" if cancelled? r += " (cancelled)" else r += " @ #{execution_time}" r += " (executed)" if terminated? end "#{r}>" end  | 
  
#reschedule(time = nil) ⇒ self
Reschedule timer.
If the timer had been cancelled or executed, restart the timer.
      82 83 84 85 86 87 88 89 90 91  | 
    
      # File 'lib/openhab/core/timer.rb', line 82 def reschedule(time = nil) return reschedule!(time) unless id # re-add ourself to the TimerManager's @timers_by_id DSL.timers.schedule(id) do |old_timer| old_timer&.cancel unless old_timer.eql?(self) self.id = nil reschedule!(time) end end  | 
  
#running? ⇒ true, false
Check if the timer code is currently running.
| 
       | 
    
      # File 'lib/openhab/core/timer.rb', line 22
     | 
  
#terminated? ⇒ true, false
Check if the timer has terminated.
      30  | 
    
      # File 'lib/openhab/core/timer.rb', line 30 def_delegator :@timer, :has_terminated, :terminated?  |