Class: Jabara::ParseCom::Schema::Boolean

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

Instance Method Summary collapse

Methods inherited from PrimitiveParser

#object_types

Constructor Details

#initialize(default: nil) ⇒ Boolean

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

Raises:

  • (ArgumentError)


121
122
123
124
# File 'lib/jabara/parse_com/schema.rb', line 121

def initialize(default: nil) # default = nil の場合はnullを許容する
  raise ArgumentError, 'default must be true of false' unless [true, false].include? default or default.nil?
  @default = default
end

Instance Method Details

#parse(data) ⇒ Object

Raises:

  • (TypeError)


126
127
128
129
130
131
# File 'lib/jabara/parse_com/schema.rb', line 126

def parse(data)
  return ::Jabara.null if data.nil? and @default.nil?
  return ::Jabara.primitive(:boolean, @default) if data.nil?
  raise TypeError, 'data must be true or false' unless [true, false].include? data
  ::Jabara.primitive(:boolean, data)
end