rubocop-itamae 0.1.0.alpha1 → 0.1.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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 43b0711e43b2fe39e6b0b5115686d402e602801b3df7be1cdf397d4007ba4ad8
4
- data.tar.gz: de4843a38e16ab19b2f4867d866a0a97ac1e23ace11742cada1d55b287bf7e4b
3
+ metadata.gz: cb63640ad762db35c994b12f23659776f327c7438ce5b54cc256ca7610b785f2
4
+ data.tar.gz: 33a51ae10a510c3bc23c7c7398b8b679bf0ae9afd08ee8e58d1a25a2cba011b4
5
5
  SHA512:
6
- metadata.gz: a684ebe47004196a3e0e203478207171f20deb418e7d0ca3afdbd503c77fa3a0bccd8bcb265cff9109efb4dc2d944aae2e30cd9d92f83e2b8c348b18092595eb
7
- data.tar.gz: fe327d5b6f73761648e04f54510aef76332887f3eda1470880e473f614e49af26483f857244cf37834952433b3f891ad9e2c3224eae08c73a69d780a6f070c04
6
+ metadata.gz: f54fbdd0c2d8853dcc261aba5e6dc5082cfff91d87d4d51764c5030aa521692885f36ce01f25b2c2778afb59ded3d22c4cbe5df8c03afc6f3209baf10e62d2ee
7
+ data.tar.gz: 24bef86116fb59ab749e567ac3cb103369d37ebea55d508043c6dc35c43a81df3a6b1fdc646e39b0dcd32af5bfb4ed711697a9cd030887d3dda78511ba6dd66f
@@ -0,0 +1 @@
1
+ repo_token: vkR421tHTHWp8ptygFoT5Uc3mV1qR3Rxb
@@ -0,0 +1,109 @@
1
+ name: test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+ types:
9
+ - opened
10
+ - synchronize
11
+ - reopened
12
+ schedule:
13
+ - cron: "0 10 * * 5" # JST 19:00 (Fri)
14
+
15
+ env:
16
+ CI: "true"
17
+
18
+ jobs:
19
+ test:
20
+ runs-on: ubuntu-latest
21
+
22
+ container: ${{ matrix.ruby }}
23
+
24
+ strategy:
25
+ fail-fast: false
26
+
27
+ matrix:
28
+ ruby:
29
+ - ruby:2.4
30
+ - ruby:2.5
31
+ - ruby:2.6
32
+ - ruby:2.7
33
+ - rubylang/ruby:master-nightly-bionic
34
+ include:
35
+ - ruby: rubylang/ruby:master-nightly-bionic
36
+ allow_failures: "true"
37
+
38
+ steps:
39
+ - uses: actions/checkout@v2
40
+
41
+
42
+ - name: Cache vendor/bundle
43
+ uses: actions/cache@v1
44
+ id: cache_gem
45
+ with:
46
+ path: vendor/bundle
47
+ key: v1-gem-${{ runner.os }}-${{ matrix.ruby }}-${{ github.sha }}
48
+ restore-keys: |
49
+ v1-gem-${{ runner.os }}-${{ matrix.ruby }}-
50
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
51
+
52
+ - name: bundle update
53
+ run: |
54
+ set -xe
55
+ bundle config path vendor/bundle
56
+ bundle update --jobs $(nproc) --retry 3
57
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
58
+
59
+ - name: Setup Code Climate Test Reporter
60
+ uses: aktions/codeclimate-test-reporter@v1
61
+ with:
62
+ codeclimate-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }}
63
+ command: before-build
64
+ if: matrix.ruby >= 'ruby:2.4'
65
+ continue-on-error: true
66
+
67
+ - name: Run test
68
+ run: |
69
+ set -xe
70
+ bundle exec rspec
71
+ bundle exec rubocop -P
72
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
73
+
74
+ - name: Teardown Code Climate Test Reporter
75
+ uses: aktions/codeclimate-test-reporter@v1
76
+ with:
77
+ codeclimate-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }}
78
+ command: after-build
79
+ if: matrix.ruby >= 'ruby:2.4' && always()
80
+ continue-on-error: true
81
+
82
+ - name: Slack Notification (not success)
83
+ uses: homoluctus/slatify@master
84
+ if: "! success()"
85
+ continue-on-error: true
86
+ with:
87
+ job_name: ${{ format('*build* ({0})', matrix.ruby) }}
88
+ type: ${{ job.status }}
89
+ icon_emoji: ":octocat:"
90
+ url: ${{ secrets.SLACK_WEBHOOK }}
91
+ token: ${{ secrets.GITHUB_TOKEN }}
92
+
93
+ notify:
94
+ needs:
95
+ - test
96
+
97
+ runs-on: ubuntu-latest
98
+
99
+ steps:
100
+ - name: Slack Notification (success)
101
+ uses: homoluctus/slatify@master
102
+ if: always()
103
+ continue-on-error: true
104
+ with:
105
+ job_name: '*build*'
106
+ type: ${{ job.status }}
107
+ icon_emoji: ":octocat:"
108
+ url: ${{ secrets.SLACK_WEBHOOK }}
109
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,15 +1,21 @@
1
1
  AllCops:
