Class: Jabara::ParseCom::Schema::DateTime

Inherits:
Object
  • Object
show all
Defined in:
lib/jabara/parse_com/schema.rb

Instance Method Summary collapse

Constructor Details

#initialize(default: nil) ⇒ DateTime

default = nil の場合はnullを許容する

Raises:

  • (TypeError)


76
77
78
79
# File 'lib/jabara/parse_com/schema.rb', line 76

def initialize(default: nil) # default = nil の場合はnullを許容する
  raise TypeError, 'default must be datetime' unless default.is_a? ::DateTime or default.nil?
  @default = default
end

Instance Method Details

#parse(data) ⇒ Object

Raises:

  • (ArgumentError)


81
82
83
84
85
# File 'lib/jabara/parse_com/schema.rb', line 81

def parse(data)
  return ::Jabara.null if data.nil? and @default.nil?
  raise ArgumentError, 'datetime object is collapsed' if data['iso'].nil?
  ::Jabara.primitive(:datetime, ::DateTime.iso8601(data['iso']))
end