dynport_tools 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.2.4
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dynport_tools}
8
- s.version = "0.2.3"
8
+ s.version = "0.2.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tobias Schwab"]
12
- s.date = %q{2011-08-17}
12
+ s.date = %q{2011-08-21}
13
13
  s.description = %q{Collection of various tools}
14
14
  s.email = %q{tobias.schwab@dynport.de}
15
15
  s.executables = ["xmldiff", "redis_dumper"]
@@ -1,14 +1,13 @@
1
1
  class DynportTools::DeepMerger
2
2
  class << self
3
3
  def merge(a, b)
4
- if a.class == b.class
5
- if a.is_a?(Hash)
6
- return merge_hashes(a, b)
7
- elsif a.is_a?(Array)
8
- return merge_arrays(a, b)
9
- end
4
+ if a.is_a?(Hash) && b.is_a?(Hash)
5
+ merge_hashes(a, b)
6
+ elsif a.is_a?(Array) && b.is_a?(Array)
7
+ merge_arrays(a, b)
8
+ else
9
+ b
10
10
  end
11
- b
12
11
  end
13
12
 
14
13
  def merge_arrays(a, b)
@@ -1,10 +1,30 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe DynportTools::DeepMerger do
4
+ class SubHash < Hash
5
+ end
6
+
7
+ class SubArray < Array
8
+ end
9
+
4
10
  it "merges two hashes" do
5
11
  DynportTools::DeepMerger.merge({ :a => 1 }, { :b => 2 }).should == { :a => 1, :b => 2 }
6
12
  end
7
13
 
14
+ it "calls merge_hashes even if one is a subclass of hash" do
15
+ sh = SubHash.new
16
+ hash = { :a => 1 }
17
+ DynportTools::DeepMerger.should_receive(:merge_hashes).with(hash, sh).and_return "hash"
18
+ DynportTools::DeepMerger.merge(hash, sh).should == "hash"
19
+ end
20
+
21
+ it "calls merge_arrays even if one is a subclass of array" do
22
+ sa = SubArray.new
23
+ array = [1]
24
+ DynportTools::DeepMerger.should_receive(:merge_arrays).with(sa, array).and_return "array"
25
+ DynportTools::DeepMerger.merge(sa, array).should == "array"
26
+ end
27
+
8
28
  it "merges two arrays with same number of attributes" do
9
29
  DynportTools::DeepMerger.merge([{ :a => 1, :b => 1 }], [{ :a => 2, :c => 3 }]).should == [{ :a => 2, :b => 1, :c => 3 }]
10
30
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynport_tools
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 3
10
- version: 0.2.3
9
+ - 4
10
+ version: 0.2.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tobias Schwab
@@ -15,13 +15,12 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-17 00:00:00 +02:00
18
+ date: 2011-08-21 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: nokogiri
23
- prerelease: false
24
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ type: :runtime
23
+ requirement: &id001 !ruby/object:Gem::Requirement
25
24
  none: false
26
25
  requirements:
27
26
  - - ">="
@@ -30,12 +29,12 @@ dependencies:
30
29
  segments:
31
30
  - 0
32
31
  version: "0"
33
- type: :runtime
34
- requirement: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: redis
32
+ name: nokogiri
33
+ version_requirements: *id001
37
34
  prerelease: false
38
- version_requirements: &id002 !ruby/object:Gem::Requirement
35
+ - !ruby/object:Gem::Dependency
36
+ type: :runtime
37
+ requirement: &id002 !ruby/object:Gem::Requirement
39
38
  none: false
40
39
  requirements:
41
40
  - - ">="
@@ -44,12 +43,12 @@ dependencies:
44
43
  segments:
45
44
  - 0
46
45
  version: "0"
47
- type: :runtime
48
- requirement: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: typhoeus
46
+ name: redis
47
+ version_requirements: *id002
51
48
  prerelease: false
52
- version_requirements: &id003 !ruby/object:Gem::Requirement
49
+ - !ruby/object:Gem::Dependency
50
+ type: :runtime
51
+ requirement: &id003 !ruby/object:Gem::Requirement
53
52
  none: false
54
53
  requirements:
55
54
  - - ">="
@@ -58,12 +57,12 @@ dependencies:
58
57
  segments:
59
58
  - 0
60
59
  version: "0"
61
- type: :runtime
62
- requirement: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: rspec
60
+ name: typhoeus
61
+ version_requirements: *id003
65
62
  prerelease: false
66
- version_requirements: &id004 !ruby/object:Gem::Requirement
63
+ - !ruby/object:Gem::Dependency
64
+ type: :development
65
+ requirement: &id004 !ruby/object:Gem::Requirement
67
66
  none: false
68
67
  requirements:
69
68
  - - ~>
@@ -74,12 +73,12 @@ dependencies:
74
73
  - 3
