nifty_settings 1.1.5 → 1.1.6

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: 2b6bf0f7185a056b1f5f819929cf00278f2cf47c
4
- data.tar.gz: 4274adcaca0b70429539063124e027cd619f7e19
3
+ metadata.gz: d69c55980e686ed5ccc21d0d8fd7de395167016c
4
+ data.tar.gz: a4c73431de6fe4842197714100f6c2de742506ce
5
5
  SHA512:
6
- metadata.gz: 0ac640647e74bccffa263602d1ea2bc45eb84b601bec120d27b78bc2babb1dd98d7647c9b09095463179d37ffbda4da87b5032b16a22642066c8456a1869a863
7
- data.tar.gz: b2081dc73b7e25d3234451a4a0ba81d677602b9e3bc8cb125871d4ffc581cb65dc6fadc04d99139a2aa80d551884966664ae8ed0556b26dca0c729df8503ae32
6
+ metadata.gz: e98c48636bb4061f903d5c5bed4094125b55e21de576cd754f47e90cb1ccd0a730d2e47ea8f159d513c102db987aa7fe00227ad02b9ff55ace828a1bfe068b6e
7
+ data.tar.gz: 739d7a10134c442bc00b3bec378d36725a3ca93111ec42271fa71051fcbb98e056c7816450600da16cd5bc97c803a0f1f4ed86392e376ef40fe0174bef3ca61a
@@ -0,0 +1,4 @@
1
+ # 1.1.6 - 2014-07-15
2
+
3
+ * Enable setting a custom settings file path via `NiftySettings::Settings.settings_path = '...'`
4
+ * Don't throw an exception when settings file is empty
@@ -76,6 +76,10 @@ module NiftySettings
76
76
  @@settings_path ||= root.join('config', 'settings.yml').to_s
77
77
  end
78
78
 
79
+ def settings_path=(value)
80
+ @@settings_path = value
81
+ end
82
+
79
83
  def load_from_file
80
84
  if !File.readable?(settings_path)
81
85
  $stderr.puts "Unable to load settings from #{settings_path} - Please check it exists and is readable."
@@ -84,7 +88,7 @@ module NiftySettings
84
88
  # Otherwise, try loading...
85
89
  contents = File.read(settings_path)
86
90
  contents = ERB.new(contents).result
87
- contents = YAML.load(contents)
91
+ contents = YAML.load(contents) || {}
88
92
  if env.nil?
89
93
  contents
90
94
  else
@@ -1,3 +1,3 @@
1
1
  module NiftySettings
2
- VERSION = '1.1.5'
2
+ VERSION = '1.1.6'
3
3
  end
@@ -11,7 +11,7 @@ Gem::Specification.new do |gem|
11
11
  gem.email = 'manuel@krautcomputing.com'
12
12
  gem.summary = 'Settings'
13
13
  gem.description = 'Settings'
14
- gem.homepage = ''
14
+ gem.homepage = 'http://krautcomputing.github.io/nifty_settings'
15
15
  gem.license = 'MIT'
16
16
 
17
17
  gem.files = `git ls-files`.split($/)
@@ -85,4 +85,35 @@ describe NiftySettings::Settings do
85
85
  end
86
86
  end
87
87
  end
88
+
89
+ describe '.load_from_file' do
90
+ it 'loads the settings from the default location' do
91
+ # Reset settings path in case it has been modified
92
+ NiftySettings::Settings.settings_path = nil
93
+
94
+ # Copy settings file to default location
95
+ settings_file = File.expand_path('../../support/settings.yml', __FILE__)
96
+ config_dir = File.expand_path('../../../config', __FILE__)
97
+ FileUtils.mkdir_p config_dir
98
+ FileUtils.cp settings_file, config_dir
99
+
100
+ settings = NiftySettings::Settings.load_from_file
101
+ expect(settings).to eq('foo' => 'bar')
102
+
103
+ # Delete settings file again
104
+ FileUtils.rm File.join(config_dir, 'settings.yml')
105
+ end
106
+
107
+ it 'can load the settings from a custom location' do
108
+ NiftySettings::Settings.settings_path = File.expand_path('../../support/settings.yml', __FILE__)
109
+ settings = NiftySettings::Settings.load_from_file
110
+ expect(settings).to eq('foo' => 'bar')
111
+ end
112
+
113
+ it 'can load empty settings' do
114
+ NiftySettings::Settings.settings_path = File.expand_path('../../support/settings_empty.yml', __FILE__)
115
+ settings = NiftySettings::Settings.load_from_file
116
+ expect(settings).to eq({})
117
+ end
118
+ end
88
119
  end
@@ -0,0 +1 @@
1
+ foo: bar
File without changes
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nifty_settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel Meurer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-21 00:00:00.000000000 Z
11
+ date: 2014-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 2.14.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.14.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rb-fsevent
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.9.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.9.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: guard-rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 4.2.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 4.2.0
69
69
  description: Settings
@@ -72,7 +72,8 @@ executables: []
72
72
  extensions: []
73
73
  extra_rdoc_files: []
74
74
  files:
75
- - .travis.yml
75
+ - ".travis.yml"
76
+ - CHANGELOG.md
76
77
  - Gemfile
77
78
  - Guardfile
78
79
  - LICENSE.txt
@@ -85,7 +86,9 @@ files:
85
86
  - nifty_settings.gemspec
86
87
  - spec/nifty_settings/settings_spec.rb
87
88
  - spec/spec_helper.rb
88
- homepage: ''
89
+ - spec/support/settings.yml
90
+ - spec/support/settings_empty.yml
91
+ homepage: http://krautcomputing.github.io/nifty_settings
89
92
  licenses:
90
93
  - MIT
91
94
  metadata: {}
@@ -95,12 +98,12 @@ require_paths:
95
98
  - lib
96
99
  required_ruby_version: !ruby/object:Gem::Requirement
97
100
  requirements:
98
- - - '>='
101
+ - - ">="
99
102
  - !ruby/object:Gem::Version
100
103
  version: '0'
101
104
  required_rubygems_version: !ruby/object:Gem::Requirement
102
105
  requirements:
103
- - - '>='
106
+ - - ">="
104
107
  - !ruby/object:Gem::Version
105
108
  version: '0'
106
109
  requirements: []
@@ -112,4 +115,6 @@ summary: Settings
112
115
  test_files:
113
116
  - spec/nifty_settings/settings_spec.rb
114
117
  - spec/spec_helper.rb
118
+ - spec/support/settings.yml
119
+ - spec/support/settings_empty.yml
115
120
  has_rdoc: