configurate 0.1.0 → 0.5.0

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.
@@ -1,46 +1,61 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
2
4
 
3
5
  describe Configurate::SettingPath do
4
6
  let(:normal_path) { described_class.new([:foo]) }
5
7
  let(:question_path) { described_class.new([:foo?]) }
8
+ let(:action_path) { described_class.new([:foo!]) }
6
9
  let(:setter_path) { described_class.new([:foo=]) }
7
10
  let(:long_path) { described_class.new(["foo", "bar?"]) }
8
11
 
9
12
  describe "#initialize" do
10
13
  context "with a string" do
11
14
  it "creates a path" do
12
- expect(described_class.new long_path.to_s).to eq long_path
15
+ expect(described_class.new(long_path.to_s)).to eq long_path
13
16
  end
14
17
  end
15
18
  end
16
19
 
17
- describe "#is_question?" do
20
+ describe "#question?" do
18
21
  context "with a question signature as setting" do
19
- subject { question_path.is_question? }
22
+ subject { question_path.question? }
20
23
  it { should be_truthy }
21
24
  end
22
25
 
23
26
  context "with a normal path as setting" do
24
- subject { normal_path.is_question? }
27
+ subject { normal_path.question? }
25
28
  it { should be_falsey }
26
29
  end
27
30
  end
28
31
 
29
- describe "#is_setter?" do
32
+ describe "#action?" do
33
+ context "with a action signature as setting" do
34
+ subject { action_path.action? }
35
+ it { should be_truthy }
36
+ end
37
+
38
+ context "with a normal path as setting" do
39
+ subject { normal_path.action? }
40
+ it { should be_falsey }
41
+ end
42
+ end
43
+
44
+ describe "#setter?" do
30
45
  context "with a setter signature as setting" do
31
- subject { setter_path.is_setter? }
46
+ subject { setter_path.setter? }
32
47
  it { should be_truthy }
33
48
  end
34
49
 
35
50
  context "with a normal path as setting" do
36
- subject { normal_path.is_setter? }
51
+ subject { normal_path.setter? }
37
52
  it { should be_falsey }
38
53
  end
39
54
  end
40
55
 
41
56
  describe "#initialize_copy" do
42
57
  it "modifying a copy leaves the original unchanged" do
43
- original = described_class.new ["foo", "bar"]
58
+ original = described_class.new %w[foo bar]
44
59
  copy = original.clone
45
60
  copy << "baz"
46
61
  expect(copy).to include "baz"
@@ -48,42 +63,46 @@ describe Configurate::SettingPath do
48
63
  end
49
64
  end
50
65
 
51
-
52
- describe "#is_question_or_setter?" do
66
+ describe "#question_action_or_setter?" do
53
67
  context "with a question signature as setting" do
54
- subject { question_path.is_question_or_setter? }
68
+ subject { question_path.question_action_or_setter? }
69
+ it { should be_truthy }
70
+ end
71
+
72
+ context "with an action signature as setting" do
73
+ subject { action_path.question_action_or_setter? }
55
74
  it { should be_truthy }
56
75
  end
57
76
 
58
77
  context "with a setter signature as setting" do
59
- subject { setter_path.is_question_or_setter? }
78
+ subject { setter_path.question_action_or_setter? }
60
79
  it { should be_truthy }
61
80
  end
62
81
 
63
82
  context "with a normal path as setting" do
64
- subject { normal_path.is_question_or_setter? }
83
+ subject { normal_path.question_action_or_setter? }
65
84
  it { should be_falsey }
66
85
  end
67
86
  end
68
87
 
69
88
  describe "#each" do
70
89
  it "should strip special characters" do
71
- expect(long_path.all? { |c| c.include? "?" }).to be_falsey
90
+ expect(long_path.all? {|c| c.include? "?" }).to be_falsey
72
91
  end
73
92
  end
74
93
 
75
- [:join, :first, :last, :shift, :pop].each do |method|
94
+ %i[join first last shift pop].each do |method|
76
95
  describe "##{method}" do
77
96
  subject { question_path.public_send method }
78
97
  it { should_not include "?" }
79
98
  end
80
99
  end
81
100
 
82
- [:<<, :unshift, :push].each do |method|
101
+ %i[<< unshift push].each do |method|
83
102
  describe "##{method}" do
84
- it 'converts the argument to a string' do
103
+ it "converts the argument to a string" do
85
104
  arg = double
86
- expect(arg).to receive(:to_s).and_return('bar')
105
+ expect(arg).to receive(:to_s).and_return("bar")
87
106
  described_class.new.public_send method, arg
