configurate 0.0.3 → 0.0.5
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 +4 -4
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/lib/configurate/lookup_chain.rb +1 -1
- data/lib/configurate/proxy.rb +3 -3
- data/lib/configurate/setting_path.rb +4 -0
- data/spec/configurate/lookup_chain_spec.rb +19 -0
- data/spec/configurate/setting_path_spec.rb +8 -0
- metadata +2 -2
- metadata.gz.asc +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba2e5111a8d1a9882b5230e9ec15e673f2cb9e37
|
4
|
+
data.tar.gz: 28355f0874ff30a9607947a41da514fb1afdcb03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a0bbf13823232c663225f52978c9a73d132d36e7ff16338b9d3181ec6d0c8faba3001839e0f50f7b1fb700c4516bc64606da7d4e209906524889fc0a672ab09
|
7
|
+
data.tar.gz: 25f1d06312902b428bf488894b76930df32b392b25964e10271e26bf09df2841a83471c6a9fde0cbb7aae99019195d6e4438c166c9a21356b97c459db4f474b3
|
checksums.yaml.gz.asc
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
-----BEGIN PGP SIGNATURE-----
|
2
2
|
Version: GnuPG v2.0.19 (GNU/Linux)
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
=
|
4
|
+
iQEcBAABAgAGBQJRa/mCAAoJEPNH4OtHrHDWMN4IAKejANfU2ta7YG9RixX5PHmu
|
5
|
+
/AjTlpUCg/7InjX/xFmxUQo5MCuHxy9RImb12dA5k60MmLrIdNnFmUnBemyiwgo6
|
6
|
+
9ArIc1qYX0C5GWFVOMWgRmfviPpW1cTGLSdd98sTlHMQcfT1IThS/ObXZZFZY1WS
|
7
|
+
BVxXEOpGDUf251HzCOWcaLz8VFumzht+gdWg6A2RtAToQnrDRXLwm/aRTr4dFYYm
|
8
|
+
sWi94JtRLOggNG8IqCkvv9AXn27ptkR+LOgnyXG9viUQx8XqPAdsssZ/Z3E5JGQN
|
9
|
+
Kjj9PtQrL50mi4EotRXFjlQ5H/qwunI1yqtBLDDOMM+uWbfkoPvuLdHa+dv7lE0=
|
10
|
+
=p6W9
|
11
11
|
-----END PGP SIGNATURE-----
|
data.tar.gz.asc
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
-----BEGIN PGP SIGNATURE-----
|
2
2
|
Version: GnuPG v2.0.19 (GNU/Linux)
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
=
|
4
|
+
iQEcBAABAgAGBQJRa/mCAAoJEPNH4OtHrHDWbEYH/jS9zjsEY7m3WWU9ip+udadO
|
5
|
+
N2ct1TE64CI1FcnhcUMGPea29M97t0qaEJyCR5woGAmHXM7jMMIYByb6wTtzAr6x
|
6
|
+
i5MRnckiiDO/XmcFEgoEeCBQ9tpNhXXvBKVbCBguDGyNitlYbp0t9k8/u+PTMaFq
|
7
|
+
3g7PTAuZvX4Nv7B6rLucNG1B9wovy8rDpx1IRqaesVO02iKSG97pkuEfpcIIIPGG
|
8
|
+
6neSFek+pOhu7RDs7n5PUJDjT1XJhg7e+u8a8mKkc55mt4qRrADiOw1tcEslBt7M
|
9
|
+
6S8v5rXW0gH7KfsNhtucXvOVRVxkM9fBRiQeBLaW44QlBBkdrFT+4CeSLEKBEzk=
|
10
|
+
=O1N3
|
11
11
|
-----END PGP SIGNATURE-----
|
@@ -34,7 +34,7 @@ module Configurate
|
|
34
34
|
setting = SettingPath.from_string(setting) if setting.is_a? String
|
35
35
|
@provider.each do |provider|
|
36
36
|
begin
|
37
|
-
return special_value_or_string(provider.lookup(setting, *args))
|
37
|
+
return special_value_or_string(provider.lookup(setting.dup, *args))
|
38
38
|
rescue SettingNotFoundError; end
|
39
39
|
end
|
40
40
|
|
data/lib/configurate/proxy.rb
CHANGED
@@ -36,7 +36,7 @@ module Configurate
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def respond_to?(method, include_private=false)
|
39
|
-
method == :_proxy? ||
|
39
|
+
method == :_proxy? || target_respond_to?(method, include_private)
|
40
40
|
end
|
41
41
|
|
42
42
|
def send(*args, &block)
|
@@ -66,13 +66,13 @@ module Configurate
|
|
66
66
|
private
|
67
67
|
COMMON_KEY_NAMES = [:key, :method]
|
68
68
|
|
69
|
-
def target_respond_to?(setting)
|
69
|
+
def target_respond_to?(setting, include_private=false)
|
70
70
|
return false if COMMON_KEY_NAMES.include? setting
|
71
71
|
|
72
72
|
value = target
|
73
73
|
return false if value.respond_to?(:_proxy?) && value._proxy?
|
74
74
|
|
75
|
-
value.respond_to?(setting)
|
75
|
+
value.respond_to?(setting, include_private)
|
76
76
|
end
|
77
77
|
end
|
78
78
|
end
|
@@ -42,6 +42,25 @@ describe Configurate::LookupChain do
|
|
42
42
|
|
43
43
|
subject.lookup(setting)
|
44
44
|
end
|
45
|
+
|
46
|
+
it "converts a string to a SettingPath" do
|
47
|
+
provider = @provider.first
|
48
|
+
path = stub
|
49
|
+
path.stub(:stub).and_return(path)
|
50
|
+
provider.should_receive(:lookup).with(path).and_raise(Configurate::SettingNotFoundError)
|
51
|
+
setting = "bar"
|
52
|
+
Configurate::SettingPath.should_receive(:from_string).with(setting).and_return(path)
|
53
|
+
subject.lookup(setting)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "passes a copy of the SettingPath to the provider" do
|
57
|
+
provider = @provider.first
|
58
|
+
path = mock("path")
|
59
|
+
copy = stub("copy")
|
60
|
+
path.should_receive(:dup).at_least(:once).and_return(copy)
|
61
|
+
provider.should_receive(:lookup).with(copy).and_raise(Configurate::SettingNotFoundError)
|
62
|
+
subject.lookup(path)
|
63
|
+
end
|
45
64
|
|
46
65
|
it "stops if a value is found" do
|
47
66
|
@provider[0].should_receive(:lookup).and_return("something")
|
@@ -37,6 +37,14 @@ describe Configurate::SettingPath do
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
describe "#<<" do
|
41
|
+
it 'converts the argument to a string' do
|
42
|
+
arg = mock
|
43
|
+
arg.should_receive(:to_s).and_return('bar')
|
44
|
+
described_class.new << arg
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
40
48
|
describe "#to_s" do
|
41
49
|
let(:path) { "example.path" }
|
42
50
|
subject { described_class.new(path.split(".")).to_s }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: configurate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonne Haß
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-04-
|
11
|
+
date: 2013-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
metadata.gz.asc
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
-----BEGIN PGP SIGNATURE-----
|
2
2
|
Version: GnuPG v2.0.19 (GNU/Linux)
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
=
|
4
|
+
iQEcBAABAgAGBQJRa/mCAAoJEPNH4OtHrHDWko0H/3ehr8t5DF3gsssk+8hd4p2T
|
5
|
+
wVPdWmzDovXT2zqM56MTCPtpKPQsG7/DaRvhxWIu/XfAmGpGuUTuNjLOURvslNun
|
6
|
+
aii2q7ZIJPiRkQPh38DQ+56k1xU3b8jtkgumHqQBFCnJr9wmXAF6XXM9NebeAktc
|
7
|
+
mfYNsJPye8oVUe8XsmVaDVNgVAY95FvG82E85ATIhL0muWTMLKhEzzuCVq59ZNVO
|
8
|
+
LOq7Ryh9Zb/xKo+ybb1vQujxQ4Db+offzKrpMmcQguVW9XKfitV8xd6wwaw6d/dr
|
9
|
+
jahH4UjIrsImu2eootgTT89gxjCkD1tXyH+UIm7PgoW551VsPk6N5YWhTXpg4s8=
|
10
|
+
=Tp+n
|
11
11
|
-----END PGP SIGNATURE-----
|