Method: Pod::Specification::Consumer#merge_values
- Defined in:
- lib/cocoapods-core/specification/consumer.rb
#merge_values(attr, existing_value, new_value) ⇒ String, ...
Merges the values of an attribute, either because the attribute is multi platform or because it is inherited.
319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 |
# File 'lib/cocoapods-core/specification/consumer.rb', line 319 def merge_values(attr, existing_value, new_value) return existing_value if new_value.nil? return new_value if existing_value.nil? if attr.types.include?(TrueClass) new_value.nil? ? existing_value : new_value elsif attr.container == Array r = [*existing_value] + [*new_value] r.compact elsif attr.container == Hash existing_value.merge(new_value) do |_, old, new| merge_hash_value(attr, old, new) end else new_value end end |