theforeman-rubocop 0.0.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 +7 -0
- data/.github/workflows/gem-push.yml +40 -0
- data/AUTHORS +1 -0
- data/README.md +64 -0
- data/all.yml +6 -0
- data/default.yml +8 -0
- data/edge.yml +5 -0
- data/lib/theforeman/rubocop/version.rb +5 -0
- data/rules/minitest.yml +2 -0
- data/rules/performance.yml +8 -0
- data/rules/rails.yml +12 -0
- data/rules/ruby_target.yml +2 -0
- data/rules/style.yml +35 -0
- data/theforeman-rubocop.gemspec +30 -0
- metadata +153 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 633cdf0eb394a5155ae66be68a4d18cbe50aa35c60c1e8745e0a5b8928d5aeda
|
4
|
+
data.tar.gz: bbe63990108e77aad4bbf1b17ff03c65ec5127c1e72ae3f6fdd6f32c99d4b853
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0ebdd11030075ce8a68f59d81f1bf8bd50998e4dd9edc349ac0044297c7729d0331b9bfd5dd81af5faeb87cd9aecd378764269bf1f2e8cb0c5a2294c6e6859ab
|
7
|
+
data.tar.gz: c2c8c441e88edb36b024b43142e1c72574836067a7aa441f7314b57bc53ac67f8273cbc69f37edd12fa54ca6d7267f045f307a5cd242bd6649cb99d7910c30b6
|
@@ -0,0 +1,40 @@
|
|
1
|
+
name: Publish RubyGem
|
2
|
+
|
3
|
+
on:
|
4
|
+
tags:
|
5
|
+
- v*
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
build:
|
9
|
+
name: Build + Publish
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
|
12
|
+
steps:
|
13
|
+
- uses: actions/checkout@v2
|
14
|
+
- name: Set up Ruby 2.6
|
15
|
+
uses: actions/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
ruby-version: 2.6.x
|
18
|
+
|
19
|
+
- run: gem build *.gemspec
|
20
|
+
- name: Publish to GPR
|
21
|
+
run: |
|
22
|
+
mkdir -p $HOME/.gem
|
23
|
+
touch $HOME/.gem/credentials
|
24
|
+
chmod 0600 $HOME/.gem/credentials
|
25
|
+
printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
26
|
+
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
27
|
+
env:
|
28
|
+
GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
|
29
|
+
OWNER: ${{ github.repository_owner }}
|
30
|
+
|
31
|
+
|
32
|
+
- name: Publish to RubyGems
|
33
|
+
run: |
|
34
|
+
mkdir -p $HOME/.gem
|
35
|
+
touch $HOME/.gem/credentials
|
36
|
+
chmod 0600 $HOME/.gem/credentials
|
37
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
38
|
+
gem push *.gem
|
39
|
+
env:
|
40
|
+
GEM_HOST_API_KEY: "Bearer ${{secrets.RUBYGEM_API_KEY}}"
|
data/AUTHORS
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Ondřej Ezr
|
data/README.md
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
[](https://badge.fury.io/rb/theforeman-rubocop)
|
2
|
+
|
3
|
+
# theforeman-rubocop
|
4
|
+
|
5
|
+

|
6
|
+
|
7
|
+
Set of RuboCop styles for [Foreman](https://theforeman.org) and its plugins.
|
8
|
+
|
9
|
+
## Introduction
|
10
|
+
|
11
|
+
As we are one organization and almost one project, it would be nice to keep the similar standards for code quality.
|
12
|
+
|
13
|
+
Instead of defining the rules for plugin per plugin, plugins can include defaults from this gem.
|
14
|
+
|
15
|
+
## Usage
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
# Gemfile
|
19
|
+
source 'https://ezr-ondrej:dc069ebb028fa13cf880764491a921ef28724340@rubygems.pkg.github.com/ezr-ondrej/theforeman-rubocop' do
|
20
|
+
gem 'theforeman-rubocop', '~> 0.0.1'
|
21
|
+
end
|
22
|
+
```
|
23
|
+
|
24
|
+
And configure in the `.rubocop.yml`.
|
25
|
+
|
26
|
+
### Easiest config - get all
|
27
|
+
|
28
|
+
```yaml
|
29
|
+
inherit_gem:
|
30
|
+
theforeman-rubocop:
|
31
|
+
- all.yml
|
32
|
+
```
|
33
|
+
|
34
|
+
### Basic style and performance cops
|
35
|
+
```yaml
|
36
|
+
inherit_gem:
|
37
|
+
theforeman-rubocop:
|
38
|
+
- all.yml
|
39
|
+
```
|
40
|
+
|
41
|
+
### All cops, including newly introduced ones
|
42
|
+
```yaml
|
43
|
+
inherit_gem:
|
44
|
+
theforeman-rubocop:
|
45
|
+
- edge.yml
|
46
|
+
```
|
47
|
+
|
48
|
+
### Choose just some cops
|
49
|
+
|
50
|
+
Cops are splited in categories for your convenience, so you can opt-out some cops.
|
51
|
+
|
52
|
+
.rubocop.yml
|
53
|
+
```yaml
|
54
|
+
inherit_gem:
|
55
|
+
theforeman-rubocop:
|
56
|
+
- rules/style.yml
|
57
|
+
- rules/ruby_target.yml
|
58
|
+
- rules/performance.yml
|
59
|
+
- rules/rails.yml
|
60
|
+
- rules/minitest.yml
|
61
|
+
|
62
|
+
AllCops:
|
63
|
+
NewCops: disable
|
64
|
+
```
|
data/all.yml
ADDED
data/default.yml
ADDED
data/edge.yml
ADDED
data/rules/minitest.yml
ADDED
data/rules/rails.yml
ADDED
data/rules/style.yml
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
Layout/EmptyLineAfterGuardClause:
|
2
|
+
Enabled: false
|
3
|
+
|
4
|
+
Layout/FirstArgumentIndentation:
|
5
|
+
EnforcedStyle: consistent
|
6
|
+
|
7
|
+
Style/Alias:
|
8
|
+
EnforcedStyle: prefer_alias_method
|
9
|
+
|
10
|
+
Style/AndOr:
|
11
|
+
EnforcedStyle: conditionals
|
12
|
+
|
13
|
+
# Don't enforce documentation
|
14
|
+
Style/Documentation:
|
15
|
+
Enabled: false
|
16
|
+
|
17
|
+
Style/EmptyMethod:
|
18
|
+
EnforcedStyle: expanded
|
19
|
+
|
20
|
+
# Support both, Ruby 1.9 hashmap and hash-rocket syntax
|
21
|
+
Style/HashSyntax:
|
22
|
+
EnforcedStyle: no_mixed_keys
|
23
|
+
|
24
|
+
# Both double and single quotes are OK
|
25
|
+
Style/StringLiterals:
|
26
|
+
Enabled: false
|
27
|
+
|
28
|
+
Style/TernaryParentheses:
|
29
|
+
EnforcedStyle: require_parentheses_when_complex
|
30
|
+
|
31
|
+
Style/TrailingCommaInArrayLiteral:
|
32
|
+
EnforcedStyleForMultiline: comma
|
33
|
+
|
34
|
+
Style/TrailingCommaInHashLiteral:
|
35
|
+
EnforcedStyleForMultiline: comma
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'theforeman/rubocop/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = 'theforeman-rubocop'
|
9
|
+
spec.version = Theforeman::Rubocop::VERSION
|
10
|
+
spec.authors = IO.readlines('AUTHORS', encoding: 'utf-8').map(&:strip)
|
11
|
+
spec.email = ['foreman-dev@googlegroups.com']
|
12
|
+
|
13
|
+
spec.summary = 'This gem guides and shares rubocop style configs.'
|
14
|
+
spec.homepage = 'https://github.com/theforeman/theforeman-rubocop'
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
17
|
+
f.match(%r{^(test|spec|features)/})
|
18
|
+
end
|
19
|
+
spec.bindir = "exe"
|
20
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
|
+
spec.require_paths = ['lib']
|
22
|
+
|
23
|
+
spec.add_dependency 'rubocop', '~> 0.89.0'
|
24
|
+
spec.add_dependency 'rubocop-rspec', '~> 1.43.2'
|
25
|
+
spec.add_dependency 'rubocop-minitest', '~> 0.10.1'
|
26
|
+
spec.add_dependency 'rubocop-performance', '~> 1.8.1'
|
27
|
+
spec.add_dependency 'rubocop-rails', '~> 2.5.2'
|
28
|
+
spec.add_development_dependency 'bundler', '~> 2.1'
|
29
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,153 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: theforeman-rubocop
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ondřej Ezr
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-09-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rubocop
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.89.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.89.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubocop-rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.43.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.43.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rubocop-minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.10.1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.10.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rubocop-performance
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.8.1
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.8.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop-rails
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.5.2
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.5.2
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: bundler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.1'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.1'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rake
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '13.0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '13.0'
|
111
|
+
description:
|
112
|
+
email:
|
113
|
+
- foreman-dev@googlegroups.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".github/workflows/gem-push.yml"
|
119
|
+
- AUTHORS
|
120
|
+
- README.md
|
121
|
+
- all.yml
|
122
|
+
- default.yml
|
123
|
+
- edge.yml
|
124
|
+
- lib/theforeman/rubocop/version.rb
|
125
|
+
- rules/minitest.yml
|
126
|
+
- rules/performance.yml
|
127
|
+
- rules/rails.yml
|
128
|
+
- rules/ruby_target.yml
|
129
|
+
- rules/style.yml
|
130
|
+
- theforeman-rubocop.gemspec
|
131
|
+
homepage: https://github.com/theforeman/theforeman-rubocop
|
132
|
+
licenses: []
|
133
|
+
metadata: {}
|
134
|
+
post_install_message:
|
135
|
+
rdoc_options: []
|
136
|
+
require_paths:
|
137
|
+
- lib
|
138
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
140
|
+
- - ">="
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
143
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0'
|
148
|
+
requirements: []
|
149
|
+
rubygems_version: 3.1.2
|
150
|
+
signing_key:
|
151
|
+
specification_version: 4
|
152
|
+
summary: This gem guides and shares rubocop style configs.
|
153
|
+
test_files: []
|