manageiq-style 1.1.0 → 1.3.0

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: 0c39d38f4271a8073edeef202ee92a1384823b678c273b5e21875d8b21af4dd7
4
- data.tar.gz: 22c988be09d434be7fb20d06b96c6e1209711c073a2ddc6911537d35a29fe6ec
3
+ metadata.gz: 26372475b01723e1fc01fc5779ed19d5e8f4d71e385efe98b8a10c357217c191
4
+ data.tar.gz: 8078d20448d582315cf388037a186fa15c0c3edc429a6731b4a341c6a7cb48f1
5
5
  SHA512:
6
- metadata.gz: b8b8362e34ff3efb97007047af172b5a11f677fafe2ba0f1d465f30191b9b9cd4dcb7d03cf614e043d9af3573a00712d6d49466b373f766f50c373779ec701c6
7
- data.tar.gz: b225d0b75481e663079b5dfc50d63845f6447f0c585d2d8703d870fba4580a9a3b649e3b5f34ecf00c12ee77fcc8d82d817b9c3c6e00126248c3e65b71316b00
6
+ metadata.gz: 556620286f615581543b904bda9d5badb6f745516381f54dfb73b6990ae48c500c4c39f4e3fa65782c4906153fbfa88841c8072574d72d4335086184e683a996
7
+ data.tar.gz: d2a0a9c6d90bd55c67a1a089dc3d5ff2d727fe5b9fcfa322a8737376247ebff3c3599525d129fe992cbe8ae91982c65baba2ee104ab035de8bbed643c4c7c21f
data/.codeclimate.yml CHANGED
@@ -4,8 +4,13 @@ prepare:
4
4
  path: ".rubocop_base.yml"
5
5
  - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_cc_base.yml
6
6
  path: ".rubocop_cc_base.yml"
7
+ - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/base.yml
8
+ path: styles/base.yml
9
+ - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/cc_base.yml
10
+ path: styles/cc_base.yml
7
11
  plugins:
8
12
  rubocop:
9
13
  enabled: true
10
14
  config: ".rubocop_cc.yml"
11
15
  channel: rubocop-0-82
