confstruct 0.2.4 → 0.2.5
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.
- data/README.md +1 -0
- data/lib/confstruct.rb +1 -1
- data/lib/confstruct/configuration.rb +2 -2
- data/lib/confstruct/hash_with_struct_access.rb +1 -0
- data/spec/confstruct/configuration_spec.rb +6 -0
- metadata +40 -46
data/README.md
CHANGED
@@ -193,6 +193,7 @@ The pattern `add_$key!` can be used to add to or create an array.
|
|
193
193
|
- <b>v0.2.2</b> - Fix ArgumentError on #respond_to?(sym, true)
|
194
194
|
- <b>v0.2.3</b> - Don't evaluate Deferreds during #inspect
|
195
195
|
- <b>v0.2.4</b> - Fix deferreds under Ruby 1.9.x
|
196
|
+
- <b>v0.2.5</b> - #14 #configure loses nested hashes somehow
|
196
197
|
|
197
198
|
## Contributing to confstruct
|
198
199
|
|
data/lib/confstruct.rb
CHANGED
@@ -6,7 +6,7 @@ module Confstruct
|
|
6
6
|
|
7
7
|
def initialize hash=@@hash_class.new, &block
|
8
8
|
super({})
|
9
|
-
@default_values =
|
9
|
+
@default_values = HashWithStructAccess.from_hash(hash)
|
10
10
|
eval_or_yield @default_values, &block
|
11
11
|
reset_defaults!
|
12
12
|
end
|
@@ -16,7 +16,7 @@ module Confstruct
|
|
16
16
|
|
17
17
|
def configure *args, &block
|
18
18
|
if args[0].respond_to?(:each_pair)
|
19
|
-
self.deep_merge!(args[0])
|
19
|
+
self.deep_merge!(HashWithStructAccess.from_hash(args[0]))
|
20
20
|
end
|
21
21
|
eval_or_yield self, &block
|
22
22
|
after_config! self
|
@@ -127,6 +127,12 @@ describe Confstruct::Configuration do
|
|
127
127
|
mock postconfigurator
|
128
128
|
end
|
129
129
|
end
|
130
|
+
|
131
|
+
it "should be initializable with a string-keyed hash" do
|
132
|
+
conf = Confstruct::Configuration.new
|
133
|
+
conf.configure(:top=>{:middle=>{"one"=>"two"}})
|
134
|
+
conf.top.middle.one.should == 'two'
|
135
|
+
end
|
130
136
|
end
|
131
137
|
|
132
138
|
end
|
metadata
CHANGED
@@ -1,128 +1,128 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: confstruct
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.4
|
5
4
|
prerelease:
|
5
|
+
version: 0.2.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Michael Klein
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-12-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
20
|
+
none: false
|
21
|
+
name: active_support
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
|
25
|
-
none: false
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
26
25
|
requirements:
|
27
26
|
- - ! '>='
|
28
27
|
- !ruby/object:Gem::Version
|
29
28
|
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: rake
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
29
|
none: false
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
version_requirements: !ruby/object:Gem::Requirement
|
34
32
|
requirements:
|
35
33
|
- - ! '>='
|
36
34
|
- !ruby/object:Gem::Version
|
37
35
|
version: 0.8.7
|
36
|
+
none: false
|
37
|
+
name: rake
|
38
38
|
type: :development
|
39
39
|
prerelease: false
|
40
|
-
|
41
|
-
none: false
|
40
|
+
requirement: !ruby/object:Gem::Requirement
|
42
41
|
requirements:
|
43
42
|
- - ! '>='
|
44
43
|
- !ruby/object:Gem::Version
|
45
44
|
version: 0.8.7
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: simplecov
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
45
|
none: false
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
48
|
requirements:
|
51
49
|
- - ! '>='
|
52
50
|
- !ruby/object:Gem::Version
|
53
51
|
version: '0'
|
52
|
+
none: false
|
53
|
+
name: simplecov
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
|
-
|
57
|
-
none: false
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
58
57
|
requirements:
|
59
58
|
- - ! '>='
|
60
59
|
- !ruby/object:Gem::Version
|
61
60
|
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rdiscount
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
61
|
none: false
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
64
|
requirements:
|
67
65
|
- - ! '>='
|
68
66
|
- !ruby/object:Gem::Version
|
69
67
|
version: '0'
|
68
|
+
none: false
|
69
|
+
name: rdiscount
|
70
70
|
type: :development
|
71
71
|
prerelease: false
|
72
|
-
|
73
|
-
none: false
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
74
73
|
requirements:
|
75
74
|
- - ! '>='
|
76
75
|
- !ruby/object:Gem::Version
|
77
76
|
version: '0'
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: rdoc
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
77
|
none: false
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
80
|
requirements:
|
83
81
|
- - ! '>='
|
84
82
|
- !ruby/object:Gem::Version
|
85
83
|
version: '0'
|
84
|
+
none: false
|
85
|
+
name: rdoc
|
86
86
|
type: :development
|
87
87
|
prerelease: false
|
88
|
-
|
89
|
-
none: false
|
88
|
+
requirement: !ruby/object:Gem::Requirement
|
90
89
|
requirements:
|
91
90
|
- - ! '>='
|
92
91
|
- !ruby/object:Gem::Version
|
93
92
|
version: '0'
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: rspec
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
93
|
none: false
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
version_requirements: !ruby/object:Gem::Requirement
|
98
96
|
requirements:
|
99
97
|
- - ! '>='
|
100
98
|
- !ruby/object:Gem::Version
|
101
99
|
version: '0'
|
100
|
+
none: false
|
101
|
+
name: rspec
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
|
-
|
105
|
-
none: false
|
104
|
+
requirement: !ruby/object:Gem::Requirement
|
106
105
|
requirements:
|
107
106
|
- - ! '>='
|
108
107
|
- !ruby/object:Gem::Version
|
109
108
|
version: '0'
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: yard
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
109
|
none: false
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
version_requirements: !ruby/object:Gem::Requirement
|
114
112
|
requirements:
|
115
113
|
- - ! '>='
|
116
114
|
- !ruby/object:Gem::Version
|
117
115
|
version: '0'
|
116
|
+
none: false
|
117
|
+
name: yard
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
|
-
|
121
|
-
none: false
|
120
|
+
requirement: !ruby/object:Gem::Requirement
|
122
121
|
requirements:
|
123
122
|
- - ! '>='
|
124
123
|
- !ruby/object:Gem::Version
|
125
124
|
version: '0'
|
125
|
+
none: false
|
126
126
|
description: A simple, hash/struct-based configuration object
|
127
127
|
email:
|
128
128
|
- mbklein@gmail.com
|
@@ -153,26 +153,20 @@ rdoc_options: []
|
|
153
153
|
require_paths:
|
154
154
|
- lib
|
155
155
|
required_ruby_version: !ruby/object:Gem::Requirement
|
156
|
-
none: false
|
157
156
|
requirements:
|
158
157
|
- - ! '>='
|
159
158
|
- !ruby/object:Gem::Version
|
160
159
|
version: '0'
|
161
|
-
segments:
|
162
|
-
- 0
|
163
|
-
hash: 1650864101667936832
|
164
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
160
|
none: false
|
161
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
162
|
requirements:
|
167
163
|
- - ! '>='
|
168
164
|
- !ruby/object:Gem::Version
|
169
165
|
version: '0'
|
170
|
-
|
171
|
-
- 0
|
172
|
-
hash: 1650864101667936832
|
166
|
+
none: false
|
173
167
|
requirements: []
|
174
168
|
rubyforge_project:
|
175
|
-
rubygems_version: 1.8.
|
169
|
+
rubygems_version: 1.8.23
|
176
170
|
signing_key:
|
177
171
|
specification_version: 3
|
178
172
|
summary: A simple, hash/struct-based configuration object
|