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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTUwM2NmYmNlY2QxZjJlMmZmYzI0NzNlYzJlYWU2M2Q3ODEzNWU2Ng==
4
+ MmIwYTIwNDIxYzZhNGU4NDViZWU4ZTY0NDMwYjM3YjI0NWY1MjA4NA==
5
5
  data.tar.gz: !binary |-
6
- MWViMjlmYmZiZjE5ZmVlODgwYTZkYTY3ZjA0MWUxMjBmYzRjZTQ2NA==
6
+ ODY2MGUwNDI4Y2RkNTk1MWFkMjk5YjhhYzM3YjFlYzQyYjgzNDM1OQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZjhlNmUyNzk1Mzg1ODY2ZDM3NzUxMzc1ZDZkMzczNWFjMGIxOWJmMzIwNzM5
10
- OWZiYWYxOWU0NTNiM2IwMWE1MzFkOWUwYmRhMjIzYThmODhkOTdmMmQ0MmZj
11
- Y2Y2ZGExZjU4ZWIzMWQ5ZDc1YmE1ZTg2OWUzYzFjMWViNzE4MDI=
9
+ MmNhNzkzNTQzYzVhZmFhMjU4OWRkNDQzMzliYjAxMWQ2ZWE4NmM2ZWRiZjA4
10
+ NDQ0ZWY5MGQyZmVkNmQ1OTIzYzQ2ODgxMWZmYTBiZGFiMjY4OTBhMTA1NzIz
11
+ N2ZmZDE0ZDUwZTYwZWVjMDY2OTY5MTFmZTYzMmEwYWI1MTk1ZDg=
12
12
  data.tar.gz: !binary |-
13
- NTEzZmFiMGY0ZTdiNzgyN2RlM2FmNTVkYzg1ZTRmN2FmNDE2ODhkMjYyNzQy
14
- MWU5M2ZmNTAxMGQyY2RiMDRkOGNlOTE2MTdkNmZmZWI1ZTY3ZjVkZTg2NGFm
15
- MTE3MzE4MzI2MzViYzFhN2E3ZmE1YjU4ZjZlMmFkZjIwNDIyM2Q=
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 )
@@ -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 @url
78
+ @uri ||= URI.parse url
63
79
  end
64
80
  end
65
81
  end
@@ -1,3 +1,3 @@
1
1
  module URIConfig
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
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.2
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-26 00:00:00.000000000 Z
11
+ date: 2014-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler