rubocop-itamae 0.1.0.alpha1 → 0.1.3

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
  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