rsettings 0.5.0 → 0.6.0
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.
- data/.travis.yml +10 -10
- data/Gemfile +10 -10
- data/Gemfile.lock +67 -67
- data/LICENSE.txt +20 -20
- data/README.md +6 -6
- data/Rakefile +34 -34
- data/VERSION +1 -1
- data/lib/rsettings.rb +50 -46
- data/lib/rsettings/adapters/basic_disk_settings.rb +51 -51
- data/lib/rsettings/adapters/environment_settings.rb +14 -14
- data/lib/rsettings/core/internal/defaults.rb +26 -20
- data/lib/rsettings/core/internal/settings_chain.rb +18 -18
- data/lib/rsettings/core/internal/settings_configuration.rb +45 -41
- data/lib/rsettings/core/missing.rb +15 -15
- data/lib/rsettings/core/names.rb +27 -21
- data/lib/rsettings/core/rsettings.rb +29 -29
- data/lib/rsettings/core/setting.rb +16 -16
- data/lib/rsettings/core/setting_name.rb +15 -15
- data/rsettings.gemspec +79 -79
- data/spec/integration.tests/adapters/basic_disk_settings_spec.rb +46 -46
- data/spec/spec_helper.rb +2 -2
- data/spec/system.tests/can_fall_back_to_file_settings_spec.rb +56 -56
- data/spec/system.tests/can_list_settings_spec.rb +21 -0
- data/spec/system.tests/can_provide_translations_spec.rb +52 -52
- data/spec/system.tests/can_specify_flags_spec.rb +39 -39
- data/spec/system.tests/can_supply_defaults_for_missing_settings_spec.rb +39 -39
- data/spec/system.tests/can_use_env_spec.rb +37 -37
- data/spec/system.tests/options_spec.rb +18 -18
- metadata +23 -9
- checksums.yaml +0 -15
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe "Can use environment variables as a settings list" do
|
|
4
|
-
it "an example" do
|
|
5
|
-
ENV["xxx"] = "bangerman"
|
|
6
|
-
expect(Settings.new.xxx).to eql "bangerman"
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
it "name may be used (name is interesting because it is implemented on Object)" do
|
|
10
|
-
ENV["name"] = "bangerman"
|
|
11
|
-
expect(Settings.new.name).to eql "bangerman"
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
it "fails when setting does not exist" do
|
|
15
|
-
ENV.clear
|
|
16
|
-
expect{Settings.new.name}.to raise_error /Setting <name> not found/
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
it "You can have a setting called :new and/or :initialize" do
|
|
20
|
-
settings = Settings.new
|
|
21
|
-
|
|
22
|
-
ENV["new"] = "okay"
|
|
23
|
-
ENV["initialize"] = "yes please"
|
|
24
|
-
|
|
25
|
-
expect(settings.new).to eql "okay"
|
|
26
|
-
expect(settings.initialize).to eql "yes please"
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
it "make sure you can use setting name 'configure'" do
|
|
30
|
-
settings = Settings.new
|
|
31
|
-
|
|
32
|
-
ENV["configure"] = "xxx_conf_xxx"
|
|
33
|
-
|
|
34
|
-
expect(settings.configure).to eql "xxx_conf_xxx"
|
|
35
|
-
end
|
|
36
|
-
# Can't use metaclass because class < Object which has lots of methods defined. BasicObject is what we want.
|
|
37
|
-
end
|
|
1
|
+
require "spec_helper"
|
|
2
|
+
|
|
3
|
+
describe "Can use environment variables as a settings list" do
|
|
4
|
+
it "an example" do
|
|
5
|
+
ENV["xxx"] = "bangerman"
|
|
6
|
+
expect(Settings.new.xxx).to eql "bangerman"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
it "name may be used (name is interesting because it is implemented on Object)" do
|
|
10
|
+
ENV["name"] = "bangerman"
|
|
11
|
+
expect(Settings.new.name).to eql "bangerman"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "fails when setting does not exist" do
|
|
15
|
+
ENV.clear
|
|
16
|
+
expect{Settings.new.name}.to raise_error /Setting <name> not found/
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it "You can have a setting called :new and/or :initialize" do
|
|
20
|
+
settings = Settings.new
|
|
21
|
+
|
|
22
|
+
ENV["new"] = "okay"
|
|
23
|
+
ENV["initialize"] = "yes please"
|
|
24
|
+
|
|
25
|
+
expect(settings.new).to eql "okay"
|
|
26
|
+
expect(settings.initialize).to eql "yes please"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "make sure you can use setting name 'configure'" do
|
|
30
|
+
settings = Settings.new
|
|
31
|
+
|
|
32
|
+
ENV["configure"] = "xxx_conf_xxx"
|
|
33
|
+
|
|
34
|
+
expect(settings.configure).to eql "xxx_conf_xxx"
|
|
35
|
+
end
|
|
36
|
+
# Can't use metaclass because class < Object which has lots of methods defined. BasicObject is what we want.
|
|
37
|
+
end
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe "what to do when a setting is missing" do
|
|
4
|
-
before { ENV.clear }
|
|
5
|
-
|
|
6
|
-
it "fails by default" do
|
|
7
|
-
settings = Settings.new
|
|
8
|
-
expect{settings.one_that_does_not_exist}.to raise_error /<one_that_does_not_exist> not found/
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
it "you can instruct it to do nothing" do
|
|
12
|
-
settings = Settings.new do
|
|
13
|
-
when_missing :ignore
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
expect(settings.one_that_does_not_exist).to be_nil
|
|
17
|
-
end
|
|
18
|
-
end
|
|
1
|
+
require "spec_helper"
|
|
2
|
+
|
|
3
|
+
describe "what to do when a setting is missing" do
|
|
4
|
+
before { ENV.clear }
|
|
5
|
+
|
|
6
|
+
it "fails by default" do
|
|
7
|
+
settings = Settings.new
|
|
8
|
+
expect{settings.one_that_does_not_exist}.to raise_error /<one_that_does_not_exist> not found/
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "you can instruct it to do nothing" do
|
|
12
|
+
settings = Settings.new do
|
|
13
|
+
when_missing :ignore
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
expect(settings.one_that_does_not_exist).to be_nil
|
|
17
|
+
end
|
|
18
|
+
end
|
metadata
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rsettings
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
|
+
prerelease:
|
|
5
6
|
platform: ruby
|
|
6
7
|
authors:
|
|
7
8
|
- Ben Biddington
|
|
8
9
|
autorequire:
|
|
9
10
|
bindir: bin
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
+
date: 2014-05-07 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: audible
|
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
16
18
|
requirements:
|
|
17
19
|
- - ! '>='
|
|
18
20
|
- !ruby/object:Gem::Version
|
|
@@ -20,6 +22,7 @@ dependencies:
|
|
|
20
22
|
type: :runtime
|
|
21
23
|
prerelease: false
|
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
23
26
|
requirements:
|
|
24
27
|
- - ! '>='
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
@@ -27,6 +30,7 @@ dependencies:
|
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
|
28
31
|
name: rake
|
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
30
34
|
requirements:
|
|
31
35
|
- - ! '>='
|
|
32
36
|
- !ruby/object:Gem::Version
|
|
@@ -34,6 +38,7 @@ dependencies:
|
|
|
34
38
|
type: :development
|
|
35
39
|
prerelease: false
|
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
37
42
|
requirements:
|
|
38
43
|
- - ! '>='
|
|
39
44
|
- !ruby/object:Gem::Version
|
|
@@ -41,6 +46,7 @@ dependencies:
|
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
|
42
47
|
name: rspec
|
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
none: false
|
|
44
50
|
requirements:
|
|
45
51
|
- - ! '>='
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
@@ -48,6 +54,7 @@ dependencies:
|
|
|
48
54
|
type: :development
|
|
49
55
|
prerelease: false
|
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
51
58
|
requirements:
|
|
52
59
|
- - ! '>='
|
|
53
60
|
- !ruby/object:Gem::Version
|
|
@@ -55,6 +62,7 @@ dependencies:
|
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
|
56
63
|
name: bundler
|
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
+
none: false
|
|
58
66
|
requirements:
|
|
59
67
|
- - ! '>='
|
|
60
68
|
- !ruby/object:Gem::Version
|
|
@@ -62,6 +70,7 @@ dependencies:
|
|
|
62
70
|
type: :development
|
|
63
71
|
prerelease: false
|
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
65
74
|
requirements:
|
|
66
75
|
- - ! '>='
|
|
67
76
|
- !ruby/object:Gem::Version
|
|
@@ -69,19 +78,19 @@ dependencies:
|
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
|
70
79
|
name: jeweler
|
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
+
none: false
|
|
72
82
|
requirements:
|
|
73
83
|
- - ~>
|
|
74
84
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
76
|
-
MS44LjQ=
|
|
85
|
+
version: 1.8.4
|
|
77
86
|
type: :development
|
|
78
87
|
prerelease: false
|
|
79
88
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
+
none: false
|
|
80
90
|
requirements:
|
|
81
91
|
- - ~>
|
|
82
92
|
- !ruby/object:Gem::Version
|
|
83
|
-
version:
|
|
84
|
-
MS44LjQ=
|
|
93
|
+
version: 1.8.4
|
|
85
94
|
description: Settings
|
|
86
95
|
email: ben.biddington@gmail.com
|
|
87
96
|
executables: []
|
|
@@ -112,6 +121,7 @@ files:
|
|
|
112
121
|
- spec/integration.tests/adapters/basic_disk_settings_spec.rb
|
|
113
122
|
- spec/spec_helper.rb
|
|
114
123
|
- spec/system.tests/can_fall_back_to_file_settings_spec.rb
|
|
124
|
+
- spec/system.tests/can_list_settings_spec.rb
|
|
115
125
|
- spec/system.tests/can_provide_translations_spec.rb
|
|
116
126
|
- spec/system.tests/can_specify_flags_spec.rb
|
|
117
127
|
- spec/system.tests/can_supply_defaults_for_missing_settings_spec.rb
|
|
@@ -120,25 +130,29 @@ files:
|
|
|
120
130
|
homepage: http://github.com/ben-biddington/rsettings
|
|
121
131
|
licenses:
|
|
122
132
|
- MIT
|
|
123
|
-
metadata: {}
|
|
124
133
|
post_install_message:
|
|
125
134
|
rdoc_options: []
|
|
126
135
|
require_paths:
|
|
127
136
|
- lib
|
|
128
137
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
|
+
none: false
|
|
129
139
|
requirements:
|
|
130
140
|
- - ! '>='
|
|
131
141
|
- !ruby/object:Gem::Version
|
|
132
142
|
version: '0'
|
|
143
|
+
segments:
|
|
144
|
+
- 0
|
|
145
|
+
hash: -127506227
|
|
133
146
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
|
+
none: false
|
|
134
148
|
requirements:
|
|
135
149
|
- - ! '>='
|
|
136
150
|
- !ruby/object:Gem::Version
|
|
137
151
|
version: '0'
|
|
138
152
|
requirements: []
|
|
139
153
|
rubyforge_project:
|
|
140
|
-
rubygems_version:
|
|
154
|
+
rubygems_version: 1.8.23
|
|
141
155
|
signing_key:
|
|
142
|
-
specification_version:
|
|
156
|
+
specification_version: 3
|
|
143
157
|
summary: Settings for ruby programs
|
|
144
158
|
test_files: []
|
checksums.yaml
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
!binary "U0hBMQ==":
|
|
3
|
-
metadata.gz: !binary |-
|
|
4
|
-
MzZlMmJhOTY0NDI0NDMzZjliMTU0Y2U3MmRlNTIwMGExMTdiOGQ2MA==
|
|
5
|
-
data.tar.gz: !binary |-
|
|
6
|
-
MDM5NDUxZDE0M2YxNDNkMTE4NDI5OGZiMzQ2N2Q3ZjNmZGRhNjg3Mg==
|
|
7
|
-
SHA512:
|
|
8
|
-
metadata.gz: !binary |-
|
|
9
|
-
MDc4NjA2ODUxZDFjY2ViM2Q4YmMwNTE3ZDU5MzI3ZjAyYTIzYmJjMWEzZGJi
|
|
10
|
-
NGJiMzk2OTBjNDE5YzlhNGRmN2Y5MjU4MzFjNTc0MmVkYjFiNmE5NTE0NGRl
|
|
11
|
-
YjRmMmZkZDc2NTY1NzBmYjQ3NDZjODQ2NDE4MmI4ODQ1Yzg0N2I=
|
|
12
|
-
data.tar.gz: !binary |-
|
|
13
|
-
ODdkMjgwMjYzMDAyNDBjNTA1NTJiNjBiMmM4MjNmYjk0YjBkMjBjYTE5NGFi
|
|
14
|
-
MGVhNDU1Y2JjYTJiZjVjYTVhMTJjMzQ2MTkwYWIwMjU3N2Q0YTE3M2QyYjM1
|
|
15
|
-
YzdkNzk3YTk5MzJhOGFmMjNiYWM3OGQ3NzY5ZjllY2QwNDBmMjc=
|