rails_config 0.4.2 → 0.5.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 398fad247176f6f529a62ac80b96358113f6e613
4
- data.tar.gz: a53c3e50550df2479cd9b5e176919e6da84f4c08
3
+ metadata.gz: e61cf6197d3a2803156500248660b7e93fb724ff
4
+ data.tar.gz: d6163325528368ca7ea2f31c7a5f1e4609faa2c5
5
5
  SHA512:
6
- metadata.gz: 9d5274236ebaf6b9ea22dd86ea157a66b8922ad868d455d6b98a08b54d5360271f0010dca3f97ee04daaf4516512a1c11f93db6f0a778c23d311c75034807178
7
- data.tar.gz: b04b85474cd08a0d73aa14e5a4a37791d0523e5a75494684cf663456877fe942d8e63a3e1d73a1c8a57ccdc3d922f110a114b2665e3331cdebda243f042698b5
6
+ metadata.gz: 39685ffecfdd708a5aa825a1a1ea323eeee36610b37bc95c471bc9033f722038d45039313003b77ec2934e941ba95e431d71dc9b2f9e62520eca5e2158bf5020
7
+ data.tar.gz: 539b6ef9a90acacba394d3c6d8fd6e3c62f7b330cdc2b52af5eb995597b9eeb37928b65344d3826eb3c3cf0e6f22390adb5d395bfa2ab6f6ed8e18d99362866d
data/README.md CHANGED
@@ -1,3 +1,4 @@
1
+ [![Build Status](https://api.travis-ci.org/railsconfig/rails_config.png?branch=master)](http://travis-ci.org/railsconfig/rails_config)
1
2
  [![Gem Version](https://badge.fury.io/rb/rails_config.svg)](http://badge.fury.io/rb/rails_config)
2
3
  [![Dependency Status](https://gemnasium.com/railsjedi/rails_config.svg)](https://gemnasium.com/railsjedi/rails_config)
3
4
 
@@ -110,10 +111,10 @@ Config entries are compiled from:
110
111
  config/settings.yml
111
112
  config/settings/#{environment}.yml
112
113
  config/environments/#{environment}.yml
113
-
114
+
114
115
  config/settings.local.yml
115
116
  config/settings/#{environment}.local.yml
116
- config/environments/#{environment}.local.yml
117
+ config/environments/#{environment}.local.yml
117
118
 
118
119
  Settings defined in files that are lower in the list override settings higher.
119
120
 
@@ -154,7 +155,7 @@ Example production environment config file:
154
155
 
155
156
  ### Developer specific config files
156
157
 
157
- If you want to have local settings, specific to your machine or development environment,
158
+ If you want to have local settings, specific to your machine or development environment,
158
159
  you can use the following files, which are automatically `.gitignored` :
159
160
 
160
161
  Rails.root.join("config", "settings.local.yml").to_s,
@@ -180,7 +181,7 @@ Settings.add_source!("#{Rails.root}/config/settings/local.yml")
180
181
  Settings.reload!
181
182
  ```
182
183
 
183
- > Note: this is an example usage, it is easier to just use the default local files `settings.local.yml, settings/#{Rails.env}.local.yml and environments/#{Rails.env}.local.yml`
184
+ > Note: this is an example usage, it is easier to just use the default local files `settings.local.yml, settings/#{Rails.env}.local.yml and environments/#{Rails.env}.local.yml`
184
185
  > for your developer specific settings.
185
186
 
186
187
  ## Embedded Ruby (ERB)
@@ -18,6 +18,8 @@ module RailsConfig
18
18
  end
19
19
 
20
20
  def modify_gitignore
21
+ create_file '.gitignore' unless File.exists? '.gitignore'
22
+
21
23
  append_to_file '.gitignore' do
22
24
  "\n" +
23
25
  "config/settings.local.yml\n" +
@@ -27,4 +29,4 @@ module RailsConfig
27
29
  end
28
30
  end
29
31
  end
30
- end
32
+ end
@@ -15,13 +15,7 @@ module RailsConfig
15
15
 
16
16
  # Parse the settings before any of the initializers
17
17
  RailsConfig.load_and_set_settings(
18
- ::Rails.root.join("config", "settings.yml").to_s,
19
- ::Rails.root.join("config", "settings", "#{::Rails.env}.yml").to_s,
20
- ::Rails.root.join("config", "environments", "#{::Rails.env}.yml").to_s,
21
-
22
- ::Rails.root.join("config", "settings.local.yml").to_s,
23
- ::Rails.root.join("config", "settings", "#{::Rails.env}.local.yml").to_s,
24
- ::Rails.root.join("config", "environments", "#{::Rails.env}.local.yml").to_s
18
+ RailsConfig.setting_files(::Rails.root.join("config"), ::Rails.env)
25
19
  )
26
20
  end
27
21
 
@@ -37,4 +31,4 @@ module RailsConfig
37
31
  end
38
32
  end
39
33
  end
40
- end
34
+ end
@@ -18,18 +18,9 @@ module RailsConfig
18
18
  root = Padrino.root
19
19
  end
20
20
 
21
- RailsConfig.load_and_set_settings(
22
- File.join(root.to_s, "config", "settings.yml").to_s,
23
- File.join(root.to_s, "config", "settings", "#{env}.yml").to_s,
24
- File.join(root.to_s, "config", "environments", "#{env}.yml").to_s,
25
-
26
- File.join(root.to_s, "config", "settings.local.yml").to_s,
27
- File.join(root.to_s, "config", "settings", "#{env}.local.yml").to_s,
28
- File.join(root.to_s, "config", "environments", "#{env}.local.yml").to_s
29
- )
21
+ RailsConfig.load_and_set_settings(RailsConfig.setting_files(File.join(root, 'config'), env))
30
22
 
31
23
  inner_app.use(::RailsConfig::Rack::Reloader) if inner_app.development?
32
24
  end
33
25
  end
34
-
35
- end
26
+ end
@@ -1,12 +1,10 @@
1
1
  require 'ostruct'
2
2
  module RailsConfig
3
3
  class Options < OpenStruct
4
-
5
4
  include Enumerable
6
5
 
7
- def empty?
8
- marshal_dump.empty?
9
- end
6
+ def keys() marshal_dump.keys; end
7
+ def empty?() marshal_dump.empty?; end
10
8
 
11
9
  def add_source!(source)
12
10
  # handle yaml file paths
@@ -94,7 +92,7 @@ module RailsConfig
94
92
  def []=(param, value)
95
93
  send("#{param}=", value)
96
94
  end
97
-
95
+
98
96
  protected
99
97
 
100
98
  # Recursively converts Hashes to Options (including Hashes inside Arrays)
@@ -4,7 +4,6 @@ require 'erb'
4
4
  module RailsConfig
5
5
  module Sources
6
6
  class YAMLSource
7
-
8
7
  attr_accessor :path
9
8
 
10
9
  def initialize(path)
@@ -13,12 +12,15 @@ module RailsConfig
13
12
 
14
13
  # returns a config hash from the YML file
15
14
  def load
16
- if @path and File.exists?(@path.to_s)
15
+ if @path and File.exist?(@path.to_s)
17
16
  result = YAML.load(ERB.new(IO.read(@path.to_s)).result)
18
17
  end
19
18
  result || {}
19
+ rescue Psych::SyntaxError => e
20
+ raise "YAML syntax error occurred while parsing #{@path}. " \
21
+ "Please note that YAML must be consistently indented using spaces. Tabs are not allowed. " \
22
+ "Error: #{e.message}"
20
23
  end
21
-
22
24
  end
23
25
  end
24
- end
26
+ end
@@ -1,3 +1,3 @@
1
1
  module RailsConfig
2
- VERSION = '0.4.2'
2
+ VERSION = '0.5.0.beta1'
3
3
  end
data/lib/rails_config.rb CHANGED
@@ -2,7 +2,7 @@ require 'active_support/core_ext/module/attribute_accessors'
2
2
 
3
3
  require 'rails_config/options'
4
4
  require 'rails_config/version'
5
- require 'rails_config/engine'
5
+ require 'rails_config/engine' if defined?(::Rails)
6
6
  require 'rails_config/sources/yaml_source'
7
7
  require 'rails_config/vendor/deep_merge' unless defined?(DeepMerge)
8
8
 
@@ -40,6 +40,18 @@ module RailsConfig
40
40
  Kernel.const_set(RailsConfig.const_name, RailsConfig.load_files(files))
41
41
  end
42
42
 
43
+ def self.setting_files(config_root, env)
44
+ [
45
+ File.join(config_root, "settings.yml").to_s,
46
+ File.join(config_root, "settings", "#{env}.yml").to_s,
47
+ File.join(config_root, "environments", "#{env}.yml").to_s,
48
+
49
+ File.join(config_root, "settings.local.yml").to_s,
50
+ File.join(config_root, "settings", "#{env}.local.yml").to_s,
51
+ File.join(config_root, "environments", "#{env}.local.yml").to_s
52
+ ].freeze
53
+ end
54
+
43
55
  def self.reload!
44
56
  Kernel.const_get(RailsConfig.const_name).reload!
45
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacques Crocker
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-05-16 00:00:00.000000000 Z
13
+ date: 2014-08-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -215,12 +215,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
215
215
  version: '0'
216
216
  required_rubygems_version: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - ">="
218
+ - - ">"
219
219
  - !ruby/object:Gem::Version
220
- version: '0'
220
+ version: 1.3.1
221
221
  requirements: []
222
222
  rubyforge_project:
223
- rubygems_version: 2.2.2
223
+ rubygems_version: 2.4.1
224
224
  signing_key:
225
225
  specification_version: 4
226
226
  summary: Provides a Settings helper for Rails that reads from config/settings.yml