configatron 1.2.0 → 1.2.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.
@@ -92,13 +92,14 @@ The central class for managing the configurations.
92
92
  <h3 class="section-bar">Methods</h3>
93
93
 
94
94
  <div class="name-list">
95
- <a href="#M000010">configure</a>&nbsp;&nbsp;
96
- <a href="#M000011">configure_from_hash</a>&nbsp;&nbsp;
97
- <a href="#M000012">configure_from_yaml</a>&nbsp;&nbsp;
98
- <a href="#M000013">reload</a>&nbsp;&nbsp;
99
- <a href="#M000015">reset</a>&nbsp;&nbsp;
100
- <a href="#M000014">reset!</a>&nbsp;&nbsp;
101
- <a href="#M000016">revert</a>&nbsp;&nbsp;
95
+ <a href="#M000011">configure</a>&nbsp;&nbsp;
96
+ <a href="#M000012">configure_from_hash</a>&nbsp;&nbsp;
97
+ <a href="#M000013">configure_from_yaml</a>&nbsp;&nbsp;
98
+ <a href="#M000014">reload</a>&nbsp;&nbsp;
99
+ <a href="#M000016">reset</a>&nbsp;&nbsp;
100
+ <a href="#M000015">reset!</a>&nbsp;&nbsp;
101
+ <a href="#M000017">revert</a>&nbsp;&nbsp;
102
+ <a href="#M000018">to_hash</a>&nbsp;&nbsp;
102
103
  </div>
103
104
  </div>
104
105
 
@@ -146,11 +147,11 @@ NoMethodError exception will be raised.
146
147
  <div id="methods">
147
148
  <h3 class="section-bar">Public Instance methods</h3>
148
149
 
149
- <div id="method-M000010" class="method-detail">
150
- <a name="M000010"></a>
150
+ <div id="method-M000011" class="method-detail">
151
+ <a name="M000011"></a>
151
152
 
152
153
  <div class="method-heading">
153
- <a href="#M000010" class="method-signature">
154
+ <a href="#M000011" class="method-signature">
154
155
  <span class="method-name">configure</span><span class="method-args">() {|storage| ...}</span>
155
156
  </a>
156
157
  </div>
@@ -160,8 +161,8 @@ NoMethodError exception will be raised.
160
161
  Yields a new <a href="Store.html">Configatron::Store</a> class.
161
162
  </p>
162
163
  <p><a class="source-toggle" href="#"
163
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
164
- <div class="method-source-code" id="M000010-source">
164
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
165
+ <div class="method-source-code" id="M000011-source">
165
166
  <pre>
166
167
  <span class="ruby-comment cmt"># File lib/configatron/configuration.rb, line 18</span>
167
168
  18: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure</span>
@@ -177,11 +178,11 @@ Yields a new <a href="Store.html">Configatron::Store</a> class.
177
178
  </div>
178
179
  </div>
179
180
 
180
- <div id="method-M000011" class="method-detail">
181
- <a name="M000011"></a>
181
+ <div id="method-M000012" class="method-detail">
182
+ <a name="M000012"></a>
182
183
 
183
184
  <div class="method-heading">
184
- <a href="#M000011" class="method-signature">
185
+ <a href="#M000012" class="method-signature">
185
186
  <span class="method-name">configure_from_hash</span><span class="method-args">(parameters)</span>
186
187
  </a>
187
188
  </div>
@@ -191,8 +192,8 @@ Yields a new <a href="Store.html">Configatron::Store</a> class.
191
192
  Used to load configuration settings from a Hash.
192
193
  </p>
193
194
  <p><a class="source-toggle" href="#"
194
- onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
195
- <div class="method-source-code" id="M000011-source">
195
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
196
+ <div class="method-source-code" id="M000012-source">
196
197
  <pre>
197
198
  <span class="ruby-comment cmt"># File lib/configatron/configuration.rb, line 28</span>
198
199
  28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure_from_hash</span>(<span class="ruby-identifier">parameters</span>)
@@ -205,11 +206,11 @@ Used to load configuration settings from a Hash.
205
206
  </div>
206
207
  </div>
207
208
 
208
- <div id="method-M000012" class="method-detail">
209
- <a name="M000012"></a>
209
+ <div id="method-M000013" class="method-detail">
210
+ <a name="M000013"></a>
210
211
 
