parent
35e0d7c863
commit
84ba6b2df9
@ -0,0 +1 @@
|
|||||||
|
/deep_merge-1.0.1.gem
|
@ -0,0 +1,21 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2008-2104 Steve Midgley, Daniel DeLeo
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
@ -0,0 +1,48 @@
|
|||||||
|
diff -uNr deep_merge-1.0.1.ORIG/deep_merge.gemspec deep_merge-1.0.1/deep_merge.gemspec
|
||||||
|
--- deep_merge-1.0.1.ORIG/deep_merge.gemspec 2014-05-30 13:15:45.024000000 +0000
|
||||||
|
+++ deep_merge-1.0.1/deep_merge.gemspec 2014-05-30 13:18:42.221000000 +0000
|
||||||
|
@@ -30,5 +30,6 @@
|
||||||
|
else
|
||||||
|
s.add_dependency(%q<rake>, ["~> 10.1"])
|
||||||
|
end
|
||||||
|
+ s.add_development_dependency "minitest"
|
||||||
|
end
|
||||||
|
|
||||||
|
diff -uNr deep_merge-1.0.1.ORIG/test/test_deep_merge.rb deep_merge-1.0.1/test/test_deep_merge.rb
|
||||||
|
--- deep_merge-1.0.1.ORIG/test/test_deep_merge.rb 2014-05-30 13:15:45.024000000 +0000
|
||||||
|
+++ deep_merge-1.0.1/test/test_deep_merge.rb 2014-05-30 13:21:27.440000000 +0000
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-require 'test/unit'
|
||||||
|
+require 'minitest/autorun'
|
||||||
|
|
||||||
|
$:.unshift(File.dirname(__FILE__) + '/../lib/')
|
||||||
|
require 'deep_merge'
|
||||||
|
@@ -11,7 +11,7 @@
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-class TestDeepMerge < Test::Unit::TestCase
|
||||||
|
+class TestDeepMerge < Minitest::Test
|
||||||
|
|
||||||
|
def setup
|
||||||
|
end
|
||||||
|
@@ -214,12 +214,13 @@
|
||||||
|
assert_equal({"property" => {"bedroom_count" => {"king_bed" => [nil, 3], "queen_bed" => [4, nil, 1]}, "bathroom_count" => [nil, "2", "1"]}}, hash_dst)
|
||||||
|
|
||||||
|
# test parameter management for knockout_prefix and overwrite unmergable
|
||||||
|
- assert_raise(DeepMerge::InvalidParameter) {DeepMerge::deep_merge!(hash_src, hash_dst, {:knockout_prefix => ""})}
|
||||||
|
- assert_raise(DeepMerge::InvalidParameter) {DeepMerge::deep_merge!(hash_src, hash_dst, {:preserve_unmergeables => true, :knockout_prefix => ""})}
|
||||||
|
- assert_raise(DeepMerge::InvalidParameter) {DeepMerge::deep_merge!(hash_src, hash_dst, {:preserve_unmergeables => true, :knockout_prefix => "--"})}
|
||||||
|
- assert_nothing_raised(DeepMerge::InvalidParameter) {DeepMerge::deep_merge!(hash_src, hash_dst, {:knockout_prefix => "--"})}
|
||||||
|
- assert_nothing_raised(DeepMerge::InvalidParameter) {DeepMerge::deep_merge!(hash_src, hash_dst)}
|
||||||
|
- assert_nothing_raised(DeepMerge::InvalidParameter) {DeepMerge::deep_merge!(hash_src, hash_dst, {:preserve_unmergeables => true})}
|
||||||
|
+ assert_raises(DeepMerge::InvalidParameter) {DeepMerge::deep_merge!(hash_src, hash_dst, {:knockout_prefix => ""})}
|
||||||
|
+ assert_raises(DeepMerge::InvalidParameter) {DeepMerge::deep_merge!(hash_src, hash_dst, {:preserve_unmergeables => true, :knockout_prefix => ""})}
|
||||||
|
+ assert_raises(DeepMerge::InvalidParameter) {DeepMerge::deep_merge!(hash_src, hash_dst, {:preserve_unmergeables => true, :knockout_prefix => "--"})}
|
||||||
|
+ # test valid parameters
|
||||||
|
+ DeepMerge::deep_merge!(hash_src, hash_dst, {:knockout_prefix => "--"})
|
||||||
|
+ DeepMerge::deep_merge!(hash_src, hash_dst)
|
||||||
|
+ DeepMerge::deep_merge!(hash_src, hash_dst, {:preserve_unmergeables => true})
|
||||||
|
|
||||||
|
# hash holding arrays of arrays
|
||||||
|
hash_src = {["1", "2", "3"] => ["1", "2"]}
|
@ -0,0 +1,116 @@
|
|||||||
|
|
||||||
|
%global enable_checks 1
|
||||||
|
|
||||||
|
# Generated from deep_merge-1.0.1.gem by gem2rpm -*- rpm-spec -*-
|
||||||
|
%global gem_name deep_merge
|
||||||
|
|
||||||
|
Name: rubygem-%{gem_name}
|
||||||
|
Version: 1.0.1
|
||||||
|
Release: 5%{?dist}
|
||||||
|
Summary: Merge Deeply Nested Hashes
|
||||||
|
Group: Development/Languages
|
||||||
|
License: MIT
|
||||||
|
URL: https://github.com/danielsdeleo/deep_merge
|
||||||
|
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
|
||||||
|
# https://github.com/danielsdeleo/deep_merge/pull/13
|
||||||
|
Patch0: deep_merge-minitest5.patch
|
||||||
|
# LICENSE file is in git repository but not in package.
|
||||||
|
# https://github.com/danielsdeleo/deep_merge/pull/14
|
||||||
|
Source1: https://raw.githubusercontent.com/danielsdeleo/deep_merge/master/LICENSE
|
||||||
|
%if 0%{?el6}
|
||||||
|
Requires: ruby(abi) = 1.8
|
||||||
|
%endif
|
||||||
|
%if 0%{?fc19} || 0%{?fc20} || 0%{?el7}
|
||||||
|
Requires: ruby(release)
|
||||||
|
%endif
|
||||||
|
Requires: ruby(rubygems)
|
||||||
|
BuildRequires: rubygems-devel
|
||||||
|
BuildRequires: ruby
|
||||||
|
%if 0%{?enable_checks}
|
||||||
|
%if 0%{?fc19} || 0%{?fc20} || 0%{?el6} || 0%{?el7}
|
||||||
|
BuildRequires: rubygem(minitest) < 5
|
||||||
|
%else
|
||||||
|
BuildRequires: rubygem(minitest) >= 5
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
%if 0%{?fc19} || 0%{?fc20} || 0%{?el6} || 0%{?el7}
|
||||||
|
Provides: rubygem(%{gem_name}) = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
Recursively merge hashes.
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Documentation for %{name}
|
||||||
|
Group: Documentation
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
Documentation for %{name}
|
||||||
|
|
||||||
|
%prep
|
||||||
|
gem unpack %{SOURCE0}
|
||||||
|
|
||||||
|
%setup -q -D -T -n %{gem_name}-%{version}
|
||||||
|
|
||||||
|
gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
|
||||||
|
|
||||||
|
%if 0%{?fc19} || 0%{?fc20} || 0%{?el6} || 0%{?el7}
|
||||||
|
%else
|
||||||
|
%patch0 -p1
|
||||||
|
%endif
|
||||||
|
cp -p %{SOURCE1} LICENSE
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
# Create the gem as gem install only works on a gem file
|
||||||
|
gem build %{gem_name}.gemspec
|
||||||
|
|
||||||
|
# %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir
|
||||||
|
# by default, so that we can move it into the buildroot in %%install
|
||||||
|
%gem_install
|
||||||
|
|
||||||
|
%install
|
||||||
|
mkdir -p %{buildroot}%{gem_dir}
|
||||||
|
cp -pa .%{gem_dir}/* \
|
||||||
|
%{buildroot}%{gem_dir}/
|
||||||
|
|
||||||
|
%check
|
||||||
|
%if 0%{?enable_checks}
|
||||||
|
ruby -Ilib test/test_deep_merge.rb
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files
|
||||||
|
%dir %{gem_instdir}
|
||||||
|
%{gem_libdir}
|
||||||
|
%exclude %{gem_cache}
|
||||||
|
%exclude %{gem_instdir}/CHANGELOG
|
||||||
|
%exclude %{gem_instdir}/test
|
||||||
|
%exclude %{gem_instdir}/Rakefile
|
||||||
|
%{gem_spec}
|
||||||
|
%doc LICENSE
|
||||||
|
%doc
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%doc %{gem_docdir}
|
||||||
|
%doc %{gem_instdir}/README.md
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Jun 19 2014 Steve Traylen <steve.traylen@cern.ch> - 1.0.1-5
|
||||||
|
- Ensure rubygem(minitest) is > 5 version on fc21.
|
||||||
|
|
||||||
|
* Tue Jun 3 2014 Steve Traylen <steve.traylen@cern.ch> - 1.0.1-4
|
||||||
|
- Include LICENSE file in main package.
|
||||||
|
|
||||||
|
* Mon Jun 2 2014 Steve Traylen <steve.traylen@cern.ch> - 1.0.1-3
|
||||||
|
- Drop usage of testrb and use ruby instead for checks.
|
||||||
|
|
||||||
|
* Fri May 30 2014 Steve Traylen <steve.traylen@cern.ch> - 1.0.1-2
|
||||||
|
- latest ruby guidelines and minitest5 patch
|
||||||
|
|
||||||
|
* Wed Feb 12 2014 Steve Traylen <steve.traylen@cern.ch> - 1.0.1-1
|
||||||
|
- Initial package
|
Loading…
Reference in new issue