complex_config 0.5.0 → 0.5.2

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: c0f60e08a3a290db243d83585edac94e0c62bd4c
4
- data.tar.gz: 8bd5bbe19ba7f8001ab5ba4b2bf16f6efd43fad8
3
+ metadata.gz: 36794c1042e1468dd3727dde06787dc09eedace7
4
+ data.tar.gz: 256eeab2a1bb70476216f07582f664813a935cbc
5
5
  SHA512:
6
- metadata.gz: 338b9417076107d634da170a25bcebe833762efcc197099c1fe87bd0621a04403fd901b85639b89accdcf7401cd6929d60687ea636b82371cba0c4d828e5594c
7
- data.tar.gz: 60865b2f017981a53a09b4e0b7e7a430cc1c7c8cbc39c51dddcba93b0b3bd24eb47ab877a1ecafc2ecd5fccab29837fc30650571a660f66913ef18412bf4e82e
6
+ metadata.gz: 6c1ec259c62a0f77b8b37533766fe39ad9a4d9d524bb4774aefd93328c2de753b2900fcc3326d2d1f5a6ff97ec6470638cc6848027287ad6b8b09ab81eae542b
7
+ data.tar.gz: 2e7c6dec04e9151c529ddff832e262d849abc44d95d4ae7a4ef3d90c1d728abff7b48bd339cd37122ac99bce1dd01a1476c210fe48b9cbae3df664c8930a6786
data/.travis.yml CHANGED
@@ -2,11 +2,15 @@ rvm:
2
2
  - 2.0
3
3
  - 2.1
4
4
  - 2.2
5
+ - 2.3.1
6
+ - 2.4.0-preview1
5
7
  - ruby-head
6
8
  - jruby-head
9
+ sudo: false
7
10
  matrix:
8
11
  allow_failures:
9
12
  - rvm: ruby-head
10
13
  - rvm: jruby-head
14
+ - rvm: 2.4.0-preview1
11
15
  env:
12
16
  - RAILS_ENV=development CODECLIMATE_REPO_TOKEN=b2d573b4ad139331f307e536679084a8ec269d721e31b0afe81c503a7ab0c683
data/README.md CHANGED
@@ -60,21 +60,21 @@ use `cc(:products).flux_capacitor…` to avoid this problem.
60
60
 
61
61
  Fetching the price of a product in cents:
62
62
 
63
- > c.products.flux_capacitor.enterprise_version.price_in_cents => 160000000
63
+ > cc.products.flux_capacitor.enterprise_version.price_in_cents => 160000000
64
64
 
65
65
  Fetching the price of a product and using the ComplexConfig::Plugins::MONEY
66
66
  plugin to format it:
67
67
 
68
- > c.products.flux_capacitor.enterprise_version.price.format => "€1,600,000.00"
68
+ > cc.products.flux_capacitor.enterprise_version.price.format => "€1,600,000.00"
69
69
 
70
70
  Fetching the URL of a product manual as a string:
71
71
 
72
- > c.products.flux_capacitor.enterprise_version.manual_pdf_url => "http://brown-inc.com/manuals/fc_enterprise.pdf"
72
+ > cc.products.flux_capacitor.enterprise_version.manual_pdf_url => "http://brown-inc.com/manuals/fc_enterprise.pdf"
73
73
 
74
74
  Fetching the URL of a product manual and using the ComplexConfig::Plugins::URI
75
75
  plugin return an URI instance:
76
76
 
77
- > c.products.flux_capacitor.enterprise_version.manual_pdf_uri => #<URI::HTTP:0x007ff626d2a2e8 URL:http://brown-inc.com/manuals/fc_enterprise.pdf>
77
+ > cc.products.flux_capacitor.enterprise_version.manual_pdf_uri => #<URI::HTTP:0x007ff626d2a2e8 URL:http://brown-inc.com/manuals/fc_enterprise.pdf>
78
78
 
79
79
  You can also fetch config settings from a different environment:
80
80
 
@@ -143,6 +143,9 @@ Here is the `ComplexConfig::Plugins::MONEY` plugin for example:
143
143
  end
144
144
 
145
145
  ## Changes
146
+ * 2016-06-23 Release 0.5.2
147
+ * Resolve index access via the plugin code path, so foo.bar and foo[:bar]
148
+ have the same result for a plugin key.
146
149
  * 2015-11-19 Release 0.5.0
147
150
  * Support rails reloading behaviour.
148
151
  * Allow configuration via ComplexConfig.configure(&block) method.
data/TODO.md CHANGED
@@ -1,5 +1,4 @@
1
1
  # TODO
2
2
 
3
3
  - Figure out why rspec don't like my double dispatch.
4
- - Improve string representation of settings
5
4
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.0
1
+ 0.5.2
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: complex_config 0.5.0 ruby lib
2
+ # stub: complex_config 0.5.2 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "complex_config"
6
- s.version = "0.5.0"
6
+ s.version = "0.5.2"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
10
10
  s.authors = ["Florian Frank"]
11
- s.date = "2015-11-19"
11
+ s.date = "2016-06-23"
12
12
  s.description = "This library allows you to access configuration files via a simple interface"
13
13
  s.email = "flori@ping.de"
14
14
  s.extra_rdoc_files = ["README.md", "lib/complex_config.rb", "lib/complex_config/config.rb", "lib/complex_config/errors.rb", "lib/complex_config/plugins.rb", "lib/complex_config/plugins/enable.rb", "lib/complex_config/plugins/money.rb", "lib/complex_config/plugins/uri.rb", "lib/complex_config/provider.rb", "lib/complex_config/proxy.rb", "lib/complex_config/railtie.rb", "lib/complex_config/rude.rb", "lib/complex_config/settings.rb", "lib/complex_config/shortcuts.rb", "lib/complex_config/version.rb"]
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.homepage = "https://github.com/flori/complex_config"
17
17
  s.licenses = ["Apache-2.0"]
18
18
  s.rdoc_options = ["--title", "ComplexConfig -- configuration library", "--main", "README.md"]
19
- s.rubygems_version = "2.5.0"
19
+ s.rubygems_version = "2.5.1"
20
20
  s.summary = "configuration library"
21
21
  s.test_files = ["spec/complex_config/config_spec.rb", "spec/complex_config/plugins_spec.rb", "spec/complex_config/provider_spec.rb", "spec/complex_config/settings_spec.rb", "spec/complex_config/shortcuts_spec.rb", "spec/spec_helper.rb"]
22
22
 
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.specification_version = 4
25
25
 
26
26
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
- s.add_development_dependency(%q<gem_hadar>, ["~> 1.3.1"])
27
+ s.add_development_dependency(%q<gem_hadar>, ["~> 1.7.1"])
28
28
  s.add_development_dependency(%q<rake>, [">= 0"])
29
29
  s.add_development_dependency(%q<simplecov>, [">= 0"])
30
30
  s.add_development_dependency(%q<rspec>, [">= 0"])
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
33
33
  s.add_runtime_dependency(%q<json>, [">= 0"])
34
34
  s.add_runtime_dependency(%q<tins>, [">= 0"])
35
35
  else
36
- s.add_dependency(%q<gem_hadar>, ["~> 1.3.1"])
36
+ s.add_dependency(%q<gem_hadar>, ["~> 1.7.1"])
37
37
  s.add_dependency(%q<rake>, [">= 0"])
38
38
  s.add_dependency(%q<simplecov>, [">= 0"])
39
39
  s.add_dependency(%q<rspec>, [">= 0"])
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
43
43
  s.add_dependency(%q<tins>, [">= 0"])
44
44
  end
45
45
  else
46
- s.add_dependency(%q<gem_hadar>, ["~> 1.3.1"])
46
+ s.add_dependency(%q<gem_hadar>, ["~> 1.7.1"])
47
47
  s.add_dependency(%q<rake>, [">= 0"])
48
48
  s.add_dependency(%q<simplecov>, [">= 0"])
49
49
  s.add_dependency(%q<rspec>, [">= 0"])
@@ -104,6 +104,18 @@ class ComplexConfig::Settings < JSON::GenericObject
104
104
  freeze
105
105
  end
106
106
 
107
+ alias index []
108
+
109
+ def [](name)
110
+ if !attribute_set?(name) and
111
+ value = ComplexConfig::Provider.apply_plugins(self, name)
112
+ then
113
+ value
114
+ else
115
+ index(name)
116
+ end
117
+ end
118
+
107
119
  private
108
120
 
109
121
  def table_enumerator
@@ -1,6 +1,6 @@
1
1
  module ComplexConfig
2
2
  # ComplexConfig version
3
- VERSION = '0.5.0'
3
+ VERSION = '0.5.2'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -24,6 +24,10 @@ RSpec.describe ComplexConfig::Settings do
24
24
  expect(settings.foo.test_uri).to eq URI.parse('http://www.ping.de')
25
25
  end
26
26
 
27
+ it 'can return an URI' do
28
+ expect(settings.foo[:test_uri]).to eq URI.parse('http://www.ping.de')
29
+ end
30
+
27
31
  it 'can skips if blub' do
28
32
  expect { settings.foo.nix_uri }.to raise_error(ComplexConfig::AttributeMissing)
29
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: complex_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-19 00:00:00.000000000 Z
11
+ date: 2016-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3.1
19
+ version: 1.7.1
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3.1
26
+ version: 1.7.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
201
  version: '0'
202
202
  requirements: []
203
203
  rubyforge_project:
204
- rubygems_version: 2.5.0
204
+ rubygems_version: 2.5.1
205
205
  signing_key:
206
206
  specification_version: 4
207
207
  summary: configuration library