configurate 0.0.3 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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-----
|