confidante 0.27.0 → 0.28.0.pre.1

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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7aeaaa503bba1e9945ac122ea78effda130b69b718043bfd07cd0e7802fd193e
4
- data.tar.gz: bfda4c835e7b950ffc3b5b89467ffabd5f26948550e0dcce0a2babec4b5561f7
3
+ metadata.gz: ddf71c91ed1b06c249775c70b3afc46e24d54fc53a93e7f6c4318cab8ff58b57
4
+ data.tar.gz: d27e57dc1223f786f38ac060eb25f480fb4652f493d0e1028bc52c5c11410059
5
5
  SHA512:
6
- metadata.gz: e46371caedcd09ff1d811b30aa3d5d8d005c29a03f9c18629a96681684e56890eb1b5cd0b6563c5d184b58a683bbef6800a3077ff03c1040e7c8e534bdc2c04b
7
- data.tar.gz: b5c4203709ed4220da14cadd571f33282160233ddbedd12103400f89d2480466294d469b68df4ac42ba26538e8233bb9a3f53e2ac41c19d1e81d18fd304545fb
6
+ metadata.gz: cc459b76cbe6d0d45bb66cbfb2e5e731926de7e0ced891fdae152e05a9409264497c3aac2c25ffb176aa5c160a7ac849f7b927bbf93e422c25cdbdcdc6c25c43
7
+ data.tar.gz: 582ecbc42d975cfd80e0ae11383251d1a78896fb67f7d045d6281dd6d3f22476b644353673ef51ab4475a1af49d38d3e736e8dd5a607c3a868b89e1108386657
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify dependencies in lino.gemspec
data/Gemfile.lock CHANGED
@@ -1,15 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- confidante (0.27.0)
4
+ confidante (0.28.0.pre.1)
5
5
  activesupport (>= 4)
6
- hiera (~> 3.3, >= 3.3.1)
7
- shikashi (~> 0.6)
6
+ hiera (>= 3.3, < 4)
7
+ shikashi (>= 0.6, < 1)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (6.1.0)
12
+ activesupport (6.1.3.1)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
14
  i18n (>= 1.6, < 2)
15
15
  minitest (>= 5.1)
@@ -17,59 +17,67 @@ GEM
17
17
  zeitwerk (~> 2.3)
18
18
  addressable (2.7.0)
19
19
  public_suffix (>= 2.0.2, < 5.0)
20
+ ast (2.4.2)
20
21
  colored2 (3.1.2)
21
- concurrent-ruby (1.1.7)
22
+ concurrent-ruby (1.1.8)
22
23
  diff-lcs (1.4.4)
24
+ docile (1.3.5)
23
25
  evalhook (0.6.0)
24
26
  partialruby (~> 0.3)
25
27
  sexp_processor (~> 4.0)
26
- excon (0.78.1)
28
+ excon (0.79.0)
27
29
  faraday (1.3.0)
28
30
  faraday-net_http (~> 1.0)
29
31
  multipart-post (>= 1.2, < 3)
30
32
  ruby2_keywords
31
- faraday-net_http (1.0.0)
32
- gem-release (2.2.0)
33
+ faraday-net_http (1.0.1)
34
+ gem-release (2.2.1)
33
35
  getsource (0.2.2)
34
36
  hamster (3.0.0)
35
37
  concurrent-ruby (~> 1.0)
36
- hiera (3.6.0)
37
- i18n (1.8.6)
38
+ hiera (3.7.0)
39
+ i18n (1.8.10)
38
40
  concurrent-ruby (~> 1.0)
39
- lino (1.5.0)
41
+ lino (1.9.0)
40
42
  hamster (~> 3.0)
41
43
  open4 (~> 1.3)
42
- minitest (5.14.2)
44
+ minitest (5.14.4)
43
45
  multipart-post (2.1.1)
44
46
  octokit (4.20.0)
45
47
  faraday (>= 0.9)
46
48
  sawyer (~> 0.8.0, >= 0.5.3)
47
49
  open4 (1.3.4)
50
+ parallel (1.20.1)
51
+ parser (3.0.0.0)
52
+ ast (~> 2.4.1)
48
53
  partialruby (0.3.0)
