In Files
- xmlrpc/datetime.rb
Parent
Object
Class/Module Index
- NQXML
- NQXML::Node
- XMLRPC
- XMLRPC::Base64
- XMLRPC::BasicServer
- XMLRPC::CGIServer
- XMLRPC::Client
- XMLRPC::Client::Proxy
- XMLRPC::Config
- XMLRPC::Convert
- XMLRPC::Create
- XMLRPC::DateTime
- XMLRPC::FaultException
- XMLRPC::Marshal
- XMLRPC::Marshallable
- XMLRPC::ModRubyServer
- XMLRPC::ParseContentType
- XMLRPC::ParserWriterChooseMixin
- XMLRPC::Server
- XMLRPC::Service
- XMLRPC::Service::BasicInterface
- XMLRPC::Service::Interface
- XMLRPC::Service::PublicInstanceMethodsInterface
- XMLRPC::WEBrickServlet
- XMLRPC::XMLParser
- XMLRPC::XMLParser::AbstractStreamParser
- XMLRPC::XMLParser::AbstractTreeParser
- XMLRPC::XMLParser::LibXMLStreamParser
- XMLRPC::XMLParser::LibXMLStreamParser::LibXMLStreamListener
- XMLRPC::XMLParser::NQXMLParser
- XMLRPC::XMLParser::NQXMLStreamParser
- XMLRPC::XMLParser::NQXMLStreamParser::XMLRPCParser
- XMLRPC::XMLParser::NQXMLTreeParser
- XMLRPC::XMLParser::REXMLStreamParser
- XMLRPC::XMLParser::REXMLStreamParser::StreamListener
- XMLRPC::XMLParser::StreamParserMixin
- XMLRPC::XMLParser::XMLParser
- XMLRPC::XMLParser::XMLScanStreamParser
- XMLRPC::XMLParser::XMLScanStreamParser::XMLScanParser
- XMLRPC::XMLParser::XMLStreamParser
- XMLRPC::XMLParser::XMLTreeParser
- XMLRPC::XMLWriter
- XMLRPC::XMLWriter::Abstract
- XMLRPC::XMLWriter::Simple
- XMLRPC::XMLWriter::XMLParser
XMLRPC::DateTime
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.
Attributes
Public Class Methods
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 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
Public Instance Methods
Returns whether or not all date/time components are an array.
# File xmlrpc/datetime.rb, line 117 def ==(o) self.to_a == Array(o) rescue false end
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 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 0 and
24.
# File 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
59.
# File 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 1 and
12.
# File 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 0 and
59.
# File xmlrpc/datetime.rb, line 67 def sec= (value) raise ArgumentError, "date/time out of range" unless (0..59).include? value @sec = value end
Returns all date/time components in an array.
Returns +[year, month, day, hour, min, sec]+.
# File xmlrpc/datetime.rb, line 112 def to_a [@year, @month, @day, @hour, @min, @sec] end
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 105 def to_date Date.new(*to_a[0,3]) end
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 94 def to_time if @year >= 1970 Time.gm(*to_a) else nil end end
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 27 def year= (value) raise ArgumentError, "date/time out of range" unless value.is_a? Integer @year = value end