Hello community,

here is the log from the commit of package rubygem-deep_merge for 
openSUSE:Factory checked in at 2017-12-22 12:18:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-deep_merge (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-deep_merge.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-deep_merge"

Fri Dec 22 12:18:16 2017 rev:3 rq:554626 version:1.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-deep_merge/rubygem-deep_merge.changes    
2016-08-05 18:17:06.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-deep_merge.new/rubygem-deep_merge.changes   
    2017-12-22 12:18:21.575541557 +0100
@@ -1,0 +2,17 @@
+Sun Dec  3 19:14:38 UTC 2017 - co...@suse.com
+
+- updated to version 1.2.1
+ see installed CHANGELOG
+
+  2017-11-16 Jason Frey <fryg...@gmail.com>
+    * Ship version 1.2.1
+  
+    * Fixed release date in the gemspec.
+  
+  2017-11-16 Jason Frey <fryg...@gmail.com>
+    * Ship version 1.2.0
+  
+  2017-04-25 Joe Rafaniello <jrafa...@redhat.com>
+    * Merge nil values or keep the original via an option
+
+-------------------------------------------------------------------

Old:
----
  deep_merge-1.1.1.gem

New:
----
  deep_merge-1.2.1.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-deep_merge.spec ++++++
--- /var/tmp/diff_new_pack.7aGURw/_old  2017-12-22 12:18:22.051518349 +0100
+++ /var/tmp/diff_new_pack.7aGURw/_new  2017-12-22 12:18:22.051518349 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-deep_merge
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-deep_merge
-Version:        1.1.1
+Version:        1.2.1
 Release:        0
 %define mod_name deep_merge
 %define mod_full_name %{mod_name}-%{version}
@@ -33,7 +33,7 @@
 BuildRequires:  %{ruby}
 BuildRequires:  ruby-macros >= 5
 Url:            https://github.com/danielsdeleo/deep_merge
-Source:         http://rubygems.org/gems/%{mod_full_name}.gem
+Source:         https://rubygems.org/gems/%{mod_full_name}.gem
 Source1:        gem2rpm.yml
 Summary:        Merge Deeply Nested Hashes
 License:        MIT

++++++ deep_merge-1.1.1.gem -> deep_merge-1.2.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG new/CHANGELOG
--- old/CHANGELOG       2016-08-02 00:18:09.000000000 +0200
+++ new/CHANGELOG       2017-11-16 21:10:35.000000000 +0100
@@ -1,3 +1,14 @@
+2017-11-16 Jason Frey <fryg...@gmail.com>
+  * Ship version 1.2.1
+
+  * Fixed release date in the gemspec.
+
+2017-11-16 Jason Frey <fryg...@gmail.com>
+  * Ship version 1.2.0
+
+2017-04-25 Joe Rafaniello <jrafa...@redhat.com>
+  * Merge nil values or keep the original via an option
+
 2016-08-01 Jason Frey <fryg...@gmail.com>
   * Ship version 1.1.1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2016-08-02 00:18:09.000000000 +0200
+++ new/README.md       2017-11-16 21:10:35.000000000 +0100
@@ -39,6 +39,8 @@
       Set to true to merge hashes within arrays
     :extend_existing_arrays DEFAULT: false
       Set to true to extend existing arrays, instead of overwriting them
+    :merge_nil_values       DEFAULT: false
+      Set to true to merge nil hash values, overwriting a possibly non-nil 
value
     :merge_debug            DEFAULT: false
       Set to true to get console output of merge process for debugging
 
@@ -99,6 +101,15 @@
     dest.deep_merge!(source, {:extend_existing_arrays => true})
     Results: {"property" => ["1", "2", "3", "4"]}
 
+**:merge_nil_values**
+
+The purpose of this option is to allow nil hash values to be merged.  The 
prior behavior was to discard nil hash values and remains the default if not 
specified.
+
+    source = {"item" => nil}
+    dest   = {"item" => "existing"}
+    dest.deep_merge!(source, {:merge_nil_values => true})
+    Results: {"item" => nil}
+
 There are many tests for this library - and you can learn more about the 
features and usages of deep_merge! by just browsing the test examples.
 
 Using deep_merge in Rails
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/deep_merge/core.rb new/lib/deep_merge/core.rb
--- old/lib/deep_merge/core.rb  2016-08-02 00:18:09.000000000 +0200
+++ new/lib/deep_merge/core.rb  2017-11-16 21:10:35.000000000 +0100
@@ -34,6 +34,8 @@
   #      Set to string value to run "Array::join" then "String::split" against 
all arrays
   #   :merge_hash_arrays      DEFAULT: false
   #      Set to true to merge hashes within arrays
+  #   :keep_array_duplicates  DEFAULT: false
+  #      Set to true to preserve duplicate array entries
   #   :merge_debug            DEFAULT: false
   #      Set to true to get console output of merge process for debugging
   #
@@ -64,7 +66,13 @@
   #   dest   = {:x => [{:z => 2}]}
   #   dest.deep_merge!(source, {:merge_hash_arrays => true})
   #   Results: {:x => [{:y => 1, :z => 2}]}
-  # 
+  #
+  # :keep_array_duplicates => merges arrays within hashes but keeps duplicate 
elements
+  #   source = {:x => {:y => [1,2,2,2,3]}}
+  #   dest   = {:x => {:y => [4,5,6]}}
+  #   dest.deep_merge!(source, {:keep_array_duplicates => true})
+  #   Results: {:x => {:y => [1,2,2,2,3,4,5,6]}}
+  #
   # There are many tests for this library - and you can learn more about the 
features
   # and usages of deep_merge! by just browsing the test examples
   def self.deep_merge!(source, dest, options = {})
@@ -84,10 +92,14 @@
     merge_hash_arrays = options[:merge_hash_arrays] || false
     # request to extend existing arrays, instead of overwriting them
     extend_existing_arrays = options[:extend_existing_arrays] || false
+    # request that arrays keep duplicate elements
+    keep_array_duplicates = options[:keep_array_duplicates] || false
+    # request that nil values are merged or skipped (Skipped/false by default)
+    merge_nil_values = options[:merge_nil_values] || false
 
     di = options[:debug_indent] || ''
     # do nothing if source is nil
-    return dest if source.nil?
+    return dest if !merge_nil_values && source.nil?
     # if dest doesn't exist, then simply copy source to it
     if !(dest) && overwrite_unmergeable
       dest = source; return dest
@@ -168,6 +180,8 @@
             end
             list += source[dest.count..-1] if source.count > dest.count
             dest = list
+          elsif keep_array_duplicates
+            dest = dest.concat(source)
           else
             dest = dest | source
           end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2016-08-02 00:18:09.000000000 +0200
+++ new/metadata        2017-11-16 21:10:35.000000000 +0100
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: deep_merge
 version: !ruby/object:Gem::Version
-  version: 1.1.1
+  version: 1.2.1
 platform: ruby
 authors:
 - Steve Midgley
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2016-08-01 00:00:00.000000000 Z
+date: 2016-11-16 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: rake
@@ -75,7 +75,7 @@
       version: '0'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.4.5.1
+rubygems_version: 2.6.11
 signing_key: 
 specification_version: 4
 summary: Merge Deeply Nested Hashes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/test_deep_merge.rb new/test/test_deep_merge.rb
--- old/test/test_deep_merge.rb 2016-08-02 00:18:09.000000000 +0200
+++ new/test/test_deep_merge.rb 2017-11-16 21:10:35.000000000 +0100
@@ -622,5 +622,24 @@
     hash_src = {"item" => s2 }
     DeepMerge::deep_merge!(hash_src, hash_dst)
     assert_equal({"item" => ""}, hash_dst)
+
+    ######################################
+    # tests for "keep_array_duplicates" option
+    hash_src = {"item" => ["2", "3"]}
+    hash_dst = {"item" => ["1", "2"]}
+    DeepMerge::deep_merge!(hash_src, hash_dst, {:keep_array_duplicates => 
true})
+    assert_equal({"item" => ["1", "2", "2", "3"]}, hash_dst)
+
+    # Don't merge nil values by default
+    hash_src = {"item" => nil}
+    hash_dst = {"item" => "existing"}
+    DeepMerge::deep_merge!(hash_src, hash_dst)
+    assert_equal({"item" => "existing"}, hash_dst)
+
+    # Merge nil values via an explicit: :merge_nil_values => true
+    hash_src = {"item" => nil}
+    hash_dst = {"item" => "existing"}
+    DeepMerge::deep_merge!(hash_src, hash_dst, {:merge_nil_values => true})
+    assert_equal({"item" => nil}, hash_dst)
   end # test_deep_merge
 end


Reply via email to