Browse Source

Rubocop

get_specs_running
baarkerlounger 3 years ago
parent
commit
886cd667ee
  1. 98
      .rubocop.yml
  2. 21
      Gemfile
  3. 12
      Rakefile
  4. 4
      spec/rails_app/Rakefile
  5. 9
      spec/rails_app/script/rails

98
.rubocop.yml

@ -4,6 +4,24 @@ AllCops:
- '**/Rakefile'
UseCache: true
Layout/LineLength:
Description: Limit lines to 80 characters.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
Enabled: true
Max: 100
AllowURI: true
URISchemes:
- http
- https
Layout/DotPosition:
Description: Checks the position of the dot in multi-line method calls.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
Enabled: true
EnforcedStyle: trailing
SupportedStyles:
- leading
- trailing
Lint/AssignmentInCondition:
Description: Don't use assignment in conditions.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
@ -12,11 +30,11 @@ Lint/AssignmentInCondition:
Lint/EachWithObjectArgument:
Description: Check for immutable argument given to each_with_object.
Enabled: true
Lint/HandleExceptions:
Lint/SuppressedException:
Description: Don't suppress exception.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
Enabled: true
Lint/LiteralInCondition:
Lint/LiteralAsCondition:
Description: Checks of literals used in conditions.
Enabled: true
Lint/LiteralInInterpolation:
@ -46,15 +64,6 @@ Metrics/CyclomaticComplexity:
cases needed to validate a method.
Enabled: true
Max: 6
Metrics/LineLength:
Description: Limit lines to 80 characters.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
Enabled: true
Max: 100
AllowURI: true
URISchemes:
- http
- https
Metrics/MethodLength:
Description: Avoid methods longer than 10 lines of code.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
@ -82,21 +91,27 @@ Metrics/PerceivedComplexity:
Enabled: true
Max: 7
Rails/ScopeArgs:
Description: Checks the arguments of ActiveRecord scopes.
Naming/AccessorMethodName:
Description: Check the naming of accessor methods for get_/set_.
Enabled: false
Naming/FileName:
Description: Use snake_case for source file names.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
Enabled: true
Rails/TimeZone:
# The value `strict` means that `Time` should be used with `zone`.
# The value `flexible` allows usage of `in_time_zone` instead of `zone`.
Exclude: []
Naming/PredicateName:
Description: Check the names of predicate methods.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
Enabled: true
EnforcedStyle: flexible
SupportedStyles:
- strict
- flexible
NamePrefix:
- is_
- has_
- have_
ForbiddenPrefixes:
- is_
Exclude:
- spec/**/*
Style/AccessorMethodName:
Description: Check the naming of accessor methods for get_/set_.
Enabled: false
Style/AndOr:
Description: Use &&/|| instead of and/or.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-and-or-or
@ -127,14 +142,6 @@ Style/CollectionMethods:
Style/Documentation:
Description: Document classes and non-namespace modules.
Enabled: false
Style/DotPosition:
Description: Checks the position of the dot in multi-line method calls.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
Enabled: true
EnforcedStyle: trailing
SupportedStyles:
- leading
- trailing
Style/DoubleNegation:
Description: Checks for uses of double negation (!!).
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
@ -146,11 +153,6 @@ Style/EmptyLiteral:
Description: Prefer literals to Array.new/Hash.new/String.new.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
Enabled: true
Style/FileName:
Description: Use snake_case for source file names.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
Enabled: true
Exclude: []
Style/GuardClause:
Description: Check for conditionals that can be replaced with guard clauses
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
@ -160,7 +162,6 @@ Style/IfUnlessModifier:
Description: Favor modifier if/unless usage when you have a single-line body.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
Enabled: false
MaxLineLength: 80
Style/InlineComment:
Description: Avoid inline comments.
Enabled: false
@ -193,18 +194,6 @@ Style/PerlBackrefs:
Description: Avoid Perl-style regex back references.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
Enabled: false
Style/PredicateName:
Description: Check the names of predicate methods.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
Enabled: true
NamePrefix:
- is_
- has_
- have_
NamePrefixBlacklist:
- is_
Exclude:
- spec/**/*
Style/RaiseArgs:
Description: Checks the arguments passed to raise/fail.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
@ -272,7 +261,16 @@ Style/TrailingCommaInArguments:
- comma
- consistent_comma
- no_comma
Style/TrailingCommaInLiteral:
Style/TrailingCommaInArrayLiteral:
Description: 'Checks for trailing comma in array and hash literals.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
Enabled: true
EnforcedStyleForMultiline: no_comma
SupportedStyles:
- comma
- consistent_comma
- no_comma
Style/TrailingCommaInHashLiteral:
Description: 'Checks for trailing comma in array and hash literals.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
Enabled: true

21
Gemfile

@ -1,31 +1,34 @@
# frozen_string_literal: true
source 'https://rubygems.org'
# Specify your gem's dependencies in devise_ip_filter.gemspec
gemspec
rails_version = ENV["RAILS_VERSION"] || "default"
rails_version = ENV['RAILS_VERSION'] || 'default'
rails = case rails_version
when "master"
{github: "rails/rails"}
when "default"
"~> 7.0.1"
when 'master'
{ github: 'rails/rails' }
when 'default'
'~> 7.0.1'
else
"~> #{rails_version}"
end
gem "rails", rails
gem 'rails', rails
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.2.0')
gem "test-unit", "~> 3.0"
gem 'test-unit', '~> 3.0'
end
group :test, :development do
gem 'sqlite3'
gem 'pry'
gem 'sprockets-rails'
gem 'sqlite3'
end
group :test do
gem 'rack_session_access'
gem 'ammeter'
gem 'rack_session_access'
end

12
Rakefile

@ -1,14 +1,16 @@
require "bundler/gem_tasks"
# frozen_string_literal: true
APP_RAKEFILE = File.expand_path("../spec/rails_app/Rakefile", __FILE__)
require 'bundler/gem_tasks'
APP_RAKEFILE = File.expand_path('spec/rails_app/Rakefile', __dir__)
load 'rails/tasks/engine.rake'
require 'rspec/core/rake_task'
desc "Run all specs in spec directory (excluding plugin specs)"
RSpec::Core::RakeTask.new(:spec => 'app:db:test:prepare')
desc 'Run all specs in spec directory (excluding plugin specs)'
RSpec::Core::RakeTask.new(spec: 'app:db:test:prepare')
task :default => :spec
task default: :spec
# To test against a specific version of Rails
# export RAILS_VERSION=3.2.0; bundle update; rake

4
spec/rails_app/Rakefile

@ -1,7 +1,9 @@
#!/usr/bin/env rake
# frozen_string_literal: true
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
require File.expand_path('../config/application', __FILE__)
require File.expand_path('config/application', __dir__)
Dummy::Application.load_tasks

9
spec/rails_app/script/rails

@ -1,6 +1,9 @@
#!/usr/bin/env ruby
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
# frozen_string_literal: true
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
# This command will automatically be run when you run "rails" with Rails 3
# gems installed from the root of your application.
APP_PATH = File.expand_path('../config/application', __dir__)
require File.expand_path('../config/boot', __dir__)
require 'rails/commands'

Loading…
Cancel
Save