Module: RiCal::CoreExtensions::Date::Conversions

Included in:
Date
Defined in:
lib/ri_cal/core_extensions/date/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

A method to keep Time, Date and DateTime instances interchangeable on conversions. In this case, it simply returns self.



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

def to_date
  self
end

#to_datetimeObject

Converts a Date instance to a DateTime, where the time is set to the beginning of the day and UTC offset is set to 0.

Examples

date = Date.new(2007, 11, 10)  # => Sat, 10 Nov 2007

date.to_datetime               # => Sat, 10 Nov 2007 00:00:00 0000


62
63
64
# File 'lib/ri_cal/core_extensions/date/conversions.rb', line 62

def to_datetime
  ::DateTime.civil(year, month, day, 0, 0, 0, 0)
end

#to_overlap_range_endObject



30
31
32
# File 'lib/ri_cal/core_extensions/date/conversions.rb', line 30

def to_overlap_range_end
  to_ri_cal_date_time_value.end_of_day.to_datetime
end

#to_overlap_range_startObject



26
27
28
# File 'lib/ri_cal/core_extensions/date/conversions.rb', line 26

def to_overlap_range_start
  to_datetime
end

#to_ri_cal_date_time_value(timezone_finder = nil) ⇒ Object

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



9
10
11
# File 'lib/ri_cal/core_extensions/date/conversions.rb', line 9

def to_ri_cal_date_time_value(timezone_finder = nil)
  RiCal::PropertyValue::DateTime.new(timezone_finder, :value => self)
end

#to_ri_cal_date_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::Date representing the receiver



14
15
16
# File 'lib/ri_cal/core_extensions/date/conversions.rb', line 14

def to_ri_cal_date_value(timezone_finder = nil)
  RiCal::PropertyValue::Date.new(timezone_finder, :value => self)
end

#to_ri_cal_property_value(timezone_finder = nil) ⇒ Object

Return the natural ri_cal_property for this object



22
23
24
# File 'lib/ri_cal/core_extensions/date/conversions.rb', line 22

def to_ri_cal_property_value(timezone_finder = nil)
  to_ri_cal_date_value(timezone_finder)
end

#to_time(form = :local) ⇒ Object

Converts a Date instance to a Time, where the time is set to the beginning of the day. The timezone can be either :local or :utc (default :local).

Examples

date = Date.new(2007, 11, 10)  # => Sat, 10 Nov 2007

date.to_time                   # => Sat Nov 10 00:00:00 0800 2007
date.to_time(:local)           # => Sat Nov 10 00:00:00 0800 2007

date.to_time(:utc)             # => Sat Nov 10 00:00:00 UTC 2007


51
52
53
# File 'lib/ri_cal/core_extensions/date/conversions.rb', line 51

def to_time(form = :local)
  ::Time.send("#{form}_time", year, month, day)
end