Class: Jabara::Converter::NestToFlats
- Inherits:
-
Object
- Object
- Jabara::Converter::NestToFlats
- Defined in:
- lib/jabara/converter/nest_to_flats.rb
Instance Method Summary collapse
- #convert(hash) ⇒ Object
-
#initialize(input:, output_map:, id_key_name: 'belongsTo') ⇒ NestToFlats
constructor
inputのとoutputsのobject_typeが一致することを仮定 ユースケースによるけど、input schemaのkeysとoutput schemaのcolummsはなるべく一致しているべき.
- #terminate_all ⇒ Object
Constructor Details
#initialize(input:, output_map:, id_key_name: 'belongsTo') ⇒ NestToFlats
inputのとoutputsのobject_typeが一致することを仮定ユースケースによるけど、input schemaのkeysとoutput schemaのcolummsはなるべく一致しているべき
10 11 12 13 14 |
# File 'lib/jabara/converter/nest_to_flats.rb', line 10 def initialize(input:, output_map:, id_key_name: 'belongsTo') @input = input @output_map = output_map # object_typeからOutputへのマッピング @tr_flatten = ::Transformer::Flatten.new(id_key_name: id_key_name) end |
Instance Method Details
#convert(hash) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/jabara/converter/nest_to_flats.rb', line 16 def convert(hash) nested_repr = @input.decode(hash) flat_repr, inner_reprs = @tr_flatten.convert(nested_repr) write(flat_repr) inner_reprs.each do |inner_repr| write(inner_repr) end end |
#terminate_all ⇒ Object
26 27 28 29 30 |
# File 'lib/jabara/converter/nest_to_flats.rb', line 26 def terminate_all @output_map.each do |_, output| output.terminate end end |