49
54
  ruby2ruby (~> 2)
50
55
  ruby_parser (~> 3)
51
56
  public_suffix (4.0.6)
57
+ rainbow (3.0.0)
52
58
  rake (13.0.3)
53
59
  rake_circle_ci (0.9.0)
54
60
  colored2 (~> 3.1)
55
61
  excon (~> 0.72)
56
62
  rake_factory (~> 0.23)
57
63
  sshkey (~> 2.0)
58
- rake_factory (0.27.0)
64
+ rake_factory (0.29.0)
59
65
  activesupport (>= 4)
60
66
  rake (~> 13.0)
61
- rake_github (0.5.0)
67
+ rake_github (0.7.0)
62
68
  colored2 (~> 3.1)
63
69
  octokit (~> 4.16)
64
70
  rake_factory (~> 0.23)
65
71
  sshkey (~> 2.0)
66
- rake_gpg (0.12.0)
72
+ rake_gpg (0.14.0)
67
73
  rake_factory (>= 0.23, < 1)
68
74
  ruby_gpg2 (>= 0.6, < 1)
69
- rake_ssh (0.4.0)
75
+ rake_ssh (0.6.0)
70
76
  colored2 (~> 3.1)
71
77
  rake_factory (~> 0.23)
72
78
  sshkey (~> 2.0)
79
+ regexp_parser (2.1.1)
80
+ rexml (3.2.4)
73
81
  rspec (3.10.0)
74
82
  rspec-core (~> 3.10.0)
75
83
  rspec-expectations (~> 3.10.0)
@@ -79,43 +87,71 @@ GEM
79
87
  rspec-expectations (3.10.1)
80
88
  diff-lcs (>= 1.2.0, < 2.0)
81
89
  rspec-support (~> 3.10.0)
82
- rspec-mocks (3.10.1)
90
+ rspec-mocks (3.10.2)
83
91
  diff-lcs (>= 1.2.0, < 2.0)
84
92
  rspec-support (~> 3.10.0)
85
- rspec-support (3.10.1)
86
- ruby2_keywords (0.0.2)
93
+ rspec-support (3.10.2)
94
+ rubocop (1.12.0)
95
+ parallel (~> 1.10)
96
+ parser (>= 3.0.0.0)
97
+ rainbow (>= 2.2.2, < 4.0)
98
+ regexp_parser (>= 1.8, < 3.0)
99
+ rexml
100
+ rubocop-ast (>= 1.2.0, < 2.0)
101
+ ruby-progressbar (~> 1.7)
102
+ unicode-display_width (>= 1.4.0, < 3.0)
103
+ rubocop-ast (1.4.1)
104
+ parser (>= 2.7.1.5)
105
+ rubocop-rake (0.5.1)
106
+ rubocop
107
+ rubocop-rspec (2.2.0)
108
+ rubocop (~> 1.0)
109
+ rubocop-ast (>= 1.1.0)
110
+ ruby-progressbar (1.11.0)
111
+ ruby2_keywords (0.0.4)
87
112
  ruby2ruby (2.4.4)
88
113
  ruby_parser (~> 3.1)
89
114
  sexp_processor (~> 4.6)
90
- ruby_gpg2 (0.6.0)
115
+ ruby_gpg2 (0.8.0)
91
116
  lino (>= 1.5)
92
- ruby_parser (3.15.0)
117
+ ruby_parser (3.15.1)
93
118
  sexp_processor (~> 4.9)
94
119
  sawyer (0.8.2)
95
120
  addressable (>= 2.3.5)
96
121
  faraday (> 0.8, < 2.0)
97
- sexp_processor (4.15.1)
122
+ sexp_processor (4.15.2)
98
123
  shikashi (0.6.0)
99
124
  evalhook (>= 0.6.0)
100
125
  getsource (>= 0.1.0)
126
+ simplecov (0.21.2)
127
+ docile (~> 1.1)
128
+ simplecov-html (~> 0.11)
129
+ simplecov_json_formatter (~> 0.1)
130
+ simplecov-html (0.12.3)
131
+ simplecov_json_formatter (0.1.2)
101
132
  sshkey (2.0.0)