211
212
  <div class="method-heading">
212
- <a href="#M000012" class="method-signature">
213
+ <a href="#M000013" class="method-signature">
213
214
  <span class="method-name">configure_from_yaml</span><span class="method-args">(path)</span>
214
215
  </a>
215
216
  </div>
@@ -219,8 +220,8 @@ Used to load configuration settings from a Hash.
219
220
  Used to load configuration settings from a YAML file.
220
221
  </p>
221
222
  <p><a class="source-toggle" href="#"
222
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
223
- <div class="method-source-code" id="M000012-source">
223
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
224
+ <div class="method-source-code" id="M000013-source">
224
225
  <pre>
225
226
  <span class="ruby-comment cmt"># File lib/configatron/configuration.rb, line 35</span>
226
227
  35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure_from_yaml</span>(<span class="ruby-identifier">path</span>)
@@ -238,11 +239,11 @@ Used to load configuration settings from a YAML file.
238
239
  </div>
239
240
  </div>
240
241
 
241
- <div id="method-M000013" class="method-detail">
242
- <a name="M000013"></a>
242
+ <div id="method-M000014" class="method-detail">
243
+ <a name="M000014"></a>
243
244
 
244
245
  <div class="method-heading">
245
- <a href="#M000013" class="method-signature">
246
+ <a href="#M000014" class="method-signature">
246
247
  <span class="method-name">reload</span><span class="method-args">()</span>
247
248
  </a>
248
249
  </div>
@@ -252,8 +253,8 @@ Used to load configuration settings from a YAML file.
252
253
  Replays the history of configurations.
253
254
  </p>
254
255
  <p><a class="source-toggle" href="#"
255
- onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
256
- <div class="method-source-code" id="M000013-source">
256
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
257
+ <div class="method-source-code" id="M000014-source">
257
258
  <pre>
258
259
  <span class="ruby-comment cmt"># File lib/configatron/configuration.rb, line 47</span>
259
260
  47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reload</span>
@@ -267,11 +268,11 @@ Replays the history of configurations.
267
268
  </div>
268
269
  </div>
269
270
 
270
- <div id="method-M000015" class="method-detail">
271
- <a name="M000015"></a>
271
+ <div id="method-M000016" class="method-detail">
272
+ <a name="M000016"></a>
272
273
 
273
274
  <div class="method-heading">
274
- <a href="#M000015" class="method-signature">
275
+ <a href="#M000016" class="method-signature">
275
276
  <span class="method-name">reset</span><span class="method-args">()</span>
276
277
  </a>
277
278
  </div>
@@ -281,8 +282,8 @@ Replays the history of configurations.
281
282
  All methods are undefined.
282
283
  </p>
283
284
  <p><a class="source-toggle" href="#"
284
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
285
- <div class="method-source-code" id="M000015-source">
285
+ onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
286
+ <div class="method-source-code" id="M000016-source">
286
287
  <pre>
287
288
  <span class="ruby-comment cmt"># File lib/configatron/configuration.rb, line 64</span>
288
289
  64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
@@ -302,26 +303,26 @@ All methods are undefined.
302
303
  </div>
303
304
  </div>
304
305
 
305
- <div id="method-M000014" class="method-detail">
306
- <a name="M000014"></a>
306
+ <div id="method-M000015" class="method-detail">
307
+ <a name="M000015"></a>
307
308
 
308
309
  <div class="method-heading">
309
- <a href="#M000014" class="method-signature">
310
+ <a href="#M000015" class="method-signature">
310
311
  <span class="method-name">reset!</span><span class="method-args">()</span>
311
312
  </a>
312
313
  </div>
313
314
 
314
315
  <div class="method-description">
315
316
  <p>
316
- Does a hard <a href="Configuration.html#M000015">reset</a> of the <a
317
+ Does a hard <a href="Configuration.html#M000016">reset</a> of the <a
317
318
  href="Configuration.html">Configatron::Configuration</a> class. All methods
318
319
  are undefined, the list of configuration parameters is emptied, and the
319
- nil_for_missing method gets <a href="Configuration.html#M000015">reset</a>
320
+ nil_for_missing method gets <a href="Configuration.html#M000016">reset</a>
320
321
  to false.
321
322
  </p>
322
323
  <p><a class="source-toggle" href="#"
323
- onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
324
- <div class="method-source-code" id="M000014-source">
324
+ onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
325
+ <div class="method-source-code" id="M000015-source">
325
326
  <pre>
326
327
  <span class="ruby-comment cmt"># File lib/configatron/configuration.rb, line 57</span>
327
328
  57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset!</span>
@@ -334,11 +335,11 @@ to false.
334
335
  </div>
335
336
  </div>
336
337
 
337
- <div id="method-M000016" class="method-detail">
338
- <a name="M000016"></a>
338
+ <div id="method-M000017" class="method-detail">
339
+ <a name="M000017"></a>
339
340
 
340
341
  <div class="method-heading">
341
- <a href="#M000016" class="method-signature">
342
+ <a href="#M000017" class="method-signature">
342
343
  <span class="method-name">revert</span><span class="method-args">(step = 1)</span>
343
344
  </a>
344
345
  </div>
@@ -348,8 +349,8 @@ to false.
348
349
  Peels back n number of configuration parameters.
349
350
  </p>
350
351
  <p><a class="source-toggle" href="#"
351
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
352
- <div class="method-source-code" id="M000016-source">
352
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
353
+ <div class="method-source-code" id="M000017-source">
353
354
  <pre>
354
355
  <span class="ruby-comment cmt"># File lib/configatron/configuration.rb, line 78</span>
355
356
  78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">revert</span>(<span class="ruby-identifier">step</span> = <span class="ruby-value">1</span>)
@@ -362,6 +363,29 @@ Peels back n number of configuration parameters.
362
363
  </div>
363
364
  </div>
364
365
 
366
+ <div id="method-M000018" class="method-detail">
367
+ <a name="M000018"></a>
368
+
369
+ <div class="method-heading">
370
+ <a href="#M000018" class="method-signature">
371
+ <span class="method-name">to_hash</span><span class="method-args">()</span>
372
+ </a>
373
+ </div>
374
+
375
+ <div class="method-description">
376
+ <p><a class="source-toggle" href="#"
377
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
378
+ <div class="method-source-code" id="M000018-source">
379
+ <pre>
380
+ <span class="ruby-comment cmt"># File lib/configatron/configuration.rb, line 88</span>
381
+ 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_hash</span>
382
+ 89: <span class="ruby-ivar">@_storage_list</span>.<span class="ruby-identifier">inject</span>({}) { <span class="ruby-operator">|</span><span class="ruby-identifier">acc</span>, <span class="ruby-identifier">storage</span><span class="ruby-operator">|</span> <span class="ruby-identifier">acc</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">storage</span>.<span class="ruby-identifier">to_hash</span>) }
383
+ 90: <span class="ruby-keyword kw">end</span>
384
+ </pre>
385
+ </div>
386
+ </div>
387
+ </div>
388
+
365
389
 
366
390
  </div>
367
391
 
@@ -97,6 +97,7 @@ Used to store each of the &#8216;sets&#8217; of configuration parameters.
97
97
  <a href="#M000006">namespace</a>&nbsp;&nbsp;
98
98
  <a href="#M000003">new</a>&nbsp;&nbsp;
99
99
  <a href="#M000007">reload</a>&nbsp;&nbsp;
100
+ <a href="#M000008">to_hash</a>&nbsp;&nbsp;
100
101
  </div>
101
102
  </div>
102
103
 
@@ -301,6 +302,38 @@ etc&#8230;
301
302
  </div>
302
303
  </div>
303
304
 
305
+ <div id="method-M000008" class="method-detail">
306
+ <a name="M000008"></a>
307
+
308
+ <div class="method-heading">
309
+ <a href="#M000008" class="method-signature">
310
+ <span class="method-name">to_hash</span><span class="method-args">()</span>
311
+ </a>
312
+ </div>
313
+
314
+ <div class="method-description">
315
+ <p><a class="source-toggle" href="#"
316
+ onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
317
+ <div class="method-source-code" id="M000008-source">
318
+ <pre>
319
+ <span class="ruby-comment cmt"># File lib/configatron/store.rb, line 60</span>
320
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_hash</span>
321
+ 61: <span class="ruby-ivar">@parameters</span>.<span class="ruby-identifier">inject</span>({}) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">acc</span>, (<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>)<span class="ruby-operator">|</span>
322
+ 62: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">v</span>
323
+ 63: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Configatron</span><span class="ruby-operator">::</span><span class="ruby-constant">Store</span>
324
+ 64: <span class="ruby-identifier">acc</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_hash</span>
325
+ 65: <span class="ruby-keyword kw">else</span>
326
+ 66: <span class="ruby-identifier">acc</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>
327
+ 67: <span class="ruby-keyword kw">end</span>
328
+ 68:
329
+ 69: <span class="ruby-identifier">acc</span>
330
+ 70: <span class="ruby-keyword kw">end</span>
331
+ 71: <span class="ruby-keyword kw">end</span>
332
+ </pre>
333
+ </div>
334
+ </div>
335
+ </div>
336
+
304
337
 
305
338
  </div>
306
339
 
@@ -95,8 +95,8 @@ that came from a YAML file.
95
95
  <h3 class="section-bar">Methods</h3>
96
96
 
97
97
  <div class="name-list">
98
- <a href="#M000008">new</a>&nbsp;&nbsp;
99
- <a href="#M000009">reload</a>&nbsp;&nbsp;
98
+ <a href="#M000009">new</a>&nbsp;&nbsp;
99
+ <a href="#M000010">reload</a>&nbsp;&nbsp;
100
100
  </div>
101
101
  </div>
102
102
 
@@ -131,11 +131,11 @@ that came from a YAML file.
131
131
  <div id="methods">
132
132
  <h3 class="section-bar">Public Class methods</h3>
133
133
 
134
- <div id="method-M000008" class="method-detail">
135
- <a name="M000008"></a>
134
+ <div id="method-M000009" class="method-detail">
135
+ <a name="M000009"></a>
136
136
 
137
137
  <div class="method-heading">
138
- <a href="#M000008" class="method-signature">
138
+ <a href="#M000009" class="method-signature">
139
139
  <span class="method-name">new</span><span class="method-args">(file_location)</span>
140
140
  </a>
141
141
  </div>
@@ -145,8 +145,8 @@ that came from a YAML file.
145
145
  Takes the full path to the YAML file.
146
146
  </p>
147
147
  <p><a class="source-toggle" href="#"
148
- onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
149
- <div class="method-source-code" id="M000008-source">
148
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
149
+ <div class="method-source-code" id="M000009-source">
150
150
  <pre>
151
151
  <span class="ruby-comment cmt"># File lib/configatron/yaml_store.rb, line 9</span>
152
152
  9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">file_location</span>)
@@ -160,11 +160,11 @@ Takes the full path to the YAML file.
160
160
 
161
161
  <h3 class="section-bar">Public Instance methods</h3>
162
162
 
163
- <div id="method-M000009" class="method-detail">
164
- <a name="M000009"></a>
163
+ <div id="method-M000010" class="method-detail">
164
+ <a name="M000010"></a>
165
165
 
166
166
  <div class="method-heading">
167
- <a href="#M000009" class="method-signature">
167
+ <a href="#M000010" class="method-signature">
168
168
  <span class="method-name">reload</span><span class="method-args">()</span>
169
169
  </a>
170
170
  </div>
@@ -174,8 +174,8 @@ Takes the full path to the YAML file.
174
174
  Re-reads the YAML file.
175
175
  </p>
176
176
  <p><a class="source-toggle" href="#"
177
- onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
178
- <div class="method-source-code" id="M000009-source">
177
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
178
+ <div class="method-source-code" id="M000010-source">
179
179
  <pre>
180
180
  <span class="ruby-comment cmt"># File lib/configatron/yaml_store.rb, line 15</span>
181
181
  15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reload</span>
@@ -80,7 +80,7 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000017">configatron</a>&nbsp;&nbsp;
83
+ <a href="#M000019">configatron</a>&nbsp;&nbsp;
84
84
  </div>
85
85
  </div>
86
86
 
@@ -102,11 +102,11 @@
102
102
  <div id="methods">
103
103
  <h3 class="section-bar">Public Instance methods</h3>
104
104
 
105
- <div id="method-M000017" class="method-detail">
106
- <a name="M000017"></a>
105
+ <div id="method-M000019" class="method-detail">
106
+ <a name="M000019"></a>
107
107
 
108
108
  <div class="method-heading">
109
- <a href="#M000017" class="method-signature">
109
+ <a href="#M000019" class="method-signature">
110
110
  <span class="method-name">configatron</span><span class="method-args">(&amp;block)</span>
111
111
  </a>
112
112
  </div>
@@ -120,8 +120,8 @@ Configatron::Configatron configure method and yield up a <a
120
120
  href="Configatron/Store.html">Configatron::Store</a> object.
121
121
  </p>
122
122
  <p><a class="source-toggle" href="#"
123
- onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
124
- <div class="method-source-code" id="M000017-source">
123
+ onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
124
+ <div class="method-source-code" id="M000019-source">
125
125
  <pre>
126
126
  <span class="ruby-comment cmt"># File lib/configatron/kernel.rb, line 6</span>
127
127
  6: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configatron</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
data/doc/created.rid CHANGED
@@ -1 +1 @@
1
- Mon, 08 Sep 2008 15:54:51 -0400
1
+ Wed, 10 Sep 2008 16:12:28 -0400
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Sep 08 15:54:42 -0400 2008</td>
59
+ <td>Wed Sep 10 15:41:48 -0400 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Sep 08 15:47:41 -0400 2008</td>
59
+ <td>Wed Sep 10 16:09:29 -0400 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Sep 08 14:47:48 -0400 2008</td>
59
+ <td>Fri Sep 05 16:22:37 -0400 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Sep 08 14:47:48 -0400 2008</td>
59
+ <td>Fri Sep 05 16:22:37 -0400 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Sep 08 15:47:41 -0400 2008</td>
59
+ <td>Wed Sep 10 16:09:29 -0400 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Sep 08 14:47:48 -0400 2008</td>
59
+ <td>Fri Sep 05 16:22:37 -0400 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Sep 08 14:47:47 -0400 2008</td>
59
+ <td>Fri Sep 05 16:22:37 -0400 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -20,23 +20,25 @@
20
20
  <div id="index">
21
21
  <h1 class="section-bar">Methods</h1>
22
22
  <div id="index-entries">
23
- <a href="classes/Kernel.html#M000017">configatron (Kernel)</a><br />
24
- <a href="classes/Configatron/Configuration.html#M000010">configure (Configatron::Configuration)</a><br />
25
- <a href="classes/Configatron/Configuration.html#M000011">configure_from_hash (Configatron::Configuration)</a><br />
26
- <a href="classes/Configatron/Configuration.html#M000012">configure_from_yaml (Configatron::Configuration)</a><br />
23
+ <a href="classes/Kernel.html#M000019">configatron (Kernel)</a><br />
24
+ <a href="classes/Configatron/Configuration.html#M000011">configure (Configatron::Configuration)</a><br />
25
+ <a href="classes/Configatron/Configuration.html#M000012">configure_from_hash (Configatron::Configuration)</a><br />
26
+ <a href="classes/Configatron/Configuration.html#M000013">configure_from_yaml (Configatron::Configuration)</a><br />
27
27
  <a href="classes/Configatron/Store.html#M000005">exists? (Configatron::Store)</a><br />
28
28
  <a href="classes/Configatron/Helpers.html#M000001">exists? (Configatron::Helpers)</a><br />
29
29
  <a href="classes/Configatron/Store.html#M000004">method_missing (Configatron::Store)</a><br />
30
30
  <a href="classes/Configatron/Store.html#M000006">namespace (Configatron::Store)</a><br />
31
- <a href="classes/Configatron/YamlStore.html#M000008">new (Configatron::YamlStore)</a><br />
31
+ <a href="classes/Configatron/YamlStore.html#M000009">new (Configatron::YamlStore)</a><br />
32
32
  <a href="classes/Configatron/Store.html#M000003">new (Configatron::Store)</a><br />
33
+ <a href="classes/Configatron/Configuration.html#M000014">reload (Configatron::Configuration)</a><br />
33
34
  <a href="classes/Configatron/Store.html#M000007">reload (Configatron::Store)</a><br />
34
- <a href="classes/Configatron/Configuration.html#M000013">reload (Configatron::Configuration)</a><br />
35
- <a href="classes/Configatron/YamlStore.html#M000009">reload (Configatron::YamlStore)</a><br />
36
- <a href="classes/Configatron/Configuration.html#M000015">reset (Configatron::Configuration)</a><br />
37
- <a href="classes/Configatron/Configuration.html#M000014">reset! (Configatron::Configuration)</a><br />
35
+ <a href="classes/Configatron/YamlStore.html#M000010">reload (Configatron::YamlStore)</a><br />
36
+ <a href="classes/Configatron/Configuration.html#M000016">reset (Configatron::Configuration)</a><br />
37
+ <a href="classes/Configatron/Configuration.html#M000015">reset! (Configatron::Configuration)</a><br />
38
38
  <a href="classes/Configatron/Helpers.html#M000002">retrieve (Configatron::Helpers)</a><br />
39
- <a href="classes/Configatron/Configuration.html#M000016">revert (Configatron::Configuration)</a><br />
39
+ <a href="classes/Configatron/Configuration.html#M000017">revert (Configatron::Configuration)</a><br />
40
+ <a href="classes/Configatron/Configuration.html#M000018">to_hash (Configatron::Configuration)</a><br />
41
+ <a href="classes/Configatron/Store.html#M000008">to_hash (Configatron::Store)</a><br />
40
42
  </div>
41
43
  </div>
42
44
  </body>
@@ -85,6 +85,10 @@ module Configatron
85
85
  handle_missing_parameter(sym)
86
86
  end
87
87
 
88
+ def to_hash
89
+ @_storage_list.inject({}) { |acc, storage| acc.merge(storage.to_hash) }
90
+ end
91
+
88
92
  private
89
93
  def load_methods(store)
90
94
  store.parameters.each do |k,v|
@@ -56,6 +56,19 @@ module Configatron
56
56
  # may need to read a file in, etc...
57
57
  def reload
58
58
  end
59
+
60
+ def to_hash
61
+ @parameters.inject({}) do |acc, (k,v)|
62
+ case v
63
+ when Configatron::Store
64
+ acc[k] = v.to_hash
65
+ else
66
+ acc[k] = v
67
+ end
68
+
69
+ acc
70
+ end
71
+ end
59
72
 
60
73
  end # Store
61
74
  end # Configatron
@@ -259,4 +259,24 @@ cartoon:
259
259
 
260
260
  end
261
261
 
262
+ describe 'to_hash' do
263
+ it "should convert entire configuration to a hash" do
264
+ hash = {:foo => 'bar', :baz => {:quux => 'foobar'}}
265
+
266
+ configatron.configure_from_hash(hash)
267
+
268
+ configatron.to_hash.should == hash
269
+ end
270
+
271
+ it 'should convert the configration with multiple calls to configure' do
272
+ hash1 = {:foo => 'bar', :baz => {:quux => 'foobar'}}
273
+ hash2 = {:foo => 'notbar', :beep => 'boop'}
274
+
275
+ configatron.configure_from_hash(hash1)
276
+ configatron.configure_from_hash(hash2)
277
+
278
+ configatron.to_hash.should == hash1.merge(hash2)
279
+ end
280
+ end
281
+
262
282
  end
@@ -62,7 +62,30 @@ describe Configatron::Store do
62
62
  configatron.foo.bar.should == :bar
63
63
  configatron.foo.name.should == "mark bates"
64
64
  end
65
-
66
65
  end
67
66
 
67
+ describe 'to_hash' do
68
+ it "should convert the store to a hash" do
69
+ configatron do |config|
70
+ config.namespace :baz do |baz|
71
+ baz.foo = 'bar'
72
+ end
73
+ end
74
+
75
+ configatron.baz.to_hash.should == {:foo => 'bar'}
76
+ end
77
+
78
+ it 'should support multiple nesting levels in the store' do
79
+ configatron do |config|
80
+ config.namespace :baz do |baz|
81
+ baz.foo = 'bar'
82
+ baz.namespace :quux do |quux|
83
+ quux.foob = 'barbaz'
84
+ end
85
+ end
86
+ end
87
+
88
+ configatron.baz.to_hash.should == {:foo => 'bar', :quux => {:foob => 'barbaz'}}
89
+ end
90
+ end
68
91
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configatron
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - markbates
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-09-08 00:00:00 -04:00
12
+ date: 2008-09-10 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15