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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b50fb25fde4dc42ae6cdc150bb6042fea6c0cd09
4
- data.tar.gz: 3a9b3988d4d030c58a14d58c116fdb6a3682629c
3
+ metadata.gz: ba2e5111a8d1a9882b5230e9ec15e673f2cb9e37
4
+ data.tar.gz: 28355f0874ff30a9607947a41da514fb1afdcb03
5
5
  SHA512:
6
- metadata.gz: b30760168a9e5da90281dd3756f661c05ef4db4f27a8cce9eb08c1d3fb3cf2ad609992af0685511ad027eb6398665a12c07b87f6e508e08cbe05643a740abcd5
7
- data.tar.gz: 387ce8d7237c183a3b214b9308d5c3227dfef1dbeea7b1ff97c208bceae2888483f2efce0aae60190a49c81e64e27ed20da6897741ec69e82078cfe4454677da
6
+ metadata.gz: 5a0bbf13823232c663225f52978c9a73d132d36e7ff16338b9d3181ec6d0c8faba3001839e0f50f7b1fb700c4516bc64606da7d4e209906524889fc0a672ab09
7
+ data.tar.gz: 25f1d06312902b428bf488894b76930df32b392b25964e10271e26bf09df2841a83471c6a9fde0cbb7aae99019195d6e4438c166c9a21356b97c459db4f474b3
@@ -1,11 +1,11 @@
1
1
  -----BEGIN PGP SIGNATURE-----
2
2
  Version: GnuPG v2.0.19 (GNU/Linux)
3
3
 
4
- iQEcBAABAgAGBQJRaxYFAAoJEPNH4OtHrHDWk80H/jAcCNmTYyFrUrm6lK3kOlo3
5
- SnhKm+xDqB/izEJD7EZMtCEPVeC4ArrNbrN10PJZ6mQgHApenBJ5CDXqFdlTIT0b
6
- n+qFL+kcfK0abBrJz5g0Sv4wS5rCDWWYZLl4CiGLmbalQRB6fSsWiXFNlBVawt7l
7
- 88ZGE8vL8eR/F0JycjiE6fjryvg8qplZiC7NzqkpSmN0hxzqc5leHY7JoYgAP4PN
8
- cloCT0I3iUH+fCqez8ujX3NX2RdURVfL+bilLf4LROOlaAvZgYYjngWUOWFnv3AJ
9
- e9+JXSgNme9zmuTA/DtD29r9CSHf0Sc7EO18vJrJTJ6a+Dv9Qe/2IwBYWkmibdo=
10
- =rgFX
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
- iQEcBAABAgAGBQJRaxYFAAoJEPNH4OtHrHDWpOIH/jkbHhYBNcCMizn4WTWWKvx+
5
- rIUozwKicxON4uebRoP6RIuzKQzhSs1mYZbQebo4qY/EVAI2zU+ysuyhCJlsELZG
6
- Au/Lh3xYCS7OIP3KGVCo8eblenEG0OjaeDIfe08TuoZumx9Hv39jmK6uRG9jvCBX
7
- tEZmw1T2bDn2uDOaolUD7BiMZgXYigH4RIZcpsd7qb7nniyHH7ULET2ofSWQpK3a
8
- GGHV6yZdtbgnpt3f4o3dFKF4+aEYmWZ/deJbCwsvA9rNIIDfQZzS91sNCQAPp7RK
9
- y8ryytPhGb2hCUqgNLZpNg/cfSwgkU3PRmcq2q8FxHvu9qCxafgmSYq4LWy70tA=
10
- =99eN
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
 
@@ -36,7 +36,7 @@ module Configurate
36
36
  end
37
37
 
38
38
  def respond_to?(method, include_private=false)
39
- method == :_proxy? || target.respond_to?(method, include_private)
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
@@ -19,6 +19,10 @@ module Configurate
19
19
  last.to_s.end_with?("=")
20
20
  end
21
21
 
22
+ def <<(component)
23
+ super component.to_s
24
+ end
25
+
22
26
  def to_s
23
27
  join(".").chomp("?").chomp("=")
24
28
  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.3
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-14 00:00:00.000000000 Z
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
- iQEcBAABAgAGBQJRaxYFAAoJEPNH4OtHrHDW48EIAKYLXtBlFZNnezvqLJr7aQYt
5
- 6HGva0USAoso1Rvn7t3HV4BIR7rFhscOUMMWwddHElNMnLxzsQU1vLQ0Zzk7+bGZ
6
- pR2irAuTjEJHZUCifVwSmIGK5CbyHbwqDhFOhexQOh8cPxYWo3IcHT/Pq7H3graS
7
- /POfxD1kUClc/l/NMV0OdCCXjdDisbVP+j2Ju6pNQU8QPk7QOjKDlmx7WTmlP3c7
8
- RA+gzCqxpYw2+F6XHCFoQRAdb8KYLOkn2YGUmGzcpbh19qniEMTVcum4YhWqvG+S
9
- 3igR/0DX219J0332XhbqlcLzfcB+EeGHrRKlY1LGm8JeHA9MR6JNGpoROSPP2TY=
10
- =0vyr
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-----