diff --git a/.rubocop.yml b/.rubocop.yml index 84b8dfb..c7ff3d3 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,148 +1,4 @@ -# This file is based on https://github.com/rails/rails/blob/master/.rubocop.yml (MIT license) -# Automatically generated by OpenAPI Generator (https://openapi-generator.tech) -AllCops: - TargetRubyVersion: 2.4 - # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop - # to ignore them, so only the ones explicitly set in this file are enabled. - DisabledByDefault: true - Exclude: - - '**/templates/**/*' - - '**/vendor/**/*' - - 'actionpack/lib/action_dispatch/journey/parser.rb' - -# Prefer &&/|| over and/or. -Style/AndOr: - Enabled: true - -# Align `when` with `case`. -Layout/CaseIndentation: - Enabled: true - -# Align comments with method definitions. -Layout/CommentIndentation: - Enabled: true - -Layout/ElseAlignment: - Enabled: true - -Layout/EmptyLineAfterMagicComment: - Enabled: true - -# In a regular class definition, no empty lines around the body. -Layout/EmptyLinesAroundClassBody: - Enabled: false - -# In a regular method definition, no empty lines around the body. -Layout/EmptyLinesAroundMethodBody: - Enabled: true - -# In a regular module definition, no empty lines around the body. -Layout/EmptyLinesAroundModuleBody: - Enabled: false - -Layout/FirstArgumentIndentation: - Enabled: true - -# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }. -Style/HashSyntax: - Enabled: false - -# Method definitions after `private` or `protected` isolated calls need one -# extra level of indentation. -Layout/IndentationConsistency: - Enabled: true - EnforcedStyle: indented_internal_methods - -# Two spaces, no tabs (for indentation). -Layout/IndentationWidth: - Enabled: true - -Layout/LeadingCommentSpace: - Enabled: false - -Layout/SpaceAfterColon: - Enabled: true - -Layout/SpaceAfterComma: - Enabled: true - -Layout/SpaceAroundEqualsInParameterDefault: - Enabled: true - -Layout/SpaceAroundKeyword: - Enabled: true - -Layout/SpaceAroundOperators: - Enabled: true - -Layout/SpaceBeforeComma: - Enabled: true - -Layout/SpaceBeforeFirstArg: - Enabled: true - -Style/DefWithParentheses: - Enabled: true - -# Defining a method with parameters needs parentheses. -Style/MethodDefParentheses: - Enabled: true - -Style/FrozenStringLiteralComment: - Enabled: false - EnforcedStyle: always - -# Use `foo {}` not `foo{}`. -Layout/SpaceBeforeBlockBraces: - Enabled: true - -# Use `foo { bar }` not `foo {bar}`. -Layout/SpaceInsideBlockBraces: - Enabled: true - -# Use `{ a: 1 }` not `{a:1}`. -Layout/SpaceInsideHashLiteralBraces: - Enabled: true - -Layout/SpaceInsideParens: - Enabled: true - -# Check quotes usage according to lint rule below. -#Style/StringLiterals: -# Enabled: true -# EnforcedStyle: single_quotes - -# Detect hard tabs, no hard tabs. -Layout/IndentationStyle: - Enabled: true - -# Blank lines should not have any spaces. -Layout/TrailingEmptyLines: - Enabled: true - -# No trailing whitespace. -Layout/TrailingWhitespace: - Enabled: false - -# Use quotes for string literals when they are enough. -Style/RedundantPercentQ: - Enabled: true - -# Align `end` with the matching keyword or starting expression except for -# assignments, where it should be aligned with the LHS. -Layout/EndAlignment: - Enabled: true - EnforcedStyleAlignWith: variable - AutoCorrect: true - -# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg. -Lint/RequireParentheses: - Enabled: true - -Style/RedundantReturn: - Enabled: true - AllowMultipleReturnValues: true - -Style/Semicolon: - Enabled: true - AllowAsExpressionSeparator: true +inherit_from: +- ".rubocop_local.yml" +inherit_gem: + manageiq-style: ".rubocop_base.yml" diff --git a/.rubocop_cc.yml b/.rubocop_cc.yml new file mode 100644 index 0000000..5c3969f --- /dev/null +++ b/.rubocop_cc.yml @@ -0,0 +1,4 @@ +inherit_from: +- ".rubocop_base.yml" +- ".rubocop_cc_base.yml" +- ".rubocop_local.yml" diff --git a/.rubocop_local.yml b/.rubocop_local.yml new file mode 100644 index 0000000..fb6a836 --- /dev/null +++ b/.rubocop_local.yml @@ -0,0 +1,5 @@ +AllCops: + Exclude: + - spec/schema.rb +Rails: + Enabled: false diff --git a/Gemfile b/Gemfile index 7de4991..ec9c5a4 100644 --- a/Gemfile +++ b/Gemfile @@ -5,5 +5,4 @@ gemspec group :development, :test do gem 'rake', '~> 13.3.0' gem 'pry-byebug' - gem 'rubocop', '~> 0.66.0' end diff --git a/bin/openapi-generate b/bin/openapi-generate index c9e86b3..c6a91b9 100755 --- a/bin/openapi-generate +++ b/bin/openapi-generate @@ -15,4 +15,11 @@ fi rm -rf ./docs ./lib ./spec # Generate the kubevirt gem from the current openapi-spec -java -jar openapi-generator-cli-$version.jar generate --input-spec https://raw.githubusercontent.com/kubevirt/kubevirt/refs/heads/main/api/openapi-spec/swagger.json --skip-validate-spec --generator-name ruby --config .openapi-config.json +export RUBY_POST_PROCESS_FILE="rubocop -A" + +java -jar openapi-generator-cli-$version.jar generate \ + --input-spec https://raw.githubusercontent.com/kubevirt/kubevirt/refs/heads/main/api/openapi-spec/swagger.json \ + --skip-validate-spec \ + --generator-name ruby \ + --config .openapi-config.json \ + --enable-post-process-file diff --git a/kubevirt.gemspec b/kubevirt.gemspec index 9931c54..cfd72bd 100644 --- a/kubevirt.gemspec +++ b/kubevirt.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Contact: kubevirt-dev@googlegroups.com Generated by: https://openapi-generator.tech -Generator version: 7.12.0 +Generator version: 7.14.0 =end @@ -31,6 +31,7 @@ Gem::Specification.new do |s| s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1' s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0' + s.add_development_dependency "manageiq-style" s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? } s.test_files = `find spec/*`.split("\n")