uri_config 0.0.2 → 0.0.3
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 +8 -8
- data/README.md +10 -0
- data/lib/uri_config/config.rb +17 -1
- data/lib/uri_config/version.rb +1 -1
- data/spec/config_spec.rb +26 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MmIwYTIwNDIxYzZhNGU4NDViZWU4ZTY0NDMwYjM3YjI0NWY1MjA4NA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ODY2MGUwNDI4Y2RkNTk1MWFkMjk5YjhhYzM3YjFlYzQyYjgzNDM1OQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MmNhNzkzNTQzYzVhZmFhMjU4OWRkNDQzMzliYjAxMWQ2ZWE4NmM2ZWRiZjA4
|
10
|
+
NDQ0ZWY5MGQyZmVkNmQ1OTIzYzQ2ODgxMWZmYTBiZGFiMjY4OTBhMTA1NzIz
|
11
|
+
N2ZmZDE0ZDUwZTYwZWVjMDY2OTY5MTFmZTYzMmEwYWI1MTk1ZDg=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ODk2NDI1M2ZiYTZjY2Y2ZTE0MTM5YmNhZDllOWM2MTc4YjgyZjIzYmFkOTMw
|
14
|
+
OGRkOWVmYjA2M2FlNDc2ZmQyNjQ3ZWEyOWJlYjIwZWE2ZmUwZmE0MWU0NTQ4
|
15
|
+
MTE0NzhjYmZlZGU5MDk0MTNiN2FiYWM2MTRjMzJkYjFkNTQwMmM=
|
data/README.md
CHANGED
@@ -55,6 +55,16 @@ config.bucket # => "bucket_name"
|
|
55
55
|
config.config # => {access_key_id: "AKIAJUSERNAME, secret_access_key: "abcd12345678", bucket: "bucket_name" }
|
56
56
|
```
|
57
57
|
|
58
|
+
Use the `.configure_from` helper to configure based on environment variables, e.g. config/initializers/mandrill.rb:
|
59
|
+
|
60
|
+
```ruby
|
61
|
+
require "uri_config/action_mailer_config"
|
62
|
+
|
63
|
+
URIConfig::ActionMailerConfig.configure_from('ACTION_MAILER_URL') do |c|
|
64
|
+
Rails.application.config.action_mailer.smtp_settings = c.config
|
65
|
+
end
|
66
|
+
```
|
67
|
+
|
58
68
|
## Contributing
|
59
69
|
|
60
70
|
1. Fork it ( https://github.com/JonathonMA/uri_config/fork )
|
data/lib/uri_config/config.rb
CHANGED
@@ -17,6 +17,18 @@ module URIConfig
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
+
def self.configure_from(env_var)
|
21
|
+
return unless (value = ENV[env_var])
|
22
|
+
|
23
|
+
yield new(value)
|
24
|
+
end
|
25
|
+
|
26
|
+
def ==(other)
|
27
|
+
return false unless other.is_a?(self.class)
|
28
|
+
|
29
|
+
url == other.url
|
30
|
+
end
|
31
|
+
|
20
32
|
def username
|
21
33
|
CGI.unescape uri.user
|
22
34
|
end
|
@@ -52,6 +64,10 @@ module URIConfig
|
|
52
64
|
end
|
53
65
|
end
|
54
66
|
|
67
|
+
protected
|
68
|
+
|
69
|
+
attr_reader :url
|
70
|
+
|
55
71
|
private
|
56
72
|
|
57
73
|
def query
|
@@ -59,7 +75,7 @@ module URIConfig
|
|
59
75
|
end
|
60
76
|
|
61
77
|
def uri
|
62
|
-
@uri ||= URI.parse
|
78
|
+
@uri ||= URI.parse url
|
63
79
|
end
|
64
80
|
end
|
65
81
|
end
|
data/lib/uri_config/version.rb
CHANGED
data/spec/config_spec.rb
CHANGED
@@ -35,5 +35,31 @@ module URIConfig
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
38
|
+
|
39
|
+
describe ".configure_from" do
|
40
|
+
context "when TEST_URL is not set" do
|
41
|
+
specify do
|
42
|
+
expect do |b|
|
43
|
+
URIConfig::Config.configure_from("TEST_URL", &b)
|
44
|
+
end.not_to yield_control
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context "when TEST_URL is set" do
|
49
|
+
before(:each) do
|
50
|
+
ENV["TEST_URL"] = "https://example.com/foo"
|
51
|
+
end
|
52
|
+
|
53
|
+
after(:each) do
|
54
|
+
ENV["TEST_URL"] = nil
|
55
|
+
end
|
56
|
+
|
57
|
+
specify do
|
58
|
+
expect do |b|
|
59
|
+
URIConfig::Config.configure_from("TEST_URL", &b)
|
60
|
+
end.to yield_with_args(URIConfig::Config.new(ENV["TEST_URL"]))
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
38
64
|
end
|
39
65
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uri_config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathon M. Abbott
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|