configatron 2.3.2 → 2.4.0
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/LICENSE +21 -0
- data/README +16 -12
- data/generators/configatron_generator.rb +20 -0
- data/generators/templates/configatron/cucumber.rb +4 -0
- data/generators/templates/configatron/defaults.rb +7 -0
- data/generators/templates/configatron/development.rb +4 -0
- data/generators/templates/configatron/production.rb +4 -0
- data/generators/templates/configatron/test.rb +4 -0
- data/generators/templates/initializers/configatron.rb +2 -0
- data/lib/configatron/configatron.rb +7 -3
- data/lib/configatron/rails.rb +44 -0
- data/lib/configatron/store.rb +5 -1
- data/lib/configatron.rb +2 -1
- metadata +19 -28
- data/doc/classes/Class.html +0 -169
- data/doc/classes/Configatron/LockedNamespace.html +0 -146
- data/doc/classes/Configatron/ProtectedParameter.html +0 -146
- data/doc/classes/Configatron/Store.html +0 -830
- data/doc/classes/Configatron.html +0 -303
- data/doc/classes/Kernel.html +0 -144
- data/doc/created.rid +0 -1
- data/doc/files/README.html +0 -320
- data/doc/files/lib/configatron/configatron_rb.html +0 -108
- data/doc/files/lib/configatron/core_ext/class_rb.html +0 -101
- data/doc/files/lib/configatron/core_ext/kernel_rb.html +0 -101
- data/doc/files/lib/configatron/core_ext/object_rb.html +0 -101
- data/doc/files/lib/configatron/core_ext/string_rb.html +0 -101
- data/doc/files/lib/configatron/errors_rb.html +0 -101
- data/doc/files/lib/configatron/store_rb.html +0 -101
- data/doc/files/lib/configatron_rb.html +0 -108
- data/doc/fr_class_index.html +0 -32
- data/doc/fr_file_index.html +0 -35
- data/doc/fr_method_index.html +0 -56
- data/doc/index.html +0 -24
- data/doc/rdoc-style.css +0 -208
@@ -1,830 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
|
6
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
-
<head>
|
8
|
-
<title>Class: Configatron::Store</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
-
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
-
<script type="text/javascript">
|
13
|
-
// <![CDATA[
|
14
|
-
|
15
|
-
function popupCode( url ) {
|
16
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
-
}
|
18
|
-
|
19
|
-
function toggleCode( id ) {
|
20
|
-
if ( document.getElementById )
|
21
|
-
elem = document.getElementById( id );
|
22
|
-
else if ( document.all )
|
23
|
-
elem = eval( "document.all." + id );
|
24
|
-
else
|
25
|
-
return false;
|
26
|
-
|
27
|
-
elemStyle = elem.style;
|
28
|
-
|
29
|
-
if ( elemStyle.display != "block" ) {
|
30
|
-
elemStyle.display = "block"
|
31
|
-
} else {
|
32
|
-
elemStyle.display = "none"
|
33
|
-
}
|
34
|
-
|
35
|
-
return true;
|
36
|
-
}
|
37
|
-
|
38
|
-
// Make codeblocks hidden by default
|
39
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
-
|
41
|
-
// ]]>
|
42
|
-
</script>
|
43
|
-
|
44
|
-
</head>
|
45
|
-
<body>
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
<div id="classHeader">
|
50
|
-
<table class="header-table">
|
51
|
-
<tr class="top-aligned-row">
|
52
|
-
<td><strong>Class</strong></td>
|
53
|
-
<td class="class-name-in-header">Configatron::Store</td>
|
54
|
-
</tr>
|
55
|
-
<tr class="top-aligned-row">
|
56
|
-
<td><strong>In:</strong></td>
|
57
|
-
<td>
|
58
|
-
<a href="../../files/lib/configatron/store_rb.html">
|
59
|
-
lib/configatron/store.rb
|
60
|
-
</a>
|
61
|
-
<br />
|
62
|
-
</td>
|
63
|
-
</tr>
|
64
|
-
|
65
|
-
<tr class="top-aligned-row">
|
66
|
-
<td><strong>Parent:</strong></td>
|
67
|
-
<td>
|
68
|
-
Object
|
69
|
-
</td>
|
70
|
-
</tr>
|
71
|
-
</table>
|
72
|
-
</div>
|
73
|
-
<!-- banner header -->
|
74
|
-
|
75
|
-
<div id="bodyContent">
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
<div id="contextContent">
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
</div>
|
84
|
-
|
85
|
-
<div id="method-list">
|
86
|
-
<h3 class="section-bar">Methods</h3>
|
87
|
-
|
88
|
-
<div class="name-list">
|
89
|
-
<a href="#M000010">configatron_keys</a>
|
90
|
-
<a href="#M000013">configure_from_hash</a>
|
91
|
-
<a href="#M000014">configure_from_yaml</a>
|
92
|
-
<a href="#M000025">deep_clone</a>
|
93
|
-
<a href="#M000011">exists?</a>
|
94
|
-
<a href="#M000009">heirarchy</a>
|
95
|
-
<a href="#M000012">inspect</a>
|
96
|
-
<a href="#M000023">lock</a>
|
97
|
-
<a href="#M000026">lock!</a>
|
98
|
-
<a href="#M000007">new</a>
|
99
|
-
<a href="#M000015">nil?</a>
|
100
|
-
<a href="#M000019">protect</a>
|
101
|
-
<a href="#M000020">protect_all!</a>
|
102
|
-
<a href="#M000017">remove</a>
|
103
|
-
<a href="#M000016">retrieve</a>
|
104
|
-
<a href="#M000018">set_default</a>
|
105
|
-
<a href="#M000008">to_hash</a>
|
106
|
-
<a href="#M000024">unlock</a>
|
107
|
-
<a href="#M000027">unlock!</a>
|
108
|
-
<a href="#M000021">unprotect</a>
|
109
|
-
<a href="#M000022">unprotect_all!</a>
|
110
|
-
</div>
|
111
|
-
</div>
|
112
|
-
|
113
|
-
</div>
|
114
|
-
|
115
|
-
|
116
|
-
<!-- if includes -->
|
117
|
-
|
118
|
-
<div id="section">
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
<div id="aliases-list">
|
123
|
-
<h3 class="section-bar">External Aliases</h3>
|
124
|
-
|
125
|
-
<div class="name-list">
|
126
|
-
<table summary="aliases">
|
127
|
-
<tr class="top-aligned-row context-row">
|
128
|
-
<td class="context-item-name">send</td>
|
129
|
-
<td>-></td>
|
130
|
-
<td class="context-item-value">send!</td>
|
131
|
-
</tr>
|
132
|
-
</table>
|
133
|
-
</div>
|
134
|
-
</div>
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
<!-- if method_list -->
|
141
|
-
<div id="methods">
|
142
|
-
<h3 class="section-bar">Public Class methods</h3>
|
143
|
-
|
144
|
-
<div id="method-M000007" class="method-detail">
|
145
|
-
<a name="M000007"></a>
|
146
|
-
|
147
|
-
<div class="method-heading">
|
148
|
-
<a href="#M000007" class="method-signature">
|
149
|
-
<span class="method-name">new</span><span class="method-args">(options = {}, name = nil, parent = nil)</span>
|
150
|
-
</a>
|
151
|
-
</div>
|
152
|
-
|
153
|
-
<div class="method-description">
|
154
|
-
<p>
|
155
|
-
Takes an optional Hash of parameters
|
156
|
-
</p>
|
157
|
-
<p><a class="source-toggle" href="#"
|
158
|
-
onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
|
159
|
-
<div class="method-source-code" id="M000007-source">
|
160
|
-
<pre>
|
161
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 6</span>
|
162
|
-
6: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {}, <span class="ruby-identifier">name</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">nil</span>)
|
163
|
-
7: <span class="ruby-ivar">@_name</span> = <span class="ruby-identifier">name</span>
|
164
|
-
8: <span class="ruby-ivar">@_parent</span> = <span class="ruby-identifier">parent</span>
|
165
|
-
9: <span class="ruby-ivar">@_store</span> = {}
|
166
|
-
10: <span class="ruby-identifier">configure_from_hash</span>(<span class="ruby-identifier">options</span>)
|
167
|
-
11: <span class="ruby-ivar">@_protected</span> = []
|
168
|
-
12: <span class="ruby-keyword kw">end</span>
|
169
|
-
</pre>
|
170
|
-
</div>
|
171
|
-
</div>
|
172
|
-
</div>
|
173
|
-
|
174
|
-
<h3 class="section-bar">Public Instance methods</h3>
|
175
|
-
|
176
|
-
<div id="method-M000010" class="method-detail">
|
177
|
-
<a name="M000010"></a>
|
178
|
-
|
179
|
-
<div class="method-heading">
|
180
|
-
<a href="#M000010" class="method-signature">
|
181
|
-
<span class="method-name">configatron_keys</span><span class="method-args">()</span>
|
182
|
-
</a>
|
183
|
-
</div>
|
184
|
-
|
185
|
-
<div class="method-description">
|
186
|
-
<p><a class="source-toggle" href="#"
|
187
|
-
onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
|
188
|
-
<div class="method-source-code" id="M000010-source">
|
189
|
-
<pre>
|
190
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 31</span>
|
191
|
-
31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configatron_keys</span>
|
192
|
-
32: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span>}.<span class="ruby-identifier">sort</span>
|
193
|
-
33: <span class="ruby-keyword kw">end</span>
|
194
|
-
</pre>
|
195
|
-
</div>
|
196
|
-
</div>
|
197
|
-
</div>
|
198
|
-
|
199
|
-
<div id="method-M000013" class="method-detail">
|
200
|
-
<a name="M000013"></a>
|
201
|
-
|
202
|
-
<div class="method-heading">
|
203
|
-
<a href="#M000013" class="method-signature">
|
204
|
-
<span class="method-name">configure_from_hash</span><span class="method-args">(options)</span>
|
205
|
-
</a>
|
206
|
-
</div>
|
207
|
-
|
208
|
-
<div class="method-description">
|
209
|
-
<p>
|
210
|
-
Allows for the configuration of the system via a Hash
|
211
|
-
</p>
|
212
|
-
<p><a class="source-toggle" href="#"
|
213
|
-
onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
|
214
|
-
<div class="method-source-code" id="M000013-source">
|
215
|
-
<pre>
|
216
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 77</span>
|
217
|
-
77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure_from_hash</span>(<span class="ruby-identifier">options</span>)
|
218
|
-
78: <span class="ruby-identifier">parse_options</span>(<span class="ruby-identifier">options</span>)
|
219
|
-
79: <span class="ruby-keyword kw">end</span>
|
220
|
-
</pre>
|
221
|
-
</div>
|
222
|
-
</div>
|
223
|
-
</div>
|
224
|
-
|
225
|
-
<div id="method-M000014" class="method-detail">
|
226
|
-
<a name="M000014"></a>
|
227
|
-
|
228
|
-
<div class="method-heading">
|
229
|
-
<a href="#M000014" class="method-signature">
|
230
|
-
<span class="method-name">configure_from_yaml</span><span class="method-args">(path, opts = {})</span>
|
231
|
-
</a>
|
232
|
-
</div>
|
233
|
-
|
234
|
-
<div class="method-description">
|
235
|
-
<p>
|
236
|
-
Allows for the configuration of the system from a YAML file. Takes the path
|
237
|
-
to the YAML file. Also takes an optional parameter, <tt>:hash</tt>, that
|
238
|
-
indicates a specific hash that should be loaded from the file.
|
239
|
-
</p>
|
240
|
-
<p><a class="source-toggle" href="#"
|
241
|
-
onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
|
242
|
-
<div class="method-source-code" id="M000014-source">
|
243
|
-
<pre>
|
244
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 85</span>
|
245
|
-
85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure_from_yaml</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">opts</span> = {})
|
246
|
-
86: <span class="ruby-keyword kw">begin</span>
|
247
|
-
87: <span class="ruby-identifier">yml</span> = <span class="ruby-operator">::</span><span class="ruby-constant">Yamler</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">path</span>)
|
248
|
-
88: <span class="ruby-identifier">yml</span> = <span class="ruby-identifier">yml</span>[<span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:hash</span>]] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:hash</span>].<span class="ruby-identifier">nil?</span>
|
249
|
-
89: <span class="ruby-identifier">configure_from_hash</span>(<span class="ruby-identifier">yml</span>)
|
250
|
-
90: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ENOENT</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
251
|
-
91: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
|
252
|
-
92: <span class="ruby-keyword kw">end</span>
|
253
|
-
93: <span class="ruby-keyword kw">end</span>
|
254
|
-
</pre>
|
255
|
-
</div>
|
256
|
-
</div>
|
257
|
-
</div>
|
258
|
-
|
259
|
-
<div id="method-M000025" class="method-detail">
|
260
|
-
<a name="M000025"></a>
|
261
|
-
|
262
|
-
<div class="method-heading">
|
263
|
-
<a href="#M000025" class="method-signature">
|
264
|
-
<span class="method-name">deep_clone</span><span class="method-args">( obj=self, cloned={} )</span>
|
265
|
-
</a>
|
266
|
-
</div>
|
267
|
-
|
268
|
-
<div class="method-description">
|
269
|
-
<h1>DeepClone</h1>
|
270
|
-
<h2>Version</h2>
|
271
|
-
<pre>
|
272
|
-
1.2006.05.23 (change of the first number means Big Change)
|
273
|
-
</pre>
|
274
|
-
<h2>Description</h2>
|
275
|
-
<pre>
|
276
|
-
Adds deep_clone method to an object which produces deep copy of it. It means
|
277
|
-
if you clone a Hash, every nested items and their nested items will be cloned.
|
278
|
-
Moreover deep_clone checks if the object is already cloned to prevent endless recursion.
|
279
|
-
</pre>
|
280
|
-
<h2>Usage</h2>
|
281
|
-
<pre>
|
282
|
-
(see examples directory under the ruby gems root directory)
|
283
|
-
|
284
|
-
require 'rubygems'
|
285
|
-
require 'deep_clone'
|
286
|
-
|
287
|
-
include DeepClone
|
288
|
-
|
289
|
-
obj = []
|
290
|
-
a = [ true, false, obj ]
|
291
|
-
b = a.deep_clone
|
292
|
-
obj.push( 'foo' )
|
293
|
-
p obj # >> [ 'foo' ]
|
294
|
-
p b[2] # >> []
|
295
|
-
</pre>
|
296
|
-
<h2>Source</h2>
|
297
|
-
<p>
|
298
|
-
<a
|
299
|
-
href="http://simplypowerful.1984.cz/goodlibs/1.2006.05.23">simplypowerful.1984.cz/goodlibs/1.2006.05.23</a>
|
300
|
-
</p>
|
301
|
-
<h2>Author</h2>
|
302
|
-
<pre>
|
303
|
-
jan molic (/mig/at_sign/1984/dot/cz/)
|
304
|
-
</pre>
|
305
|
-
<h2>Licence</h2>
|
306
|
-
<pre>
|
307
|
-
You can redistribute it and/or modify it under the same terms of Ruby's license;
|
308
|
-
either the dual license version in 2003, or any later version.
|
309
|
-
</pre>
|
310
|
-
<p><a class="source-toggle" href="#"
|
311
|
-
onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
|
312
|
-
<div class="method-source-code" id="M000025-source">
|
313
|
-
<pre>
|
314
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 218</span>
|
315
|
-
218: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>( <span class="ruby-identifier">obj</span>=<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">cloned</span>={} )
|
316
|
-
219: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cloned</span>.<span class="ruby-identifier">has_key?</span>( <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">object_id</span> )
|
317
|
-
220: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">cloned</span>[<span class="ruby-identifier">obj</span>.<span class="ruby-identifier">object_id</span>]
|
318
|
-
221: <span class="ruby-keyword kw">else</span>
|
319
|
-
222: <span class="ruby-keyword kw">begin</span>
|
320
|
-
223: <span class="ruby-identifier">cl</span> = <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">clone</span>
|
321
|
-
224: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
|
322
|
-
225: <span class="ruby-comment cmt"># unclonnable (TrueClass, Fixnum, ...)</span>
|
323
|
-
226: <span class="ruby-identifier">cloned</span>[<span class="ruby-identifier">obj</span>.<span class="ruby-identifier">object_id</span>] = <span class="ruby-identifier">obj</span>
|
324
|
-
227: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">obj</span>
|
325
|
-
228: <span class="ruby-keyword kw">else</span>
|
326
|
-
229: <span class="ruby-identifier">cloned</span>[<span class="ruby-identifier">obj</span>.<span class="ruby-identifier">object_id</span>] = <span class="ruby-identifier">cl</span>
|
327
|
-
230: <span class="ruby-identifier">cloned</span>[<span class="ruby-identifier">cl</span>.<span class="ruby-identifier">object_id</span>] = <span class="ruby-identifier">cl</span>
|
328
|
-
231: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cl</span>.<span class="ruby-identifier">is_a?</span>( <span class="ruby-constant">Hash</span> )
|
329
|
-
232: <span class="ruby-identifier">cl</span>.<span class="ruby-identifier">clone</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
|
330
|
-
233: <span class="ruby-identifier">cl</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">deep_clone</span>( <span class="ruby-identifier">v</span>, <span class="ruby-identifier">cloned</span> )
|
331
|
-
234: }
|
332
|
-
235: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">cl</span>.<span class="ruby-identifier">is_a?</span>( <span class="ruby-constant">Array</span> )
|
333
|
-
236: <span class="ruby-identifier">cl</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
|
334
|
-
237: <span class="ruby-identifier">deep_clone</span>( <span class="ruby-identifier">v</span>, <span class="ruby-identifier">cloned</span> )
|
335
|
-
238: }
|
336
|
-
239: <span class="ruby-keyword kw">end</span>
|
337
|
-
240: <span class="ruby-identifier">cl</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
|
338
|
-
241: <span class="ruby-identifier">v</span> = <span class="ruby-identifier">cl</span>.<span class="ruby-identifier">instance_eval</span>( <span class="ruby-identifier">var</span>.<span class="ruby-identifier">to_s</span> )
|
339
|
-
242: <span class="ruby-identifier">v_cl</span> = <span class="ruby-identifier">deep_clone</span>( <span class="ruby-identifier">v</span>, <span class="ruby-identifier">cloned</span> )
|
340
|
-
243: <span class="ruby-identifier">cl</span>.<span class="ruby-identifier">instance_eval</span>( <span class="ruby-node">"#{var} = v_cl"</span> )
|
341
|
-
244: <span class="ruby-keyword kw">end</span>
|
342
|
-
245: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">cl</span>
|
343
|
-
246: <span class="ruby-keyword kw">end</span>
|
344
|
-
247: <span class="ruby-keyword kw">end</span>
|
345
|
-
248: <span class="ruby-keyword kw">end</span>
|
346
|
-
</pre>
|
347
|
-
</div>
|
348
|
-
</div>
|
349
|
-
</div>
|
350
|
-
|
351
|
-
<div id="method-M000011" class="method-detail">
|
352
|
-
<a name="M000011"></a>
|
353
|
-
|
354
|
-
<div class="method-heading">
|
355
|
-
<a href="#M000011" class="method-signature">
|
356
|
-
<span class="method-name">exists?</span><span class="method-args">(name)</span>
|
357
|
-
</a>
|
358
|
-
</div>
|
359
|
-
|
360
|
-
<div class="method-description">
|
361
|
-
<p>
|
362
|
-
Checks whether or not a parameter exists
|
363
|
-
</p>
|
364
|
-
<p>
|
365
|
-
Examples:
|
366
|
-
</p>
|
367
|
-
<pre>
|
368
|
-
configatron.i.am.alive = 'alive!'
|
369
|
-
configatron.i.am.exists?(:alive) # => true
|
370
|
-
configatron.i.am.exists?(:dead) # => false
|
371
|
-
</pre>
|
372
|
-
<p><a class="source-toggle" href="#"
|
373
|
-
onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
|
374
|
-
<div class="method-source-code" id="M000011-source">
|
375
|
-
<pre>
|
376
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 41</span>
|
377
|
-
41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">name</span>)
|
378
|
-
42: <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>) <span class="ruby-operator">||</span> <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>)
|
379
|
-
43: <span class="ruby-keyword kw">end</span>
|
380
|
-
</pre>
|
381
|
-
</div>
|
382
|
-
</div>
|
383
|
-
</div>
|
384
|
-
|
385
|
-
<div id="method-M000009" class="method-detail">
|
386
|
-
<a name="M000009"></a>
|
387
|
-
|
388
|
-
<div class="method-heading">
|
389
|
-
<a href="#M000009" class="method-signature">
|
390
|
-
<span class="method-name">heirarchy</span><span class="method-args">()</span>
|
391
|
-
</a>
|
392
|
-
</div>
|
393
|
-
|
394
|
-
<div class="method-description">
|
395
|
-
<p><a class="source-toggle" href="#"
|
396
|
-
onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
|
397
|
-
<div class="method-source-code" id="M000009-source">
|
398
|
-
<pre>
|
399
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 19</span>
|
400
|
-
19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">heirarchy</span>
|
401
|
-
20: <span class="ruby-identifier">path</span> = [<span class="ruby-ivar">@_name</span>]
|
402
|
-
21: <span class="ruby-identifier">parent</span> = <span class="ruby-ivar">@_parent</span>
|
403
|
-
22: <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
|
404
|
-
23: <span class="ruby-identifier">path</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@_name'</span>)
|
405
|
-
24: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@_parent'</span>)
|
406
|
-
25: <span class="ruby-keyword kw">end</span>
|
407
|
-
26: <span class="ruby-identifier">path</span>.<span class="ruby-identifier">compact!</span>
|
408
|
-
27: <span class="ruby-identifier">path</span>.<span class="ruby-identifier">reverse!</span>
|
409
|
-
28: <span class="ruby-identifier">path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'.'</span>)
|
410
|
-
29: <span class="ruby-keyword kw">end</span>
|
411
|
-
</pre>
|
412
|
-
</div>
|
413
|
-
</div>
|
414
|
-
</div>
|
415
|
-
|
416
|
-
<div id="method-M000012" class="method-detail">
|
417
|
-
<a name="M000012"></a>
|
418
|
-
|
419
|
-
<div class="method-heading">
|
420
|
-
<a href="#M000012" class="method-signature">
|
421
|
-
<span class="method-name">inspect</span><span class="method-args">()</span>
|
422
|
-
</a>
|
423
|
-
</div>
|
424
|
-
|
425
|
-
<div class="method-description">
|
426
|
-
<p><a class="source-toggle" href="#"
|
427
|
-
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
428
|
-
<div class="method-source-code" id="M000012-source">
|
429
|
-
<pre>
|
430
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 45</span>
|
431
|
-
45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span>
|
432
|
-
46: <span class="ruby-identifier">path</span> = [<span class="ruby-ivar">@_name</span>]
|
433
|
-
47: <span class="ruby-identifier">parent</span> = <span class="ruby-ivar">@_parent</span>
|
434
|
-
48: <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
|
435
|
-
49: <span class="ruby-identifier">path</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@_name'</span>)
|
436
|
-
50: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@_parent'</span>)
|
437
|
-
51: <span class="ruby-keyword kw">end</span>
|
438
|
-
52: <span class="ruby-identifier">path</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">'configatron'</span>
|
439
|
-
53: <span class="ruby-identifier">path</span>.<span class="ruby-identifier">compact!</span>
|
440
|
-
54: <span class="ruby-identifier">path</span>.<span class="ruby-identifier">reverse!</span>
|
441
|
-
55: <span class="ruby-identifier">f_out</span> = []
|
442
|
-
56: <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
|
443
|
-
57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Configatron</span><span class="ruby-operator">::</span><span class="ruby-constant">Store</span>)
|
444
|
-
58: <span class="ruby-identifier">v</span>.<span class="ruby-identifier">inspect</span>.<span class="ruby-identifier">each_line</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
445
|
-
59: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/\n/</span>)
|
446
|
-
60: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">each_line</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span>
|
447
|
-
61: <span class="ruby-identifier">l</span>.<span class="ruby-identifier">strip!</span>
|
448
|
-
62: <span class="ruby-identifier">f_out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">l</span>
|
449
|
-
63: <span class="ruby-keyword kw">end</span>
|
450
|
-
64: <span class="ruby-keyword kw">else</span>
|
451
|
-
65: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">strip!</span>
|
452
|
-
66: <span class="ruby-identifier">f_out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">line</span>
|
453
|
-
67: <span class="ruby-keyword kw">end</span>
|
454
|
-
68: <span class="ruby-keyword kw">end</span>
|
455
|
-
69: <span class="ruby-keyword kw">else</span>
|
456
|
-
70: <span class="ruby-identifier">f_out</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"#{path.join('.')}.#{k} = #{v.inspect}"</span>
|
457
|
-
71: <span class="ruby-keyword kw">end</span>
|
458
|
-
72: <span class="ruby-keyword kw">end</span>
|
459
|
-
73: <span class="ruby-identifier">f_out</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>)
|
460
|
-
74: <span class="ruby-keyword kw">end</span>
|
461
|
-
</pre>
|
462
|
-
</div>
|
463
|
-
</div>
|
464
|
-
</div>
|
465
|
-
|
466
|
-
<div id="method-M000023" class="method-detail">
|
467
|
-
<a name="M000023"></a>
|
468
|
-
|
469
|
-
<div class="method-heading">
|
470
|
-
<a href="#M000023" class="method-signature">
|
471
|
-
<span class="method-name">lock</span><span class="method-args">(name)</span>
|
472
|
-
</a>
|
473
|
-
</div>
|
474
|
-
|
475
|
-
<div class="method-description">
|
476
|
-
<p>
|
477
|
-
Prevents a namespace from having <a href="Store.html#M000007">new</a>
|
478
|
-
parameters set. The <a href="Store.html#M000023">lock</a> is applied
|
479
|
-
recursively to any namespaces below it.
|
480
|
-
</p>
|
481
|
-
<p><a class="source-toggle" href="#"
|
482
|
-
onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
|
483
|
-
<div class="method-source-code" id="M000023-source">
|
484
|
-
<pre>
|
485
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 170</span>
|
486
|
-
170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lock</span>(<span class="ruby-identifier">name</span>)
|
487
|
-
171: <span class="ruby-identifier">namespace</span> = <span class="ruby-ivar">@_store</span>[<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>]
|
488
|
-
172: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"Namespace #{name.inspect} does not exist"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">namespace</span>.<span class="ruby-identifier">nil?</span>
|
489
|
-
173: <span class="ruby-identifier">namespace</span>.<span class="ruby-identifier">lock!</span>
|
490
|
-
174: <span class="ruby-keyword kw">end</span>
|
491
|
-
</pre>
|
492
|
-
</div>
|
493
|
-
</div>
|
494
|
-
</div>
|
495
|
-
|
496
|
-
<div id="method-M000015" class="method-detail">
|
497
|
-
<a name="M000015"></a>
|
498
|
-
|
499
|
-
<div class="method-heading">
|
500
|
-
<a href="#M000015" class="method-signature">
|
501
|
-
<span class="method-name">nil?</span><span class="method-args">()</span>
|
502
|
-
</a>
|
503
|
-
</div>
|
504
|
-
|
505
|
-
<div class="method-description">
|
506
|
-
<p>
|
507
|
-
Returns true if there are no configuration parameters
|
508
|
-
</p>
|
509
|
-
<p><a class="source-toggle" href="#"
|
510
|
-
onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
|
511
|
-
<div class="method-source-code" id="M000015-source">
|
512
|
-
<pre>
|
513
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 96</span>
|
514
|
-
96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nil?</span>
|
515
|
-
97: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">empty?</span>
|
516
|
-
98: <span class="ruby-keyword kw">end</span>
|
517
|
-
</pre>
|
518
|
-
</div>
|
519
|
-
</div>
|
520
|
-
</div>
|
521
|
-
|
522
|
-
<div id="method-M000019" class="method-detail">
|
523
|
-
<a name="M000019"></a>
|
524
|
-
|
525
|
-
<div class="method-heading">
|
526
|
-
<a href="#M000019" class="method-signature">
|
527
|
-
<span class="method-name">protect</span><span class="method-args">(name)</span>
|
528
|
-
</a>
|
529
|
-
</div>
|
530
|
-
|
531
|
-
<div class="method-description">
|
532
|
-
<p>
|
533
|
-
Prevents a parameter from being reassigned. If called on a
|
534
|
-
‘namespace’ then all parameters below it will be protected as
|
535
|
-
well.
|
536
|
-
</p>
|
537
|
-
<p><a class="source-toggle" href="#"
|
538
|
-
onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
|
539
|
-
<div class="method-source-code" id="M000019-source">
|
540
|
-
<pre>
|
541
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 141</span>
|
542
|
-
141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">protect</span>(<span class="ruby-identifier">name</span>)
|
543
|
-
142: <span class="ruby-ivar">@_protected</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>
|
544
|
-
143: <span class="ruby-keyword kw">end</span>
|
545
|
-
</pre>
|
546
|
-
</div>
|
547
|
-
</div>
|
548
|
-
</div>
|
549
|
-
|
550
|
-
<div id="method-M000020" class="method-detail">
|
551
|
-
<a name="M000020"></a>
|
552
|
-
|
553
|
-
<div class="method-heading">
|
554
|
-
<a href="#M000020" class="method-signature">
|
555
|
-
<span class="method-name">protect_all!</span><span class="method-args">()</span>
|
556
|
-
</a>
|
557
|
-
</div>
|
558
|
-
|
559
|
-
<div class="method-description">
|
560
|
-
<p>
|
561
|
-
Prevents all parameters from being reassigned.
|
562
|
-
</p>
|
563
|
-
<p><a class="source-toggle" href="#"
|
564
|
-
onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
|
565
|
-
<div class="method-source-code" id="M000020-source">
|
566
|
-
<pre>
|
567
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 146</span>
|
568
|
-
146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">protect_all!</span>
|
569
|
-
147: <span class="ruby-ivar">@_protected</span>.<span class="ruby-identifier">clear</span>
|
570
|
-
148: <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
|
571
|
-
149: <span class="ruby-identifier">val</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">k</span>)
|
572
|
-
150: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">protect_all!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Configatron</span><span class="ruby-operator">::</span><span class="ruby-constant">Store</span>
|
573
|
-
151: <span class="ruby-ivar">@_protected</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">k</span>
|
574
|
-
152: <span class="ruby-keyword kw">end</span>
|
575
|
-
153: <span class="ruby-keyword kw">end</span>
|
576
|
-
</pre>
|
577
|
-
</div>
|
578
|
-
</div>
|
579
|
-
</div>
|
580
|
-
|
581
|
-
<div id="method-M000017" class="method-detail">
|
582
|
-
<a name="M000017"></a>
|
583
|
-
|
584
|
-
<div class="method-heading">
|
585
|
-
<a href="#M000017" class="method-signature">
|
586
|
-
<span class="method-name">remove</span><span class="method-args">(name)</span>
|
587
|
-
</a>
|
588
|
-
</div>
|
589
|
-
|
590
|
-
<div class="method-description">
|
591
|
-
<p>
|
592
|
-
Removes a parameter. In the case of a nested parameter it will <a
|
593
|
-
href="Store.html#M000017">remove</a> all below it.
|
594
|
-
</p>
|
595
|
-
<p><a class="source-toggle" href="#"
|
596
|
-
onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
|
597
|
-
<div class="method-source-code" id="M000017-source">
|
598
|
-
<pre>
|
599
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 108</span>
|
600
|
-
108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove</span>(<span class="ruby-identifier">name</span>)
|
601
|
-
109: <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>)
|
602
|
-
110: <span class="ruby-keyword kw">end</span>
|
603
|
-
</pre>
|
604
|
-
</div>
|
605
|
-
</div>
|
606
|
-
</div>
|
607
|
-
|
608
|
-
<div id="method-M000016" class="method-detail">
|
609
|
-
<a name="M000016"></a>
|
610
|
-
|
611
|
-
<div class="method-heading">
|
612
|
-
<a href="#M000016" class="method-signature">
|
613
|
-
<span class="method-name">retrieve</span><span class="method-args">(name, default_value = nil)</span>
|
614
|
-
</a>
|
615
|
-
</div>
|
616
|
-
|
617
|
-
<div class="method-description">
|
618
|
-
<p>
|
619
|
-
Retrieves a certain parameter and if that parameter doesn‘t exist it
|
620
|
-
will return the default_value specified.
|
621
|
-
</p>
|
622
|
-
<p><a class="source-toggle" href="#"
|
623
|
-
onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
|
624
|
-
<div class="method-source-code" id="M000016-source">
|
625
|
-
<pre>
|
626
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 102</span>
|
627
|
-
102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">retrieve</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">default_value</span> = <span class="ruby-keyword kw">nil</span>)
|
628
|
-
103: <span class="ruby-ivar">@_store</span>[<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_value</span>
|
629
|
-
104: <span class="ruby-keyword kw">end</span>
|
630
|
-
</pre>
|
631
|
-
</div>
|
632
|
-
</div>
|
633
|
-
</div>
|
634
|
-
|
635
|
-
<div id="method-M000018" class="method-detail">
|
636
|
-
<a name="M000018"></a>
|
637
|
-
|
638
|
-
<div class="method-heading">
|
639
|
-
<a href="#M000018" class="method-signature">
|
640
|
-
<span class="method-name">set_default</span><span class="method-args">(name, default_value)</span>
|
641
|
-
</a>
|
642
|
-
</div>
|
643
|
-
|
644
|
-
<div class="method-description">
|
645
|
-
<p>
|
646
|
-
Sets a ‘default’ value. If there is already a value specified
|
647
|
-
it won‘t set the value.
|
648
|
-
</p>
|
649
|
-
<p><a class="source-toggle" href="#"
|
650
|
-
onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
|
651
|
-
<div class="method-source-code" id="M000018-source">
|
652
|
-
<pre>
|
653
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 114</span>
|
654
|
-
114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_default</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">default_value</span>)
|
655
|
-
115: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@_store</span>[<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>]
|
656
|
-
116: <span class="ruby-ivar">@_store</span>[<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>] = <span class="ruby-identifier">parse_options</span>(<span class="ruby-identifier">default_value</span>)
|
657
|
-
117: <span class="ruby-keyword kw">end</span>
|
658
|
-
118: <span class="ruby-keyword kw">end</span>
|
659
|
-
</pre>
|
660
|
-
</div>
|
661
|
-
</div>
|
662
|
-
</div>
|
663
|
-
|
664
|
-
<div id="method-M000008" class="method-detail">
|
665
|
-
<a name="M000008"></a>
|
666
|
-
|
667
|
-
<div class="method-heading">
|
668
|
-
<a href="#M000008" class="method-signature">
|
669
|
-
<span class="method-name">to_hash</span><span class="method-args">()</span>
|
670
|
-
</a>
|
671
|
-
</div>
|
672
|
-
|
673
|
-
<div class="method-description">
|
674
|
-
<p>
|
675
|
-
Returns a Hash representing the configurations
|
676
|
-
</p>
|
677
|
-
<p><a class="source-toggle" href="#"
|
678
|
-
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
679
|
-
<div class="method-source-code" id="M000008-source">
|
680
|
-
<pre>
|
681
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 15</span>
|
682
|
-
15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_hash</span>
|
683
|
-
16: <span class="ruby-ivar">@_store</span>
|
684
|
-
17: <span class="ruby-keyword kw">end</span>
|
685
|
-
</pre>
|
686
|
-
</div>
|
687
|
-
</div>
|
688
|
-
</div>
|
689
|
-
|
690
|
-
<div id="method-M000024" class="method-detail">
|
691
|
-
<a name="M000024"></a>
|
692
|
-
|
693
|
-
<div class="method-heading">
|
694
|
-
<a href="#M000024" class="method-signature">
|
695
|
-
<span class="method-name">unlock</span><span class="method-args">(name)</span>
|
696
|
-
</a>
|
697
|
-
</div>
|
698
|
-
|
699
|
-
<div class="method-description">
|
700
|
-
<p><a class="source-toggle" href="#"
|
701
|
-
onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
|
702
|
-
<div class="method-source-code" id="M000024-source">
|
703
|
-
<pre>
|
704
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 176</span>
|
705
|
-
176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unlock</span>(<span class="ruby-identifier">name</span>)
|
706
|
-
177: <span class="ruby-identifier">namespace</span> = <span class="ruby-ivar">@_store</span>[<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>]
|
707
|
-
178: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"Namespace #{name.inspect} does not exist"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">namespace</span>.<span class="ruby-identifier">nil?</span>
|
708
|
-
179: <span class="ruby-identifier">namespace</span>.<span class="ruby-identifier">unlock!</span>
|
709
|
-
180: <span class="ruby-keyword kw">end</span>
|
710
|
-
</pre>
|
711
|
-
</div>
|
712
|
-
</div>
|
713
|
-
</div>
|
714
|
-
|
715
|
-
<div id="method-M000021" class="method-detail">
|
716
|
-
<a name="M000021"></a>
|
717
|
-
|
718
|
-
<div class="method-heading">
|
719
|
-
<a href="#M000021" class="method-signature">
|
720
|
-
<span class="method-name">unprotect</span><span class="method-args">(name)</span>
|
721
|
-
</a>
|
722
|
-
</div>
|
723
|
-
|
724
|
-
<div class="method-description">
|
725
|
-
<p>
|
726
|
-
Removes the protection of a parameter.
|
727
|
-
</p>
|
728
|
-
<p><a class="source-toggle" href="#"
|
729
|
-
onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
|
730
|
-
<div class="method-source-code" id="M000021-source">
|
731
|
-
<pre>
|
732
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 156</span>
|
733
|
-
156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unprotect</span>(<span class="ruby-identifier">name</span>)
|
734
|
-
157: <span class="ruby-ivar">@_protected</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span> }
|
735
|
-
158: <span class="ruby-keyword kw">end</span>
|
736
|
-
</pre>
|
737
|
-
</div>
|
738
|
-
</div>
|
739
|
-
</div>
|
740
|
-
|
741
|
-
<div id="method-M000022" class="method-detail">
|
742
|
-
<a name="M000022"></a>
|
743
|
-
|
744
|
-
<div class="method-heading">
|
745
|
-
<a href="#M000022" class="method-signature">
|
746
|
-
<span class="method-name">unprotect_all!</span><span class="method-args">()</span>
|
747
|
-
</a>
|
748
|
-
</div>
|
749
|
-
|
750
|
-
<div class="method-description">
|
751
|
-
<p><a class="source-toggle" href="#"
|
752
|
-
onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
|
753
|
-
<div class="method-source-code" id="M000022-source">
|
754
|
-
<pre>
|
755
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 160</span>
|
756
|
-
160: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unprotect_all!</span>
|
757
|
-
161: <span class="ruby-ivar">@_protected</span>.<span class="ruby-identifier">clear</span>
|
758
|
-
162: <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
|
759
|
-
163: <span class="ruby-identifier">val</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">k</span>)
|
760
|
-
164: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">unprotect_all!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Configatron</span><span class="ruby-operator">::</span><span class="ruby-constant">Store</span>
|
761
|
-
165: <span class="ruby-keyword kw">end</span>
|
762
|
-
166: <span class="ruby-keyword kw">end</span>
|
763
|
-
</pre>
|
764
|
-
</div>
|
765
|
-
</div>
|
766
|
-
</div>
|
767
|
-
|
768
|
-
<h3 class="section-bar">Protected Instance methods</h3>
|
769
|
-
|
770
|
-
<div id="method-M000026" class="method-detail">
|
771
|
-
<a name="M000026"></a>
|
772
|
-
|
773
|
-
<div class="method-heading">
|
774
|
-
<a href="#M000026" class="method-signature">
|
775
|
-
<span class="method-name">lock!</span><span class="method-args">()</span>
|
776
|
-
</a>
|
777
|
-
</div>
|
778
|
-
|
779
|
-
<div class="method-description">
|
780
|
-
<p><a class="source-toggle" href="#"
|
781
|
-
onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
|
782
|
-
<div class="method-source-code" id="M000026-source">
|
783
|
-
<pre>
|
784
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 251</span>
|
785
|
-
251: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lock!</span>
|
786
|
-
252: <span class="ruby-ivar">@_locked</span> = <span class="ruby-keyword kw">true</span>
|
787
|
-
253: <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">store</span><span class="ruby-operator">|</span> <span class="ruby-identifier">store</span>.<span class="ruby-identifier">lock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">store</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Configatron</span><span class="ruby-operator">::</span><span class="ruby-constant">Store</span>) }
|
788
|
-
254: <span class="ruby-keyword kw">end</span>
|
789
|
-
</pre>
|
790
|
-
</div>
|
791
|
-
</div>
|
792
|
-
</div>
|
793
|
-
|
794
|
-
<div id="method-M000027" class="method-detail">
|
795
|
-
<a name="M000027"></a>
|
796
|
-
|
797
|
-
<div class="method-heading">
|
798
|
-
<a href="#M000027" class="method-signature">
|
799
|
-
<span class="method-name">unlock!</span><span class="method-args">()</span>
|
800
|
-
</a>
|
801
|
-
</div>
|
802
|
-
|
803
|
-
<div class="method-description">
|
804
|
-
<p><a class="source-toggle" href="#"
|
805
|
-
onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
|
806
|
-
<div class="method-source-code" id="M000027-source">
|
807
|
-
<pre>
|
808
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 256</span>
|
809
|
-
256: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unlock!</span>
|
810
|
-
257: <span class="ruby-ivar">@_locked</span> = <span class="ruby-keyword kw">false</span>
|
811
|
-
258: <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">store</span><span class="ruby-operator">|</span> <span class="ruby-identifier">store</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">store</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Configatron</span><span class="ruby-operator">::</span><span class="ruby-constant">Store</span>) }
|
812
|
-
259: <span class="ruby-keyword kw">end</span>
|
813
|
-
</pre>
|
814
|
-
</div>
|
815
|
-
</div>
|
816
|
-
</div>
|
817
|
-
|
818
|
-
|
819
|
-
</div>
|
820
|
-
|
821
|
-
|
822
|
-
</div>
|
823
|
-
|
824
|
-
|
825
|
-
<div id="validator-badges">
|
826
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
827
|
-
</div>
|
828
|
-
|
829
|
-
</body>
|
830
|
-
</html>
|