bovem 1.2.3 → 1.2.4
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/doc/Bovem.html +185 -0
- data/doc/Bovem/Configuration.html +598 -0
- data/doc/Bovem/Console.html +4850 -0
- data/doc/Bovem/Errors.html +125 -0
- data/doc/Bovem/Errors/InvalidConfiguration.html +133 -0
- data/doc/Bovem/Errors/InvalidLogger.html +133 -0
- data/doc/Bovem/Logger.html +896 -0
- data/doc/Bovem/Shell.html +2292 -0
- data/doc/Bovem/Version.html +189 -0
- data/doc/_index.html +214 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +328 -0
- data/doc/file.README.html +105 -0
- data/doc/file_list.html +55 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +105 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +476 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/bovem/console.rb +1 -1
- data/lib/bovem/version.rb +1 -1
- data/spec/bovem/console_spec.rb +8 -8
- metadata +44 -72
data/doc/Bovem.html
ADDED
@@ -0,0 +1,185 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Module: Bovem
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.2.1
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '';
|
20
|
+
framesUrl = "frames.html#!" + escape(window.location.href);
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="_index.html">Index (B)</a> »
|
35
|
+
|
36
|
+
|
37
|
+
<span class="title">Bovem</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Module: Bovem
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
<dt class="r1 last">Defined in:</dt>
|
82
|
+
<dd class="r1 last">lib/bovem/shell.rb<span class="defines">,<br />
|
83
|
+
lib/bovem/errors.rb,<br /> lib/bovem/logger.rb,<br /> lib/bovem/console.rb,<br /> lib/bovem/version.rb,<br /> lib/bovem/configuration.rb</span>
|
84
|
+
</dd>
|
85
|
+
|
86
|
+
</dl>
|
87
|
+
<div class="clear"></div>
|
88
|
+
|
89
|
+
<h2>Overview</h2><div class="docstring">
|
90
|
+
<div class="discussion">
|
91
|
+
<p>This file is part of the bovem gem. Copyright (C) 2012 and above Shogun <shogun_panda@me.com>.
|
92
|
+
Licensed under the MIT license, which can be found at <a href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a>.</p>
|
93
|
+
|
94
|
+
|
95
|
+
</div>
|
96
|
+
</div>
|
97
|
+
<div class="tags">
|
98
|
+
|
99
|
+
|
100
|
+
</div><h2>Defined Under Namespace</h2>
|
101
|
+
<p class="children">
|
102
|
+
|
103
|
+
|
104
|
+
<strong class="modules">Modules:</strong> <span class='object_link'><a href="Bovem/Errors.html" title="Bovem::Errors (module)">Errors</a></span>, <span class='object_link'><a href="Bovem/Version.html" title="Bovem::Version (module)">Version</a></span>
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Bovem/Configuration.html" title="Bovem::Configuration (class)">Configuration</a></span>, <span class='object_link'><a href="Bovem/Console.html" title="Bovem::Console (class)">Console</a></span>, <span class='object_link'><a href="Bovem/Logger.html" title="Bovem::Logger (class)">Logger</a></span>, <span class='object_link'><a href="Bovem/Shell.html" title="Bovem::Shell (class)">Shell</a></span>
|
109
|
+
|
110
|
+
|
111
|
+
</p>
|
112
|
+
|
113
|
+
<h2>Constant Summary</h2>
|
114
|
+
|
115
|
+
<dl class="constants">
|
116
|
+
|
117
|
+
<dt id="TERM_COLORS-constant" class="">TERM_COLORS =
|
118
|
+
<div class="docstring">
|
119
|
+
<div class="discussion">
|
120
|
+
<p>List of valid terminal colors.</p>
|
121
|
+
|
122
|
+
|
123
|
+
</div>
|
124
|
+
</div>
|
125
|
+
<div class="tags">
|
126
|
+
|
127
|
+
|
128
|
+
</div>
|
129
|
+
</dt>
|
130
|
+
<dd><pre class="code"><span class='lbrace'>{</span>
|
131
|
+
<span class='symbol'>:black</span> <span class='op'>=></span> <span class='int'>0</span><span class='comma'>,</span>
|
132
|
+
<span class='symbol'>:red</span> <span class='op'>=></span> <span class='int'>1</span><span class='comma'>,</span>
|
133
|
+
<span class='symbol'>:green</span> <span class='op'>=></span> <span class='int'>2</span><span class='comma'>,</span>
|
134
|
+
<span class='symbol'>:yellow</span> <span class='op'>=></span> <span class='int'>3</span><span class='comma'>,</span>
|
135
|
+
<span class='symbol'>:blue</span> <span class='op'>=></span> <span class='int'>4</span><span class='comma'>,</span>
|
136
|
+
<span class='symbol'>:magenta</span> <span class='op'>=></span> <span class='int'>5</span><span class='comma'>,</span>
|
137
|
+
<span class='symbol'>:cyan</span> <span class='op'>=></span> <span class='int'>6</span><span class='comma'>,</span>
|
138
|
+
<span class='symbol'>:white</span> <span class='op'>=></span> <span class='int'>7</span><span class='comma'>,</span>
|
139
|
+
<span class='symbol'>:default</span> <span class='op'>=></span> <span class='int'>9</span><span class='comma'>,</span>
|
140
|
+
<span class='rbrace'>}</span></pre></dd>
|
141
|
+
|
142
|
+
<dt id="TERM_EFFECTS-constant" class="">TERM_EFFECTS =
|
143
|
+
<div class="docstring">
|
144
|
+
<div class="discussion">
|
145
|
+
<p>List of valid terminal text effects.</p>
|
146
|
+
|
147
|
+
|
148
|
+
</div>
|
149
|
+
</div>
|
150
|
+
<div class="tags">
|
151
|
+
|
152
|
+
|
153
|
+
</div>
|
154
|
+
</dt>
|
155
|
+
<dd><pre class="code"><span class='lbrace'>{</span>
|
156
|
+
<span class='symbol'>:reset</span> <span class='op'>=></span> <span class='int'>0</span><span class='comma'>,</span>
|
157
|
+
<span class='symbol'>:bright</span> <span class='op'>=></span> <span class='int'>1</span><span class='comma'>,</span>
|
158
|
+
<span class='symbol'>:italic</span> <span class='op'>=></span> <span class='int'>3</span><span class='comma'>,</span>
|
159
|
+
<span class='symbol'>:underline</span> <span class='op'>=></span> <span class='int'>4</span><span class='comma'>,</span>
|
160
|
+
<span class='symbol'>:blink</span> <span class='op'>=></span> <span class='int'>5</span><span class='comma'>,</span>
|
161
|
+
<span class='symbol'>:inverse</span> <span class='op'>=></span> <span class='int'>7</span><span class='comma'>,</span>
|
162
|
+
<span class='symbol'>:hide</span> <span class='op'>=></span> <span class='int'>8</span><span class='comma'>,</span>
|
163
|
+
<span class='rbrace'>}</span></pre></dd>
|
164
|
+
|
165
|
+
</dl>
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
</div>
|
177
|
+
|
178
|
+
<div id="footer">
|
179
|
+
Generated on Sun Oct 21 11:18:28 2012 by
|
180
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
181
|
+
0.8.2.1 (ruby-1.9.2).
|
182
|
+
</div>
|
183
|
+
|
184
|
+
</body>
|
185
|
+
</html>
|
@@ -0,0 +1,598 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Class: Bovem::Configuration
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.2.1
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '../';
|
20
|
+
framesUrl = "../frames.html#!" + escape(window.location.href);
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="../_index.html">Index (C)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../Bovem.html" title="Bovem (module)">Bovem</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">Configuration</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="../class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="../method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="../file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Class: Bovem::Configuration
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
<dt class="r1">Inherits:</dt>
|
75
|
+
<dd class="r1">
|
76
|
+
<span class="inheritName">Object</span>
|
77
|
+
|
78
|
+
<ul class="fullTree">
|
79
|
+
<li>Object</li>
|
80
|
+
|
81
|
+
<li class="next">Bovem::Configuration</li>
|
82
|
+
|
83
|
+
</ul>
|
84
|
+
<a href="#" class="inheritanceTree">show all</a>
|
85
|
+
|
86
|
+
</dd>
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
<dt class="r2 last">Defined in:</dt>
|
97
|
+
<dd class="r2 last">lib/bovem/configuration.rb</dd>
|
98
|
+
|
99
|
+
</dl>
|
100
|
+
<div class="clear"></div>
|
101
|
+
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
103
|
+
<div class="discussion">
|
104
|
+
<p>This class holds the configuration of an applicaton.</p>
|
105
|
+
|
106
|
+
<p>Extend this class and add valid properties via <span class='object_link'><a href="#property-class_method" title="Bovem::Configuration.property (method)">property</a></span> method.
|
107
|
+
Example:</p>
|
108
|
+
|
109
|
+
<pre class="code ruby"><code>class MyConfiguration << Bovem::Configuration
|
110
|
+
property :property, :default => "VALUE"
|
111
|
+
end
|
112
|
+
|
113
|
+
# Configuration file
|
114
|
+
config.property = "VALUE"
|
115
|
+
</code></pre>
|
116
|
+
|
117
|
+
|
118
|
+
</div>
|
119
|
+
</div>
|
120
|
+
<div class="tags">
|
121
|
+
|
122
|
+
|
123
|
+
</div>
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
<h2>
|
132
|
+
Class Method Summary
|
133
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
134
|
+
</h2>
|
135
|
+
|
136
|
+
<ul class="summary">
|
137
|
+
|
138
|
+
<li class="public ">
|
139
|
+
<span class="summary_signature">
|
140
|
+
|
141
|
+
<a href="#property-class_method" title="property (class method)">+ (Object) <strong>property</strong>(name, options = {}) </a>
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
</span>
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
<span class="summary_desc"><div class='inline'><p>Defines a new property for the configuration.</p>
|
156
|
+
</div></span>
|
157
|
+
|
158
|
+
</li>
|
159
|
+
|
160
|
+
|
161
|
+
</ul>
|
162
|
+
|
163
|
+
<h2>
|
164
|
+
Instance Method Summary
|
165
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
166
|
+
</h2>
|
167
|
+
|
168
|
+
<ul class="summary">
|
169
|
+
|
170
|
+
<li class="public ">
|
171
|
+
<span class="summary_signature">
|
172
|
+
|
173
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Configuration) <strong>initialize</strong>(file = nil, overrides = {}, logger = nil) </a>
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
</span>
|
178
|
+
|
179
|
+
|
180
|
+
<span class="note title constructor">constructor</span>
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
<span class="summary_desc"><div class='inline'><p>Creates a new configuration.</p>
|
190
|
+
</div></span>
|
191
|
+
|
192
|
+
</li>
|
193
|
+
|
194
|
+
|
195
|
+
<li class="public ">
|
196
|
+
<span class="summary_signature">
|
197
|
+
|
198
|
+
<a href="#parse-instance_method" title="#parse (instance method)">- (Object) <strong>parse</strong>(file = nil, overrides = {}, logger = nil) </a>
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
</span>
|
203
|
+
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
<span class="summary_desc"><div class='inline'><p>Parses a configuration file.</p>
|
213
|
+
</div></span>
|
214
|
+
|
215
|
+
</li>
|
216
|
+
|
217
|
+
|
218
|
+
</ul>
|
219
|
+
|
220
|
+
|
221
|
+
<div id="constructor_details" class="method_details_list">
|
222
|
+
<h2>Constructor Details</h2>
|
223
|
+
|
224
|
+
<div class="method_details first">
|
225
|
+
<h3 class="signature first" id="initialize-instance_method">
|
226
|
+
|
227
|
+
- (<tt><span class='object_link'><a href="" title="Bovem::Configuration (class)">Configuration</a></span></tt>) <strong>initialize</strong>(file = nil, overrides = {}, logger = nil)
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
</h3><div class="docstring">
|
234
|
+
<div class="discussion">
|
235
|
+
<p>Creates a new configuration.</p>
|
236
|
+
|
237
|
+
<p>A configuration file is a plain Ruby file with a top-level <span class='object_link'><a href="" title="Bovem::Configuration (class)">config</a></span> object.</p>
|
238
|
+
|
239
|
+
|
240
|
+
</div>
|
241
|
+
</div>
|
242
|
+
<div class="tags">
|
243
|
+
<p class="tag_title">Parameters:</p>
|
244
|
+
<ul class="param">
|
245
|
+
|
246
|
+
<li>
|
247
|
+
|
248
|
+
<span class='name'>file</span>
|
249
|
+
|
250
|
+
|
251
|
+
<span class='type'>(<tt>String</tt>)</span>
|
252
|
+
|
253
|
+
|
254
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
255
|
+
|
256
|
+
|
257
|
+
—
|
258
|
+
<div class='inline'><p>The file to read.</p>
|
259
|
+
</div>
|
260
|
+
|
261
|
+
</li>
|
262
|
+
|
263
|
+
<li>
|
264
|
+
|
265
|
+
<span class='name'>overrides</span>
|
266
|
+
|
267
|
+
|
268
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
269
|
+
|
270
|
+
|
271
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
272
|
+
|
273
|
+
|
274
|
+
—
|
275
|
+
<div class='inline'><p>A set of values which override those set in the configuration file.</p>
|
276
|
+
</div>
|
277
|
+
|
278
|
+
</li>
|
279
|
+
|
280
|
+
<li>
|
281
|
+
|
282
|
+
<span class='name'>logger</span>
|
283
|
+
|
284
|
+
|
285
|
+
<span class='type'>(<tt><span class='object_link'><a href="Logger.html" title="Bovem::Logger (class)">Logger</a></span></tt>)</span>
|
286
|
+
|
287
|
+
|
288
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
289
|
+
|
290
|
+
|
291
|
+
—
|
292
|
+
<div class='inline'><p>The logger to use for notifications.</p>
|
293
|
+
</div>
|
294
|
+
|
295
|
+
</li>
|
296
|
+
|
297
|
+
</ul>
|
298
|
+
|
299
|
+
|
300
|
+
<p class="tag_title">See Also:</p>
|
301
|
+
<ul class="see">
|
302
|
+
|
303
|
+
<li><span class='object_link'><a href="#parse-instance_method" title="Bovem::Configuration#parse (method)">#parse</a></span></li>
|
304
|
+
|
305
|
+
</ul>
|
306
|
+
|
307
|
+
</div><table class="source_code">
|
308
|
+
<tr>
|
309
|
+
<td>
|
310
|
+
<pre class="lines">
|
311
|
+
|
312
|
+
|
313
|
+
30
|
314
|
+
31
|
315
|
+
32</pre>
|
316
|
+
</td>
|
317
|
+
<td>
|
318
|
+
<pre class="code"><span class="info file"># File 'lib/bovem/configuration.rb', line 30</span>
|
319
|
+
|
320
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_overrides'>overrides</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_logger'>logger</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
321
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span><span class='comma'>,</span> <span class='id identifier rubyid_overrides'>overrides</span><span class='comma'>,</span> <span class='id identifier rubyid_logger'>logger</span><span class='rparen'>)</span>
|
322
|
+
<span class='kw'>end</span></pre>
|
323
|
+
</td>
|
324
|
+
</tr>
|
325
|
+
</table>
|
326
|
+
</div>
|
327
|
+
|
328
|
+
</div>
|
329
|
+
|
330
|
+
|
331
|
+
<div id="class_method_details" class="method_details_list">
|
332
|
+
<h2>Class Method Details</h2>
|
333
|
+
|
334
|
+
|
335
|
+
<div class="method_details first">
|
336
|
+
<h3 class="signature first" id="property-class_method">
|
337
|
+
|
338
|
+
+ (<tt>Object</tt>) <strong>property</strong>(name, options = {})
|
339
|
+
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
</h3><div class="docstring">
|
345
|
+
<div class="discussion">
|
346
|
+
<p>Defines a new property for the configuration.</p>
|
347
|
+
|
348
|
+
|
349
|
+
</div>
|
350
|
+
</div>
|
351
|
+
<div class="tags">
|
352
|
+
<p class="tag_title">Parameters:</p>
|
353
|
+
<ul class="param">
|
354
|
+
|
355
|
+
<li>
|
356
|
+
|
357
|
+
<span class='name'>name</span>
|
358
|
+
|
359
|
+
|
360
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
—
|
365
|
+
<div class='inline'><p>The name of the property.</p>
|
366
|
+
</div>
|
367
|
+
|
368
|
+
</li>
|
369
|
+
|
370
|
+
<li>
|
371
|
+
|
372
|
+
<span class='name'>options</span>
|
373
|
+
|
374
|
+
|
375
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
376
|
+
|
377
|
+
|
378
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
379
|
+
|
380
|
+
|
381
|
+
—
|
382
|
+
<div class='inline'><p>A set of options for the property. Currently, only <code>:default</code> (which holds the default value) is supported.</p>
|
383
|
+
</div>
|
384
|
+
|
385
|
+
</li>
|
386
|
+
|
387
|
+
</ul>
|
388
|
+
|
389
|
+
|
390
|
+
</div><table class="source_code">
|
391
|
+
<tr>
|
392
|
+
<td>
|
393
|
+
<pre class="lines">
|
394
|
+
|
395
|
+
|
396
|
+
81
|
397
|
+
82
|
398
|
+
83
|
399
|
+
84
|
400
|
+
85
|
401
|
+
86
|
402
|
+
87
|
403
|
+
88
|
404
|
+
89
|
405
|
+
90
|
406
|
+
91</pre>
|
407
|
+
</td>
|
408
|
+
<td>
|
409
|
+
<pre class="code"><span class="info file"># File 'lib/bovem/configuration.rb', line 81</span>
|
410
|
+
|
411
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_property'>property</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
412
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
413
|
+
|
414
|
+
<span class='id identifier rubyid_define_method'>define_method</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
415
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:default</span><span class='rbracket'>]</span>
|
416
|
+
<span class='kw'>end</span>
|
417
|
+
|
418
|
+
<span class='id identifier rubyid_define_method'>define_method</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
|
419
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
420
|
+
<span class='kw'>end</span>
|
421
|
+
<span class='kw'>end</span></pre>
|
422
|
+
</td>
|
423
|
+
</tr>
|
424
|
+
</table>
|
425
|
+
</div>
|
426
|
+
|
427
|
+
</div>
|
428
|
+
|
429
|
+
<div id="instance_method_details" class="method_details_list">
|
430
|
+
<h2>Instance Method Details</h2>
|
431
|
+
|
432
|
+
|
433
|
+
<div class="method_details first">
|
434
|
+
<h3 class="signature first" id="parse-instance_method">
|
435
|
+
|
436
|
+
- (<tt>Object</tt>) <strong>parse</strong>(file = nil, overrides = {}, logger = nil)
|
437
|
+
|
438
|
+
|
439
|
+
|
440
|
+
|
441
|
+
|
442
|
+
</h3><div class="docstring">
|
443
|
+
<div class="discussion">
|
444
|
+
<p>Parses a configuration file.</p>
|
445
|
+
|
446
|
+
<p>A configuration file is a plain Ruby file with a top-level <span class='object_link'><a href="" title="Bovem::Configuration (class)">config</a></span> object.</p>
|
447
|
+
|
448
|
+
<p>Example:</p>
|
449
|
+
|
450
|
+
<pre class="code ruby"><code><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_property'>property</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>VALUE</span><span class='tstring_end'>"</span></span>
|
451
|
+
</code></pre>
|
452
|
+
|
453
|
+
|
454
|
+
</div>
|
455
|
+
</div>
|
456
|
+
<div class="tags">
|
457
|
+
<p class="tag_title">Parameters:</p>
|
458
|
+
<ul class="param">
|
459
|
+
|
460
|
+
<li>
|
461
|
+
|
462
|
+
<span class='name'>file</span>
|
463
|
+
|
464
|
+
|
465
|
+
<span class='type'>(<tt>String</tt>)</span>
|
466
|
+
|
467
|
+
|
468
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
469
|
+
|
470
|
+
|
471
|
+
—
|
472
|
+
<div class='inline'><p>The file to read.</p>
|
473
|
+
</div>
|
474
|
+
|
475
|
+
</li>
|
476
|
+
|
477
|
+
<li>
|
478
|
+
|
479
|
+
<span class='name'>logger</span>
|
480
|
+
|
481
|
+
|
482
|
+
<span class='type'>(<tt><span class='object_link'><a href="Logger.html" title="Bovem::Logger (class)">Logger</a></span></tt>)</span>
|
483
|
+
|
484
|
+
|
485
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
486
|
+
|
487
|
+
|
488
|
+
—
|
489
|
+
<div class='inline'><p>The logger to use for notifications.</p>
|
490
|
+
</div>
|
491
|
+
|
492
|
+
</li>
|
493
|
+
|
494
|
+
<li>
|
495
|
+
|
496
|
+
<span class='name'>overrides</span>
|
497
|
+
|
498
|
+
|
499
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
500
|
+
|
501
|
+
|
502
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
503
|
+
|
504
|
+
|
505
|
+
—
|
506
|
+
<div class='inline'><p>A set of values which override those set in the configuration file.</p>
|
507
|
+
</div>
|
508
|
+
|
509
|
+
</li>
|
510
|
+
|
511
|
+
</ul>
|
512
|
+
|
513
|
+
|
514
|
+
</div><table class="source_code">
|
515
|
+
<tr>
|
516
|
+
<td>
|
517
|
+
<pre class="lines">
|
518
|
+
|
519
|
+
|
520
|
+
47
|
521
|
+
48
|
522
|
+
49
|
523
|
+
50
|
524
|
+
51
|
525
|
+
52
|
526
|
+
53
|
527
|
+
54
|
528
|
+
55
|
529
|
+
56
|
530
|
+
57
|
531
|
+
58
|
532
|
+
59
|
533
|
+
60
|
534
|
+
61
|
535
|
+
62
|
536
|
+
63
|
537
|
+
64
|
538
|
+
65
|
539
|
+
66
|
540
|
+
67
|
541
|
+
68
|
542
|
+
69
|
543
|
+
70
|
544
|
+
71
|
545
|
+
72
|
546
|
+
73
|
547
|
+
74
|
548
|
+
75</pre>
|
549
|
+
</td>
|
550
|
+
<td>
|
551
|
+
<pre class="code"><span class="info file"># File 'lib/bovem/configuration.rb', line 47</span>
|
552
|
+
|
553
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_overrides'>overrides</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_logger'>logger</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
554
|
+
<span class='id identifier rubyid_file'>file</span> <span class='op'>=</span> <span class='id identifier rubyid_file'>file</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_expand_path'>expand_path</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
555
|
+
|
556
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_file'>file</span> <span class='kw'>then</span> <span class='comment'># We have a file to parse
|
557
|
+
</span> <span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_readable?'>readable?</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
558
|
+
<span class='kw'>begin</span>
|
559
|
+
<span class='comment'># Open the file
|
560
|
+
</span> <span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_realpath'>realpath</span>
|
561
|
+
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Using configuration file </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_path'>path</span><span class='rbrace'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_logger'>logger</span>
|
562
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_config'>config</span><span class='op'>|</span>
|
563
|
+
<span class='id identifier rubyid_eval'>eval</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
564
|
+
<span class='kw'>end</span>
|
565
|
+
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
566
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidConfiguration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Config file </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file'>file</span><span class='rbrace'>}</span><span class='tstring_content'> is not valid.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
567
|
+
<span class='kw'>end</span>
|
568
|
+
<span class='kw'>else</span>
|
569
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidConfiguration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Config file </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file'>file</span><span class='rbrace'>}</span><span class='tstring_content'> is not existing or not readable.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
570
|
+
<span class='kw'>end</span>
|
571
|
+
<span class='kw'>end</span>
|
572
|
+
|
573
|
+
<span class='comment'># Apply overrides
|
574
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_overrides'>overrides</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Hash</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
575
|
+
<span class='id identifier rubyid_overrides'>overrides</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span>
|
576
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='rbrace'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='rbrace'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
577
|
+
<span class='kw'>end</span>
|
578
|
+
<span class='kw'>end</span>
|
579
|
+
|
580
|
+
<span class='kw'>self</span>
|
581
|
+
<span class='kw'>end</span></pre>
|
582
|
+
</td>
|
583
|
+
</tr>
|
584
|
+
</table>
|
585
|
+
</div>
|
586
|
+
|
587
|
+
</div>
|
588
|
+
|
589
|
+
</div>
|
590
|
+
|
591
|
+
<div id="footer">
|
592
|
+
Generated on Sun Oct 21 11:18:29 2012 by
|
593
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
594
|
+
0.8.2.1 (ruby-1.9.2).
|
595
|
+
</div>
|
596
|
+
|
597
|
+
</body>
|
598
|
+
</html>
|