102
133
  tzinfo (2.0.4)
103
134
  concurrent-ruby (~> 1.0)
135
+ unicode-display_width (2.0.0)
104
136
  zeitwerk (2.4.2)
105
137
 
106
138
  PLATFORMS
107
139
  ruby
108
140
 
109
141
  DEPENDENCIES
110
- bundler (~> 2.0)
142
+ bundler
111
143
  confidante!
112
- gem-release (~> 2.0)
113
- rake (~> 13.0)
114
- rake_circle_ci (~> 0.9)
115
- rake_github (~> 0.5)
116
- rake_gpg (~> 0.12)
117
- rake_ssh (~> 0.4)
118
- rspec (~> 3.9)
144
+ gem-release
145
+ rake
146
+ rake_circle_ci
147
+ rake_github
148
+ rake_gpg
149
+ rake_ssh
150
+ rspec
151
+ rubocop
152
+ rubocop-rake
153
+ rubocop-rspec
154
+ simplecov
119
155
 
120
156
  BUNDLED WITH
121
- 2.2.4
157
+ 2.2.15
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'yaml'
2
4
  require 'rake_circle_ci'
3
5
  require 'rake_github'
@@ -5,13 +7,16 @@ require 'rake_ssh'
5
7
  require 'rake_gpg'
6
8
  require 'securerandom'
7
9
  require 'rspec/core/rake_task'
10
+ require 'rubocop/rake_task'
8
11
 
9
- task :default => :spec
10
-
11
- RSpec::Core::RakeTask.new(:spec)
12
+ task default: %i[
13
+ library:fix
14
+ test:unit
15
+ ]
12
16
 
13
17
  namespace :encryption do
14
18
  namespace :passphrase do
19
+ desc 'Generate encryption passphrase for CI GPG key'
15
20
  task :generate do
16
21
  File.open('config/secrets/ci/encryption.passphrase', 'w') do |f|
17
22
  f.write(SecureRandom.base64(36))
@@ -23,83 +28,100 @@ end
23
28
  namespace :keys do
24
29
  namespace :deploy do
25
30
  RakeSSH.define_key_tasks(
26
- path: 'config/secrets/ci/',
27
- comment: 'maintainers@infrablocks.io')
31
+ path: 'config/secrets/ci/',
32
+ comment: 'maintainers@infrablocks.io'
33
+ )
28
34
  end
29
35
 
30
36
  namespace :gpg do
31
37
  RakeGPG.define_generate_key_task(
32
- output_directory: 'config/secrets/ci',
33
- name_prefix: 'gpg',
34
- owner_name: 'InfraBlocks Maintainers',
35
- owner_email: 'maintainers@infrablocks.io',
36
- owner_comment: 'confidante CI Key')
38
+ output_directory: 'config/secrets/ci',
39
+ name_prefix: 'gpg',
40
+ owner_name: 'InfraBlocks Maintainers',
41
+ owner_email: 'maintainers@infrablocks.io',
42
+ owner_comment: 'confidante CI Key'
43
+ )
37
44
  end
38
45
  end
39
46
 
47
+ RuboCop::RakeTask.new
48
+
49
+ namespace :library do
50
+ desc 'Run all checks of the library'
51
+ task check: [:rubocop]
52
+
53
+ desc 'Attempt to automatically fix issues with the library'
54
+ task fix: [:'rubocop:auto_correct']
55
+ end
56
+
57
+ namespace :test do
58
+ RSpec::Core::RakeTask.new(:unit)
59
+ end
60
+
40
61
  RakeCircleCI.define_project_tasks(
41
- namespace: :circle_ci,
42
- project_slug: 'github/infrablocks/confidante'
62
+ namespace: :circle_ci,
63
+ project_slug: 'github/infrablocks/confidante'
43
64
  ) do |t|
44
65
  circle_ci_config =
45
- YAML.load_file('config/secrets/circle_ci/config.yaml')
66
+ YAML.load_file('config/secrets/circle_ci/config.yaml')
46
67
 