88
107
  end
89
108
  end
@@ -102,7 +121,7 @@ describe Configurate::SettingPath do
102
121
 
103
122
  describe "#inspect" do
104
123
  it "includes the dotted path" do
105
- path = described_class.new([:foo, :bar])
124
+ path = described_class.new(%i[foo bar])
106
125
  expect(path.inspect).to include "foo.bar"
107
126
  end
108
127
  end
@@ -1,4 +1,6 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
2
4
 
3
5
  describe Configurate::Settings do
4
6
  describe "#method_missing" do
@@ -12,8 +14,8 @@ describe Configurate::Settings do
12
14
  end
13
15
  end
14
16
 
15
- [:lookup, :add_provider, :[]].each do |method|
16
- describe "#{method}" do
17
+ %i(lookup add_provider []).each do |method|
18
+ describe method.to_s do
17
19
  subject { described_class.create }
18
20
 
19
21
  it "delegates the call to #lookup_chain" do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # This file was generated by the `rspec --init` command. Conventionally, all
2
4
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
5
  # Require this file using `require "spec_helper"` to ensure that it is only
@@ -5,17 +7,18 @@
5
7
  #
6
8
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
9
 
8
-
9
10
  begin
10
- require 'coveralls'
11
+ require "coveralls"
11
12
  Coveralls.wear!
12
- rescue LoadError; end
13
+ rescue LoadError
14
+ end
13
15
 
14
- require 'configurate'
16
+ require "configurate"
15
17
 
16
18
  def silence_stderr
17
19
  $stderr = StringIO.new
18
20
  yield
21
+ ensure
19
22
  $stderr = STDERR
20
23
  end
21
24
 
@@ -27,7 +30,7 @@ RSpec.configure do |config|
27
30
  # order dependency and want to debug it, you can fix the order by providing
28
31
  # the seed, which is printed after each run.
29
32
  # --seed 1234
30
- config.order = 'random'
33
+ config.order = "random"
31
34
 
32
35
  config.expect_with :rspec do |expect_config|
33
36
  expect_config.syntax = :expect
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.1.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonne Haß
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-26 00:00:00.000000000 Z
11
+ date: 2020-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: toml-rb
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 2.0.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 2.0.1
41
55
  description: Configurate is a flexible configuration system that can read settings
42
56
  from multiple sources at the same time.
43
57
  email: me@jhass.eu
@@ -53,12 +67,16 @@ files:
53
67
  - lib/configurate/provider.rb
54
68
  - lib/configurate/provider/dynamic.rb
55
69
  - lib/configurate/provider/env.rb
70
+ - lib/configurate/provider/string_hash.rb
71
+ - lib/configurate/provider/toml.rb
56
72
  - lib/configurate/provider/yaml.rb
57
73
  - lib/configurate/proxy.rb
58
74
  - lib/configurate/setting_path.rb
59
75
  - spec/configurate/lookup_chain_spec.rb
60
76
  - spec/configurate/provider/dynamic_spec.rb
61
77
  - spec/configurate/provider/env_spec.rb
78
+ - spec/configurate/provider/string_hash_spec.rb
79
+ - spec/configurate/provider/toml_spec.rb
62
80
  - spec/configurate/provider/yaml_spec.rb
63
81
  - spec/configurate/provider_spec.rb
64
82
  - spec/configurate/proxy_spec.rb
@@ -69,7 +87,7 @@ homepage: http://jhass.github.io/configurate
69
87
  licenses:
70
88
  - MIT
71
89
  metadata: {}
72
- post_install_message:
90
+ post_install_message:
73
91
  rdoc_options: []
74
92
  require_paths:
75
93
  - lib
@@ -77,26 +95,26 @@ required_ruby_version: !ruby/object:Gem::Requirement
77
95
  requirements:
78
96
  - - ">="
79
97
  - !ruby/object:Gem::Version
80
- version: 1.9.2
98
+ version: 2.0.0
81
99
  required_rubygems_version: !ruby/object:Gem::Requirement
82
100
  requirements:
83
101
  - - ">="
84
102
  - !ruby/object:Gem::Version
85
103
  version: '0'
86
104
  requirements: []
87
- rubyforge_project:
88
- rubygems_version: 2.4.1
89
- signing_key:
105
+ rubygems_version: 3.1.2
106
+ signing_key:
90
107
  specification_version: 4
91
108
  summary: Flexbile configuration system
92
109
  test_files:
