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 70
 | 
#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
| 108 109 110 111 | # File 'lib/openhab/core/timer.rb', line 108 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
| 58 59 60 61 62 63 64 65 66 67 | # File 'lib/openhab/core/timer.rb', line 58 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.
| 83 84 85 86 87 88 89 90 91 92 | # File 'lib/openhab/core/timer.rb', line 83 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? | 
 
          