Module: MergePlist
- Defined in:
- lib/merge_plist.rb
Class Method Summary collapse
Class Method Details
.ensure_plist(obj) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'lib/merge_plist.rb', line 5 def self.ensure_plist obj if obj.class == String return Plist::parse_xml obj elsif obj.class == Hash return obj end raise ArgumentError.new("invalid argument #{obj}") end |
.merge(*targets) ⇒ Object
15 16 17 |
# File 'lib/merge_plist.rb', line 15 def self.merge *targets return merge_raw.to_plist end |
.merge_raw(*targets) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/merge_plist.rb', line 18 def self.merge_raw *targets if targets.count == 2 return ensure_plist(targets[0]) .deep_merge(ensure_plist(targets[1])) else return merge(merge(targets[0], targets[1]), *targets.slice(2..-1)) end end |