Module: RiCal::CoreExtensions::DateTime::Conversions

Included in:
DateTime
Defined in:
lib/ri_cal/core_extensions/date_time/conversions.rb

Overview

  • ©2009 Rick DeNatale

  • All rights reserved. Refer to the file README.txt for the license

Instance Method Summary collapse

Instance Method Details

#to_dateObject

Converts self to a Ruby Date object; time portion is discarded



37
38
39
# File 'lib/ri_cal/core_extensions/date_time/conversions.rb', line 37

def to_date
  ::Date.new(year, month, day)
end

#to_datetimeObject

To be able to keep Times, Dates and DateTimes interchangeable on conversions



48
49
50
# File 'lib/ri_cal/core_extensions/date_time/conversions.rb', line 48

def to_datetime
  self
end

#to_overlap_range_startObject Also known as: to_overlap_range_end



25
26
27
# File 'lib/ri_cal/core_extensions/date_time/conversions.rb', line 25

def to_overlap_range_start
  self
end

#to_ri_cal_date_time_value(timezone_finder = nil) ⇒ Object Also known as: to_ri_cal_date_or_date_time_value, to_ri_cal_occurrence_list_value

Return an RiCal::PropertyValue::DateTime representing the receiver



10
11
12
13
14
15
# File 'lib/ri_cal/core_extensions/date_time/conversions.rb', line 10

def to_ri_cal_date_time_value(timezone_finder = nil) #:nodoc:
  RiCal::PropertyValue::DateTime.new(
       timezone_finder, 
       :value => strftime("%Y%m%dT%H%M%S"), 
       :params => {"TZID" => self.tzid || :default})
end

#to_ri_cal_property_value(timezone_finder = nil) ⇒ Object

Return the natural ri_cal_property for this object



21
22
23
# File 'lib/ri_cal/core_extensions/date_time/conversions.rb', line 21

def to_ri_cal_property_value(timezone_finder = nil) #:nodoc:
  to_ri_cal_date_time_value(timezone_finder)
end

#to_timeObject

Attempts to convert self to a Ruby Time object; returns self if out of range of Ruby Time class If self has an offset other than 0, self will just be returned unaltered, since there’s no clean way to map it to a Time



43
44
45
# File 'lib/ri_cal/core_extensions/date_time/conversions.rb', line 43

def to_time
  self.offset == 0 ? ::Time.utc_time(year, month, day, hour, min, sec) : self
end

#with_floating_timezoneObject

Return a copy of this object which will be interpreted as a floating time.



31
32
33
# File 'lib/ri_cal/core_extensions/date_time/conversions.rb', line 31

def with_floating_timezone
  dup.set_tzid(:floating)
end