Class: Jabara::ParseCom::Input

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

Instance Method Summary collapse

Constructor Details

#initialize(parse_com_schema) ⇒ Input

Returns a new instance of Input.



6
7
8
# File 'lib/jabara/parse_com/input.rb', line 6

def initialize(parse_com_schema)
  @schema = parse_com_schema
end

Instance Method Details

#decode(hash) ⇒ Object

ParseObjectをJabara中間表現のobjectに変換する



11
12
13
14
15
16
17
18
# File 'lib/jabara/parse_com/input.rb', line 11

def decode(hash)
  data = {}
  @schema.key_defs.each do |key, parser|
    data[key] = parser.parse(hash[key]) # raises ArgumentError
  end
  id = ::Jabara.primitive(:string, hash[@schema.id_key_name])
  return ::Jabara.object(@schema.object_type, data, id)
end