16
+ version: '2'
data/.rubocop.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  inherit_from:
2
- - .rubocop_base.yml
3
- # put all local rubocop config into .rubocop_local.yml as it will be loaded by .rubocop_cc.yml as well
4
- - .rubocop_local.yml
2
+ - ".rubocop_local.yml"
3
+ inherit_gem:
4
+ manageiq-style: ".rubocop_base.yml"
data/.rubocop_base.yml CHANGED
@@ -1,292 +1,2 @@
1
- require:
2
- - rubocop-rails
3
- - rubocop-performance
4
-
5
- AllCops:
6
- NewCops: disable
7
- Exclude:
8
- - spec/manageiq/**/*
9
- - vendor/**/*
10
- TargetRubyVersion: 2.5
11
- Layout/HashAlignment:
12
- EnforcedHashRocketStyle: table
13
- EnforcedColonStyle: table
14
- Layout/DefEndAlignment:
15
- AutoCorrect: true
16
- Layout/EndAlignment:
17
- AutoCorrect: true
18
- Layout/ExtraSpacing:
19
- AutoCorrect: true
20
- Layout/LineLength:
21
- Enabled: false
22
- Layout/SpaceAroundMethodCallOperator:
23
- Enabled: true
24
- Layout/SpaceBeforeFirstArg:
25
- Enabled: false
26
- Layout/SpaceInsideHashLiteralBraces:
27
- EnforcedStyle: no_space
28
- Lint/RaiseException:
29
- Enabled: true
30
- Lint/StructNewOverride:
31
- Enabled: true
32
- Metrics/AbcSize:
33
- Enabled: false
34
- Metrics/BlockLength:
35
- Enabled: false
36
- Metrics/BlockNesting:
37
- Enabled: false
38
- Metrics/ClassLength:
39
- Enabled: false
40
- Metrics/CyclomaticComplexity:
41
- Enabled: false
42
- Metrics/MethodLength:
43
- Enabled: false
44
- Metrics/ModuleLength:
45
- Enabled: false
46
- Metrics/ParameterLists:
47
- Enabled: false
48
- Metrics/PerceivedComplexity:
49
- Enabled: false
50
- Naming/MethodParameterName:
51
- AllowedNames:
52
- - vm
53
- - dc
54
- Naming/RescuedExceptionsVariableName:
55
- Enabled: false
56
- Performance/Casecmp:
57
- Enabled: false
58
- Rails:
59
- Enabled: true
60
- Rails/FindEach:
61
- Enabled: false
62
- Rails/HttpStatus:
63
- Enabled: true
64
- EnforcedStyle: numeric
65
- Rails/ReadWriteAttribute:
66
- AutoCorrect: false
67
- Style/AccessModifierDeclarations:
68
- Enabled: false
69
- Style/ClassAndModuleChildren:
70
- Enabled: false
71
- Style/ClassCheck:
72
- EnforcedStyle: kind_of?
73
- Style/CollectionMethods:
74
- PreferredMethods:
75
- find: detect
76
- find_all: select
77
- map: collect
78
- reduce: inject
79
- Style/Documentation:
80
- Enabled: false
81
- Style/DoubleNegation:
82
- Enabled: false
83
- Style/EmptyMethod:
84
- Enabled: false
85
- Style/Encoding:
86
- Enabled: false
87
- Style/ExponentialNotation:
88
- Enabled: true
89
- Style/FormatString:
90
- EnforcedStyle: percent
91
- Style/FormatStringToken:
92
- EnforcedStyle: template
93
- Style/FrozenStringLiteralComment:
94
- Enabled: false
95
- Style/GuardClause:
96
- Enabled: false
97
- Style/HashEachMethods:
98
- Enabled: true
99
- Style/HashSyntax:
100
- EnforcedStyle: hash_rockets
101
- Exclude:
102
- - db/schema.rb
103
- Style/HashTransformKeys:
104
- Enabled: true
105
- Style/HashTransformValues:
106
- Enabled: true
107
- Style/IfUnlessModifier:
108
- Enabled: false
109
- Style/MethodCallWithArgsParentheses:
110
- Exclude:
111
- - Gemfile
112
- - config/routes.rb
113
- - lib/generators/**/*
114
- - lib/resource_feeder/**/*
115
- - lib/tasks/**/*
116
- - spec/**/*
117
- Enabled: true
118
- IgnoredMethods:
119
- # Ruby
120
- - add_dependency
121
- - add_development_dependency
122
- - add_runtime_dependency
123
- - alias_method
124
- - attr_accessor
125
- - attr_reader
126
- - attr_writer
127
- - exit
128
- - extend
129
- - gem
130
- - include
131
- - load
132
- - module_function
133
- - pp
134
- - prepend
135
- - print
136
- - private
137
- - private_class_method
138
- - private_constant
139
- - puts
140
- - raise
141
- - require
142
- - sleep
143
- - throw
144
- - warn
145
- - yield
146
- # Rails
147
- - accepts_nested_attributes_for
148
- - add_column
149
- - add_index
150
- - add_reference
151
- - after_action
152
- - after_commit
153
- - after_create
154
- - after_create_commit
155
- - after_destroy
156
- - after_destroy
157
- - after_destroy_commit
158
- - after_initialize
159
- - after_save
160
- - after_save
161
- - after_update
162
- - after_update_commit
163
- - alias_attribute
164
- - around_destroy
165
- - autoload
166
- - before_action
167
- - before_create
168
- - before_destroy
169
- - before_save
170
- - before_update
171
- - before_validation
172
- - belongs_to
173
- - bigint
174
- - boolean
175
- - cattr_accessor
176
- - cattr_reader
177
- - cattr_writer
178
- - change_column
179
- - change_column_comment
180
- - change_column_null
181
- - change_table_comment
182
- - class_attribute
183
- - create_table
184
- - datetime
185
- - decimal
186
- - delegate
187
- - drop_table
188
- - float
189
- - has_and_belongs_to_many
190
- - has_many
191
- - has_one
192
- - head
193
- - identified_by
194
- - index
195
- - integer
196
- - jsonb
197
- - mattr_accessor
198
- - references
199
- - remove_column
200
- - remove_index
201
- - remove_reference
202
- - rename_column
203
- - render
204
- - require_dependency
205
- - require_relative
206
- - respond_to
207
- - scope
208
- - serialize
209
- - skip_before_action
210
- - string
211
- - text
212
- - uuid
213
- - validate
214
- - validates
215
- # ActsAsTree Gem
216
- - acts_as_tree
217
- # Ancestry Gem
218
- - has_ancestry
219
- # DefaultValue Gem
220
- - default_value_for
221
- - default_values
222
- # Optimist Gem
223
- - banner
224
- - die
225
- - opt
226
- # MIQ
227
- - add_trigger
228
- - alias_with_relationship_type
229
- - api_relay_method
230
- - attr_accessor_that_yamls
231
- - deprecate_attribute
232
- - drop_trigger
233
- - encrypt_column
234
- - include_concern
235
- - require_nested
236
- - signal
237
- - supports
238
- - supports_not
239
- - virtual_aggregate
240
- - virtual_attribute
241
- - virtual_belongs_to
242
- - virtual_belongs_to
243
- - virtual_column
244
- - virtual_delegate
245
- - virtual_has_many
246
- - virtual_has_one
247
- - virtual_total
248
- # Rake
249
- - desc
250
- - task
251
- Style/NumericLiterals:
252
- AutoCorrect: false
253
- Style/NumericPredicate:
254
- Enabled: false
255
- Style/PerlBackrefs:
256
- Enabled: false
257
- Style/ParallelAssignment:
258
- Enabled: false
259
- Style/RedundantReturn:
260
- AllowMultipleReturnValues: true
261
- Style/RegexpLiteral:
262
- Enabled: false
263
- Style/RescueModifier:
264
- AutoCorrect: false
265
- Style/RescueStandardError:
266
- EnforcedStyle: implicit
267
- Style/SignalException:
268
- EnforcedStyle: only_raise
269
- Style/SingleLineBlockParams:
270
- Enabled: false
271
- Style/SingleLineMethods:
272
- AllowIfMethodIsEmpty: false
273
- Style/SpecialGlobalVars:
274
- AutoCorrect: false
275
- Style/StringLiterals:
276
- Enabled: false
277
- Style/StringLiteralsInInterpolation:
278
- Enabled: false
279
- Style/SymbolArray:
280
- Enabled: false
281
- Style/TrailingCommaInArrayLiteral:
282
- Enabled: false
283
- Style/TrailingCommaInHashLiteral:
284
- Enabled: false
285
- Style/TrailingUnderscoreVariable:
286
- Enabled: false
287
- Style/TrivialAccessors:
288
- AllowPredicates: true
289
- Style/WhileUntilModifier:
290
- Enabled: false
291
- Style/WordArray:
292
- Enabled: false
1
+ inherit_from:
2
+ - styles/base.yml
data/.rubocop_cc_base.yml CHANGED
@@ -1,47 +1,2 @@
1
- #
2
- # THIS FILE IS AUTOGENERATED. DO NOT MODIFY MANUALLY.
3
- # For changes, please modify scripts/process_rubocop_yamls.rb
4
- #
5
- ---
6
- AllCops:
7
- TargetRubyVersion: 2.4
8
- Bundler:
9
- Enabled: true
10
- Gemspec:
11
- Enabled: true
12
- Layout:
13
- Enabled: false
14
- Lint:
15
- Enabled: true
16
- Naming:
17
- Enabled: false
18
- Performance:
19
- Enabled: true
20
- Rails:
21
- Enabled: false
22
- Security:
23
- Enabled: true
24
- Style:
25
- Enabled: false
26
- Metrics/AbcSize:
27
- Enabled: false
28
- Metrics/BlockLength:
29
- Enabled: false
30
- Metrics/BlockNesting:
31
- Enabled: true
32
- Metrics/ClassLength:
33
- Enabled: false
34
- Metrics/CyclomaticComplexity:
35
- Enabled: true
36
- Max: 11
37
- Metrics/LineLength:
38
- Enabled: false
39
- Metrics/MethodLength:
40
- Enabled: false
41
- Metrics/ModuleLength:
42
- Enabled: false
43
- Metrics/ParameterLists:
44
- Enabled: true
45
- Metrics/PerceivedComplexity:
46
- Enabled: false
47
-
1
+ inherit_from:
2
+ - styles/cc_base.yml
data/.travis.yml CHANGED
@@ -2,5 +2,6 @@
2
2
  language: ruby
