Class: DateTime
- Defined in:
- lib/openhab/core_ext/ruby/date_time.rb
Overview
Extensions to DateTime
Instance Method Summary collapse
- 
  
    
      #coerce(other)  ⇒ Array? 
    
    
  
  
  
  
  
  
  
  
  
    Converts to a ZonedDateTime if otheris also convertible to a ZonedDateTime.
- 
  
    
      #minus_with_temporal(other)  ⇒ ZonedDateTime, ... 
    
    
      (also: #-)
    
  
  
  
  
  
  
  
  
  
    Extends #- to allow subtracting a TemporalAmount or any other date/time class that responds to #to_zoned_date_time. 
- 
  
    
      #plus_with_temporal(other)  ⇒ ZonedDateTime, Time 
    
    
      (also: #+)
    
  
  
  
  
  
  
  
  
  
    Extends #+ to allow adding a TemporalAmount. 
- #to_instant(_context = nil) ⇒ Instant
- #to_local_time ⇒ LocalTime
- #to_zoned_date_time(context = nil) ⇒ ZonedDateTime
Methods included from OpenHAB::CoreExt::Ephemeris
#days_until, #holiday, #holiday?, #in_dayset?, #next_holiday, #weekend?
Methods included from OpenHAB::CoreExt::Between
Methods inherited from Date
#compare_with_coercion, #inspect, #to_local_date, #to_month, #to_month_day, #today?, #tomorrow?, #yesterday?
Instance Method Details
#coerce(other) ⇒ Array?
Converts to a ZonedDateTime if other
is also convertible to a ZonedDateTime.
| 54 55 56 57 58 59 60 | # File 'lib/openhab/core_ext/ruby/date_time.rb', line 54 def coerce(other) logger.trace { "Coercing #{self} as a request from #{other.class}" } return unless other.respond_to?(:to_zoned_date_time) zdt = to_zoned_date_time [other.to_zoned_date_time(zdt), zdt] end | 
#minus_with_temporal(other) ⇒ ZonedDateTime, ... Also known as: -
Extends #- to allow subtracting a TemporalAmount or any other date/time class that responds to #to_zoned_date_time.
Subtractions with another object of the same class (e.g. Time - Other Time, or DateTime - Other DateTime) remains unchanged from its original behavior.
| 26 27 28 29 30 31 32 33 34 35 | # File 'lib/openhab/core_ext/ruby/date_time.rb', line 26 def minus_with_temporal(other) return to_zoned_date_time - other if other.is_a?(java.time.temporal.TemporalAmount) # Exclude subtracting against the same class if other.respond_to?(:to_zoned_date_time) && !other.is_a?(self.class) return to_zoned_date_time - other.to_zoned_date_time end minus_without_temporal(other) end | 
#plus_with_temporal(other) ⇒ ZonedDateTime, Time Also known as: +
Extends #+ to allow adding a TemporalAmount
| 17 18 19 20 21 | # File 'lib/openhab/core_ext/ruby/date_time.rb', line 17 def plus_with_temporal(other) return to_zoned_date_time + other if other.is_a?(java.time.temporal.TemporalAmount) plus_without_temporal(other) end | 
#to_instant(_context = nil) ⇒ Instant
| 49 50 51 | # File 'lib/openhab/core_ext/ruby/date_time.rb', line 49 def to_instant(_context = nil) to_java(Instant) end | 
#to_local_time ⇒ LocalTime
| 41 | # File 'lib/openhab/core_ext/ruby/date_time.rb', line 41 def_delegator :to_zoned_date_time, :to_local_time | 
#to_zoned_date_time(context = nil) ⇒ ZonedDateTime
| 44 45 46 | # File 'lib/openhab/core_ext/ruby/date_time.rb', line 44 def to_zoned_date_time(context = nil) # rubocop:disable Lint/UnusedMethodArgument to_java(ZonedDateTime) end | 
 
          