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)