47
- t.api_token = circle_ci_config["circle_ci_api_token"]
68
+ t.api_token = circle_ci_config['circle_ci_api_token']
48
69
  t.environment_variables = {
49
- ENCRYPTION_PASSPHRASE:
50
- File.read('config/secrets/ci/encryption.passphrase')
51
- .chomp
70
+ ENCRYPTION_PASSPHRASE:
71
+ File.read('config/secrets/ci/encryption.passphrase')
72
+ .chomp
52
73
  }
53
74
  t.checkout_keys = []
54
75
  t.ssh_keys = [
55
- {
56
- hostname: "github.com",
57
- private_key: File.read('config/secrets/ci/ssh.private')
58
- }
76
+ {
77
+ hostname: 'github.com',
78
+ private_key: File.read('config/secrets/ci/ssh.private')
79
+ }
59
80
  ]
60
81
  end
61
82
 
62
83
  RakeGithub.define_repository_tasks(
63
- namespace: :github,
64
- repository: 'infrablocks/confidante',
84
+ namespace: :github,
85
+ repository: 'infrablocks/confidante'
65
86
  ) do |t|
66
87
  github_config =
67
- YAML.load_file('config/secrets/github/config.yaml')
88
+ YAML.load_file('config/secrets/github/config.yaml')
68
89
 
69
- t.access_token = github_config["github_personal_access_token"]
90
+ t.access_token = github_config['github_personal_access_token']
70
91
  t.deploy_keys = [
71
- {
72
- title: 'CircleCI',
73
- public_key: File.read('config/secrets/ci/ssh.public')
74
- }
92
+ {
93
+ title: 'CircleCI',
94
+ public_key: File.read('config/secrets/ci/ssh.public')
95
+ }
75
96
  ]
76
97
  end
77
98
 
78
99
  namespace :pipeline do
79
- task :prepare => [
80
- :'circle_ci:project:follow',
81
- :'circle_ci:env_vars:ensure',
82
- :'circle_ci:checkout_keys:ensure',
83
- :'circle_ci:ssh_keys:ensure',
84
- :'github:deploy_keys:ensure'
100
+ desc 'Prepare CircleCI Pipeline'
101
+ task prepare: %i[
102
+ circle_ci:project:follow
103
+ circle_ci:env_vars:ensure
104
+ circle_ci:checkout_keys:ensure
105
+ circle_ci:ssh_keys:ensure
106
+ github:deploy_keys:ensure
85
107
  ]
86
108
  end
87
109
 
88
110
  namespace :version do
89
- desc "Bump version for specified type (pre, major, minor, patch)"
111
+ desc 'Bump version for specified type (pre, major, minor, patch)'
90
112
  task :bump, [:type] do |_, args|
91
113
  bump_version_for(args.type)
92
114
  end
93
115
  end
94
116
 
95
- desc "Release gem"
117
+ desc 'Release gem'
96
118
  task :release do
97
- sh "gem release --tag --push"
119
+ sh 'gem release --tag --push'
98
120
  end
99
121
 
100
122
  def bump_version_for(version_type)
101
- sh "gem bump --version #{version_type} " +
102
- "&& bundle install " +
103
- "&& export LAST_MESSAGE=\"$(git log -1 --pretty=%B)\" " +
104
- "&& git commit -a --amend -m \"${LAST_MESSAGE} [ci skip]\""
123
+ sh "gem bump --version #{version_type} " \
124
+ '&& bundle install ' \
125
+ '&& export LAST_MESSAGE="$(git log -1 --pretty=%B)" ' \
126
+ '&& git commit -a --amend -m "${LAST_MESSAGE} [ci skip]"'
105
127
  end
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'confidante'
data/confidante.gemspec CHANGED
@@ -1,25 +1,36 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'confidante/version'
5
6
  require 'date'
6
7
 
8
+ files = %w[
9
+ bin
10
+ lib
11
+ CODE_OF_CONDUCT.md
12
+ confidante.gemspec
13
+ Gemfile
14
+ LICENSE.txt
15
+ Rakefile
16
+ README.md
17
+ ]
18
+
7
19
  Gem::Specification.new do |spec|
8
20
  spec.name = 'confidante'
9
21
  spec.version = Confidante::VERSION
10
22
  spec.authors = ['Toby Clemson']
11
23
  spec.email = ['tobyclemson@gmail.com']
12
24
 
13
- spec.date = Date.today.to_s
14
25
  spec.summary = 'A configuration engine over hiera.'
15
26
  spec.description =
16
- 'A configuration engine combining environment variables, programmatic ' +
17
- 'overrides and the power of hiera.'
27
+ 'A configuration engine combining environment variables, programmatic ' \
28
+ 'overrides and the power of hiera.'
18
29
  spec.homepage = 'https://github.com/infrablocks/confidante'
19
30
  spec.license = 'MIT'
20
31
 
21
32
  spec.files = `git ls-files -z`.split("\x0").select do |f|
22
- f.match(%r{^(bin|lib|CODE_OF_CONDUCT\.md|confidante\.gemspec|Gemfile|LICENSE\.txt|Rakefile|README\.md)})
33
+ f.match(/^(#{files.map { |g| Regexp.escape(g) }.join('|')})/)
23
34
  end
24
35
  spec.bindir = 'exe'
25
36
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -27,16 +38,20 @@ Gem::Specification.new do |spec|
27
38
 
28
39
  spec.required_ruby_version = '>= 2.6.0'
29
40
 
30
- spec.add_dependency 'hiera', '~> 3.3', '>= 3.3.1'
31
41
  spec.add_dependency 'activesupport', '>= 4'
32
- spec.add_dependency 'shikashi', '~> 0.6'
33
-
34
- spec.add_development_dependency 'bundler', '~> 2.0'
35
- spec.add_development_dependency 'rake', '~> 13.0'
36
- spec.add_development_dependency 'rake_circle_ci', '~> 0.9'
37
- spec.add_development_dependency 'rake_github', '~> 0.5'
38
- spec.add_development_dependency 'rake_ssh', '~> 0.4'
39
- spec.add_development_dependency 'rake_gpg', '~> 0.12'
40
- spec.add_development_dependency 'rspec', '~> 3.9'
41
- spec.add_development_dependency 'gem-release', '~> 2.0'
42
+ spec.add_dependency 'hiera', '>= 3.3', '< 4'
43
+ spec.add_dependency 'shikashi', '>= 0.6', '< 1'
44
+
45
+ spec.add_development_dependency 'bundler'
46
+ spec.add_development_dependency 'gem-release'
47
+ spec.add_development_dependency 'rake'
48
+ spec.add_development_dependency 'rake_circle_ci'
49
+ spec.add_development_dependency 'rake_github'
50
+ spec.add_development_dependency 'rake_gpg'
51
+ spec.add_development_dependency 'rake_ssh'
52
+ spec.add_development_dependency 'rspec'
53
+ spec.add_development_dependency 'rubocop'
54
+ spec.add_development_dependency 'rubocop-rake'
55
+ spec.add_development_dependency 'rubocop-rspec'
56
+ spec.add_development_dependency 'simplecov'
42
57
  end
data/lib/confidante.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'confidante/version'
2
4
  require_relative 'confidante/converters'
3
5
  require_relative 'confidante/configuration'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'hiera'
2
4
  require 'active_support'
3
5
  require 'active_support/core_ext/hash/keys'
@@ -7,50 +9,62 @@ require_relative 'converters'
7
9
  module Confidante
8
10
  class Configuration
9
11
  def initialize(opts = {})
10
- options = {
11
- overrides: {},
12
- scope: {},
13
- }.merge(opts.to_options)
14
-
15
- unless options[:hiera]
16
- options[:hiera] = Hiera.new(config: 'config/hiera.yaml')
17
- end
18
-
19
- unless options[:converters]
20
- options[:converters] =
21
- [Confidante::Converters::EvaluatingConverter.new]
22
- end
12
+ options = opts.to_options
23
13
 
24
- @overrides = options[:overrides]
25
- @scope = options[:scope]
26
- @hiera = options[:hiera]
27
- @converters = options[:converters]
14
+ @overrides = default_overrides(options[:overrides])
15
+ @scope = default_scope(options[:scope])
16
+ @hiera = default_hiera(options[:hiera])
17
+ @converters = default_converters(options[:converters])
28
18
  end
29
19
 
30
20
  def for_overrides(overrides)
31
21
  Configuration.new(
32
- overrides: overrides,
33
- scope: @scope,
34
- hiera: @hiera,
35
- converters: @converters)
22
+ overrides: overrides,
23
+ scope: @scope,
24
+ hiera: @hiera,
25
+ converters: @converters
26
+ )
36
27
  end
37
28
 
38
29
  def for_scope(scope)
39
30
  Configuration.new(
40
- overrides: @overrides,
41
- scope: scope,
42
- hiera: @hiera,
43
- converters: @converters)
31
+ overrides: @overrides,
32
+ scope: scope,
33
+ hiera: @hiera,
34
+ converters: @converters
35
+ )
44
36
  end
45
37
 
46
- def method_missing(method, *args, &block)
38
+ def method_missing(method, *_args)
47
39
  scope =
48
- {'cwd' => Dir.pwd}
49
- .merge(@scope.stringify_keys)
50
- .merge({'overrides' => @overrides.to_h.stringify_keys})
40
+ { 'cwd' => Dir.pwd }
41
+ .merge(@scope.stringify_keys)
42
+ .merge({ 'overrides' => @overrides.to_h.stringify_keys })
51
43
  @converters.inject(@hiera.lookup(method.to_s, nil, scope)) do |v, c|
52
44
  c.convert(v)
53
45
  end
54
46
  end
47
+
48
+ def respond_to_missing?(_method_name, _include_private = false)
49
+ true
50
+ end
51
+
52
+ private
53
+
54
+ def default_overrides(overrides)
55
+ overrides || {}
56
+ end
57
+
58
+ def default_scope(scope)
59
+ scope || {}
60
+ end
61
+
62
+ def default_hiera(hiera)
63
+ hiera || Hiera.new(config: 'config/hiera.yaml')
64
+ end
65
+
66
+ def default_converters(converters)
67
+ converters || [Confidante::Converters::EvaluatingConverter.new]
68
+ end
55
69
  end
56
- end
70
+ end
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'converters/evaluating_converter'
2
4
 
3
5
  module Confidante
4
6
  module Converters
5
7
  end
6
- end
8
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'shikashi'
2
4
 
3
5
  module Confidante
@@ -35,7 +37,7 @@ module Confidante
35
37
  if thing =~ /^[\[,{]/
36
38
  begin
37
39
  @sandbox.run(@privileges, thing)
38
- rescue Exception
40
+ rescue StandardError
39
41
  thing
40
42
  end
41
43
  else
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Confidante
2
- VERSION = '0.27.0'
4
+ VERSION = '0.28.0.pre.1'
3
5
  end
@@ -1,20 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'hiera'
2
4
 
3
5
  class Hiera
4
6
  module Backend
7
+ # rubocop:disable Naming/ClassAndModuleCamelCase
5
8
  class Env_backend
6
9
  def initialize
7
10
  Hiera.debug('Hiera environment backend starting')
8
11
  end
9
12
 
10
- def lookup(key, scope, order_override, resolution_type, context)
13
+ def lookup(key, scope, _order_override, resolution_type, _context)
11
14
  Hiera.debug(
12
- "Looking up #{key} in environment backend with #{resolution_type}")
15
+ "Looking up #{key} in environment backend with #{resolution_type}"
16
+ )
13
17
 
14
18
  Backend.parse_answer(
15
- ENV[key.to_s.upcase] || throw(:no_such_key),
16
- scope)
19
+ ENV[key.to_s.upcase] || throw(:no_such_key),
20
+ scope
21
+ )
17
22
  end
18
23
  end
24
+ # rubocop:enable Naming/ClassAndModuleCamelCase
19
25
  end
20
- end
26
+ end
@@ -1,15 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'hiera'
2
4
 
3
5
  class Hiera
4
6
  module Backend
7
+ # rubocop:disable Naming/ClassAndModuleCamelCase
5
8
  class Overrides_backend
6
9
  def initialize
7
10
  Hiera.debug('Hiera overrides backend starting')
8
11
  end
9
12
 
10
- def lookup(key, scope, order_override, resolution_type, context)
13
+ def lookup(key, scope, _order_override, resolution_type, _context)
11
14
  Hiera.debug(
12
- "Looking up #{key} in overrides backend with #{resolution_type}")
15
+ "Looking up #{key} in overrides backend with #{resolution_type}"
16
+ )
13
17
 
14
18
  overrides = scope && scope['overrides']
15
19
  Hiera.debug("Found overrides: #{overrides}")
@@ -22,5 +26,6 @@ class Hiera
22
26
  Backend.parse_answer(override || throw(:no_such_key), scope)
23
27
  end
24
28
  end
29
+ # rubocop:enable Naming/ClassAndModuleCamelCase
25
30
  end
26
- end
31
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'shikashi'
2
4
 
3
5
  module ShikashiExtensions
metadata CHANGED
@@ -1,40 +1,37 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: confidante
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.0
4
+ version: 0.28.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-02 00:00:00.000000000 Z
11
+ date: 2021-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: hiera
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '3.3'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
- version: 3.3.1
19
+ version: '4'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '3.3'
30
24
  - - ">="
31
25
  - !ruby/object:Gem::Version
32
- version: 3.3.1
26
+ version: '4'
33
27
  - !ruby/object:Gem::Dependency
34
- name: activesupport
28
+ name: hiera
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '3.3'
34
+ - - "<"
38
35
  - !ruby/object:Gem::Version
39
36
  version: '4'
40
37
  type: :runtime
@@ -42,134 +39,199 @@ dependencies:
42
39
  version_requirements: !ruby/object:Gem::Requirement
43
40
  requirements:
44
41
  - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '3.3'
44
+ - - "<"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '4'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: shikashi
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0.6'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: '1'
54
57
  type: :runtime
55
58
  prerelease: false
56
59
  version_requirements: !ruby/object:Gem::Requirement
57
60
  requirements:
58
- - - "~>"
61
+ - - ">="
59
62
  - !ruby/object:Gem::Version
60
63
  version: '0.6'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: '1'
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: bundler
63
69
  requirement: !ruby/object:Gem::Requirement
64
70
  requirements:
65
- - - "~>"
71
+ - - ">="
66
72
  - !ruby/object:Gem::Version
67
- version: '2.0'
73
+ version: '0'
68
74
  type: :development
69
75
  prerelease: false
70
76
  version_requirements: !ruby/object:Gem::Requirement
71
77
  requirements:
72
- - - "~>"
78
+ - - ">="
73
79
  - !ruby/object:Gem::Version
74
- version: '2.0'
80
+ version: '0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: gem-release
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
75
95
  - !ruby/object:Gem::Dependency
76
96
  name: rake
77
97
  requirement: !ruby/object:Gem::Requirement
78
98
  requirements:
79
- - - "~>"
99
+ - - ">="
80
100
  - !ruby/object:Gem::Version
81
- version: '13.0'
101
+ version: '0'
82
102
  type: :development
83
103
  prerelease: false
84
104
  version_requirements: !ruby/object:Gem::Requirement
85
105
  requirements:
86
- - - "~>"
106
+ - - ">="
87
107
  - !ruby/object:Gem::Version
88
- version: '13.0'
108
+ version: '0'
89
109
  - !ruby/object:Gem::Dependency
90
110
  name: rake_circle_ci
91
111
  requirement: !ruby/object:Gem::Requirement
92
112
  requirements:
93
- - - "~>"
113
+ - - ">="
94
114
  - !ruby/object:Gem::Version
95
- version: '0.9'
115
+ version: '0'
96
116
  type: :development
97
117
  prerelease: false
98
118
  version_requirements: !ruby/object:Gem::Requirement
99
119
  requirements:
100
- - - "~>"
120
+ - - ">="
101
121
  - !ruby/object:Gem::Version
102
- version: '0.9'
122
+ version: '0'
103
123
  - !ruby/object:Gem::Dependency
104
124
  name: rake_github
105
125
  requirement: !ruby/object:Gem::Requirement
106
126
  requirements:
107
- - - "~>"
127
+ - - ">="
108
128
  - !ruby/object:Gem::Version
109
- version: '0.5'
129
+ version: '0'
110
130
  type: :development
111
131
  prerelease: false
112
132
  version_requirements: !ruby/object:Gem::Requirement
113
133
  requirements:
114
- - - "~>"
134
+ - - ">="
115
135
  - !ruby/object:Gem::Version
116
- version: '0.5'
136
+ version: '0'
117
137
  - !ruby/object:Gem::Dependency
118
- name: rake_ssh
138
+ name: rake_gpg
119
139
  requirement: !ruby/object:Gem::Requirement
120
140
  requirements:
121
- - - "~>"
141
+ - - ">="
122
142
  - !ruby/object:Gem::Version
123
- version: '0.4'
143
+ version: '0'
124
144
  type: :development
125
145
  prerelease: false
126
146
  version_requirements: !ruby/object:Gem::Requirement
127
147
  requirements:
128
- - - "~>"
148
+ - - ">="
129
149
  - !ruby/object:Gem::Version
130
- version: '0.4'
150
+ version: '0'
131
151
  - !ruby/object:Gem::Dependency
132
- name: rake_gpg
152
+ name: rake_ssh
133
153
  requirement: !ruby/object:Gem::Requirement
134
154
  requirements:
135
- - - "~>"
155
+ - - ">="
136
156
  - !ruby/object:Gem::Version
137
- version: '0.12'
157
+ version: '0'
138
158
  type: :development
139
159
  prerelease: false
140
160
  version_requirements: !ruby/object:Gem::Requirement
141
161
  requirements:
142
- - - "~>"
162
+ - - ">="
143
163
  - !ruby/object:Gem::Version
144
- version: '0.12'
164
+ version: '0'
145
165
  - !ruby/object:Gem::Dependency
146
166
  name: rspec
147
167
  requirement: !ruby/object:Gem::Requirement
148
168
  requirements:
149
- - - "~>"
169
+ - - ">="
150
170
  - !ruby/object:Gem::Version
151
- version: '3.9'
171
+ version: '0'
152
172
  type: :development
153
173
  prerelease: false
154
174
  version_requirements: !ruby/object:Gem::Requirement
155
175
  requirements:
156
- - - "~>"
176
+ - - ">="
157
177
  - !ruby/object:Gem::Version
158
- version: '3.9'
178
+ version: '0'
159
179
  - !ruby/object:Gem::Dependency
160
- name: gem-release
180
+ name: rubocop
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ - !ruby/object:Gem::Dependency
194
+ name: rubocop-rake
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ version: '0'
200
+ type: :development
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ - !ruby/object:Gem::Dependency
208
+ name: rubocop-rspec
161
209
  requirement: !ruby/object:Gem::Requirement
162
210
  requirements:
163
- - - "~>"
211
+ - - ">="
164
212
  - !ruby/object:Gem::Version
165
- version: '2.0'
213
+ version: '0'
166
214
  type: :development
167
215
  prerelease: false
168
216
  version_requirements: !ruby/object:Gem::Requirement
169
217
  requirements:
170
- - - "~>"
218
+ - - ">="
171
219
  - !ruby/object:Gem::Version
172
- version: '2.0'
220
+ version: '0'
221
+ - !ruby/object:Gem::Dependency
222
+ name: simplecov
223
+ requirement: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ type: :development
229
+ prerelease: false
230
+ version_requirements: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
173
235
  description: A configuration engine combining environment variables, programmatic
174
236
  overrides and the power of hiera.
175
237
  email:
@@ -210,9 +272,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
272
  version: 2.6.0
211
273
  required_rubygems_version: !ruby/object:Gem::Requirement
212
274
  requirements:
213
- - - ">="
275
+ - - ">"
214
276
  - !ruby/object:Gem::Version
215
- version: '0'
277
+ version: 1.3.1
216
278
  requirements: []
217
279
  rubygems_version: 3.0.1
218
280
  signing_key: