theforeman-rubocop 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1,64 @@
1
+ [![Gem Version](https://badge.fury.io/rb/theforeman-rubocop.svg)](https://badge.fury.io/rb/theforeman-rubocop)
2
+
3
+ # theforeman-rubocop
4
+
5
+ ![Foreman](https://raw.githubusercontent.com/theforeman/foreman-graphics/master/logo/foreman_medium.png)
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
@@ -0,0 +1,6 @@
1
+ inherit_from:
2
+ - default.yml
3
+ - rules/ruby_target.yml
4
+ - rules/rails.yml
5
+ - rules/minitest.yml
6
+
@@ -0,0 +1,8 @@
1
+ inherit_from:
2
+ - rules/style.yml
3
+ - rules/performance.yml
4
+
5
+ AllCops:
6
+ NewCops: disable
7
+ Exclude:
8
+ - 'node_modules/**/*'
@@ -0,0 +1,5 @@
1
+ inherit_from:
2
+ - all.yml
3
+
4
+ AllCops:
5
+ NewCops: enable
@@ -0,0 +1,5 @@
1
+ module Theforeman
2
+ module Rubocop
3
+ VERSION = '0.0.1'.freeze
4
+ end
5
+ end
@@ -0,0 +1,2 @@
1
+ require:
2
+ - rubocop-minitest
@@ -0,0 +1,8 @@
1
+ require:
2
+ - rubocop-performance
3
+
4
+ Performance/RedundantMatch:
5
+ Enabled: true
6
+
7
+ Performance/RedundantMerge:
8
+ Enabled: true
@@ -0,0 +1,12 @@
1
+ require:
2
+ - rubocop-rails
3
+
4
+ AllCops:
5
+ TargetRailsVersion: 6.0
6
+
7
+ Rails:
8
+ Enabled: true
9
+
10
+ Rails/SkipsModelValidations:
11
+ Exclude:
12
+ - 'db/migrate/*.rb'
@@ -0,0 +1,2 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.5
@@ -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: []