Class: LensProtocol::OMA::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/lens_protocol/oma/builder.rb

Instance Method Summary collapse

Instance Method Details

#build(hash, types: {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/lens_protocol/oma/builder.rb', line 4

def build hash, types: {}
  types = TYPES.merge(types)

  hash.reduce Message.new do |message, (label, value)|
    wrapped_value = types[label].wrap(value, hash, label)
    if wrapped_value == :ignored
      message
    else
      message.add_record(label, wrapped_value)
    end
  end
end