class Thumbtack::Types::Time
Handles conversion and validation of Times to parameters supported by Pinboard
@api private
Constants
- EARLIEST
The earliest allowable time
- FORMAT
Pinboard's date time format
- LATEST
The latest allowable time
- NOTE_FORMAT
Pinboard's date time format for notes
Public Class Methods
deserialize(parameter)
click to toggle source
Convert a parameter from Pinboard to a datetime value
@param [String] parameter
the time formatted yyyy-mm-ddTHH:MM:SSZ
@return [Time]
# File lib/thumbtack/types/time.rb, line 50 def self.deserialize(parameter) ::Time.strptime(parameter, FORMAT) end
deserialize_from_note(parameter)
click to toggle source
Convert a parameter from Pinboard's notes to a datetime value
@param [String] parameter
the time formatted yyyy-mm-dd HH:MM:SS
@return [Time]
# File lib/thumbtack/types/time.rb, line 60 def self.deserialize_from_note(parameter) ::Time.strptime(parameter, NOTE_FORMAT) end
serialize(value)
click to toggle source
Convert a time to a parameter acceptable to Pinboard
@param [Time] value
the time to convert
@return [String]
the time formatted yyyy-mm-ddTHH:MM:SSZ.
# File lib/thumbtack/types/time.rb, line 40 def self.serialize(value) value.strftime(FORMAT) end
validate(value)
click to toggle source
Validate a time
@param [Time] value
The time to validate
@return [self]
@raise [Types::ValidationError]
if the time is not between 0001-01-01 00:00:00 and 2100-01-01 00:00:00
# File lib/thumbtack/types/time.rb, line 28 def self.validate(value) RangeValidation.validate value, EARLIEST..LATEST self end