This class is important to handle XMLRPC
dateTime.iso8601
values, correctly, 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.
Return the value of the specified date/time component.
Return the value of the specified date/time component.
Return the value of the specified date/time component.
Return the value of the specified date/time component.
Return the value of the specified date/time component.
Return the value of the specified date/time component.
Return the value of the specified date/time component.
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 84
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
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 tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 117
def ==(o)
self.to_a == Array(o) rescue false
end
Returns whether or not all date/time components are an array.
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 43
def day= (value)
raise ArgumentError, "date/time out of range" unless (1..31).include? value
@day = value
end
Set
value
as the new date/time component.
Raises an ArgumentError
if the given value
isn’t between 1 and 31.
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 51
def hour= (value)
raise ArgumentError, "date/time out of range" unless (0..24).include? value
@hour = value
end
Set
value
as the new date/time component.
Raises an ArgumentError
if the given value
isn’t between 0 and 24.
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 59
def min= (value)
raise ArgumentError, "date/time out of range" unless (0..59).include? value
@min = value
end
Set
value
as the new date/time component.
Raises an ArgumentError
if the given value
isn’t between 0 and 59.
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 35
def month= (value)
raise ArgumentError, "date/time out of range" unless (1..12).include? value
@month = value
end
Set
value
as the new date/time component.
Raises an ArgumentError
if the given value
isn’t between 1 and 12.
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 67
def sec= (value)
raise ArgumentError, "date/time out of range" unless (0..59).include? value
@sec = value
end
Set
value
as the new date/time component.
Raises an ArgumentError
if the given value
isn’t between 0 and 59.
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 112
def to_a
[@year, @month, @day, @hour, @min, @sec]
end
Returns all date/time components in an array.
Returns +[year, month, day, hour, min, sec]+.
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 105
def to_date
Date.new(*to_a[0,3])
end
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 94
def to_time
if @year >= 1970
Time.gm(*to_a)
else
nil
end
end
# File tmp/rubies/ruby-2.3.8/lib/xmlrpc/datetime.rb, line 27
def year= (value)
raise ArgumentError, "date/time out of range" unless value.is_a? Integer
@year = value
end
Set
value
as the new date/time component.
Raises ArgumentError
if the given value
is out of range, or in the case of XMLRPC::DateTime#year=
if value
is not of type Integer
.