handy 0.0.24 → 0.0.25

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.
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: []