2
- # rubocop requires ruby 2.1+ since v0.51.0
3
- # https://github.com/rubocop-hq/rubocop/commit/753227914c1ad311e6116311fc1ef76d9b0904dc
4
- TargetRubyVersion: 2.1
2
+ NewCops: enable
3
+
4
+ # rubocop 0.82.0+ requires ruby 2.4+
5
+ TargetRubyVersion: 2.4
6
+
7
+ Layout/LineLength:
8
+ Exclude:
9
+ - "spec/spec_helper.rb"
5
10
 
6
11
  Metrics/BlockLength:
7
12
  Exclude:
8
13
  - "spec/**/*.rb"
9
14
 
10
- Metrics/LineLength:
15
+ Naming/FileName:
11
16
  Exclude:
12
- - "spec/spec_helper.rb"
17
+ - "lib/rubocop-itamae.rb"
18
+ - "rubocop-itamae.gemspec"
13
19
 
14
20
  Style/HashSyntax:
15
21
  Exclude:
@@ -0,0 +1,2 @@
1
+ --markup markdown
2
+ --no-private
@@ -1,5 +1,25 @@
1
1
  ## master
2
- [full changelog](http://github.com/sue445/rubocop-itamae/compare/v0.1.0...master)
2
+ [full changelog](http://github.com/sue445/rubocop-itamae/compare/v0.1.3...master)
3
+
4
+ ## v0.1.3
5
+ [full changelog](http://github.com/sue445/rubocop-itamae/compare/v0.1.2...v0.1.3)
6
+
7
+ * Fixed. failed spec since rubocop v0.87.0
8
+ * https://github.com/sue445/rubocop-itamae/pull/47
9
+ * Migrate to rubocop v1 syntax
10
+ * https://github.com/sue445/rubocop-itamae/pull/46
11
+
12
+ ## v0.1.2
13
+ [full changelog](http://github.com/sue445/rubocop-itamae/compare/v0.1.1...v0.1.2)
14
+
15
+ * Upgrade rubocop and drop ruby 2.3
16
+ * https://github.com/sue445/rubocop-itamae/pull/43
17
+
18
+ ## v0.1.1
19
+ [full changelog](http://github.com/sue445/rubocop-itamae/compare/v0.1.0...v0.1.1)
20
+
21
+ * Fix can't load `RangeHelp` error
22
+ * https://github.com/sue445/rubocop-itamae/pull/16
3
23
 
4
24
  ## v0.1.0
5
25
  * first release
data/README.md CHANGED
@@ -1,8 +1,11 @@
1
1
  # RuboCop::Itamae
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/rubocop/itamae`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Code style checking for [itamae](https://github.com/itamae-kitchen/itamae) recipes
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ [![Gem Version](https://badge.fury.io/rb/rubocop-itamae.svg)](https://badge.fury.io/rb/rubocop-itamae)
6
+ [![Build Status](https://github.com/sue445/rubocop-itamae/workflows/test/badge.svg?branch=master)](https://github.com/sue445/rubocop-itamae/actions?query=workflow%3Atest)
7
+ [![Coverage Status](https://coveralls.io/repos/github/sue445/rubocop-itamae/badge.svg?branch=master)](https://coveralls.io/github/sue445/rubocop-itamae?branch=master)
8
+ [![Maintainability](https://api.codeclimate.com/v1/badges/bf2f4b2cbf9c2cfc0e92/maintainability)](https://codeclimate.com/github/sue445/rubocop-itamae/maintainability)
6
9
 
7
10
  ## Installation
8
11
 
@@ -21,8 +24,11 @@ Or install it yourself as:
21
24
  $ gem install rubocop-itamae
22
25
 
23
26
  ## Usage
27
+ Add this line to your application's `.rubocop.yml`
24
28
 
25
- TODO: Write usage instructions here
29
+ ```yml
30
+ require: rubocop-itamae
31
+ ```
26
32
 
27
33
  ## Development
28
34
 
@@ -32,7 +38,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
38
 
33
39
  ## Contributing
34
40
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/rubocop-itamae.
41
+ Bug reports and pull requests are welcome on GitHub at https://github.com/sue445/rubocop-itamae.
36
42
 
37
43
  ## License
38
44
 
@@ -7,3 +7,13 @@ Itamae/CommandEqualsToName:
7
7
  Description: Check that `command` doesn't equals to name of `execute`.
8
8
  Enabled: true
9
9
  StyleGuide: http://www.rubydoc.info/gems/rubocop-itamae/RuboCop/Cop/Itamae/CommandEqualsToName
10
+
11
+ Itamae/NeedlessDefaultAction:
12
+ Description: Checks whether default action is written for resource.
13
+ Enabled: true
14
+ StyleGuide: http://www.rubydoc.info/gems/rubocop-itamae/RuboCop/Cop/Itamae/NeedlessDefaultAction
15
+
16
+ Itamae/RecipePath:
17
+ Description: Checks whether the recipe is placed under `cookbooks` dir or `roles` dir.
18
+ Enabled: true
19
+ StyleGuide: http://www.rubydoc.info/gems/rubocop-itamae/RuboCop/Cop/Itamae/RecipePath
@@ -13,8 +13,8 @@ module RuboCop
13
13
  # execute 'rm -rf /tmp/*' do
14
14
  # cwd '/tmp'
15
15
  # end
16
- class CdInExecute < Cop
17
- MSG = "Insert `cwd '%<dir>s'` and remove this.".freeze
16
+ class CdInExecute < Base
17
+ MSG = "Insert `cwd '%<dir>s'` and remove this."
18
18
 
19
19
  def_node_search :find_execute_with_block, <<-PATTERN
20
20
  (block
@@ -51,14 +51,13 @@ module RuboCop
51
51
  end
52
52
 
53
53
  def on_send(node)
54
- return if node.parent && node.parent.block_type?
54
+ return if node.parent&.block_type?
55
55
 
56
56
  find_execute_without_block(node) do |name|
57
57
  add_offense_for_execute_name(node, name)
58
58
  end
59
59
  end
60
60
 
61
- # rubocop:disable Metrics/LineLength
62
61
  # def autocorrect(node)
63
62
  # if node.block_type?
64
63
  # lambda do |corrector|
@@ -103,7 +102,6 @@ module RuboCop
103
102
  # end
104
103
  # end
105
104
  # end
106
- # rubocop:enable Metrics/LineLength
107
105
 
108
106
  private
109
107
 
@@ -112,7 +110,7 @@ module RuboCop
112
110
  return unless dir
113
111
 
114
112
  loc = cd_location(node.child_nodes.first, name)
115
- add_offense(node, message: format(MSG, dir: dir), location: loc)
113
+ add_offense(loc, message: format(MSG, dir: dir))
116
114
  end
117
115
 
118
116
  def add_offence_for_execute_block_name(node, name)
@@ -120,7 +118,7 @@ module RuboCop
120
118
  return unless dir
121
119
 
122
120
  loc = cd_location(node.child_nodes.first.child_nodes.first, name)
123
- add_offense(node, message: format(MSG, dir: dir), location: loc)
121
+ add_offense(loc, message: format(MSG, dir: dir))
124
122
  end
125
123
 
126
124
  def add_offense_for_command_param(param_node, command)
@@ -135,7 +133,7 @@ module RuboCop
135
133
  end
136
134
 
137
135
  loc = cd_location(command_node, command)
138
- add_offense(param_node, message: format(MSG, dir: dir), location: loc)
136
+ add_offense(loc, message: format(MSG, dir: dir))
139
137
  end
140
138
 
141
139
  def cd_dir_in_command(command)
@@ -17,11 +17,12 @@ module RuboCop
17
17
  # execute 'Remove temporary files' do
18
18
  # command 'rm -rf /tmp/*'
19
19
  # end
20
- class CommandEqualsToName < Cop
20
+ class CommandEqualsToName < Base
21
21
  include RangeHelp
22
+ extend AutoCorrector
22
23
 
23
24
  MSG = 'Prefer to omit `command` if `command` equals to ' \
24
- 'name of `execute`'.freeze
25
+ 'name of `execute`'
25
26
 
26
27
  def_node_search :find_execute, <<-PATTERN
27
28
  (block
@@ -45,27 +46,27 @@ module RuboCop
45
46
  find_command(param_node) do |command|
46
47
  next unless name == command
47
48
 
48
- add_offense(param_node, location: :expression)
49
+ add_param_node_offense(param_node)
49
50
  end
50
51
  end
51
52
  end
52
53
  end
53
54
 
54
- def autocorrect(node)
55
- lambda do |corrector|
56
- if node.begin_type?
57
- node.each_child_node do |param_node|
58
- remove_command_param(corrector, node.parent, param_node)
55
+ private
56
+
57
+ def add_param_node_offense(param_node)
58
+ add_offense(param_node.loc.expression) do |corrector|
59
+ if param_node.begin_type?
60
+ param_node.each_child_node do |child_param_node|
61
+ remove_command_param(corrector, param_node.parent, child_param_node)
59
62
  end
60
63
 
61
- elsif node.send_type?
62
- remove_command_param(corrector, node.parent, node)
64
+ elsif param_node.send_type?
65
+ remove_command_param(corrector, param_node.parent, param_node)
63
66
  end
64
67
  end
65
68
  end
66
69
 
67
- private
68
-
69
70
  def remove_command_param(corrector, parent_node, param_node)
70
71
  find_execute(parent_node) do |name|
71
72
  find_command(param_node) do |command|
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ module Itamae
6
+ # Checks whether default action is written for resource.
7
+ #
8
+ # @example
9
+ # # bad
10
+ # package 'git' do
11
+ # action :install
12
+ # end
13
+ #
14
+ # # good
15
+ # package 'git' do
16
+ # end
17
+ #
18
+ # package 'git'
19
+ #
20
+ class NeedlessDefaultAction < Base
21
+ include RangeHelp
22
+ extend AutoCorrector
23
+
24
+ MSG = 'Prefer to omit the default action.'
25
+
26
+ RESOURCE_DEFAULT_ACTIONS = {
27
+ directory: :create,
28
+ execute: :run,
29
+ file: :create,
30
+ gem_package: :install,
31
+ git: :sync,
32
+ group: :create,
33
+ http_request: :create,
34
+ link: :create,
35
+ local_ruby_block: :run,
36
+ package: :install,
37
+ remote_directory: :create,
38
+ remote_file: :create,
39
+ service: :nothing,
40
+ template: :create,
41
+ user: :create
42
+ }.freeze
43
+
44
+ def_node_search :find_resource, <<-PATTERN
45
+ (block
46
+ (send nil? ${:directory :execute :file :gem_package :git :group :http_request :link :local_ruby_block :package :remote_directory :remote_file :service :template :user}
47
+ (...)
48
+ )
49
+ args
50
+ $...
51
+ )
52
+ PATTERN
53
+
54
+ def_node_search :find_action, <<-PATTERN
55
+ (send nil? :action
56
+ (sym $_)
57
+ )
58
+ PATTERN
59
+
60
+ def on_block(node)
61
+ find_resource(node) do |resource, param_nodes|
62
+ param_nodes.compact.each do |param_node|
63
+ find_action(param_node) do |action|
64
+ next unless action == RESOURCE_DEFAULT_ACTIONS[resource]
65
+
66
+ add_offense(param_node.loc.expression) do |corrector|
67
+ remove_action_param(corrector, param_node.parent, param_node) if param_node.send_type?
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+
74
+ private
75
+
76
+ def remove_action_param(corrector, parent_node, param_node)
77
+ find_resource(parent_node) do |resource|
78
+ find_action(param_node) do |action|
79
+ next unless action == RESOURCE_DEFAULT_ACTIONS[resource]
80
+
81
+ corrector.remove(node_range(param_node))
82
+ end
83
+ end
84
+ end
85
+
86
+ def node_range(node)
87
+ range_by_whole_lines(node.source_range, include_final_newline: true)
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ module Itamae
6
+ # Checks whether the recipe is placed under `cookbooks` dir
7
+ # or `roles` dir.
8
+ #
9
+ # @see https://github.com/itamae-kitchen/itamae/wiki/Best-Practice#directory-structure
10
+ #
11
+ # @example
12
+ # # bad
13
+ # default.rb
14
+ # hoge/web.rb
15
+ #
16
+ # # good
17
+ # cookbooks/nginx/default.rb
18
+ # roles/web.rb
19
+ #
20
+ class RecipePath < Base
21
+ include RangeHelp
22
+
23
+ MSG = 'Prefer recipe to placed under `cookbooks` dir' \
24
+ ' or `roles` dir.'
25
+
26
+ def on_new_investigation
27
+ file_path = processed_source.file_path
28
+ return if config.file_to_include?(file_path)
29
+
30
+ add_global_offense if bad_filename?(file_path)
31
+ end
32
+
33
+ private
34
+
35
+ def bad_filename?(file_path)
36
+ return unless File.extname(file_path) == '.rb'
37
+
38
+ !file_path.match?(%r{/(cookbooks|roles)/})
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -2,3 +2,5 @@
2
2
 
3
3
  require_relative 'itamae/cd_in_execute'
4
4
  require_relative 'itamae/command_equals_to_name'
5
+ require_relative 'itamae/needless_default_action'
6
+ require_relative 'itamae/recipe_path'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RuboCop
4
4
  module Itamae
5
- VERSION = '0.1.0.alpha1'.freeze
5
+ VERSION = '0.1.3'
6
6
  end
7
7
  end
@@ -22,10 +22,16 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ['lib']
24
24
 
25
- spec.add_dependency 'rubocop'
25
+ spec.required_ruby_version = '>= 2.4.0'
26
26
 
27
- spec.add_development_dependency 'bundler', '~> 1.16'
28
- spec.add_development_dependency 'pry-byebug'
27
+ spec.add_dependency 'rubocop', '>= 0.87.0'
28
+
29
+ spec.add_development_dependency 'bundler', '>= 1.16'
30
+ spec.add_development_dependency 'coveralls'
29
31
  spec.add_development_dependency 'rake', '>= 11.0'
30
32
  spec.add_development_dependency 'rspec', '~> 3.0'
33
+ spec.add_development_dependency 'rubocop', '>= 0.84.0'
34
+ spec.add_development_dependency 'rubocop_auto_corrector'
35
+ spec.add_development_dependency 'simplecov', '< 0.18.0'
36
+ spec.add_development_dependency 'yard'
31
37
  end
@@ -20,7 +20,7 @@ task :new_cop, [:cop] do |_task, args|
20
20
 
21
21
  begin
22
22
  generator.inject_config(config_file_path: 'config/default.yml')
23
- rescue TypeError # rubocop:disable Lint/HandleExceptions
23
+ rescue TypeError
24
24
  # nop
25
25
  end
26
26
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-itamae
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.alpha1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-19 00:00:00.000000000 Z
11
+ date: 2020-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,30 +16,30 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.87.0
20
20
  type: :runtime
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: '0'
26
+ version: 0.87.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.16'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.16'
41
41
  - !ruby/object:Gem::Dependency
42
- name: pry-byebug
42
+ name: coveralls
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -80,6 +80,62 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 0.84.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 0.84.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop_auto_corrector
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "<"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.18.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "<"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.18.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: yard
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
83
139
  description: Code style checking for itamae recipes
84
140
  email:
85
141
  - sue445@sue445.net
@@ -87,10 +143,12 @@ executables: []
87
143
  extensions: []
88
144
  extra_rdoc_files: []
89
145
  files:
146
+ - ".coveralls.yml"
147
+ - ".github/workflows/test.yml"
90
148
  - ".gitignore"
91
149
  - ".rspec"
92
150
  - ".rubocop.yml"
93
- - ".travis.yml"
151
+ - ".yardopts"
94
152
  - CHANGELOG.md
95
153
  - Gemfile
96
154
  - LICENSE.txt
@@ -102,6 +160,8 @@ files:
102
160
  - lib/rubocop-itamae.rb
103
161
  - lib/rubocop/cop/itamae/cd_in_execute.rb
104
162
  - lib/rubocop/cop/itamae/command_equals_to_name.rb
163
+ - lib/rubocop/cop/itamae/needless_default_action.rb
164
+ - lib/rubocop/cop/itamae/recipe_path.rb
105
165
  - lib/rubocop/cop/itamae_cops.rb
106
166
  - lib/rubocop/itamae.rb
107
167
  - lib/rubocop/itamae/version.rb
@@ -119,15 +179,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
179
  requirements:
120
180
  - - ">="
121
181
  - !ruby/object:Gem::Version
122
- version: '0'
182
+ version: 2.4.0
123
183
  required_rubygems_version: !ruby/object:Gem::Requirement
124
184
  requirements:
125
- - - ">"
185
+ - - ">="
126
186
  - !ruby/object:Gem::Version
127
- version: 1.3.1
187
+ version: '0'
128
188
  requirements: []
129
- rubyforge_project:
130
- rubygems_version: 2.7.6
189
+ rubygems_version: 3.1.2
131
190
  signing_key:
132
191
  specification_version: 4
133
192
  summary: Code style checking for itamae recipes
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.5.1
5
- before_install: gem install bundler -v 1.16.1