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 +4 -4
- data/.coveralls.yml +1 -0
- data/.github/workflows/test.yml +109 -0
- data/.rubocop.yml +11 -5
- data/.yardopts +2 -0
- data/CHANGELOG.md +21 -1
- data/README.md +10 -4
- data/config/default.yml +10 -0
- data/lib/rubocop/cop/itamae/cd_in_execute.rb +6 -8
- data/lib/rubocop/cop/itamae/command_equals_to_name.rb +13 -12
- data/lib/rubocop/cop/itamae/needless_default_action.rb +92 -0
- data/lib/rubocop/cop/itamae/recipe_path.rb +43 -0
- data/lib/rubocop/cop/itamae_cops.rb +2 -0
- data/lib/rubocop/itamae/version.rb +1 -1
- data/rubocop-itamae.gemspec +9 -3
- data/tasks/new_cop.rake +1 -1
- metadata +72 -13
- data/.travis.yml +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb63640ad762db35c994b12f23659776f327c7438ce5b54cc256ca7610b785f2
|
4
|
+
data.tar.gz: 33a51ae10a510c3bc23c7c7398b8b679bf0ae9afd08ee8e58d1a25a2cba011b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f54fbdd0c2d8853dcc261aba5e6dc5082cfff91d87d4d51764c5030aa521692885f36ce01f25b2c2778afb59ded3d22c4cbe5df8c03afc6f3209baf10e62d2ee
|
7
|
+
data.tar.gz: 24bef86116fb59ab749e567ac3cb103369d37ebea55d508043c6dc35c43a81df3a6b1fdc646e39b0dcd32af5bfb4ed711697a9cd030887d3dda78511ba6dd66f
|
data/.coveralls.yml
ADDED
@@ -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 }}
|
data/.rubocop.yml
CHANGED
@@ -1,15 +1,21 @@
|
|
1
1
|
AllCops:
|
2
|
-
|
3
|
-
|
4
|
-
|
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
|
-
|
15
|
+
Naming/FileName:
|
11
16
|
Exclude:
|
12
|
-
- "
|
17
|
+
- "lib/rubocop-itamae.rb"
|
18
|
+
- "rubocop-itamae.gemspec"
|
13
19
|
|
14
20
|
Style/HashSyntax:
|
15
21
|
Exclude:
|
data/.yardopts
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,25 @@
|
|
1
1
|
## master
|
2
|
-
[full changelog](http://github.com/sue445/rubocop-itamae/compare/v0.1.
|
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
|
-
|
3
|
+
Code style checking for [itamae](https://github.com/itamae-kitchen/itamae) recipes
|
4
4
|
|
5
|
-
|
5
|
+
[](https://badge.fury.io/rb/rubocop-itamae)
|
6
|
+
[](https://github.com/sue445/rubocop-itamae/actions?query=workflow%3Atest)
|
7
|
+
[](https://coveralls.io/github/sue445/rubocop-itamae?branch=master)
|
8
|
+
[](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
|
-
|
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/
|
41
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/sue445/rubocop-itamae.
|
36
42
|
|
37
43
|
## License
|
38
44
|
|
data/config/default.yml
CHANGED
@@ -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 <
|
17
|
-
MSG = "Insert `cwd '%<dir>s'` and remove this."
|
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
|
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(
|
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(
|
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(
|
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 <
|
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`'
|
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
|
-
|
49
|
+
add_param_node_offense(param_node)
|
49
50
|
end
|
50
51
|
end
|
51
52
|
end
|
52
53
|
end
|
53
54
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
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
|
62
|
-
remove_command_param(corrector,
|
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
|
data/rubocop-itamae.gemspec
CHANGED
@@ -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.
|
25
|
+
spec.required_ruby_version = '>= 2.4.0'
|
26
26
|
|
27
|
-
spec.
|
28
|
-
|
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
|
data/tasks/new_cop.rake
CHANGED
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.
|
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:
|
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:
|
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:
|
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:
|
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
|
-
- ".
|
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:
|
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:
|
187
|
+
version: '0'
|
128
188
|
requirements: []
|
129
|
-
|
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
|