structure_flatter 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/.autotest +1 -0
- data/lib/structure_flatter/version.rb +1 -1
- data/spec/structure_flatter/array_hash_structure_spec.rb +18 -21
- data/structure_flatter.gemspec +2 -1
- metadata +37 -24
- data/autotest/discover.rb +0 -2
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NmE5MDc4NjdjMmM5MjFhN2E5NDk2NDY0Yjg2NmMyZTVjYjM2ZTAxMw==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 13e78a1830411d2771d2a41fc82b94f8939c19ca
|
4
|
+
data.tar.gz: 744aa5b307c9289059decb60ae0587b01a19fae8
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
MzM1MzcyNmM2YTYxMzBkN2Y1Y2RhMjJmNmMyNjg5ZmFmMmEwOWJiMTE1MmVh
|
11
|
-
N2E0ZDc2NmZiNjFkODdiZTA1ZDVhZTZlOTMxNjFjYzdjNzlhMTc=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZWQ1NzY0NzU4NmRmNzJiNGM3M2VhNTgwNGM0MWQyMjgxYmY3YjVlMGI3Yjk3
|
14
|
-
NmJjODNkYTJiZTQyMzFmMTQwNTRlOWE4NTQ0NDQ5NmRlZmZkM2Q2ODU0YTQ3
|
15
|
-
ZTM1MDViMDBlMWQ1OTUxMzU3NDNhZDgyM2Y5Njg0MTFlMDYyZGE=
|
6
|
+
metadata.gz: 29e98e8abfc39f908e4c9f5bebd7219f7e4a07326f413e0da3a4dc583b1461533ee7a284dadf8db9f8ee27d6627def082ac356aab6e08c339fe781bfe2cff657
|
7
|
+
data.tar.gz: bf7ab9a34bb15554c6b352edcc83013864815ec3f5a8c4894b9801dcba6d78af090b9e2e419b63976b7bc47bb7207869974a1e7accd0f83ba7344f690960ca97
|
data/.autotest
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "autotest/bundler"
|
@@ -8,89 +8,86 @@ module StructureFlatter
|
|
8
8
|
|
9
9
|
describe '.is_root_flattable?' do
|
10
10
|
it 'returns true for simple flattable key-value pair' do
|
11
|
-
ArrayHashStructure.is_key_value_pair_flattable?(*key_value_pair_1).
|
11
|
+
expect(ArrayHashStructure.is_key_value_pair_flattable?(*key_value_pair_1)).to be true
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'returns false for non-flattable nil value' do
|
15
15
|
array = [:key, nil]
|
16
|
-
ArrayHashStructure.is_key_value_pair_flattable?(*array).
|
16
|
+
expect(ArrayHashStructure.is_key_value_pair_flattable?(*array)).to be false
|
17
17
|
end
|
18
18
|
|
19
19
|
it 'returns false for non-flattable empty array as value' do
|
20
20
|
array = [:key, []]
|
21
|
-
ArrayHashStructure.is_key_value_pair_flattable?(*array).
|
21
|
+
expect(ArrayHashStructure.is_key_value_pair_flattable?(*array)).to be false
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'returns false for non-flattable empty hash as value' do
|
25
25
|
array = [:key, {}]
|
26
|
-
ArrayHashStructure.is_key_value_pair_flattable?(*array).
|
26
|
+
expect(ArrayHashStructure.is_key_value_pair_flattable?(*array)).to be false
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'returns false for non-flattable key-value pair' do
|
30
|
-
ArrayHashStructure.is_key_value_pair_flattable?(*key_value_pair_1_result).
|
30
|
+
expect(ArrayHashStructure.is_key_value_pair_flattable?(*key_value_pair_1_result)).to be false
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
34
|
describe '.flatten_root!' do
|
35
35
|
it 'flattens flattable key-value pair' do
|
36
|
-
ArrayHashStructure.flatten_key_value_pair!(*key_value_pair_1).
|
36
|
+
expect(ArrayHashStructure.flatten_key_value_pair!(*key_value_pair_1)).to eq(key_value_pair_1_result)
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'does not affect non-flattable key-value pair' do
|
40
|
-
ArrayHashStructure.flatten_key_value_pair!(*key_value_pair_1_result).
|
40
|
+
expect(ArrayHashStructure.flatten_key_value_pair!(*key_value_pair_1_result)).to eq(key_value_pair_1_result)
|
41
41
|
end
|
42
42
|
|
43
43
|
it 'does not affect non-flattable key-value pair with nil value' do
|
44
44
|
array = [:key, nil]
|
45
|
-
ArrayHashStructure.flatten_key_value_pair!(*array).
|
45
|
+
expect(ArrayHashStructure.flatten_key_value_pair!(*array)).to eq(array)
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'does not affect non-flattable key-value pair with empty array as value' do
|
49
49
|
array = [:key, []]
|
50
|
-
ArrayHashStructure.flatten_key_value_pair!(*array).
|
50
|
+
expect(ArrayHashStructure.flatten_key_value_pair!(*array)).to eq(array)
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'does not affect non-flattable key-value pair with empty hash as value' do
|
54
54
|
array = [:key, {}]
|
55
|
-
ArrayHashStructure.flatten_key_value_pair!(*array).
|
55
|
+
expect(ArrayHashStructure.flatten_key_value_pair!(*array)).to eq(array)
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
59
|
describe '#flatten_structure!' do
|
60
60
|
it 'returns nil structure as it is' do
|
61
61
|
str = ArrayHashStructure.new(nil_structure).flatten_structure!
|
62
|
-
str.
|
62
|
+
expect(str).to eq(nil_structure)
|
63
63
|
end
|
64
64
|
it 'returns empty hash as it is' do
|
65
65
|
str = ArrayHashStructure.new(empty_hash_structure).flatten_structure!
|
66
|
-
str.
|
66
|
+
expect(str).to eq(empty_hash_structure)
|
67
67
|
end
|
68
68
|
it 'returns empty array as it is' do
|
69
69
|
str = ArrayHashStructure.new(empty_array_structure).flatten_structure!
|
70
|
-
str.
|
70
|
+
expect(str).to eq(empty_array_structure)
|
71
71
|
end
|
72
72
|
it 'flattens simple Hash structure' do
|
73
73
|
str = ArrayHashStructure.new(simple_hash_structure).flatten_structure!
|
74
|
-
str.
|
74
|
+
expect(str).to eq(simple_hash_structure_result)
|
75
75
|
end
|
76
76
|
it 'flattens complex Hash structure' do
|
77
77
|
str = ArrayHashStructure.new(complex_hash_structure).flatten_structure!
|
78
|
-
str.
|
78
|
+
expect(str).to eq(complex_hash_structure_result)
|
79
79
|
end
|
80
80
|
it 'flattens complex Hash with mixed string and keys structure' do
|
81
81
|
str = ArrayHashStructure.new(complex_hash_with_mixed_string_and_keys_structure).flatten_structure!
|
82
|
-
str.
|
82
|
+
expect(str).to eq(complex_hash_with_mixed_string_and_keys_structure_result)
|
83
83
|
end
|
84
84
|
it 'flattens complex Array structure' do
|
85
85
|
str = ArrayHashStructure.new(complex_array_structure).flatten_structure!
|
86
|
-
str.
|
86
|
+
expect(str).to eq(complex_array_structure_result)
|
87
87
|
end
|
88
88
|
it 'flattens complex nested structure' do
|
89
89
|
str = ArrayHashStructure.new(complex_nested_structure).flatten_structure!
|
90
|
-
|
91
|
-
#ap VariousStructures.structure4_result
|
92
|
-
#ap str
|
93
|
-
str.should == complex_nested_structure_result
|
90
|
+
expect(str).to eq(complex_nested_structure_result)
|
94
91
|
end
|
95
92
|
end
|
96
93
|
|
data/structure_flatter.gemspec
CHANGED
@@ -21,8 +21,9 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency "bundler", ">= 1.3"
|
22
22
|
spec.add_development_dependency "rake", ">= 0.9"
|
23
23
|
spec.add_development_dependency "awesome_print", ">= 1.2"
|
24
|
-
spec.add_development_dependency "rspec", "~>
|
24
|
+
spec.add_development_dependency "rspec", "~> 3.0.0"
|
25
25
|
spec.add_development_dependency "autotest"
|
26
|
+
spec.add_development_dependency "rspec-autotest"
|
26
27
|
spec.add_development_dependency "simplecov"
|
27
28
|
spec.add_dependency "activesupport", "~> 4.0"
|
28
29
|
spec.required_ruby_version = '>=1.9'
|
metadata
CHANGED
@@ -1,111 +1,125 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: structure_flatter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Munish Goyal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0.9'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.9'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: awesome_print
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.2'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.2'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 3.0.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 3.0.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: autotest
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec-autotest
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: simplecov
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: activesupport
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- - ~>
|
115
|
+
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '4.0'
|
104
118
|
type: :runtime
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- - ~>
|
122
|
+
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '4.0'
|
111
125
|
description: Flattens hash-array structures by removing redundant information.
|
@@ -115,13 +129,13 @@ executables: []
|
|
115
129
|
extensions: []
|
116
130
|
extra_rdoc_files: []
|
117
131
|
files:
|
118
|
-
- .
|
119
|
-
- .
|
132
|
+
- ".autotest"
|
133
|
+
- ".gitignore"
|
134
|
+
- ".rspec"
|
120
135
|
- Gemfile
|
121
136
|
- LICENSE.txt
|
122
137
|
- README.md
|
123
138
|
- Rakefile
|
124
|
-
- autotest/discover.rb
|
125
139
|
- lib/structure_flatter.rb
|
126
140
|
- lib/structure_flatter/array_hash_structure.rb
|
127
141
|
- lib/structure_flatter/version.rb
|
@@ -140,12 +154,12 @@ require_paths:
|
|
140
154
|
- lib
|
141
155
|
required_ruby_version: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- -
|
157
|
+
- - ">="
|
144
158
|
- !ruby/object:Gem::Version
|
145
159
|
version: '1.9'
|
146
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
161
|
requirements:
|
148
|
-
- -
|
162
|
+
- - ">="
|
149
163
|
- !ruby/object:Gem::Version
|
150
164
|
version: '0'
|
151
165
|
requirements: []
|
@@ -155,7 +169,6 @@ signing_key:
|
|
155
169
|
specification_version: 4
|
156
170
|
summary: Flattens Hash Array Structures
|
157
171
|
test_files:
|
158
|
-
- autotest/discover.rb
|
159
172
|
- spec/inputs/various_key_value_pairs.rb
|
160
173
|
- spec/inputs/various_structures.rb
|
161
174
|
- spec/spec_helper.rb
|
data/autotest/discover.rb
DELETED