lib/oas_objs/helpers.rb in zero-rails_openapi-1.5.1 vs lib/oas_objs/helpers.rb in zero-rails_openapi-1.5.2

- old
+ new

@@ -1,23 +1,11 @@ module OpenApi module Helpers def fusion - proc { |a, b| a.merge!(b, &_fusion) } + proc { |a, b| a.deep_merge!(b) { |common_key, va, vb| common_key == :required ? va + vb : vb } } end - def _fusion - proc do |_common_key, x, y| - if x.is_a?(Hash) && y.is_a?(Hash) - x.merge(y, &_fusion) - elsif x.is_a?(Array) && y.is_a?(Array) - x.concat(y) - else - y - end - end - end - def truly_present?(obj) obj == false || obj.present? end def value_present @@ -30,10 +18,10 @@ self end # reducx.then_merge! => for Hash def reducx(*values) - @assign = values.compact.reduce({ }, :merge).keep_if &value_present + @assign = values.compact.reduce({ }, :merge!).keep_if &value_present self end def to_processed(who) return processed unless truly_present?(@assign)