configatron 2.2.2 → 2.3.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/lib/configatron.rb +1 -1
- data/lib/configatron/configatron.rb +1 -0
- data/lib/configatron/store.rb +5 -3
- metadata +15 -34
- data/doc/classes/Class.html +0 -170
- data/doc/classes/Configatron.html +0 -303
- data/doc/classes/Configatron/LockedNamespace.html +0 -146
- data/doc/classes/Configatron/ProtectedParameter.html +0 -146
- data/doc/classes/Configatron/Store.html +0 -739
- data/doc/classes/Kernel.html +0 -144
- data/doc/created.rid +0 -1
- data/doc/files/README.html +0 -309
- 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 -53
- data/doc/index.html +0 -24
- data/doc/rdoc-style.css +0 -208
- data/spec/lib/class_spec.rb +0 -28
- data/spec/lib/configatron_spec.rb +0 -434
- data/spec/lib/futurama.yml +0 -6
- data/spec/lib/lost.yml +0 -14
- data/spec/spec.opts +0 -2
- data/spec/spec_helper.rb +0 -4
@@ -1,146 +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::LockedNamespace</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::LockedNamespace</td>
|
54
|
-
</tr>
|
55
|
-
<tr class="top-aligned-row">
|
56
|
-
<td><strong>In:</strong></td>
|
57
|
-
<td>
|
58
|
-
<a href="../../files/lib/configatron/errors_rb.html">
|
59
|
-
lib/configatron/errors.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
|
-
StandardError
|
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="#M000025">new</a>
|
90
|
-
</div>
|
91
|
-
</div>
|
92
|
-
|
93
|
-
</div>
|
94
|
-
|
95
|
-
|
96
|
-
<!-- if includes -->
|
97
|
-
|
98
|
-
<div id="section">
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
<!-- if method_list -->
|
108
|
-
<div id="methods">
|
109
|
-
<h3 class="section-bar">Public Class methods</h3>
|
110
|
-
|
111
|
-
<div id="method-M000025" class="method-detail">
|
112
|
-
<a name="M000025"></a>
|
113
|
-
|
114
|
-
<div class="method-heading">
|
115
|
-
<a href="#M000025" class="method-signature">
|
116
|
-
<span class="method-name">new</span><span class="method-args">(name)</span>
|
117
|
-
</a>
|
118
|
-
</div>
|
119
|
-
|
120
|
-
<div class="method-description">
|
121
|
-
<p><a class="source-toggle" href="#"
|
122
|
-
onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
|
123
|
-
<div class="method-source-code" id="M000025-source">
|
124
|
-
<pre>
|
125
|
-
<span class="ruby-comment cmt"># File lib/configatron/errors.rb, line 9</span>
|
126
|
-
9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>)
|
127
|
-
10: <span class="ruby-keyword kw">super</span>(<span class="ruby-node">"Cannot add new parameters to locked namespace: #{name.inspect}"</span>)
|
128
|
-
11: <span class="ruby-keyword kw">end</span>
|
129
|
-
</pre>
|
130
|
-
</div>
|
131
|
-
</div>
|
132
|
-
</div>
|
133
|
-
|
134
|
-
|
135
|
-
</div>
|
136
|
-
|
137
|
-
|
138
|
-
</div>
|
139
|
-
|
140
|
-
|
141
|
-
<div id="validator-badges">
|
142
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
143
|
-
</div>
|
144
|
-
|
145
|
-
</body>
|
146
|
-
</html>
|
@@ -1,146 +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::ProtectedParameter</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::ProtectedParameter</td>
|
54
|
-
</tr>
|
55
|
-
<tr class="top-aligned-row">
|
56
|
-
<td><strong>In:</strong></td>
|
57
|
-
<td>
|
58
|
-
<a href="../../files/lib/configatron/errors_rb.html">
|
59
|
-
lib/configatron/errors.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
|
-
StandardError
|
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="#M000026">intialize</a>
|
90
|
-
</div>
|
91
|
-
</div>
|
92
|
-
|
93
|
-
</div>
|
94
|
-
|
95
|
-
|
96
|
-
<!-- if includes -->
|
97
|
-
|
98
|
-
<div id="section">
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
<!-- if method_list -->
|
108
|
-
<div id="methods">
|
109
|
-
<h3 class="section-bar">Public Instance methods</h3>
|
110
|
-
|
111
|
-
<div id="method-M000026" class="method-detail">
|
112
|
-
<a name="M000026"></a>
|
113
|
-
|
114
|
-
<div class="method-heading">
|
115
|
-
<a href="#M000026" class="method-signature">
|
116
|
-
<span class="method-name">intialize</span><span class="method-args">(name)</span>
|
117
|
-
</a>
|
118
|
-
</div>
|
119
|
-
|
120
|
-
<div class="method-description">
|
121
|
-
<p><a class="source-toggle" href="#"
|
122
|
-
onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
|
123
|
-
<div class="method-source-code" id="M000026-source">
|
124
|
-
<pre>
|
125
|
-
<span class="ruby-comment cmt"># File lib/configatron/errors.rb, line 3</span>
|
126
|
-
3: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">intialize</span>(<span class="ruby-identifier">name</span>)
|
127
|
-
4: <span class="ruby-keyword kw">super</span>(<span class="ruby-node">"Can not modify protected parameter: '#{name}'"</span>)
|
128
|
-
5: <span class="ruby-keyword kw">end</span>
|
129
|
-
</pre>
|
130
|
-
</div>
|
131
|
-
</div>
|
132
|
-
</div>
|
133
|
-
|
134
|
-
|
135
|
-
</div>
|
136
|
-
|
137
|
-
|
138
|
-
</div>
|
139
|
-
|
140
|
-
|
141
|
-
<div id="validator-badges">
|
142
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
143
|
-
</div>
|
144
|
-
|
145
|
-
</body>
|
146
|
-
</html>
|
@@ -1,739 +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">configure_from_hash</a>
|
90
|
-
<a href="#M000011">configure_from_yaml</a>
|
91
|
-
<a href="#M000022">deep_clone</a>
|
92
|
-
<a href="#M000009">inspect</a>
|
93
|
-
<a href="#M000020">lock</a>
|
94
|
-
<a href="#M000023">lock!</a>
|
95
|
-
<a href="#M000007">new</a>
|
96
|
-
<a href="#M000012">nil?</a>
|
97
|
-
<a href="#M000016">protect</a>
|
98
|
-
<a href="#M000017">protect_all!</a>
|
99
|
-
<a href="#M000014">remove</a>
|
100
|
-
<a href="#M000013">retrieve</a>
|
101
|
-
<a href="#M000015">set_default</a>
|
102
|
-
<a href="#M000008">to_hash</a>
|
103
|
-
<a href="#M000021">unlock</a>
|
104
|
-
<a href="#M000024">unlock!</a>
|
105
|
-
<a href="#M000018">unprotect</a>
|
106
|
-
<a href="#M000019">unprotect_all!</a>
|
107
|
-
</div>
|
108
|
-
</div>
|
109
|
-
|
110
|
-
</div>
|
111
|
-
|
112
|
-
|
113
|
-
<!-- if includes -->
|
114
|
-
|
115
|
-
<div id="section">
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
<div id="aliases-list">
|
120
|
-
<h3 class="section-bar">External Aliases</h3>
|
121
|
-
|
122
|
-
<div class="name-list">
|
123
|
-
<table summary="aliases">
|
124
|
-
<tr class="top-aligned-row context-row">
|
125
|
-
<td class="context-item-name">send</td>
|
126
|
-
<td>-></td>
|
127
|
-
<td class="context-item-value">send!</td>
|
128
|
-
</tr>
|
129
|
-
</table>
|
130
|
-
</div>
|
131
|
-
</div>
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
<!-- if method_list -->
|
138
|
-
<div id="methods">
|
139
|
-
<h3 class="section-bar">Public Class methods</h3>
|
140
|
-
|
141
|
-
<div id="method-M000007" class="method-detail">
|
142
|
-
<a name="M000007"></a>
|
143
|
-
|
144
|
-
<div class="method-heading">
|
145
|
-
<a href="#M000007" class="method-signature">
|
146
|
-
<span class="method-name">new</span><span class="method-args">(options = {}, name = nil, parent = nil)</span>
|
147
|
-
</a>
|
148
|
-
</div>
|
149
|
-
|
150
|
-
<div class="method-description">
|
151
|
-
<p>
|
152
|
-
Takes an optional Hash of parameters
|
153
|
-
</p>
|
154
|
-
<p><a class="source-toggle" href="#"
|
155
|
-
onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
|
156
|
-
<div class="method-source-code" id="M000007-source">
|
157
|
-
<pre>
|
158
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 6</span>
|
159
|
-
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>)
|
160
|
-
7: <span class="ruby-ivar">@_name</span> = <span class="ruby-identifier">name</span>
|
161
|
-
8: <span class="ruby-ivar">@_parent</span> = <span class="ruby-identifier">parent</span>
|
162
|
-
9: <span class="ruby-ivar">@_store</span> = {}
|
163
|
-
10: <span class="ruby-identifier">configure_from_hash</span>(<span class="ruby-identifier">options</span>)
|
164
|
-
11: <span class="ruby-ivar">@_protected</span> = []
|
165
|
-
12: <span class="ruby-keyword kw">end</span>
|
166
|
-
</pre>
|
167
|
-
</div>
|
168
|
-
</div>
|
169
|
-
</div>
|
170
|
-
|
171
|
-
<h3 class="section-bar">Public Instance methods</h3>
|
172
|
-
|
173
|
-
<div id="method-M000010" class="method-detail">
|
174
|
-
<a name="M000010"></a>
|
175
|
-
|
176
|
-
<div class="method-heading">
|
177
|
-
<a href="#M000010" class="method-signature">
|
178
|
-
<span class="method-name">configure_from_hash</span><span class="method-args">(options)</span>
|
179
|
-
</a>
|
180
|
-
</div>
|
181
|
-
|
182
|
-
<div class="method-description">
|
183
|
-
<p>
|
184
|
-
Allows for the configuration of the system via a Hash
|
185
|
-
</p>
|
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 51</span>
|
191
|
-
51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure_from_hash</span>(<span class="ruby-identifier">options</span>)
|
192
|
-
52: <span class="ruby-identifier">parse_options</span>(<span class="ruby-identifier">options</span>)
|
193
|
-
53: <span class="ruby-keyword kw">end</span>
|
194
|
-
</pre>
|
195
|
-
</div>
|
196
|
-
</div>
|
197
|
-
</div>
|
198
|
-
|
199
|
-
<div id="method-M000011" class="method-detail">
|
200
|
-
<a name="M000011"></a>
|
201
|
-
|
202
|
-
<div class="method-heading">
|
203
|
-
<a href="#M000011" class="method-signature">
|
204
|
-
<span class="method-name">configure_from_yaml</span><span class="method-args">(path, opts = {})</span>
|
205
|
-
</a>
|
206
|
-
</div>
|
207
|
-
|
208
|
-
<div class="method-description">
|
209
|
-
<p>
|
210
|
-
Allows for the configuration of the system from a YAML file. Takes the path
|
211
|
-
to the YAML file. Also takes an optional parameter, <tt>:hash</tt>, that
|
212
|
-
indicates a specific hash that should be loaded from the file.
|
213
|
-
</p>
|
214
|
-
<p><a class="source-toggle" href="#"
|
215
|
-
onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
|
216
|
-
<div class="method-source-code" id="M000011-source">
|
217
|
-
<pre>
|
218
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 59</span>
|
219
|
-
59: <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> = {})
|
220
|
-
60: <span class="ruby-keyword kw">begin</span>
|
221
|
-
61: <span class="ruby-identifier">yml</span> = <span class="ruby-constant">YAML</span>.<span class="ruby-identifier">load</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">path</span>))
|
222
|
-
62: <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>
|
223
|
-
63: <span class="ruby-identifier">configure_from_hash</span>(<span class="ruby-identifier">yml</span>)
|
224
|
-
64: <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>
|
225
|
-
65: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
|
226
|
-
66: <span class="ruby-keyword kw">end</span>
|
227
|
-
67: <span class="ruby-keyword kw">end</span>
|
228
|
-
</pre>
|
229
|
-
</div>
|
230
|
-
</div>
|
231
|
-
</div>
|
232
|
-
|
233
|
-
<div id="method-M000022" class="method-detail">
|
234
|
-
<a name="M000022"></a>
|
235
|
-
|
236
|
-
<div class="method-heading">
|
237
|
-
<a href="#M000022" class="method-signature">
|
238
|
-
<span class="method-name">deep_clone</span><span class="method-args">( obj=self, cloned={} )</span>
|
239
|
-
</a>
|
240
|
-
</div>
|
241
|
-
|
242
|
-
<div class="method-description">
|
243
|
-
<h1>DeepClone</h1>
|
244
|
-
<h2>Version</h2>
|
245
|
-
<pre>
|
246
|
-
1.2006.05.23 (change of the first number means Big Change)
|
247
|
-
</pre>
|
248
|
-
<h2>Description</h2>
|
249
|
-
<pre>
|
250
|
-
Adds deep_clone method to an object which produces deep copy of it. It means
|
251
|
-
if you clone a Hash, every nested items and their nested items will be cloned.
|
252
|
-
Moreover deep_clone checks if the object is already cloned to prevent endless recursion.
|
253
|
-
</pre>
|
254
|
-
<h2>Usage</h2>
|
255
|
-
<pre>
|
256
|
-
(see examples directory under the ruby gems root directory)
|
257
|
-
|
258
|
-
require 'rubygems'
|
259
|
-
require 'deep_clone'
|
260
|
-
|
261
|
-
include DeepClone
|
262
|
-
|
263
|
-
obj = []
|
264
|
-
a = [ true, false, obj ]
|
265
|
-
b = a.deep_clone
|
266
|
-
obj.push( 'foo' )
|
267
|
-
p obj # >> [ 'foo' ]
|
268
|
-
p b[2] # >> []
|
269
|
-
</pre>
|
270
|
-
<h2>Source</h2>
|
271
|
-
<p>
|
272
|
-
<a
|
273
|
-
href="http://simplypowerful.1984.cz/goodlibs/1.2006.05.23">simplypowerful.1984.cz/goodlibs/1.2006.05.23</a>
|
274
|
-
</p>
|
275
|
-
<h2>Author</h2>
|
276
|
-
<pre>
|
277
|
-
jan molic (/mig/at_sign/1984/dot/cz/)
|
278
|
-
</pre>
|
279
|
-
<h2>Licence</h2>
|
280
|
-
<pre>
|
281
|
-
You can redistribute it and/or modify it under the same terms of Ruby's license;
|
282
|
-
either the dual license version in 2003, or any later version.
|
283
|
-
</pre>
|
284
|
-
<p><a class="source-toggle" href="#"
|
285
|
-
onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
|
286
|
-
<div class="method-source-code" id="M000022-source">
|
287
|
-
<pre>
|
288
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 192</span>
|
289
|
-
192: <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>={} )
|
290
|
-
193: <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> )
|
291
|
-
194: <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>]
|
292
|
-
195: <span class="ruby-keyword kw">else</span>
|
293
|
-
196: <span class="ruby-keyword kw">begin</span>
|
294
|
-
197: <span class="ruby-identifier">cl</span> = <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">clone</span>
|
295
|
-
198: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
|
296
|
-
199: <span class="ruby-comment cmt"># unclonnable (TrueClass, Fixnum, ...)</span>
|
297
|
-
200: <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>
|
298
|
-
201: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">obj</span>
|
299
|
-
202: <span class="ruby-keyword kw">else</span>
|
300
|
-
203: <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>
|
301
|
-
204: <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>
|
302
|
-
205: <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> )
|
303
|
-
206: <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>
|
304
|
-
207: <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> )
|
305
|
-
208: }
|
306
|
-
209: <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> )
|
307
|
-
210: <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>
|
308
|
-
211: <span class="ruby-identifier">deep_clone</span>( <span class="ruby-identifier">v</span>, <span class="ruby-identifier">cloned</span> )
|
309
|
-
212: }
|
310
|
-
213: <span class="ruby-keyword kw">end</span>
|
311
|
-
214: <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>
|
312
|
-
215: <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> )
|
313
|
-
216: <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> )
|
314
|
-
217: <span class="ruby-identifier">cl</span>.<span class="ruby-identifier">instance_eval</span>( <span class="ruby-node">"#{var} = v_cl"</span> )
|
315
|
-
218: <span class="ruby-keyword kw">end</span>
|
316
|
-
219: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">cl</span>
|
317
|
-
220: <span class="ruby-keyword kw">end</span>
|
318
|
-
221: <span class="ruby-keyword kw">end</span>
|
319
|
-
222: <span class="ruby-keyword kw">end</span>
|
320
|
-
</pre>
|
321
|
-
</div>
|
322
|
-
</div>
|
323
|
-
</div>
|
324
|
-
|
325
|
-
<div id="method-M000009" class="method-detail">
|
326
|
-
<a name="M000009"></a>
|
327
|
-
|
328
|
-
<div class="method-heading">
|
329
|
-
<a href="#M000009" class="method-signature">
|
330
|
-
<span class="method-name">inspect</span><span class="method-args">()</span>
|
331
|
-
</a>
|
332
|
-
</div>
|
333
|
-
|
334
|
-
<div class="method-description">
|
335
|
-
<p><a class="source-toggle" href="#"
|
336
|
-
onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
|
337
|
-
<div class="method-source-code" id="M000009-source">
|
338
|
-
<pre>
|
339
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 19</span>
|
340
|
-
19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span>
|
341
|
-
20: <span class="ruby-identifier">path</span> = [<span class="ruby-ivar">@_name</span>]
|
342
|
-
21: <span class="ruby-identifier">parent</span> = <span class="ruby-ivar">@_parent</span>
|
343
|
-
22: <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
|
344
|
-
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>)
|
345
|
-
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>)
|
346
|
-
25: <span class="ruby-keyword kw">end</span>
|
347
|
-
26: <span class="ruby-identifier">path</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">'configatron'</span>
|
348
|
-
27: <span class="ruby-identifier">path</span>.<span class="ruby-identifier">compact!</span>
|
349
|
-
28: <span class="ruby-identifier">path</span>.<span class="ruby-identifier">reverse!</span>
|
350
|
-
29: <span class="ruby-identifier">f_out</span> = []
|
351
|
-
30: <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>
|
352
|
-
31: <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>)
|
353
|
-
32: <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>
|
354
|
-
33: <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>)
|
355
|
-
34: <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>
|
356
|
-
35: <span class="ruby-identifier">l</span>.<span class="ruby-identifier">strip!</span>
|
357
|
-
36: <span class="ruby-identifier">f_out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">l</span>
|
358
|
-
37: <span class="ruby-keyword kw">end</span>
|
359
|
-
38: <span class="ruby-keyword kw">else</span>
|
360
|
-
39: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">strip!</span>
|
361
|
-
40: <span class="ruby-identifier">f_out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">line</span>
|
362
|
-
41: <span class="ruby-keyword kw">end</span>
|
363
|
-
42: <span class="ruby-keyword kw">end</span>
|
364
|
-
43: <span class="ruby-keyword kw">else</span>
|
365
|
-
44: <span class="ruby-identifier">f_out</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"#{path.join('.')}.#{k} = #{v.inspect}"</span>
|
366
|
-
45: <span class="ruby-keyword kw">end</span>
|
367
|
-
46: <span class="ruby-keyword kw">end</span>
|
368
|
-
47: <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>)
|
369
|
-
48: <span class="ruby-keyword kw">end</span>
|
370
|
-
</pre>
|
371
|
-
</div>
|
372
|
-
</div>
|
373
|
-
</div>
|
374
|
-
|
375
|
-
<div id="method-M000020" class="method-detail">
|
376
|
-
<a name="M000020"></a>
|
377
|
-
|
378
|
-
<div class="method-heading">
|
379
|
-
<a href="#M000020" class="method-signature">
|
380
|
-
<span class="method-name">lock</span><span class="method-args">(name)</span>
|
381
|
-
</a>
|
382
|
-
</div>
|
383
|
-
|
384
|
-
<div class="method-description">
|
385
|
-
<p>
|
386
|
-
Prevents a namespace from having <a href="Store.html#M000007">new</a>
|
387
|
-
parameters set. The <a href="Store.html#M000020">lock</a> is applied
|
388
|
-
recursively to any namespaces below it.
|
389
|
-
</p>
|
390
|
-
<p><a class="source-toggle" href="#"
|
391
|
-
onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
|
392
|
-
<div class="method-source-code" id="M000020-source">
|
393
|
-
<pre>
|
394
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 144</span>
|
395
|
-
144: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lock</span>(<span class="ruby-identifier">name</span>)
|
396
|
-
145: <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>]
|
397
|
-
146: <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>
|
398
|
-
147: <span class="ruby-identifier">namespace</span>.<span class="ruby-identifier">lock!</span>
|
399
|
-
148: <span class="ruby-keyword kw">end</span>
|
400
|
-
</pre>
|
401
|
-
</div>
|
402
|
-
</div>
|
403
|
-
</div>
|
404
|
-
|
405
|
-
<div id="method-M000012" class="method-detail">
|
406
|
-
<a name="M000012"></a>
|
407
|
-
|
408
|
-
<div class="method-heading">
|
409
|
-
<a href="#M000012" class="method-signature">
|
410
|
-
<span class="method-name">nil?</span><span class="method-args">()</span>
|
411
|
-
</a>
|
412
|
-
</div>
|
413
|
-
|
414
|
-
<div class="method-description">
|
415
|
-
<p>
|
416
|
-
Returns true if there are no configuration parameters
|
417
|
-
</p>
|
418
|
-
<p><a class="source-toggle" href="#"
|
419
|
-
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
420
|
-
<div class="method-source-code" id="M000012-source">
|
421
|
-
<pre>
|
422
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 70</span>
|
423
|
-
70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nil?</span>
|
424
|
-
71: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@_store</span>.<span class="ruby-identifier">empty?</span>
|
425
|
-
72: <span class="ruby-keyword kw">end</span>
|
426
|
-
</pre>
|
427
|
-
</div>
|
428
|
-
</div>
|
429
|
-
</div>
|
430
|
-
|
431
|
-
<div id="method-M000016" class="method-detail">
|
432
|
-
<a name="M000016"></a>
|
433
|
-
|
434
|
-
<div class="method-heading">
|
435
|
-
<a href="#M000016" class="method-signature">
|
436
|
-
<span class="method-name">protect</span><span class="method-args">(name)</span>
|
437
|
-
</a>
|
438
|
-
</div>
|
439
|
-
|
440
|
-
<div class="method-description">
|
441
|
-
<p>
|
442
|
-
Prevents a parameter from being reassigned. If called on a
|
443
|
-
‘namespace’ then all parameters below it will be protected as
|
444
|
-
well.
|
445
|
-
</p>
|
446
|
-
<p><a class="source-toggle" href="#"
|
447
|
-
onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
|
448
|
-
<div class="method-source-code" id="M000016-source">
|
449
|
-
<pre>
|
450
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 115</span>
|
451
|
-
115: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">protect</span>(<span class="ruby-identifier">name</span>)
|
452
|
-
116: <span class="ruby-ivar">@_protected</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>
|
453
|
-
117: <span class="ruby-keyword kw">end</span>
|
454
|
-
</pre>
|
455
|
-
</div>
|
456
|
-
</div>
|
457
|
-
</div>
|
458
|
-
|
459
|
-
<div id="method-M000017" class="method-detail">
|
460
|
-
<a name="M000017"></a>
|
461
|
-
|
462
|
-
<div class="method-heading">
|
463
|
-
<a href="#M000017" class="method-signature">
|
464
|
-
<span class="method-name">protect_all!</span><span class="method-args">()</span>
|
465
|
-
</a>
|
466
|
-
</div>
|
467
|
-
|
468
|
-
<div class="method-description">
|
469
|
-
<p>
|
470
|
-
Prevents all parameters from being reassigned.
|
471
|
-
</p>
|
472
|
-
<p><a class="source-toggle" href="#"
|
473
|
-
onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
|
474
|
-
<div class="method-source-code" id="M000017-source">
|
475
|
-
<pre>
|
476
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 120</span>
|
477
|
-
120: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">protect_all!</span>
|
478
|
-
121: <span class="ruby-ivar">@_protected</span>.<span class="ruby-identifier">clear</span>
|
479
|
-
122: <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>
|
480
|
-
123: <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>)
|
481
|
-
124: <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>
|
482
|
-
125: <span class="ruby-ivar">@_protected</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">k</span>
|
483
|
-
126: <span class="ruby-keyword kw">end</span>
|
484
|
-
127: <span class="ruby-keyword kw">end</span>
|
485
|
-
</pre>
|
486
|
-
</div>
|
487
|
-
</div>
|
488
|
-
</div>
|
489
|
-
|
490
|
-
<div id="method-M000014" class="method-detail">
|
491
|
-
<a name="M000014"></a>
|
492
|
-
|
493
|
-
<div class="method-heading">
|
494
|
-
<a href="#M000014" class="method-signature">
|
495
|
-
<span class="method-name">remove</span><span class="method-args">(name)</span>
|
496
|
-
</a>
|
497
|
-
</div>
|
498
|
-
|
499
|
-
<div class="method-description">
|
500
|
-
<p>
|
501
|
-
Removes a parameter. In the case of a nested parameter it will <a
|
502
|
-
href="Store.html#M000014">remove</a> all below it.
|
503
|
-
</p>
|
504
|
-
<p><a class="source-toggle" href="#"
|
505
|
-
onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
|
506
|
-
<div class="method-source-code" id="M000014-source">
|
507
|
-
<pre>
|
508
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 82</span>
|
509
|
-
82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove</span>(<span class="ruby-identifier">name</span>)
|
510
|
-
83: <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>)
|
511
|
-
84: <span class="ruby-keyword kw">end</span>
|
512
|
-
</pre>
|
513
|
-
</div>
|
514
|
-
</div>
|
515
|
-
</div>
|
516
|
-
|
517
|
-
<div id="method-M000013" class="method-detail">
|
518
|
-
<a name="M000013"></a>
|
519
|
-
|
520
|
-
<div class="method-heading">
|
521
|
-
<a href="#M000013" class="method-signature">
|
522
|
-
<span class="method-name">retrieve</span><span class="method-args">(name, default_value = nil)</span>
|
523
|
-
</a>
|
524
|
-
</div>
|
525
|
-
|
526
|
-
<div class="method-description">
|
527
|
-
<p>
|
528
|
-
Retrieves a certain parameter and if that parameter doesn‘t exist it
|
529
|
-
will return the default_value specified.
|
530
|
-
</p>
|
531
|
-
<p><a class="source-toggle" href="#"
|
532
|
-
onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
|
533
|
-
<div class="method-source-code" id="M000013-source">
|
534
|
-
<pre>
|
535
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 76</span>
|
536
|
-
76: <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>)
|
537
|
-
77: <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>
|
538
|
-
78: <span class="ruby-keyword kw">end</span>
|
539
|
-
</pre>
|
540
|
-
</div>
|
541
|
-
</div>
|
542
|
-
</div>
|
543
|
-
|
544
|
-
<div id="method-M000015" class="method-detail">
|
545
|
-
<a name="M000015"></a>
|
546
|
-
|
547
|
-
<div class="method-heading">
|
548
|
-
<a href="#M000015" class="method-signature">
|
549
|
-
<span class="method-name">set_default</span><span class="method-args">(name, default_value)</span>
|
550
|
-
</a>
|
551
|
-
</div>
|
552
|
-
|
553
|
-
<div class="method-description">
|
554
|
-
<p>
|
555
|
-
Sets a ‘default’ value. If there is already a value specified
|
556
|
-
it won‘t set the value.
|
557
|
-
</p>
|
558
|
-
<p><a class="source-toggle" href="#"
|
559
|
-
onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
|
560
|
-
<div class="method-source-code" id="M000015-source">
|
561
|
-
<pre>
|
562
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 88</span>
|
563
|
-
88: <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>)
|
564
|
-
89: <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>]
|
565
|
-
90: <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>)
|
566
|
-
91: <span class="ruby-keyword kw">end</span>
|
567
|
-
92: <span class="ruby-keyword kw">end</span>
|
568
|
-
</pre>
|
569
|
-
</div>
|
570
|
-
</div>
|
571
|
-
</div>
|
572
|
-
|
573
|
-
<div id="method-M000008" class="method-detail">
|
574
|
-
<a name="M000008"></a>
|
575
|
-
|
576
|
-
<div class="method-heading">
|
577
|
-
<a href="#M000008" class="method-signature">
|
578
|
-
<span class="method-name">to_hash</span><span class="method-args">()</span>
|
579
|
-
</a>
|
580
|
-
</div>
|
581
|
-
|
582
|
-
<div class="method-description">
|
583
|
-
<p>
|
584
|
-
Returns a Hash representing the configurations
|
585
|
-
</p>
|
586
|
-
<p><a class="source-toggle" href="#"
|
587
|
-
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
588
|
-
<div class="method-source-code" id="M000008-source">
|
589
|
-
<pre>
|
590
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 15</span>
|
591
|
-
15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_hash</span>
|
592
|
-
16: <span class="ruby-ivar">@_store</span>
|
593
|
-
17: <span class="ruby-keyword kw">end</span>
|
594
|
-
</pre>
|
595
|
-
</div>
|
596
|
-
</div>
|
597
|
-
</div>
|
598
|
-
|
599
|
-
<div id="method-M000021" class="method-detail">
|
600
|
-
<a name="M000021"></a>
|
601
|
-
|
602
|
-
<div class="method-heading">
|
603
|
-
<a href="#M000021" class="method-signature">
|
604
|
-
<span class="method-name">unlock</span><span class="method-args">(name)</span>
|
605
|
-
</a>
|
606
|
-
</div>
|
607
|
-
|
608
|
-
<div class="method-description">
|
609
|
-
<p><a class="source-toggle" href="#"
|
610
|
-
onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
|
611
|
-
<div class="method-source-code" id="M000021-source">
|
612
|
-
<pre>
|
613
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 150</span>
|
614
|
-
150: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unlock</span>(<span class="ruby-identifier">name</span>)
|
615
|
-
151: <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>]
|
616
|
-
152: <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>
|
617
|
-
153: <span class="ruby-identifier">namespace</span>.<span class="ruby-identifier">unlock!</span>
|
618
|
-
154: <span class="ruby-keyword kw">end</span>
|
619
|
-
</pre>
|
620
|
-
</div>
|
621
|
-
</div>
|
622
|
-
</div>
|
623
|
-
|
624
|
-
<div id="method-M000018" class="method-detail">
|
625
|
-
<a name="M000018"></a>
|
626
|
-
|
627
|
-
<div class="method-heading">
|
628
|
-
<a href="#M000018" class="method-signature">
|
629
|
-
<span class="method-name">unprotect</span><span class="method-args">(name)</span>
|
630
|
-
</a>
|
631
|
-
</div>
|
632
|
-
|
633
|
-
<div class="method-description">
|
634
|
-
<p>
|
635
|
-
Removes the protection of a parameter.
|
636
|
-
</p>
|
637
|
-
<p><a class="source-toggle" href="#"
|
638
|
-
onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
|
639
|
-
<div class="method-source-code" id="M000018-source">
|
640
|
-
<pre>
|
641
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 130</span>
|
642
|
-
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unprotect</span>(<span class="ruby-identifier">name</span>)
|
643
|
-
131: <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> }
|
644
|
-
132: <span class="ruby-keyword kw">end</span>
|
645
|
-
</pre>
|
646
|
-
</div>
|
647
|
-
</div>
|
648
|
-
</div>
|
649
|
-
|
650
|
-
<div id="method-M000019" class="method-detail">
|
651
|
-
<a name="M000019"></a>
|
652
|
-
|
653
|
-
<div class="method-heading">
|
654
|
-
<a href="#M000019" class="method-signature">
|
655
|
-
<span class="method-name">unprotect_all!</span><span class="method-args">()</span>
|
656
|
-
</a>
|
657
|
-
</div>
|
658
|
-
|
659
|
-
<div class="method-description">
|
660
|
-
<p><a class="source-toggle" href="#"
|
661
|
-
onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
|
662
|
-
<div class="method-source-code" id="M000019-source">
|
663
|
-
<pre>
|
664
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 134</span>
|
665
|
-
134: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unprotect_all!</span>
|
666
|
-
135: <span class="ruby-ivar">@_protected</span>.<span class="ruby-identifier">clear</span>
|
667
|
-
136: <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>
|
668
|
-
137: <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>)
|
669
|
-
138: <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>
|
670
|
-
139: <span class="ruby-keyword kw">end</span>
|
671
|
-
140: <span class="ruby-keyword kw">end</span>
|
672
|
-
</pre>
|
673
|
-
</div>
|
674
|
-
</div>
|
675
|
-
</div>
|
676
|
-
|
677
|
-
<h3 class="section-bar">Protected Instance methods</h3>
|
678
|
-
|
679
|
-
<div id="method-M000023" class="method-detail">
|
680
|
-
<a name="M000023"></a>
|
681
|
-
|
682
|
-
<div class="method-heading">
|
683
|
-
<a href="#M000023" class="method-signature">
|
684
|
-
<span class="method-name">lock!</span><span class="method-args">()</span>
|
685
|
-
</a>
|
686
|
-
</div>
|
687
|
-
|
688
|
-
<div class="method-description">
|
689
|
-
<p><a class="source-toggle" href="#"
|
690
|
-
onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
|
691
|
-
<div class="method-source-code" id="M000023-source">
|
692
|
-
<pre>
|
693
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 225</span>
|
694
|
-
225: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lock!</span>
|
695
|
-
226: <span class="ruby-ivar">@_locked</span> = <span class="ruby-keyword kw">true</span>
|
696
|
-
227: <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>) }
|
697
|
-
228: <span class="ruby-keyword kw">end</span>
|
698
|
-
</pre>
|
699
|
-
</div>
|
700
|
-
</div>
|
701
|
-
</div>
|
702
|
-
|
703
|
-
<div id="method-M000024" class="method-detail">
|
704
|
-
<a name="M000024"></a>
|
705
|
-
|
706
|
-
<div class="method-heading">
|
707
|
-
<a href="#M000024" class="method-signature">
|
708
|
-
<span class="method-name">unlock!</span><span class="method-args">()</span>
|
709
|
-
</a>
|
710
|
-
</div>
|
711
|
-
|
712
|
-
<div class="method-description">
|
713
|
-
<p><a class="source-toggle" href="#"
|
714
|
-
onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
|
715
|
-
<div class="method-source-code" id="M000024-source">
|
716
|
-
<pre>
|
717
|
-
<span class="ruby-comment cmt"># File lib/configatron/store.rb, line 230</span>
|
718
|
-
230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unlock!</span>
|
719
|
-
231: <span class="ruby-ivar">@_locked</span> = <span class="ruby-keyword kw">false</span>
|
720
|
-
232: <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>) }
|
721
|
-
233: <span class="ruby-keyword kw">end</span>
|
722
|
-
</pre>
|
723
|
-
</div>
|
724
|
-
</div>
|
725
|
-
</div>
|
726
|
-
|
727
|
-
|
728
|
-
</div>
|
729
|
-
|
730
|
-
|
731
|
-
</div>
|
732
|
-
|
733
|
-
|
734
|
-
<div id="validator-badges">
|
735
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
736
|
-
</div>
|
737
|
-
|
738
|
-
</body>
|
739
|
-
</html>
|