75
74
  - 0
76
75
  version: 2.3.0
77
- type: :development
78
- requirement: *id004
79
- - !ruby/object:Gem::Dependency
80
- name: bundler
76
+ name: rspec
77
+ version_requirements: *id004
81
78
  prerelease: false
82
- version_requirements: &id005 !ruby/object:Gem::Requirement
79
+ - !ruby/object:Gem::Dependency
80
+ type: :development
81
+ requirement: &id005 !ruby/object:Gem::Requirement
83
82
  none: false
84
83
  requirements:
85
84
  - - ~>
@@ -90,12 +89,12 @@ dependencies:
90
89
  - 0
91
90
  - 0
92
91
  version: 1.0.0
93
- type: :development
94
- requirement: *id005
95
- - !ruby/object:Gem::Dependency
96
- name: jeweler
92
+ name: bundler
93
+ version_requirements: *id005
97
94
  prerelease: false
98
- version_requirements: &id006 !ruby/object:Gem::Requirement
95
+ - !ruby/object:Gem::Dependency
96
+ type: :development
97
+ requirement: &id006 !ruby/object:Gem::Requirement
99
98
  none: false
100
99
  requirements:
101
100
  - - ~>
@@ -106,12 +105,12 @@ dependencies:
106
105
  - 6
107
106
  - 4
108
107
  version: 1.6.4
109
- type: :development
110
- requirement: *id006
111
- - !ruby/object:Gem::Dependency
112
- name: rcov
108
+ name: jeweler
109
+ version_requirements: *id006
113
110
  prerelease: false
114
- version_requirements: &id007 !ruby/object:Gem::Requirement
111
+ - !ruby/object:Gem::Dependency
112
+ type: :development
113
+ requirement: &id007 !ruby/object:Gem::Requirement
115
114
  none: false
116
115
  requirements:
117
116
  - - ">="
@@ -120,12 +119,12 @@ dependencies:
120
119
  segments:
121
120
  - 0
122
121
  version: "0"
123
- type: :development
124
- requirement: *id007
125
- - !ruby/object:Gem::Dependency
126
- name: ZenTest
122
+ name: rcov
123
+ version_requirements: *id007
127
124
  prerelease: false
128
- version_requirements: &id008 !ruby/object:Gem::Requirement
125
+ - !ruby/object:Gem::Dependency
126
+ type: :development
127
+ requirement: &id008 !ruby/object:Gem::Requirement
129
128
  none: false
130
129
  requirements:
131
130
  - - "="
@@ -136,12 +135,12 @@ dependencies:
136
135
  - 5
137
136
  - 0
138
137
  version: 4.5.0
139
- type: :development
140
- requirement: *id008
141
- - !ruby/object:Gem::Dependency
142
- name: autotest
138
+ name: ZenTest
139
+ version_requirements: *id008
143
140
  prerelease: false
144
- version_requirements: &id009 !ruby/object:Gem::Requirement
141
+ - !ruby/object:Gem::Dependency
142
+ type: :development
143
+ requirement: &id009 !ruby/object:Gem::Requirement
145
144
  none: false
146
145
  requirements:
147
146
  - - ">="
@@ -150,12 +149,12 @@ dependencies:
150
149
  segments:
151
150
  - 0
152
151
  version: "0"
153
- type: :development
154
- requirement: *id009
155
- - !ruby/object:Gem::Dependency
156
- name: autotest-growl
152
+ name: autotest
153
+ version_requirements: *id009
157
154
  prerelease: false
158
- version_requirements: &id010 !ruby/object:Gem::Requirement
155
+ - !ruby/object:Gem::Dependency
156
+ type: :development
157
+ requirement: &id010 !ruby/object:Gem::Requirement
159
158
  none: false
160
159
  requirements:
161
160
  - - ">="
@@ -164,12 +163,12 @@ dependencies:
164
163
  segments:
165
164
  - 0
166
165
  version: "0"
167
- type: :development
168
- requirement: *id010
169
- - !ruby/object:Gem::Dependency
170
- name: ruby-debug
166
+ name: autotest-growl
167
+ version_requirements: *id010
171
168
  prerelease: false
172
- version_requirements: &id011 !ruby/object:Gem::Requirement
169
+ - !ruby/object:Gem::Dependency
170
+ type: :development
171
+ requirement: &id011 !ruby/object:Gem::Requirement
173
172
  none: false
174
173
  requirements:
175
174
  - - ">="
@@ -178,8 +177,9 @@ dependencies:
178
177
  segments:
179
178
  - 0
180
179
  version: "0"
181
- type: :development
182
- requirement: *id011
180
+ name: ruby-debug
181
+ version_requirements: *id011
182
+ prerelease: false
183
183
  description: Collection of various tools
184
184
  email: tobias.schwab@dynport.de
185
185
  executables: