a9n 1.2.0 → 1.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fca032540da11055ed22e392e1c2024cda311a6785c4046837fd5b9732d4bfb1
4
- data.tar.gz: 5aa10ab6b540ccfbb44bfc043de67a4e6f5a4baa0027063af5b06d123b8cb6bd
3
+ metadata.gz: 393819f7834f54def787d8aa094136300842604f1f30310e4b0fd0ae2fb9740d
4
+ data.tar.gz: 4577b0ef262d299c979df2e26015443d991d5c39ea15b7d55c610c35784f0216
5
5
  SHA512:
6
- metadata.gz: d916422540256299c914740bef44289464c5ae259c46dddfb864d579279e7f43fe869071c724b3cf7d4b406b227ef529c48b3440c6fa02473890ceab71a5f623
7
- data.tar.gz: 75ebd13b032d9132c0c565a3309e93792cf297a5fc0ddaa8634fba7afac4620b7abca91ee5e32b5c3b2095d03218686e41696c5f01f647fb19e869afb59a9740
6
+ metadata.gz: d04d4642b987bdb4c2707f0754d20941062ab8e333f43a9f6fef085e2cfeecb4a1347eac5e08ceee78a1effbf2874b88c7976dcbf15c971e1492941f52ac6c0c
7
+ data.tar.gz: 81418b9a67cbd97571a6b659306061bd67a96be7eddaec2f85701a725397776eb01b2c616e2f2061e020337bad2136612e1d1279196df9d2908b0caa0f44e301
@@ -0,0 +1,25 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby-version: ['2.7', '3.0', '3.1']
15
+
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - name: Set up Ruby
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby-version }}
22
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
23
+
24
+ - name: Run tests
25
+ run: bundle exec rake ci
data/Gemfile.lock CHANGED
@@ -1,67 +1,69 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- a9n (1.2.0)
4
+ a9n (1.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- ast (2.4.0)
10
- codeclimate-test-reporter (1.0.7)
11
- simplecov
12
- coderay (1.1.2)
13
- diff-lcs (1.3)
14
- docile (1.3.2)
15
- jaro_winkler (1.5.4)
16
- method_source (0.9.2)
17
- parallel (1.19.1)
18
- parser (2.7.0.4)
19
- ast (~> 2.4.0)
20
- pry (0.12.2)
21
- coderay (~> 1.1.0)
22
- method_source (~> 0.9.0)
23
- rainbow (3.0.0)
24
- rake (13.0.1)
25
- rexml (3.2.4)
26
- rspec (3.9.0)
27
- rspec-core (~> 3.9.0)
28
- rspec-expectations (~> 3.9.0)
29
- rspec-mocks (~> 3.9.0)
30
- rspec-core (3.9.1)
31
- rspec-support (~> 3.9.1)
32
- rspec-expectations (3.9.0)
9
+ ast (2.4.2)
10
+ coderay (1.1.3)
11
+ diff-lcs (1.5.0)
12
+ method_source (1.0.0)
13
+ parallel (1.21.0)
14
+ parser (3.1.0.0)
15
+ ast (~> 2.4.1)
16
+ pry (0.14.1)
17
+ coderay (~> 1.1)
18
+ method_source (~> 1.0)
19
+ rainbow (3.1.1)
20
+ rake (13.0.6)
21
+ regexp_parser (2.2.1)
22
+ rexml (3.2.5)
23
+ rspec (3.11.0)
24
+ rspec-core (~> 3.11.0)
25
+ rspec-expectations (~> 3.11.0)
26
+ rspec-mocks (~> 3.11.0)
27
+ rspec-core (3.11.0)
28
+ rspec-support (~> 3.11.0)
29
+ rspec-expectations (3.11.0)
33
30
  diff-lcs (>= 1.2.0, < 2.0)
34
- rspec-support (~> 3.9.0)
35
- rspec-mocks (3.9.1)
31
+ rspec-support (~> 3.11.0)
32
+ rspec-mocks (3.11.0)
36
33
  diff-lcs (>= 1.2.0, < 2.0)
37
- rspec-support (~> 3.9.0)
38
- rspec-support (3.9.2)
39
- rubocop (0.80.1)
40
- jaro_winkler (~> 1.5.1)
34
+ rspec-support (~> 3.11.0)
35
+ rspec-support (3.11.0)
36
+ rubocop (1.25.1)
41
37
  parallel (~> 1.10)
42
- parser (>= 2.7.0.1)
38
+ parser (>= 3.1.0.0)
43
39
  rainbow (>= 2.2.2, < 4.0)
40
+ regexp_parser (>= 1.8, < 3.0)
44
41
  rexml
42
+ rubocop-ast (>= 1.15.1, < 2.0)
45
43
  ruby-progressbar (~> 1.7)
46
- unicode-display_width (>= 1.4.0, < 1.7)
47
- ruby-progressbar (1.10.1)
48
- simplecov (0.18.5)
49
- docile (~> 1.1)
50
- simplecov-html (~> 0.11)
51
- simplecov-html (0.12.2)
52
- unicode-display_width (1.6.1)
44
+ unicode-display_width (>= 1.4.0, < 3.0)
45
+ rubocop-ast (1.15.2)
46
+ parser (>= 3.0.1.1)
47
+ rubocop-rake (0.6.0)
48
+ rubocop (~> 1.0)
49
+ rubocop-rspec (2.8.0)
50
+ rubocop (~> 1.19)
51
+ ruby-progressbar (1.11.0)
52
+ unicode-display_width (2.1.0)
53
53
 
54
54
  PLATFORMS
55
- ruby
55
+ x86_64-darwin-20
56
+ x86_64-darwin-21
57
+ x86_64-linux
56
58
 
57
59
  DEPENDENCIES
58
60
  a9n!
59
- codeclimate-test-reporter
60
61
  pry
61
62
  rake
62
63
  rspec
63
64
  rubocop
64
- simplecov
65
+ rubocop-rake
66
+ rubocop-rspec
65
67
 
66
68
  BUNDLED WITH
67
- 2.0.2
69
+ 2.3.7
data/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  # A9n
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/a9n.png)][gem_version]
4
- [![Build status](https://secure.travis-ci.org/knapo/a9n.png)][travis]
5
- [![Maintainability](https://api.codeclimate.com/v1/badges/4deae86e0cb581aae0e3/maintainability)](https://codeclimate.com/github/kknapik/a9n/maintainability)
6
- [![Test Coverage](https://api.codeclimate.com/v1/badges/4deae86e0cb581aae0e3/test_coverage)](https://codeclimate.com/github/kknapik/a9n/test_coverage)
3
+ [![Gem Version](https://badge.fury.io/rb/a9n.svg)][gem_version]
4
+ [![Build status](https://secure.travis-ci.org/knapo/a9n.svg)][travis]
5
+ [![Maintainability](https://api.codeclimate.com/v1/badges/566c2c51f1a383d18be8/maintainability)](https://codeclimate.com/github/knapo/a9n/maintainability)
6
+ [![Test Coverage](https://api.codeclimate.com/v1/badges/566c2c51f1a383d18be8/test_coverage)](https://codeclimate.com/github/knapo/a9n/test_coverage)
7
7
 
8
8
  [gem_version]: https://rubygems.org/gems/a9n
9
9
  [travis]: http://travis-ci.org/knapo/a9n
data/Rakefile CHANGED
@@ -5,4 +5,7 @@ require 'rubocop/rake_task'
5
5
  RSpec::Core::RakeTask.new(:spec)
6
6
  RuboCop::RakeTask.new
7
7
 
8
- task default: %i[rubocop spec]
8
+ desc 'Default task to run on ci'
9
+ task ci: %i[spec rubocop]
10
+
11
+ task default: %i[spec rubocop:auto_correct]
data/a9n.gemspec CHANGED
@@ -12,6 +12,7 @@ Gem::Specification.new do |spec|
12
12
 
13
13
  spec.metadata['homepage_uri'] = 'https://github.com/knapo/a9n'
14
14
  spec.metadata['source_code_uri'] = 'https://github.com/knapo/a9n'
15
+ spec.metadata['rubygems_mfa_required'] = 'true'
15
16
 
16
17
  spec.files = Dir.chdir(__dir__) do
17
18
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(bin/|spec/|test_app/|\.rub)}) }
@@ -20,12 +21,12 @@ Gem::Specification.new do |spec|
20
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
22
  spec.require_paths = ['lib']
22
23
 
23
- spec.required_ruby_version = '>= 2.5'
24
+ spec.required_ruby_version = '>= 2.7'
24
25
 
25
- spec.add_development_dependency 'codeclimate-test-reporter'
26
26
  spec.add_development_dependency 'pry'
27
27
  spec.add_development_dependency 'rake'
28
28
  spec.add_development_dependency 'rspec'
29
29
  spec.add_development_dependency 'rubocop'
30
- spec.add_development_dependency 'simplecov'
30
+ spec.add_development_dependency 'rubocop-rake'
31
+ spec.add_development_dependency 'rubocop-rspec'
31
32
  end
@@ -1,5 +1,5 @@
1
1
  if defined?(Capistrano::Configuration.instance)
2
- require 'a9n/capistrano/ver2x.rb'
2
+ require 'a9n/capistrano/ver2x'
3
3
  else
4
4
  load File.expand_path('capistrano/tasks.cap', __dir__)
5
5
  end
data/lib/a9n/loader.rb CHANGED
@@ -30,7 +30,7 @@ module A9n
30
30
  def load_yml(file_path, scope, env)
31
31
  return nil unless File.exist?(file_path)
32
32
 
33
- yml = YAML.load(ERB.new(File.read(file_path)).result)
33
+ yml = A9n::YamlLoader.load(file_path)
34
34
 
35
35
  if no_known_namespaces?(yml)
36
36
  prepare_hash(yml, scope).freeze
data/lib/a9n/struct.rb CHANGED
@@ -18,8 +18,8 @@ module A9n
18
18
  end
19
19
 
20
20
  def find(key)
21
- if data.key?(key)
22
- fetch(key)
21
+ if key && data.key?(key.to_sym)
22
+ fetch(key.to_sym)
23
23
  else
24
24
  raise KeyNotFoundError.new, "Could not find #{key} in #{data.keys.inspect}"
25
25
  end
data/lib/a9n/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module A9n
2
- VERSION = '1.2.0'.freeze
2
+ VERSION = '1.3.0'.freeze
3
3
  end
@@ -0,0 +1,8 @@
1
+ module A9n
2
+ class YamlLoader
3
+ def self.load(file_path)
4
+ kwargs = RUBY_VERSION >= '3.1.0' ? { aliases: true } : {}
5
+ YAML.load(ERB.new(File.read(file_path)).result, **kwargs)
6
+ end
7
+ end
8
+ end
data/lib/a9n.rb CHANGED
@@ -10,6 +10,7 @@ require 'a9n/struct'
10
10
  require 'a9n/scope'
11
11
  require 'a9n/ext/string_inquirer'
12
12
  require 'a9n/ext/hash'
13
+ require 'a9n/yaml_loader'
13
14
  require 'a9n/loader'
14
15
 
15
16
  module A9n
@@ -20,6 +21,8 @@ module A9n
20
21
  DEFAULT_LOG_LEVEL = 'info'.freeze
21
22
 
22
23
  class << self
24
+ attr_writer :logger
25
+
23
26
  def env
24
27
  @env ||= ::A9n::StringInquirer.new(
25
28
  app_env ||
@@ -111,7 +114,7 @@ module A9n
111
114
  end
112
115
 
113
116
  def logger
114
- @logger ||= ::Logger.new(STDOUT, level: fetch(:log_level, DEFAULT_LOG_LEVEL))
117
+ @logger ||= ::Logger.new($stdout, level: fetch(:log_level, DEFAULT_LOG_LEVEL))
115
118
  end
116
119
 
117
120
  def method_missing(name, *args)
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: a9n
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krzysztof Knapik
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-11 00:00:00.000000000 Z
11
+ date: 2022-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: codeclimate-test-reporter
14
+ name: pry
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: pry
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec
56
+ name: rubocop
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rubocop
70
+ name: rubocop-rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: simplecov
84
+ name: rubocop-rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -94,16 +94,16 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
- description:
97
+ description:
98
98
  email:
99
99
  - knapo@knapo.net
100
100
  executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
+ - ".github/workflows/ruby.yml"
104
105
  - ".gitignore"
105
106
  - ".rspec"
106
- - ".travis.yml"
107
107
  - Gemfile
108
108
  - Gemfile.lock
109
109
  - LICENSE
@@ -121,13 +121,15 @@ files:
121
121
  - lib/a9n/scope.rb
122
122
  - lib/a9n/struct.rb
123
123
  - lib/a9n/version.rb
124
+ - lib/a9n/yaml_loader.rb
124
125
  homepage: https://github.com/knapo/a9n
125
126
  licenses:
126
127
  - MIT
127
128
  metadata:
128
129
  homepage_uri: https://github.com/knapo/a9n
129
130
  source_code_uri: https://github.com/knapo/a9n
130
- post_install_message:
131
+ rubygems_mfa_required: 'true'
132
+ post_install_message:
131
133
  rdoc_options: []
132
134
  require_paths:
133
135
  - lib
@@ -135,15 +137,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
137
  requirements:
136
138
  - - ">="
137
139
  - !ruby/object:Gem::Version
138
- version: '2.5'
140
+ version: '2.7'
139
141
  required_rubygems_version: !ruby/object:Gem::Requirement
140
142
  requirements:
141
143
  - - ">="
142
144
  - !ruby/object:Gem::Version
143
145
  version: '0'
144
146
  requirements: []
145
- rubygems_version: 3.0.6
146
- signing_key:
147
+ rubygems_version: 3.3.3
148
+ signing_key:
147
149
  specification_version: 4
148
150
  summary: a9n - ruby/rails apps configuration manager
149
151
  test_files: []
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.5
7
- - 2.6
8
- - 2.7
9
- before_install: gem install bundler
10
- script:
11
- - bundle exec rake
12
- addons:
13
- code_climate:
14
- repo_token: 9aa2aa2432639c57772b6917ad9da468709e5536b75617575b02b35201a2eaf8