3
3
  cache: bundler
4
4
  rvm:
5
- - 2.5.7
6
- before_install: gem install bundler -v 2.1.4
5
+ - 2.5.8
6
+ - 2.6.6
7
+ before_install: gem install bundler
data/Gemfile CHANGED
@@ -2,6 +2,3 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in manageiq-style.gemspec
4
4
  gemspec
5
-
6
- gem "rake", "~> 12.0"
7
- gem "rspec", "~> 3.0"
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
- # Manageiq::Style
1
+ # manageiq-style
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/manageiq/style`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ Style and linting configuration for ManageIQ projects.
6
4
 
7
5
  ## Installation
8
6
 
@@ -34,7 +32,6 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
34
32
 
35
33
  Bug reports and pull requests are welcome on GitHub at https://github.com/ManageIQ/manageiq-style. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/ManageIQ/.github/blob/master/CODE_OF_CONDUCT.md).
36
34
 
37
-
38
35
  ## Code of Conduct
39
36
 
40
- Everyone interacting in the Manageiq::Style project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/ManageIQ/.github/blob/master/CODE_OF_CONDUCT.md).
37
+ Everyone interacting in the manageiq-style project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/ManageIQ/.github/blob/master/CODE_OF_CONDUCT.md).
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "bundler/setup"
4
- require "manageiq/style"
4
+ require "manageiq-style"
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
data/exe/manageiq-style CHANGED
@@ -3,6 +3,6 @@
3
3
  $LOAD_PATH << File.expand_path("../lib", __dir__)
4
4
 
5
5
  require 'bundler/setup'
6
- require 'manageiq/style/cli'
6
+ require 'manageiq-style'
7
7
 
8
- Manageiq::Style::CLI.run
8
+ ManageIQ::Style::CLI.run
@@ -0,0 +1 @@
1
+ require "manageiq/style"
@@ -1,6 +1,7 @@
1
1
  require "manageiq/style/version"
2
+ require "manageiq/style/cli"
2
3
 
3
- module Manageiq
4
+ module ManageIQ
4
5
  module Style
5
6
  class Error < StandardError; end
6
7
  # Your code goes here...
@@ -1,6 +1,4 @@
1
- require "manageiq/style"
2
-
3
- module Manageiq
1
+ module ManageIQ
4
2
  module Style
5
3
  class CLI
6
4
  def self.run
@@ -15,16 +13,15 @@ module Manageiq
15
13
  require 'optimist'
16
14
 
17
15
  Optimist.options do
18
- usage "manageiq-version [OPTIONS]"
19
- synopsis "The ManageIQ communities style configuration utility"
20
- version "v#{Manageiq::Style::VERSION}\n"
16
+ usage "[OPTIONS]"
17
+ synopsis "\nThe ManageIQ community's style configuration utility."
18
+ version "v#{ManageIQ::Style::VERSION}\n"
21
19
 
22
- opt :install, "Install or update the style configurations", :default => false
20
+ opt :install, "Install or update the style configurations", :default => false, :required => true
23
21
  end
24
22
  end
25
23
 
26
24
  def run
27
- version if @opts[:version]
28
25
  install if @opts[:install]
29
26
  end
30
27
 
@@ -38,6 +35,7 @@ module Manageiq
38
35
  ensure_rubocop_local_yml_exists
39
36
  update_codeclimate_yml
40
37
  update_generator
38
+ update_gem_source
41
39
  end
42
40
 
43
41
  private
@@ -95,7 +93,9 @@ module Manageiq
95
93
  data["prepare"] = {
96
94
  "fetch" => [
97
95
  {"url" => "https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_base.yml", "path" => ".rubocop_base.yml"},
98
- {"url" => "https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_cc_base.yml", "path" => ".rubocop_cc_base.yml"}
96
+ {"url" => "https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_cc_base.yml", "path" => ".rubocop_cc_base.yml"},
97
+ {"url" => "https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/base.yml", "path" => "styles/base.yml"},
98
+ {"url" => "https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/cc_base.yml", "path" => "styles/cc_base.yml"},
99
99
  ]
100
100
  }
101
101
 
@@ -107,10 +107,120 @@ module Manageiq
107
107
  "config" => ".rubocop_cc.yml",
108
108
  "channel" => cc_rubocop_channel,
109
109
  }
110
+ data["engines"]&.each do |engine, config|
111
+ data["plugins"][engine] = config
112
+ end
113
+
114
+ data.delete("engines") # moved to plugins
115
+ data.delete("ratings") # deprecated
116
+
117
+ exclude_paths = data.delete("exclude_paths") # renamed
118
+ data["exclude_patterns"] = exclude_paths if exclude_paths
119
+
120
+ data["version"] ||= "2"
110
121
 
111
122
  File.write(".codeclimate.yml", data.to_yaml.sub("---\n", ""))
112
123
  end
113
124
 
125
+ def update_gem_source
126
+ if (gemspec = Dir.glob("*.gemspec").first)
127
+ update_gemspec(gemspec)
128
+ elsif File.exist?("Gemfile")
129
+ update_gemfile
130
+ end
131
+ end
132
+
133
+ def update_gemspec(gemspec)
134
+ contents = File.read(gemspec)
135
+ return if contents.include?("manageiq-style")
136
+
137
+ lines = contents.lines
138
+
139
+ obj = $1 if lines.detect { |l| l =~ /^\s+(\w+)\.name\s+=/ }
140
+ raise "couldn't find spec object name" if obj.nil?
141
+
142
+ new_line = "#{obj}.add_development_dependency \"manageiq-style\"\n"
143
+
144
+ dev_lines = lines.select { |l| l.include?("add_development_dependency") }
145
+ if dev_lines.any?
146
+ # Add manageiq-style and remove all direct rubocop references
147
+ dev_lines << new_line
148
+ dev_lines.reject! { |l| l.include?("rubocop") }
149
+
150
+ # Prepare the lines in a nice format
151
+ format_gem_source_lines!(dev_lines)
152
+ dev_lines.sort_by!(&:downcase)
153
+
154
+ # Remove the old dev lines and add the new ones
155
+ insert_at = lines.index { |l| l.include?("add_development_dependency") }
156
+ lines.delete_if { |l| l.include?("add_development_dependency") }
157
+ lines.insert(insert_at, dev_lines)
158
+ else
159
+ insert_at = -1
160
+ insert_at -= 1 until lines[insert_at].strip != "end"
161
+ lines.insert(insert_at, new_line)
162
+ end
163
+
164
+ File.write(gemspec, lines.join)
165
+ end
166
+
167
+ def update_gemfile
168
+ contents = File.read("Gemfile")
169
+ return if contents.include?("manageiq-style")
170
+
171
+ lines = contents.lines
172
+
173
+ new_line = "gem \"manageiq-style\", :require => false\n"
174
+
175
+ group_index = lines.index { |l| l.match?(/group\(?\s*:development/) }
176
+ if group_index
177
+ # Determine the group range
178
+ group_index += 1
179
+ group_end = group_index
180
+ group_end += 1 until lines[group_end].strip == "end"
181
+ group_range = (group_index..group_end - 1)
182
+
183
+ # Split lines into "gem" units including their preceding comments or blank lines
184
+ gem_units = lines[group_range].slice_after { |l| l.match?(/^\s*gem/) }.to_a
185
+
186
+ # Add manageiq-style and remove all direct rubocop references
187
+ gem_units << [new_line]
188
+ gem_units.reject! { |u| u.last.include?("rubocop") }
189
+
190
+ # Prepare the lines in a nice format
191
+ gem_lines = gem_units.map(&:last)
192
+ format_gem_source_lines!(gem_lines)
193
+ gem_units.each_with_index { |u, i| u[-1] = gem_lines[i] }
194
+ gem_units.sort_by! { |u| u.last.downcase }
195
+ gem_units.flatten!
196
+
197
+ # Remove the old group lines and add the new ones
198
+ lines.slice!(group_range)
199
+ lines.insert(group_index, gem_units)
200
+ else
201
+ lines << <<~RUBY
202
+
203
+ group :development do
204
+ #{new_line}
205
+ end
206
+ RUBY
207
+ end
208
+
209
+ File.write("Gemfile", lines.join)
210
+ end
211
+
212
+ def format_gem_source_lines!(lines)
213
+ indent = lines.first.match(/^\s+/).to_s
214
+
215
+ lines.map! { |l| l.strip.gsub(/[()]/, " ").split(" ", 3) } # Split to [prefix, gem, versions]
216
+ lines.each { |parts| parts[1].tr!("'", "\"")} # Ensure double quoted gem name
217
+ max_width = lines.map { |parts| parts[1].size }.max # Determine the widest gem name
218
+ lines.each { |parts| parts[1] = parts[1].ljust(max_width, " ") } # Apply the width
219
+ lines.map! { |parts| parts.join(" ").strip.insert(0, indent) << "\n" } # Back to strings
220
+
221
+ lines
222
+ end
223
+
114
224
  def update_generator
115
225
  plugin_dir = "lib/generators/manageiq/plugin/templates"
116
226
 
@@ -1,5 +1,5 @@
1
- module Manageiq
1
+ module ManageIQ
2
2
  module Style
3
- VERSION = "1.1.0"
3
+ VERSION = "1.3.0"
4
4
  end
5
5
  end
@@ -2,15 +2,14 @@ require_relative 'lib/manageiq/style/version'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "manageiq-style"
5
- spec.version = Manageiq::Style::VERSION
6
- spec.authors = ["Brandon Dunne"]
7
- spec.email = ["brandondunne@hotmail.com"]
5
+ spec.version = ManageIQ::Style::VERSION
6
+ spec.authors = ["ManageIQ Authors"]
8
7
 
9
8
  spec.summary = "Style and linting configuration for ManageIQ projects."
10
- spec.description = "Style and linting configuration for ManageIQ projects."
9
+ spec.description = spec.summary
11
10
  spec.homepage = "https://github.com/ManageIQ/manageiq-style"
12
11
  spec.license = "MIT"
13
- spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
12
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.0.0")
14
13
 
15
14
  spec.metadata["homepage_uri"] = spec.homepage
16
15
  spec.metadata["source_code_uri"] = spec.homepage
@@ -26,7 +25,10 @@ Gem::Specification.new do |spec|
26
25
 
27
26
  spec.add_runtime_dependency "more_core_extensions"
28
27
  spec.add_runtime_dependency "optimist"
29
- spec.add_runtime_dependency "rubocop", "~> 0.82.0"
28
+ spec.add_runtime_dependency "rubocop", "~> 1.13"
30
29
  spec.add_runtime_dependency "rubocop-performance"
31
30
  spec.add_runtime_dependency "rubocop-rails"
31
+
32
+ spec.add_development_dependency "rake", "~> 12.0"
33
+ spec.add_development_dependency "rspec", "~> 3.0"
32
34
  end
data/styles/base.yml ADDED
@@ -0,0 +1,299 @@
1
+ require:
2
+ - rubocop-rails
3
+ - rubocop-performance
4
+
5
+ AllCops:
6
+ NewCops: enable
7
+ Exclude:
8
+ - spec/manageiq/**/*
9
+ - vendor/**/*
10
+ SuggestExtensions: false
11
+ TargetRubyVersion: 2.6
12
+ Layout/HashAlignment:
13
+ EnforcedHashRocketStyle: table
14
+ EnforcedColonStyle: table
15
+ Layout/DefEndAlignment:
16
+ AutoCorrect: true
17
+ Layout/EndAlignment:
18
+ AutoCorrect: true
19
+ Layout/ExtraSpacing:
20
+ AutoCorrect: true
21
+ Exclude:
22
+ - Gemfile
23
+ Layout/LineLength:
24
+ Enabled: false
25
+ Layout/SpaceAroundMethodCallOperator:
26
+ Enabled: true
27
+ Layout/SpaceBeforeFirstArg:
28
+ Enabled: false
29
+ Layout/SpaceInsideHashLiteralBraces:
30
+ EnforcedStyle: no_space
31
+ Lint/RaiseException:
32
+ Enabled: true
33
+ Lint/StructNewOverride:
34
+ Enabled: true
35
+ Metrics/AbcSize:
36
+ Enabled: false
37
+ Metrics/BlockLength:
38
+ Enabled: false
39
+ Metrics/BlockNesting:
40
+ Enabled: false
41
+ Metrics/ClassLength:
42
+ Enabled: false
43
+ Metrics/CyclomaticComplexity:
44
+ Enabled: false
45
+ Metrics/MethodLength:
46
+ Enabled: false
47
+ Metrics/ModuleLength:
48
+ Enabled: false
49
+ Metrics/ParameterLists:
50
+ Enabled: false
51
+ Metrics/PerceivedComplexity:
52
+ Enabled: false
53
+ Naming/MethodParameterName:
54
+ AllowedNames:
55
+ - vm
56
+ - dc
57
+ Naming/RescuedExceptionsVariableName:
58
+ Enabled: false
59
+ Performance/Casecmp:
60
+ Enabled: false
61
+ Rails:
62
+ Enabled: true
63
+ Rails/FindEach:
64
+ Enabled: false
65
+ Rails/HttpStatus:
66
+ Enabled: true
67
+ EnforcedStyle: numeric
68
+ Rails/ReadWriteAttribute:
69
+ AutoCorrect: false
70
+ Style/AccessModifierDeclarations:
71
+ Enabled: false
72
+ Style/ClassAndModuleChildren:
73
+ Enabled: false
74
+ Style/ClassCheck:
75
+ EnforcedStyle: kind_of?
76
+ Style/CollectionMethods:
77
+ PreferredMethods:
78
+ find: detect
79
+ find_all: select
80
+ map: collect
81
+ reduce: inject
82
+ Style/Documentation:
83
+ Enabled: false
84
+ Style/DoubleNegation:
85
+ Enabled: false
86
+ Style/EmptyMethod:
87
+ Enabled: false
88
+ Style/Encoding:
89
+ Enabled: false
90
+ Style/ExponentialNotation:
91
+ Enabled: true
92
+ Style/FormatString:
93
+ EnforcedStyle: percent
94
+ Style/FormatStringToken:
95
+ EnforcedStyle: template
96
+ Style/FrozenStringLiteralComment:
97
+ Enabled: false
98
+ Style/GuardClause:
99
+ Enabled: false
100
+ Style/HashEachMethods:
101
+ Enabled: true
102
+ Style/HashSyntax:
103
+ EnforcedStyle: hash_rockets
104
+ Exclude:
105
+ - db/schema.rb
106
+ Style/HashTransformKeys:
107
+ Enabled: true
108
+ Style/HashTransformValues:
109
+ Enabled: true
110
+ Style/IfUnlessModifier:
111
+ Enabled: false
112
+ Style/MethodCallWithArgsParentheses:
113
+ Exclude:
114
+ - Gemfile
115
+ - config/routes.rb
116
+ - lib/generators/**/*
117
+ - lib/resource_feeder/**/*
118
+ - lib/tasks/**/*
119
+ - spec/**/*
120
+ Enabled: true
121
+ IgnoredMethods:
122
+ # Ruby
123
+ - add_dependency
124
+ - add_development_dependency
125
+ - add_runtime_dependency
126
+ - alias_method
127
+ - attr_accessor
128
+ - attr_reader
129
+ - attr_writer
130
+ - exit
131
+ - extend
132
+ - gem
133
+ - include
134
+ - load
135
+ - module_function
136
+ - pp
137
+ - prepend
138
+ - print
139
+ - private
140
+ - private_class_method
141
+ - private_constant
142
+ - puts
143
+ - raise
144
+ - require
145
+ - sleep
146
+ - throw
147
+ - warn
148
+ - yield
149
+ # Rails
150
+ - accepts_nested_attributes_for
151
+ - add_column
152
+ - add_index
153
+ - add_reference
154
+ - after_action
155
+ - after_commit
156
+ - after_create
157
+ - after_create_commit
158
+ - after_destroy
159
+ - after_destroy
160
+ - after_destroy_commit
161
+ - after_initialize
162
+ - after_save
163
+ - after_save
164
+ - after_update
165
+ - after_update_commit
166
+ - alias_attribute
167
+ - around_destroy
168
+ - autoload
169
+ - before_action
170
+ - before_create
171
+ - before_destroy
172
+ - before_save
173
+ - before_update
174
+ - before_validation
175
+ - belongs_to
176
+ - bigint
177
+ - boolean
178
+ - cattr_accessor
179
+ - cattr_reader
180
+ - cattr_writer
181
+ - change_column
182
+ - change_column_comment
183
+ - change_column_null
184
+ - change_table_comment
185
+ - class_attribute
186
+ - create_table
187
+ - datetime
188
+ - decimal
189
+ - delegate
190
+ - drop_table
191
+ - float
192
+ - has_and_belongs_to_many
193
+ - has_many
194
+ - has_one
195
+ - head
196
+ - identified_by
197
+ - index
198
+ - integer
199
+ - jsonb
200
+ - mattr_accessor
201
+ - references
202
+ - remove_column
203
+ - remove_index
204
+ - remove_reference
205
+ - rename_column
206
+ - render
207
+ - require_dependency
208
+ - require_relative
209
+ - respond_to
210
+ - scope
211
+ - serialize
212
+ - skip_before_action
213
+ - string
214
+ - text
215
+ - uuid
216
+ - validate
217
+ - validates
218
+ # ActsAsTree Gem
219
+ - acts_as_tree
220
+ # Ancestry Gem
221
+ - has_ancestry
222
+ # DefaultValue Gem
223
+ - default_value_for
224
+ - default_values
225
+ # Optimist Gem
226
+ - banner
227
+ - die
228
+ - opt
229
+ # MIQ
230
+ - add_trigger
231
+ - alias_with_relationship_type
232
+ - api_relay_method
233
+ - attr_accessor_that_yamls
234
+ - deprecate_attribute
235
+ - drop_trigger
236
+ - encrypt_column
237
+ - include_concern
238
+ - require_nested
239
+ - signal
240
+ - supports
241
+ - supports_not
242
+ - virtual_aggregate
243
+ - virtual_attribute
244
+ - virtual_belongs_to
245
+ - virtual_belongs_to
246
+ - virtual_column
247
+ - virtual_delegate
248
+ - virtual_has_many
249
+ - virtual_has_one
250
+ - virtual_total
251
+ # Rake
252
+ - desc
253
+ - task
254
+ Style/NegatedIf:
255
+ Enabled: false
256
+ Style/NegatedIfElseCondition:
257
+ Enabled: false
258
+ Style/NumericLiterals:
259
+ AutoCorrect: false
260
+ Style/NumericPredicate:
261
+ Enabled: false
262
+ Style/PerlBackrefs:
263
+ Enabled: false
264
+ Style/ParallelAssignment:
265
+ Enabled: false
266
+ Style/RedundantReturn:
267
+ AllowMultipleReturnValues: true
268
+ Style/RegexpLiteral:
269
+ Enabled: false
270
+ Style/RescueModifier:
271
+ AutoCorrect: false
272
+ Style/RescueStandardError:
273
+ EnforcedStyle: implicit
274
+ Style/SignalException:
275
+ EnforcedStyle: only_raise
276
+ Style/SingleLineBlockParams:
277
+ Enabled: false
278
+ Style/SingleLineMethods:
279
+ AllowIfMethodIsEmpty: false
280
+ Style/SpecialGlobalVars:
281
+ AutoCorrect: false
282
+ Style/StringLiterals:
283
+ Enabled: false
284
+ Style/StringLiteralsInInterpolation:
285
+ Enabled: false
286
+ Style/SymbolArray:
287
+ Enabled: false
288
+ Style/TrailingCommaInArrayLiteral:
289
+ Enabled: false
290
+ Style/TrailingCommaInHashLiteral:
291
+ Enabled: false
292
+ Style/TrailingUnderscoreVariable:
293
+ Enabled: false
294
+ Style/TrivialAccessors:
295
+ AllowPredicates: true
296
+ Style/WhileUntilModifier:
297
+ Enabled: false
298
+ Style/WordArray:
299
+ Enabled: false
@@ -0,0 +1,47 @@
1
+ #
2
+ # THIS FILE IS AUTOGENERATED. DO NOT MODIFY MANUALLY.
3
+ # For changes, please modify scripts/process_rubocop_yamls.rb
4
+ #
5
+ ---
6
+ AllCops:
7
+ TargetRubyVersion: 2.4
8
+ Bundler:
9
+ Enabled: true
10
+ Gemspec:
11
+ Enabled: true
12
+ Layout:
13
+ Enabled: false
14
+ Lint:
15
+ Enabled: true
16
+ Naming:
17
+ Enabled: false
18
+ Performance:
19
+ Enabled: true
20
+ Rails:
21
+ Enabled: false
22
+ Security:
23
+ Enabled: true
24
+ Style:
25
+ Enabled: false
26
+ Layout/LineLength:
27
+ Enabled: false
28
+ Metrics/AbcSize:
29
+ Enabled: false
30
+ Metrics/BlockLength:
31
+ Enabled: false
32
+ Metrics/BlockNesting:
33
+ Enabled: true
34
+ Metrics/ClassLength:
35
+ Enabled: false
36
+ Metrics/CyclomaticComplexity:
37
+ Enabled: true
38
+ Max: 11
39
+ Metrics/MethodLength:
40
+ Enabled: false
41
+ Metrics/ModuleLength:
42
+ Enabled: false
43
+ Metrics/ParameterLists:
44
+ Enabled: true
45
+ Metrics/PerceivedComplexity:
46
+ Enabled: false
47
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manageiq-style
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
- - Brandon Dunne
7
+ - ManageIQ Authors
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-26 00:00:00.000000000 Z
11
+ date: 2021-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: more_core_extensions
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.82.0
47
+ version: '1.13'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.82.0
54
+ version: '1.13'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubocop-performance
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -80,9 +80,36 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '12.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '12.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.0'
83
111
  description: Style and linting configuration for ManageIQ projects.
84
- email:
85
- - brandondunne@hotmail.com
112
+ email:
86
113
  executables:
87
114
  - manageiq-style
88
115
  extensions: []
@@ -105,10 +132,13 @@ files:
105
132
  - bin/console
106
133
  - bin/setup
107
134
  - exe/manageiq-style
135
+ - lib/manageiq-style.rb
108
136
  - lib/manageiq/style.rb
109
137
  - lib/manageiq/style/cli.rb
110
138
  - lib/manageiq/style/version.rb
111
139
  - manageiq-style.gemspec
140
+ - styles/base.yml
141
+ - styles/cc_base.yml
112
142
  homepage: https://github.com/ManageIQ/manageiq-style
113
143
  licenses:
114
144
  - MIT
@@ -123,7 +153,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
123
153
  requirements:
124
154
  - - ">="
125
155
  - !ruby/object:Gem::Version
126
- version: 2.3.0
156
+ version: 2.0.0
127
157
  required_rubygems_version: !ruby/object:Gem::Requirement
128
158
  requirements:
129
159
  - - ">="