93
- - spec/configurate/provider_spec.rb
110
+ - spec/spec_helper.rb
94
111
  - spec/configurate/lookup_chain_spec.rb
112
+ - spec/configurate/provider/toml_spec.rb
113
+ - spec/configurate/provider/dynamic_spec.rb
95
114
  - spec/configurate/provider/yaml_spec.rb
115
+ - spec/configurate/provider/string_hash_spec.rb
96
116
  - spec/configurate/provider/env_spec.rb
97
- - spec/configurate/provider/dynamic_spec.rb
98
- - spec/configurate/setting_path_spec.rb
99
117
  - spec/configurate/proxy_spec.rb
100
- - spec/spec_helper.rb
118
+ - spec/configurate/provider_spec.rb
119
+ - spec/configurate/setting_path_spec.rb
101
120
  - spec/configurate_spec.rb
102
- has_rdoc:
@@ -1,11 +0,0 @@
1
- -----BEGIN PGP SIGNATURE-----
2
- Version: GnuPG v2
3
-
4
- iQEcBAABAgAGBQJUJcgAAAoJEPNH4OtHrHDWwu0IAIPCkoGVvTACKyK1T3wq/1MY
5
- /Ea17MjRfBzNZ4vagFJd8LZAIf58ZFGYPiFhvZim26o7WVIf6BGUNDQUDC+CKAg6
6
- iFXfbPjXXjuB3v1mylZ81ZWcfkyClda2T95LHdsdJ52s/ciar2L1QvngM/MR1+Vr
7
- 5nmnBS9OFA3/OsQVJKWi1oKClfz4RLFCcI16Y3gyH9WrsLFlCr2McJ/lTr6U/D8x
8
- XLrUEcMMYWK7G7qc0C9WKD7+Y/lVLpjZSWElC+Mm9dGpK0Q5K01RbU2zd8O15uDM
9
- ycwtvFvOnwdKjTRUx/m+LH5ey42nawOgtFhbmDmdwfJwo0gUTtqVvltNGnqgxKo=
10
- =ryWj
11
- -----END PGP SIGNATURE-----
data.tar.gz.asc DELETED
@@ -1,11 +0,0 @@
1
- -----BEGIN PGP SIGNATURE-----
2
- Version: GnuPG v2
3
-
4
- iQEcBAABAgAGBQJUJcgAAAoJEPNH4OtHrHDW6fEH/1cAw0GslySQkuKPc2SvjC5r
5
- hc3rYNdp7P7RA+a4liD9d/qRjCYWvkV1/dg57B2/PouXT/e/D9+cCvRpgtu1E3lv
6
- Oecgh+mV/jR7mxfwr4xdLjGX0JajP/VnI/IEcxjLi7ht3tYkztdRACNhIzfjCqdc
7
- cGyV3dAbmt3bflf85YbDAUcQkkwnFOLCZQUfepgxjgv1/BBBEKXp68+5wge2q2co
8
- +yTmV6LXU+2B8hwDwJpjB1V6lxJKh61gwK3zNexqsYLGn5C7SjxSBdObvs2wCAAR
9
- 9XdG9pkpavHEiYBBXQe5zjDUIWRGIP+Y2/tfVTr74sQ76k7Q4bDSAovoVUwhVQs=
10
- =4Tkj
11
- -----END PGP SIGNATURE-----
metadata.gz.asc DELETED
@@ -1,11 +0,0 @@
1
- -----BEGIN PGP SIGNATURE-----
2
- Version: GnuPG v2
3
-
4
- iQEcBAABAgAGBQJUJcgAAAoJEPNH4OtHrHDWGi0H/1bZoFxs/WNJhIvM/NciG/lx
5
- VNgn9R/R46sRZqjCU4EXUAicWAOggNhF78d6XAbdQJSE2aiokBxQrE/tci6q4iDU
6
- I1LLbcahSmZle9fR2JsUpGtT7A8hyKYpCDUjUG7TY2Ktfas9qL1GEsDtPKVjmQNS
7
- l0GTg1JQ7XZHSkRAdBWHn9geGnQBQ7AqAqREIK/6+zSAaN7QNtBijIg9h4EyBWXb
8
- SDZILyvkgj6bt+eE+o32jrNleLMfJbGU9zlNl92l4O1bb5TspUKwq9JkpSR4ZRzd
9
- jkt5H+gXfwF0/zltejfLlkp50fwF3XnWgy9cEAh/BNTVPzT0HgfJzq3YBPlM7Vo=
10
- =QI26
11
- -----END PGP SIGNATURE-----