Class: OpenHAB::CoreExt::Java::MonthDay
  
  
  
  
  
    - Inherits:
 
    - 
      Object
      
        
          - Object
 
          
            - OpenHAB::CoreExt::Java::MonthDay
 
          
        
        show all
      
     
  
  
  
  
  
  
  
      - Includes:
 
      - Between, Ephemeris, Time
 
  
  
  
  
  
  
    - Defined in:
 
    - lib/openhab/core_ext/java/month_day.rb
 
  
  
 
Overview
  
  
    
      Class Method Summary
      collapse
    
    
    
  
    
      Instance Method Summary
      collapse
    
    
    
  
  
  
  
  
  
  
  
  
  Methods included from Time
  #<=>, #coerce
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  Methods included from Ephemeris
  #days_until, #holiday, #holiday?, #in_dayset?, #next_holiday, #weekend?
  
  
  
  
  
  
  
  
  Methods included from Between
  #between?
  
    Class Method Details
    
      
  
  
    .parse(string)  ⇒ MonthDay 
  
  
  
  
    Parses strings in the form "M-d"
   
 
  
    
      
22
23
24
25
26
27
28 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 22
def parse(string)
  logger.trace("#{self.class}.parse #{string} (#{string.class})")
  java_send(:parse,
            [java.lang.CharSequence, java.time.format.DateTimeFormatter],
            string.to_s,
            java.time.format.DateTimeFormatter.ofPattern("[--]M-d"))
end
     | 
  
 
    
   
  
    Instance Method Details
    
      
  
  
    
      
42
43
44
45
46
47
48
49 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 42
def +(other)
  case other
  when java.time.temporal.TemporalAmount, Numeric
    (LocalDate.of(1900, month, day_of_month) + other).to_month_day
  else
    (to_local_date(other.to_local_date) + other).to_month_day
  end
end
     | 
  
 
    
      
  
  
    
      
52
53
54
55
56
57
58
59
60
61
62 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 52
def -(other)
  d = case other
      when java.time.temporal.TemporalAmount, Numeric
        LocalDate.of(1900, month, day_of_month) - other
      else
        to_local_date(other.to_local_date) - other
      end
  return d if d.is_a?(java.time.Period)
  d.to_month_day
end
     | 
  
 
    
      
  
  
    Returns the next day
Will go to the next month, or loop back to January if necessary.
   
 
  
    
      
71
72
73
74
75
76
77
78
79 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 71
def succ
  if day_of_month == month.max_length
    return MonthDay.of(1, 1) if month_value == 12
    return MonthDay.of(month_value + 1, 1)
  end
  MonthDay.of(month_value, day_of_month + 1)
end
     | 
  
 
    
      
  
  
    #to_date(context = nil)  ⇒ Date 
  
  
  
  
    
      
98
99
100
101 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 98
def to_date(context = nil)
  context ||= Date.today
  Date.new(context.year, month_value, day_of_month)
end 
     | 
  
 
    
      
  
  
    #to_local_date(context = nil)  ⇒ LocalDate 
  
  
  
  
    
      
85
86
87
88
89 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 85
def to_local_date(context = nil)
  context ||= java.time.Year.now
  year = java.time.Year.from(context)
  year.at_month_day(self)
end 
     | 
  
 
    
      
  
  
    #to_month  ⇒ Month 
  
  
  
  
    
      
92 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 92
alias_method :to_month, :month 
     | 
  
 
    
      
  
  
    #to_month_day  ⇒ self 
  
  
  
  
    
      
104
105
106 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 104
def to_month_day
  self
end 
     | 
  
 
    
      
  
  
    #to_s  ⇒ String 
  
  
    Also known as:
    inspect
    
  
  
  
    
      
32
33
34
35 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 32
def to_s
  
  to_string.delete_prefix("--")
end
     | 
  
 
    
      
  
  
    #to_zoned_date_time(context = nil)  ⇒ ZonedDateTime 
  
  
  
  
    
      
112
113
114 
     | 
    
      # File 'lib/openhab/core_ext/java/month_day.rb', line 112
def to_zoned_date_time(context = nil)
  to_local_date(context).to_zoned_date_time(context)
end 
     |