Refactoring: Use each_with_object if possible.

This commit is contained in:
Thorsten Eckel 2017-09-15 18:16:12 +02:00
parent eaf097c262
commit 9677e1aee7

View file

@ -33,8 +33,7 @@ module Import
end end
def normalize(properties) def normalize(properties)
result = {} properties.each_with_object({}) do |(key, value), result|
properties.each do |key, value|
next if key == :body next if key == :body
@ -46,20 +45,16 @@ module Import
result[key] = sub_elems(value[:elems]) result[key] = sub_elems(value[:elems])
end end
end end
result
end end
def sub_elems(elems) def sub_elems(elems)
result = {} elems.each_with_object({}) do |elem, result|
elems.each do |elem|
if elem[:entry] if elem[:entry]
result.merge!( sub_elem_entry( elem[:entry] ) ) result.merge!( sub_elem_entry( elem[:entry] ) )
else else
result.merge!( normalize(elem) ) result.merge!( normalize(elem) )
end end
end end
result
end end
def sub_elem_entry(entry) def sub_elem_entry(entry)
@ -83,9 +78,7 @@ module Import
end end
def flatten(properties, prefix: nil) def flatten(properties, prefix: nil)
properties.each_with_object({}) do |(key, value), result|
result = {}
properties.each do |key, value|
result_key = key result_key = key
if prefix if prefix
@ -104,7 +97,6 @@ module Import
result[result_key] = value.to_s result[result_key] = value.to_s
end end
end end
result
end end
end end
end end