rconfig 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. data/ChangeLog +7 -0
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +2 -0
  4. data/Rakefile +11 -8
  5. data/doc/Array.html +184 -0
  6. data/doc/Hash.html +360 -0
  7. data/doc/NilClass.html +233 -0
  8. data/doc/RConfig.html +328 -0
  9. data/doc/RConfig/Callbacks.html +295 -0
  10. data/doc/RConfig/Cascade.html +316 -0
  11. data/doc/RConfig/Config.html +441 -0
  12. data/doc/RConfig/ConfigError.html +187 -0
  13. data/doc/RConfig/Constants.html +271 -0
  14. data/doc/RConfig/CoreMethods.html +814 -0
  15. data/doc/RConfig/DisabledLogger.html +424 -0
  16. data/doc/RConfig/Exceptions.html +266 -0
  17. data/doc/RConfig/Generators.html +186 -0
  18. data/doc/RConfig/Generators/InstallGenerator.html +233 -0
  19. data/doc/RConfig/InvalidLoadPathError.html +187 -0
  20. data/doc/RConfig/LoadPaths.html +375 -0
  21. data/doc/RConfig/Logger.html +184 -0
  22. data/doc/RConfig/PropertiesFile.html +399 -0
  23. data/doc/RConfig/Reload.html +481 -0
  24. data/doc/RConfig/Settings.html +188 -0
  25. data/doc/RConfig/Utils.html +841 -0
  26. data/doc/README_rdoc.html +331 -0
  27. data/doc/String.html +184 -0
  28. data/doc/created.rid +21 -1
  29. data/doc/index.html +423 -20
  30. data/doc/lib/generators/rconfig/install_generator_rb.html +52 -0
  31. data/doc/lib/generators/rconfig/templates/rconfig_rb.html +56 -0
  32. data/doc/lib/rconfig/callbacks_rb.html +52 -0
  33. data/doc/lib/rconfig/cascade_rb.html +52 -0
  34. data/doc/lib/rconfig/config_rb.html +61 -0
  35. data/doc/lib/rconfig/constants_rb.html +52 -0
  36. data/doc/lib/rconfig/core_ext/array_rb.html +52 -0
  37. data/doc/lib/rconfig/core_ext/hash_rb.html +61 -0
  38. data/doc/lib/rconfig/core_ext/nil_rb.html +52 -0
  39. data/doc/lib/rconfig/core_ext/string_rb.html +52 -0
  40. data/doc/lib/rconfig/core_methods_rb.html +55 -0
  41. data/doc/lib/rconfig/exceptions_rb.html +58 -0
  42. data/doc/lib/rconfig/load_paths_rb.html +52 -0
  43. data/doc/lib/rconfig/logger_rb.html +52 -0
  44. data/doc/lib/rconfig/properties_file_rb.html +93 -0
  45. data/doc/lib/rconfig/reload_rb.html +52 -0
  46. data/doc/lib/rconfig/settings_rb.html +52 -0
  47. data/doc/lib/rconfig/utils_rb.html +52 -0
  48. data/doc/lib/rconfig_rb.html +151 -0
  49. data/doc/rdoc.css +706 -0
  50. data/lib/rconfig.rb +1 -1
  51. data/lib/rconfig/load_paths.rb +2 -2
  52. data/lib/tasks/rdoc.rake +3 -4
  53. data/rconfig.gemspec +4 -2
  54. data/spec/config/erb_contents.yml +3 -0
  55. data/spec/config/props_config.conf +18 -0
  56. data/spec/config/spec.yml +17 -0
  57. data/spec/config/xml_config.xml +22 -0
  58. data/spec/config2/.gitkeep +0 -0
  59. data/spec/rconfig/load_paths_spec.rb +37 -0
  60. data/spec/rconfig/reload_spec.rb +37 -0
  61. data/spec/rconfig_spec.rb +61 -3
  62. data/spec/spec_helper.rb +12 -8
  63. metadata +82 -40
  64. data/doc/classes/ClassVariables.html +0 -111
  65. data/doc/classes/ConfigError.html +0 -120
  66. data/doc/classes/ConfigHash.html +0 -354
  67. data/doc/classes/Constants.html +0 -226
  68. data/doc/classes/Hash.html +0 -269
  69. data/doc/classes/InvalidConfigPathError.html +0 -119
  70. data/doc/classes/Object.html +0 -220
  71. data/doc/classes/PropertiesFileParser.html +0 -282
  72. data/doc/classes/RConfig.html +0 -1745
  73. data/doc/files/README_rdoc.html +0 -271
  74. data/doc/files/lib/rconfig/class_variables_rb.html +0 -107
  75. data/doc/files/lib/rconfig/config_hash_rb.html +0 -114
  76. data/doc/files/lib/rconfig/constants_rb.html +0 -101
  77. data/doc/files/lib/rconfig/core_ext/hash_rb.html +0 -114
  78. data/doc/files/lib/rconfig/core_ext/object_rb.html +0 -101
  79. data/doc/files/lib/rconfig/core_ext_rb.html +0 -114
  80. data/doc/files/lib/rconfig/exceptions_rb.html +0 -110
  81. data/doc/files/lib/rconfig/properties_file_parser_rb.html +0 -146
  82. data/doc/files/lib/rconfig/rconfig_rb.html +0 -186
  83. data/doc/files/lib/rconfig_rb.html +0 -117
  84. data/doc/fr_class_index.html +0 -35
  85. data/doc/fr_file_index.html +0 -37
  86. data/doc/fr_method_index.html +0 -75
  87. data/doc/rdoc-style.css +0 -208
  88. data/lib/tasks/gem.rake +0 -14
  89. data/lib/tasks/spec.rake +0 -25
  90. data/spec/core_ext/object_spec.rb +0 -44
