In Files

  • xmlrpc/datetime.rb

XMLRPC::DateTime

This class is important to handle XMLRPC dateTime.iso8601 values, correcly, because normal UNIX-dates, ie: Date, only handle dates from year 1970 on, and ruby’s native Time class handles dates without the time component.

XMLRPC::DateTime is able to store a XMLRPC dateTime.iso8601 value correctly.

Attributes

day[R]

Return the value of the specified date/time component.

hour[R]

Return the value of the specified date/time component.

min[R]

Return the value of the specified date/time component.

mon[R]

Return the value of the specified date/time component.

month[R]

Return the value of the specified date/time component.

sec[R]

Return the value of the specified date/time component.

year[R]

Return the value of the specified date/time component.

Public Class Methods

new(year, month, day, hour, min, sec) click to toggle source

Creates a new XMLRPC::DateTime instance with the parameters year, month, day as date and hour, min, sec as time.

Raises an ArgumentError if a parameter is out of range, or if year is not of the Integer type.

 
               # File xmlrpc/datetime.rb, line 83
def initialize(year, month, day, hour, min, sec)
  self.year, self.month, self.day = year, month, day
  self.hour, self.min, self.sec   = hour, min, sec
end
            

Public Instance Methods

==(o) click to toggle source

Returns whether or not all date/time components are an array.

 
               # File xmlrpc/datetime.rb, line 116
def ==(o)
  self.to_a == Array(o) rescue false
end
            
day=(value) click to toggle source

Set value as the new date/time component.

Raises an ArgumentError if the given value isn’t between 1 and 31.

 
               # File xmlrpc/datetime.rb, line 42
def day= (value)
  raise ArgumentError, "date/time out of range" unless (1..31).include? value
  @day = value
end
            
hour=(value) click to toggle source

Set value as the new date/time component.

Raises an ArgumentError if the given value isn’t between 0 and 24.

 
               # File xmlrpc/datetime.rb, line 50
def hour= (value)
  raise ArgumentError, "date/time out of range" unless (0..24).include? value
  @hour = value
end
            
min=(value) click to toggle source

Set value as the new date/time component.

Raises an ArgumentError if the given value isn’t between 0 and 59.

 
               # File xmlrpc/datetime.rb, line 58
def min= (value)
  raise ArgumentError, "date/time out of range" unless (0..59).include? value
  @min = value
end
            
mon=(value) click to toggle source

Alias for #month=.

Alias for: month=
month=(value) click to toggle source

Set value as the new date/time component.

Raises an ArgumentError if the given value isn’t between 1 and 12.

 
               # File xmlrpc/datetime.rb, line 34
def month= (value)
  raise ArgumentError, "date/time out of range" unless (1..12).include? value
  @month = value
end
            
Also aliased as: mon=
sec=(value) click to toggle source

Set value as the new date/time component.

Raises an ArgumentError if the given value isn’t between 0 and 59.

 
               # File xmlrpc/datetime.rb, line 66
def sec= (value)
  raise ArgumentError, "date/time out of range" unless (0..59).include? value
  @sec = value
end
            
to_a() click to toggle source

Returns all date/time components in an array.

Returns +[year, month, day, hour, min, sec]+.

 
               # File xmlrpc/datetime.rb, line 111
def to_a
  [@year, @month, @day, @hour, @min, @sec]
end
            
to_date() click to toggle source

Return a Date object of the date which represents self.

The Date object do not contain the time component (only date).

 
               # File xmlrpc/datetime.rb, line 104
def to_date
  Date.new(*to_a[0,3])
end
            
to_time() click to toggle source

Return a Time object of the date/time which represents self. If the @year is below 1970, this method returns nil, because Time cannot handle years below 1970.

The timezone used is GMT.

 
               # File xmlrpc/datetime.rb, line 93
def to_time
  if @year >= 1970
    Time.gm(*to_a)
  else
    nil
  end
end
            
year=(value) click to toggle source

Set value as the new date/time component.

Raises ArgumentError if the given value is out of range, or in the case of #year= if value is not of type Integer.

 
               # File xmlrpc/datetime.rb, line 26
def year= (value)
  raise ArgumentError, "date/time out of range" unless value.is_a? Integer
  @year = value
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus