handy 0.0.24 → 0.0.25

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f0805b88d3fb08b9131780696ba4f4d2d10b052a
4
+ data.tar.gz: fbd334c0a5c1e293c4caa04129a503b4d8184c6a
5
+ SHA512:
6
+ metadata.gz: a78465698bf5b479549e5e0fbec8f03fee482509a7486e62bd715e7f931bd286400eb065d61e8666ed5e3676ffbd5aa359033692e860d1e325813d2b4e8d60e2
7
+ data.tar.gz: f2a50381965eb872d243aab432c34ea8c52a5c23421081c8cfd48c5a49258ee4284a70cf808f34dd36a2bfb0fea56d72d5995ce4b686c0e30ef4c294ac423fad
data/README.md CHANGED
@@ -16,4 +16,4 @@ Besides having some useful rake tasks it also sets up a constant called
16
16
  `Settings`. It reads the `application.yml` file and populates
17
17
  `Settings`.
18
18
 
19
-
19
+ You can use a separate file for each environment. Example `config/settings/development.yml` contains development settings.
@@ -10,16 +10,24 @@ module Handy
10
10
  end
11
11
 
12
12
  def load(key = Rails.env)
13
- file = Rails.root.join('config', filename)
14
- return unless File.exist?(file)
13
+ global_file = Rails.root.join('config', filename)
14
+ settings = read_settings_from_file(global_file)
15
+ common_settings = settings['common'] || {}
16
+ env_settings = settings[key.to_s] || {}
15
17
 
16
- hash = YAML.load(ERB.new(File.read(file)).result)
18
+ env_file = Rails.root.join('config', File.basename(filename, '.yml'), "#{key}.yml")
17
19
 
18
- common_hash = hash['common'] || {}
19
- env_hash = hash[key.to_s] || {}
20
+ env_settings_from_file = read_settings_from_file(env_file)
21
+ env_settings = env_settings.deep_merge(env_settings_from_file)
20
22
 
21
- final_hash = common_hash.deep_merge(env_hash)
22
- ::Hashr.new(final_hash)
23
+ result_settings = common_settings.deep_merge(env_settings)
24
+ ::Hashr.new(result_settings)
25
+ end
26
+
27
+ private
28
+ def read_settings_from_file(filepath)
29
+ return {} unless File.exist?(filepath)
30
+ YAML.load(ERB.new(File.read(filepath)).result)
23
31
  end
24
32
  end
25
33
  end
data/lib/handy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Handy
2
- VERSION = "0.0.24"
2
+ VERSION = "0.0.25"
3
3
  end
metadata CHANGED
@@ -1,30 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: handy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.24
5
- prerelease:
4
+ version: 0.0.25
6
5
  platform: ruby
7
6
  authors:
8
7
  - Neeraj Singh
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-25 00:00:00.000000000 Z
11
+ date: 2014-01-15 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: hashr
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  description: handy tool
@@ -50,32 +47,25 @@ files:
50
47
  - lib/handy/version.rb
51
48
  homepage: ''
52
49
  licenses: []
50
+ metadata: {}
53
51
  post_install_message:
54
52
  rdoc_options: []
55
53
  require_paths:
56
54
  - lib
57
55
  required_ruby_version: !ruby/object:Gem::Requirement
58
- none: false
59
56
  requirements:
60
- - - ! '>='
57
+ - - '>='
61
58
  - !ruby/object:Gem::Version
62
59
  version: '0'
63
- segments:
64
- - 0
65
- hash: 2247089959255402212
66
60
  required_rubygems_version: !ruby/object:Gem::Requirement
67
- none: false
68
61
  requirements:
69
- - - ! '>='
62
+ - - '>='
70
63
  - !ruby/object:Gem::Version
71
64
  version: '0'
72
- segments:
73
- - 0
74
- hash: 2247089959255402212
75
65
  requirements: []
76
66
  rubyforge_project:
77
- rubygems_version: 1.8.23
67
+ rubygems_version: 2.0.3
78
68
  signing_key:
79
- specification_version: 3
69
+ specification_version: 4
80
70
  summary: Collection of handy tools
81
71
  test_files: []