@@ -1,271 +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>File: README.rdoc</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="fileHeader">
50
- <h1>README.rdoc</h1>
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td><strong>Path:</strong></td>
54
- <td>README.rdoc
55
- </td>
56
- </tr>
57
- <tr class="top-aligned-row">
58
- <td><strong>Last Update:</strong></td>
59
- <td>Fri Feb 12 15:17:46 -0600 2010</td>
60
- </tr>
61
- </table>
62
- </div>
63
- <!-- banner header -->
64
-
65
- <div id="bodyContent">
66
-
67
-
68
-
69
- <div id="contextContent">
70
-
71
- <div id="description">
72
- <h1><a href="../classes/RConfig.html">RConfig</a></h1>
73
- <p>
74
- The complete solution for Ruby Configuration Management. <a
75
- href="../classes/RConfig.html">RConfig</a> is a Ruby library that manages
76
- configuration within Ruby applications. It bridges the gap between yaml,
77
- xml, and key/value based properties files, by providing a centralized
78
- solution to handle application configuration from one location. It provides
79
- the simplicity of hash-based access, that Rubyists have come to know and
80
- love, supporting your configuration style of choice, while providing many
81
- new features, and an elegant API.
82
- </p>
83
- <h2>Features</h2>
84
- <ul>
85
- <li>Simple, easy to install and use.
86
-
87
- </li>
88
- <li>Supports yaml, xml, and properties files.
89
-
90
- </li>
91
- <li>Yaml and xml files support infinite level of configuration grouping.
92
-
93
- </li>
94
- <li>Properties files support git config-like configuration grouping.
95
-
96
- </li>
97
- <li>Intuitive dot-notation &#8216;key chaining&#8217; argument access.
98
-
99
- </li>
100
- <li>Simple well-known hash/array based argument access.
101
-
102
- </li>
103
- <li>Implements multilevel caching to reduce disk access.
104
-
105
- </li>
106
- <li>Short-hand access to &#8216;global&#8217; application configuration, and
107
- shell environment.
108
-
109
- </li>
110
- <li>Overlays multiple configuration files to support environment and
111
- host-specific configuration.
112
-
113
- </li>
114
- <li>Onload callbacks for single, multiple, or any config file.
115
-
116
- </li>
117
- </ul>
118
- <h2>Example</h2>
119
- <pre>
120
- shell/console =&gt;
121
- export LANG=en
122
-
123
- demo.yml =&gt;
124
- server:
125
- address: host.domain.com
126
- port: 81
127
- ...
128
-
129
- application.properties =&gt;
130
- debug_level=verbose
131
- ...
132
-
133
- demo.rb =&gt;
134
- require 'rconfig'
135
- RConfig.config_paths = ['$HOME/config', '#{APP_ROOT}/config', '/demo/conf']
136
- RConfig.demo[:server][:port] =&gt; 81
137
- RConfig.demo.server.address =&gt; 'host.domain.com'
138
-
139
- RConfig[:debug_level] =&gt; 'verbose'
140
- RConfig[:lang] =&gt; 'en'
141
- ...
142
- </pre>
143
- <h2>Requirements</h2>
144
- <ul>
145
- <li>Ruby (Developed on 1.8.7)
146
-
147
- </li>
148
- <li>RubyGems (Developed on 1.3.5)
149
-
150
- </li>
151
- <li>activesupport (2.2.2+)
152
-
153
- </li>
154
- </ul>
155
- <h2>Install</h2>
156
- <pre>
157
- sudo gem install rconfig
158
- </pre>
159
- <h2>ToDo</h2>
160
- <ol>
161
- <li>Finish JSpecs for existing code (Yeah, I know. You’re supposed to right
162
- the JSpecs first.)
163
-
164
- </li>
165
- <li>Create re-factor goals based on Caliper metrics.
166
-
167
- </li>
168
- <li>Prep for cleaner, stabler release.
169
-
170
- </li>
171
- </ol>
172
- <h2>Feature Ideas</h2>
173
- <ul>
174
- <li>Support for git-like config/properties files (You know, with the namespaced
175
- header blocks.).
176
-
177
- </li>
178
- <li>Support for Database-driven configuration.
179
-
180
- </li>
181
- <li>Removing dependency on ActiveSupport (Pull in needed code.).
182
-
183
- </li>
184
- <li>These are features I’m considering. E-mail me &lt;rahmal@gmail.com&gt; If
185
- you like to see a feature added or expedited.
186
-
187
- </li>
188
- </ul>
189
- <h2>Known Issues</h2>
190
- <ul>
191
- <li>None
192
-
193
- </li>
194
- </ul>
195
- <h2>License</h2>
196
- <p>
197
- (The MIT License)
198
- </p>
199
- <p>
200
- Copyright (c) 2009 Rahmal Conda &lt;rahmal@gmail.com&gt;
201
- </p>
202
- <p>
203
- Permission is hereby granted, free of charge, to any person obtaining a
204
- copy of this software and associated documentation files (the
205
- &#8216;Software&#8217;), to deal in the Software without restriction,
206
- including without limitation the rights to use, copy, modify, merge,
207
- publish, distribute, sublicense, and/or sell copies of the Software, and to
208
- permit persons to whom the Software is furnished to do so, subject to the
209
- following conditions:
210
- </p>
211
- <p>
212
- The above copyright notice and this permission notice shall be included in
213
- all copies or substantial portions of the Software.
214
- </p>
215
- <p>
216
- THE SOFTWARE IS PROVIDED &#8216;AS IS&#8217;, WITHOUT WARRANTY OF ANY KIND,
217
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
218
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
219
- NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
220
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
221
- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
222
- USE OR OTHER DEALINGS IN THE SOFTWARE.
223
- </p>
224
- <h2>Credits</h2>
225
- <p>
226
- Thanks to everyone I included here. <a
227
- href="../classes/RConfig.html">RConfig</a> would not exist without their
228
- contributions.
229
- </p>
230
- <p>
231
- Mike Sandler, Kurt Stephens, CashNetUSA (CNU):
232
- </p>
233
- <ul>
234
- <li>Wrote the proprietary class <a href="../classes/RConfig.html">RConfig</a>
235
- was originally based on.
236
-
237
- </li>
238
- </ul>
239
-
240
- </div>
241
-
242
-
243
- </div>
244
-
245
-
246
- </div>
247
-
248
-
249
- <!-- if includes -->
250
-
251
- <div id="section">
252
-
253
-
254
-
255
-
256
-
257
-
258
-
259
-
260
- <!-- if method_list -->
261
-
262
-
263
- </div>
264
-
265
-
266
- <div id="validator-badges">
267
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
268
- </div>
269
-
270
- </body>
271
- </html>
@@ -1,107 +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>File: class_variables.rb</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="fileHeader">
50
- <h1>class_variables.rb</h1>
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td><strong>Path:</strong></td>
54
- <td>lib/rconfig/class_variables.rb
55
- </td>
56
- </tr>
57
- <tr class="top-aligned-row">
58
- <td><strong>Last Update:</strong></td>
59
- <td>Fri Feb 12 16:34:29 -0600 2010</td>
60
- </tr>
61
- </table>
62
- </div>
63
- <!-- banner header -->
64
-
65
- <div id="bodyContent">
66
-
67
-
68
-
69
- <div id="contextContent">
70
-
71
- <div id="description">
72
- <p>
73
- These are all the variables used to store RConfigs state.
74
- </p>
75
-
76
- </div>
77
-
78
-
79
- </div>
80
-
81
-
82
- </div>
83
-
84
-
85
- <!-- if includes -->
86
-
87
- <div id="section">
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
- <!-- if method_list -->
97
-
98
-
99
- </div>
100
-
101
-
102
- <div id="validator-badges">
103
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
104
- </div>
105
-
106
- </body>
107
- </html>
@@ -1,114 +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>File: config_hash.rb</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="fileHeader">
50
- <h1>config_hash.rb</h1>
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td><strong>Path:</strong></td>
54
- <td>lib/rconfig/config_hash.rb
55
- </td>
56
- </tr>
57
- <tr class="top-aligned-row">
58
- <td><strong>Last Update:</strong></td>
59
- <td>Wed Jan 06 00:15:55 -0600 2010</td>
60
- </tr>
61
- </table>
62
- </div>
63
- <!-- banner header -->
64
-
65
- <div id="bodyContent">
66
-
67
-
68
-
69
- <div id="contextContent">
70
-
71
- <div id="description">
72
- <p>
73
- Copyright (c) 2009 Rahmal Conda &lt;rahmal@gmail.com&gt;
74
- </p>
75
- <p>
76
- <a href="../../../classes/ConfigHash.html">ConfigHash</a> is a special
77
- class, derived from HashWithIndifferentAccess. It was specifically created
78
- for handling config data or creating mock objects from yaml files. It
79
- provides a dotted notation for accessing embedded hash values, similar to
80
- the way one might traverse a object tree.
81
- </p>
82
-
83
- </div>
84
-
85
-
86
- </div>
87
-
88
-
89
- </div>
90
-
91
-
92
- <!-- if includes -->
93
-
94
- <div id="section">
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
-
103
- <!-- if method_list -->
104
-
105
-
106
- </div>
107
-
108
-
109
- <div id="validator-badges">
110
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
111
- </div>
112
-
113
- </body>
114
- </html>