rconfig 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,9 @@
1
+ 0.4.1
2
+ =====
3
+ * Fixed error occuring in non-Rails apps (NameError/HashWithIndifferentAccess missing) - From vandries/rconfig (github)
4
+ * Fixed install generator
5
+ * Fixed application file shorthand (i.e. RConfig[key] == RConfig.application.key)
6
+
1
7
  0.4.0
2
8
  =====
3
9
  * Broke RConfig core into separate modules to decrease core class size.
@@ -13,8 +13,37 @@ The complete solution for Ruby Configuration Management. RConfig is a Ruby libra
13
13
  * Simple well-known hash/array based argument access.
14
14
  * Implements multilevel caching to reduce disk access.
15
15
  * Short-hand access to 'global' application configuration, and shell environment.
16
- * Overlays multiple configuration files to support environment and host-specific configuration.
17
- * Onload callbacks for single, multiple, or any config file.
16
+ * Cascades multiple configuration files to support environment and host-specific configuration.
17
+ * On-load callbacks for single, multiple, or any config file.
18
+ * Embedded ruby code with ERB templating.
19
+ * Support for referencing values in property files (Yaml also has built in support using node anchors).
20
+
21
+
22
+ == Getting Started
23
+ === Rails Apps
24
+ RConfig is released as a Ruby Gem. The gem is to be installed within a Ruby on Rails 3 application. To install, simply add the following to your Gemfile:
25
+
26
+ # Gemfile
27
+ gem 'rconfig'
28
+
29
+ After updating your bundle, run the installer
30
+
31
+ $> rails generate rconfig:install
32
+
33
+ The installer creates an initializer used for configuring defaults used by RConfig
34
+
35
+ === Non-Rails Apps
36
+ If you're not using RConfig in a Rails app, and you don't use Gemfile you can install RConfig with RubyGems
37
+
38
+ gem install rconfig
39
+
40
+
41
+ == Requirements
42
+ Starting with version 0.4.0, RConfig requires at least Ruby 1.9, and Rails 3. Previous versions can be used in Ruby 1.8 and Rails 2.2+. Non-rails projects need ActiveSupport (>= 3 for RConfig 0.4.0, and > 2.2 for RConfig 0.3).
43
+
44
+ * Ruby 1.9+
45
+ * ActiveSupport 3.0+
46
+
18
47
 
19
48
  == Example
20
49
 
@@ -25,10 +54,13 @@ The complete solution for Ruby Configuration Management. RConfig is a Ruby libra
25
54
  server:
26
55
  address: host.domain.com
27
56
  port: 81
57
+ host: <%= %x{host_name} %>
28
58
  ...
29
59
 
30
60
  application.properties =>
31
61
  debug_level=verbose
62
+ app_root=/home/rahmal/apps/rconfig
63
+ test_root=%{app_root}/tests
32
64
  ...
33
65
 
34
66
  demo.rb =>
@@ -36,35 +68,19 @@ The complete solution for Ruby Configuration Management. RConfig is a Ruby libra
36
68
  RConfig.config_paths = ['$HOME/config', '#{APP_ROOT}/config', '/demo/conf']
37
69
  RConfig.demo[:server][:port] => 81
38
70
  RConfig.demo.server.address => 'host.domain.com'
71
+ RConfig.demo.server.host => 'host.local'
72
+
73
+ RConfig.application.test_root => '/home/rahmal/apps/rconfig/tests'
39
74
 
40
75
  RConfig[:debug_level] => 'verbose'
41
76
  RConfig[:lang] => 'en'
42
77
  ...
43
78
 
44
- == Requirements
45
-
46
- * Ruby (Developed on 1.8.7)
47
- * RubyGems (Developed on 1.3.5)
48
- * activesupport (2.2.2+)
49
-
50
- == Install
51
-
52
- sudo gem install rconfig
53
-
54
- == ToDo
55
-
56
- 1. Finish JSpecs for existing code (Yeah, I know. You’re supposed to right the JSpecs first.)
57
- 2. Create re-factor goals based on Caliper metrics.
58
- 3. Prep for cleaner, stabler release.
59
-
60
-
61
- == Feature Ideas
62
79
 
63
- * Support for git-like config/properties files (You know, with the namespaced header blocks.).
64
- * Support for Database-driven configuration.
65
- * Removing dependency on ActiveSupport (Pull in needed code.).
66
- * These are features I’m considering. E-mail me <rahmal@gmail.com> If you like to see a feature added or expedited.
80
+ == Bugs and Feature Requests
67
81
 
82
+ * Bug Reports & Feature Requests: Please use to the [Issues page](https://github.com/rahmal/rconfig/issues)
83
+ * Want to Contribute? Send a Pull Request
68
84
 
69
85
  == Known Issues
70
86
 
@@ -1,11 +1,12 @@
1
1
  module RConfig
2
2
  module Generators
3
3
  class InstallGenerator < Rails::Generators::Base
4
- desc "Create RConfig settings initializer file"
5
- source_root File.expand_path("../templates", __FILE__)
4
+ namespace 'rconfig:install'
5
+ source_root File.expand_path('../templates', __FILE__)
6
+ desc 'Create RConfig settings initializer file'
6
7
 
7
8
  def copy_initializer
8
- template "rconfig.rb", "config/initializers/rconfig.rb"
9
+ template 'rconfig.rb', 'config/initializers/rconfig.rb'
9
10
  end
10
11
  end
11
12
  end
@@ -59,12 +59,13 @@
59
59
  # ...
60
60
  #
61
61
  require 'active_support'
62
+ require 'active_support/hash_with_indifferent_access'
62
63
  require 'rconfig/core_ext/array'
63
64
  require 'rconfig/core_ext/hash'
64
65
  require 'rconfig/core_ext/nil'
65
66
 
66
67
  module RConfig
67
- VERSION = '0.4.0'
68
+ VERSION = '0.4.1'
68
69
 
69
70
  autoload :Socket, 'socket'
70
71
  autoload :YAML, 'yaml'
@@ -222,7 +222,7 @@ module RConfig
222
222
  # the supported formats (yml, xml, conf, etc.)
223
223
  #
224
224
  def [](key, file=:application)
225
- self.config_for(file)[key] || ENV[key.to_s.upcase]
225
+ with_file(file, key) || ENV[key.to_s.upcase]
226
226
  end
227
227
 
228
228
  ##
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rconfig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-16 00:00:00.000000000Z
12
+ date: 2012-04-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70096588990020 !ruby/object:Gem::Requirement
16
+ requirement: &70294892823920 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70096588990020
24
+ version_requirements: *70294892823920
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70096588989460 !ruby/object:Gem::Requirement
27
+ requirement: &70294892823420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.3.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70096588989460
35
+ version_requirements: *70294892823420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &70096588989000 !ruby/object:Gem::Requirement
38
+ requirement: &70294892822960 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70096588989000
46
+ version_requirements: *70294892822960
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &70096588988520 !ruby/object:Gem::Requirement
49
+ requirement: &70294892822440 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: 1.6.4
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70096588988520
57
+ version_requirements: *70294892822440
58
58
  description: Configuration management library for Ruby applications.
59
59
  email:
60
60
  - rahmal@gmail.com
@@ -143,9 +143,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
143
143
  - - ! '>='
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
- segments:
147
- - 0
148
- hash: -4346478752822958469
149
146
  required_rubygems_version: !ruby/object:Gem::Requirement
150
147
  none: false
151
148
  requirements:
@@ -169,3 +166,4 @@ test_files:
169
166
  - spec/rconfig_spec.rb
170
167
  - spec/spec.opts
171
168
  - spec/spec_helper.rb
169
+ has_rdoc: