Class: Time
- Inherits:
- 
      Object
      
        - Object
- Time
 
- Defined in:
- lib/openhab/core_ext/ruby/time.rb
Overview
Extensions to Time
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 ⇒ java.time.Instant
- #to_local_date(_context = nil) ⇒ LocalDate
- #to_local_time ⇒ LocalTime
- #to_month ⇒ Month
- #to_month_day ⇒ MonthDay
- #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
Instance Method Details
#coerce(other) ⇒ Array?
Converts to a ZonedDateTime if other
is also convertible to a ZonedDateTime.
| 107 108 109 110 111 112 | # File 'lib/openhab/core_ext/ruby/time.rb', line 107 def coerce(other) 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.
| 55 56 57 58 59 60 61 62 63 64 | # File 'lib/openhab/core_ext/ruby/time.rb', line 55 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
| 20 21 22 23 24 | # File 'lib/openhab/core_ext/ruby/time.rb', line 20 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 ⇒ java.time.Instant
| 96 97 98 | # File 'lib/openhab/core_ext/ruby/time.rb', line 96 def to_instant to_java(java.time.Instant) end | 
#to_local_date(_context = nil) ⇒ LocalDate
| 69 70 71 | # File 'lib/openhab/core_ext/ruby/time.rb', line 69 def to_local_date(_context = nil) java.time.LocalDate.of(year, month, day) end | 
#to_local_time ⇒ LocalTime
| 75 | # File 'lib/openhab/core_ext/ruby/time.rb', line 75 def_delegator :to_zoned_date_time, :to_local_time | 
#to_month ⇒ Month
| 78 79 80 | # File 'lib/openhab/core_ext/ruby/time.rb', line 78 def to_month java.time.Month.of(month) end | 
#to_month_day ⇒ MonthDay
| 83 84 85 | # File 'lib/openhab/core_ext/ruby/time.rb', line 83 def to_month_day java.time.MonthDay.of(month, day) end | 
#to_zoned_date_time(context = nil) ⇒ ZonedDateTime
| 91 92 93 | # File 'lib/openhab/core_ext/ruby/time.rb', line 91 def to_zoned_date_time(context = nil) # rubocop:disable Lint/UnusedMethodArgument to_java(java.time.ZonedDateTime) end | 
 
          