solidus_dev_support 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +35 -0
  3. data/.github/PULL_REQUEST_TEMPLATE.md +11 -0
  4. data/.github/stale.yml +17 -0
  5. data/.gitignore +12 -0
  6. data/.rspec +3 -0
  7. data/.rubocop-https---relaxed-ruby-style-rubocop-yml +174 -0
  8. data/.rubocop.yml +2 -0
  9. data/CHANGELOG.md +39 -0
  10. data/Gemfile +8 -0
  11. data/LICENSE.txt +21 -0
  12. data/README.md +154 -0
  13. data/Rakefile +8 -0
  14. data/bin/console +15 -0
  15. data/bin/setup +8 -0
  16. data/exe/solidus +52 -0
  17. data/lib/solidus_dev_support.rb +15 -0
  18. data/lib/solidus_dev_support/extension.rb +50 -0
  19. data/lib/solidus_dev_support/rake_tasks.rb +61 -0
  20. data/lib/solidus_dev_support/rspec/coverage.rb +22 -0
  21. data/lib/solidus_dev_support/rspec/feature_helper.rb +39 -0
  22. data/lib/solidus_dev_support/rspec/rails_helper.rb +60 -0
  23. data/lib/solidus_dev_support/rspec/spec_helper.rb +25 -0
  24. data/lib/solidus_dev_support/rubocop.rb +16 -0
  25. data/lib/solidus_dev_support/rubocop/config.yml +201 -0
  26. data/lib/solidus_dev_support/templates/extension/.circleci/config.yml +35 -0
  27. data/lib/solidus_dev_support/templates/extension/.github/stale.yml +17 -0
  28. data/lib/solidus_dev_support/templates/extension/CONTRIBUTING.md +57 -0
  29. data/lib/solidus_dev_support/templates/extension/Gemfile +25 -0
  30. data/lib/solidus_dev_support/templates/extension/LICENSE +26 -0
  31. data/lib/solidus_dev_support/templates/extension/README.md +48 -0
  32. data/lib/solidus_dev_support/templates/extension/Rakefile +32 -0
  33. data/lib/solidus_dev_support/templates/extension/app/assets/javascripts/spree/backend/%file_name%.js +2 -0
  34. data/lib/solidus_dev_support/templates/extension/app/assets/javascripts/spree/frontend/%file_name%.js +2 -0
  35. data/lib/solidus_dev_support/templates/extension/app/assets/stylesheets/spree/backend/%file_name%.css +4 -0
  36. data/lib/solidus_dev_support/templates/extension/app/assets/stylesheets/spree/frontend/%file_name%.css +4 -0
  37. data/lib/solidus_dev_support/templates/extension/bin/rails.tt +7 -0
  38. data/lib/solidus_dev_support/templates/extension/config/locales/en.yml +5 -0
  39. data/lib/solidus_dev_support/templates/extension/config/routes.rb +5 -0
  40. data/lib/solidus_dev_support/templates/extension/extension.gemspec.erb +23 -0
  41. data/lib/solidus_dev_support/templates/extension/gem_release.yml.tt +5 -0
  42. data/lib/solidus_dev_support/templates/extension/gitignore +15 -0
  43. data/lib/solidus_dev_support/templates/extension/lib/%file_name%.rb.tt +4 -0
  44. data/lib/solidus_dev_support/templates/extension/lib/%file_name%/engine.rb.tt +22 -0
  45. data/lib/solidus_dev_support/templates/extension/lib/%file_name%/factories.rb.tt +4 -0
  46. data/lib/solidus_dev_support/templates/extension/lib/%file_name%/version.rb.tt +5 -0
  47. data/lib/solidus_dev_support/templates/extension/lib/generators/%file_name%/install/install_generator.rb.tt +32 -0
  48. data/lib/solidus_dev_support/templates/extension/rspec +1 -0
  49. data/lib/solidus_dev_support/templates/extension/rubocop.yml +15 -0
  50. data/lib/solidus_dev_support/templates/extension/spec/spec_helper.rb.tt +24 -0
  51. data/lib/solidus_dev_support/testing_support/preferences.rb +45 -0
  52. data/lib/solidus_dev_support/version.rb +5 -0
  53. data/solidus_dev_support.gemspec +50 -0
  54. metadata +384 -0
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task default: :spec
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "bundler/setup"
5
+ require "solidus_dev_support"
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require "irb"
15
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/exe/solidus ADDED
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'optparse'
5
+
6
+ require 'solidus_dev_support'
7
+ require 'solidus_dev_support/extension'
8
+
9
+ Options = Struct.new(:name)
10
+
11
+ class Parser
12
+ class << self
13
+ def parse(args)
14
+ options.parse!(args)
15
+ end
16
+
17
+ def options
18
+ OptionParser.new do |opts|
19
+ opts.banner = 'Usage: solidus [[extension extension_name] | [-h] [-v]]'
20
+
21
+ opts.on('-h', '--help', 'Prints this help') do
22
+ puts opts
23
+ end
24
+
25
+ opts.on(
26
+ '-v',
27
+ '--version',
28
+ "Prints the current version: #{SolidusDevSupport::VERSION}"
29
+ ) do
30
+ puts SolidusDevSupport::VERSION
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+
37
+ # Print help if no options are supplied
38
+ ARGV << '--help' unless ARGV.first
39
+
40
+ if ARGV.first == 'extension' || ARGV.first == 'e'
41
+ ARGV.shift
42
+
43
+ unless ARGV.first
44
+ puts 'An extension must have a name!'
45
+ puts `solidus -h`
46
+ exit 1
47
+ end
48
+
49
+ SolidusDevSupport::Extension.start
50
+ else
51
+ Parser.parse(ARGV)
52
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "solidus_support"
4
+ require "solidus_dev_support/version"
5
+
6
+ module SolidusDevSupport
7
+ class Error < StandardError; end
8
+
9
+ class << self
10
+ def reset_spree_preferences_deprecated?
11
+ first_version_without_reset = Gem::Requirement.new('>= 2.9')
12
+ first_version_without_reset.satisfied_by?(SolidusSupport.solidus_gem_version)
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'thor'
4
+ require 'thor/group'
5
+
6
+ module SolidusDevSupport
7
+ class Extension < Thor::Group
8
+ include Thor::Actions
9
+
10
+ desc 'builds a solidus extension'
11
+ argument :file_name, type: :string, desc: 'rails app_path', default: '.'
12
+
13
+ source_root File.expand_path('templates/extension', __dir__)
14
+
15
+ def generate
16
+ use_prefix 'solidus_'
17
+
18
+ empty_directory file_name
19
+
20
+ directory 'app', "#{file_name}/app"
21
+ directory 'lib', "#{file_name}/lib"
22
+ directory 'bin', "#{file_name}/bin"
23
+ directory '.circleci', "#{file_name}/.circleci"
24
+ directory '.github', "#{file_name}/.github"
25
+
26
+ template 'extension.gemspec.erb', "#{file_name}/#{file_name}.gemspec"
27
+ template 'Gemfile', "#{file_name}/Gemfile"
28
+ template 'gitignore', "#{file_name}/.gitignore"
29
+ template 'gem_release.yml.tt', "#{file_name}/.gem_release.yml"
30
+ template 'LICENSE', "#{file_name}/LICENSE"
31
+ template 'Rakefile', "#{file_name}/Rakefile"
32
+ template 'README.md', "#{file_name}/README.md"
33
+ template 'config/routes.rb', "#{file_name}/config/routes.rb"
34
+ template 'config/locales/en.yml', "#{file_name}/config/locales/en.yml"
35
+ template 'rspec', "#{file_name}/.rspec"
36
+ template 'spec/spec_helper.rb.tt', "#{file_name}/spec/spec_helper.rb"
37
+ template 'rubocop.yml', "#{file_name}/.rubocop.yml"
38
+ end
39
+
40
+ no_tasks do
41
+ def class_name
42
+ Thor::Util.camel_case file_name
43
+ end
44
+
45
+ def use_prefix(prefix)
46
+ @file_name = prefix + Thor::Util.snake_case(file_name) unless file_name =~ /^#{prefix}/
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake'
4
+ require 'pathname'
5
+
6
+ module SolidusDevSupport
7
+ class RakeTasks
8
+ include Rake::DSL
9
+
10
+ def self.install(*args)
11
+ new(*args).tap(&:install)
12
+ end
13
+
14
+ def initialize(root: Dir.pwd)
15
+ @root = Pathname(root)
16
+ @test_app_path = @root.join(ENV['DUMMY_PATH'] || 'spec/dummy')
17
+ @gemspec = Bundler.load_gemspec(@root.glob("{,*}.gemspec").first)
18
+ end
19
+
20
+ attr_reader :test_app_path, :root, :gemspec
21
+
22
+ def install
23
+ install_test_app_task
24
+ install_rspec_task
25
+ end
26
+
27
+ def install_test_app_task
28
+ require 'rake/clean'
29
+ ::CLOBBER.include test_app_path
30
+
31
+ ENV['DUMMY_PATH'] = test_app_path.to_s
32
+ ENV['LIB_NAME'] = gemspec.name
33
+ require 'spree/testing_support/extension_rake'
34
+
35
+ namespace :extension do
36
+ directory ENV['DUMMY_PATH'] do
37
+ Rake::Task['extension:test_app']
38
+
39
+ # We need to go back to the gem root since extension:test_app changes
40
+ # the working directory to be the dummy app.
41
+ cd root
42
+ end
43
+ end
44
+ end
45
+
46
+ def install_rspec_task
47
+ namespace :extension do
48
+ require 'rspec/core/rake_task'
49
+ ::RSpec::Core::RakeTask.new(:specs, [] => FileList[ENV['DUMMY_PATH']]) do |t|
50
+ # Ref: https://circleci.com/docs/2.0/configuration-reference#store_test_results
51
+ # Ref: https://github.com/solidusio/circleci-orbs-extensions#test-results-rspec
52
+ if ENV['TEST_RESULTS_PATH']
53
+ t.rspec_opts =
54
+ "--format progress " \
55
+ "--format RspecJunitFormatter --out #{ENV['TEST_RESULTS_PATH']}"
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # A SimpleCov and Codecov configuration to track code coverage in your extension
4
+ #
5
+ # Include it AT THE TOP of your spec/spec_helper.rb:
6
+ #
7
+ # require 'solidus_dev_support/rspec/coverage'
8
+ #
9
+ # Note that things may not work properly if you don't include this at the very top!
10
+ #
11
+
12
+ require 'simplecov'
13
+ SimpleCov.start('rails') do
14
+ add_filter %r{^/lib/generators/.*/install/install_generator.rb}
15
+ add_filter %r{^/lib/.*/factories.rb}
16
+ add_filter %r{^/lib/.*/version.rb}
17
+ end
18
+
19
+ if ENV['CI']
20
+ require 'codecov'
21
+ SimpleCov.formatter = SimpleCov::Formatter::Codecov
22
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ # A basic feature_helper to be included as the starting point for extensions
4
+ #
5
+ # Can be required from an extension's spec/feature_helper.rb
6
+ #
7
+ # require 'solidus_dev_support/rspec/feature_helper'
8
+ #
9
+
10
+ require 'solidus_dev_support/rspec/rails_helper'
11
+
12
+ require 'capybara-screenshot/rspec'
13
+ require 'capybara/apparition'
14
+
15
+ Capybara.javascript_driver = (ENV['CAPYBARA_DRIVER'] || :apparition).to_sym
16
+ Capybara.default_max_wait_time = 10
17
+ Capybara.server = :puma, { Silent: true } # A fix for rspec/rspec-rails#1897
18
+
19
+ Capybara.register_driver :apparition do |app|
20
+ Capybara::Apparition::Driver.new(app, window_size: [1920, 1080])
21
+ end
22
+
23
+ require 'spree/testing_support/capybara_ext'
24
+
25
+ RSpec.configure do |config|
26
+ config.when_first_matching_example_defined(type: :feature) do
27
+ config.before :suite do
28
+ # Preload assets
29
+ if Rails.application.respond_to?(:precompiled_assets)
30
+ Rails.application.precompiled_assets
31
+ else
32
+ # For older sprockets 2.x
33
+ Rails.application.config.assets.precompile.each do |asset|
34
+ Rails.application.assets.find_asset(asset)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ # A basic rails_helper to be included as the starting point for extensions
4
+ #
5
+ # Can be required from an extension's spec/rails_helper.rb
6
+ #
7
+ # require 'solidus_dev_support/rspec/rails_helper'
8
+ #
9
+
10
+ require 'solidus_dev_support/rspec/spec_helper'
11
+ require 'solidus_dev_support'
12
+
13
+ require 'rspec/rails'
14
+ require 'database_cleaner'
15
+ require 'factory_bot_rails'
16
+ require 'ffaker'
17
+
18
+ require 'spree/testing_support/authorization_helpers'
19
+ require 'spree/testing_support/factories'
20
+ require 'spree/testing_support/url_helpers'
21
+ require 'spree/testing_support/preferences'
22
+ require 'spree/testing_support/controller_requests'
23
+ require 'solidus_dev_support/testing_support/preferences'
24
+
25
+ RSpec.configure do |config|
26
+ config.infer_spec_type_from_file_location!
27
+
28
+ config.include FactoryBot::Syntax::Methods
29
+
30
+ # visit spree.admin_path
31
+ # current_path.should eql(spree.products_path)
32
+ config.include Spree::TestingSupport::UrlHelpers
33
+
34
+ config.include Spree::TestingSupport::ControllerRequests, type: :controller
35
+
36
+ config.include Spree::TestingSupport::Preferences
37
+ config.include SolidusDevSupport::TestingSupport::Preferences
38
+
39
+ config.before :suite do
40
+ DatabaseCleaner.clean_with :truncation
41
+ end
42
+
43
+ config.before do
44
+ ActiveJob::Base.queue_adapter = :test
45
+ end
46
+
47
+ # Around each spec check if it is a Javascript test and switch between using
48
+ # database transactions or not where necessary.
49
+ config.around(:each) do |example|
50
+ DatabaseCleaner.strategy = RSpec.current_example.metadata[:js] ? :truncation : :transaction
51
+
52
+ DatabaseCleaner.cleaning do
53
+ reset_spree_preferences unless SolidusDevSupport.reset_spree_preferences_deprecated?
54
+
55
+ example.run
56
+ end
57
+ end
58
+
59
+ config.include ActiveJob::TestHelper
60
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # A basic spec_helper to be included as the starting point for extensions
4
+ #
5
+ # Can be required from an extension's spec/spec_helper.rb
6
+ #
7
+ # require 'solidus_dev_support/rspec/spec_helper'
8
+ #
9
+
10
+ RSpec.configure do |config|
11
+ config.filter_run focus: true
12
+ config.run_all_when_everything_filtered = true
13
+
14
+ config.mock_with :rspec
15
+ config.color = true
16
+
17
+ config.fail_fast = ENV['FAIL_FAST'] || false
18
+ config.order = 'random'
19
+
20
+ config.raise_errors_for_deprecations!
21
+
22
+ config.example_status_persistence_file_path = "./spec/examples.txt"
23
+
24
+ Kernel.srand config.seed
25
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SolidusDevSupport
4
+ module RuboCop
5
+ CONFIG_PATH = "#{__dir__}/rubocop/config.yml"
6
+
7
+ def self.inject_defaults!
8
+ config = ::RuboCop::ConfigLoader.load_file(CONFIG_PATH)
9
+ puts "configuration from #{CONFIG_PATH}" if ::RuboCop::ConfigLoader.debug?
10
+ config = ::RuboCop::ConfigLoader.merge_with_default(config, CONFIG_PATH, unset_nil: false)
11
+ ::RuboCop::ConfigLoader.instance_variable_set(:@default_configuration, config)
12
+ end
13
+ end
14
+ end
15
+
16
+ SolidusDevSupport::RuboCop.inject_defaults!
@@ -0,0 +1,201 @@
1
+ # Relaxed.Ruby.Style
2
+ ## Version 2.4
3
+
4
+ Style/Alias:
5
+ Enabled: false
6
+ StyleGuide: https://relaxed.ruby.style/#stylealias
7
+
8
+ Style/AsciiComments:
9
+ Enabled: false
10
+ StyleGuide: https://relaxed.ruby.style/#styleasciicomments
11
+
12
+ Style/BeginBlock:
13
+ Enabled: false
14
+ StyleGuide: https://relaxed.ruby.style/#stylebeginblock
15
+
16
+ Style/BlockDelimiters:
17
+ Enabled: false
18
+ StyleGuide: https://relaxed.ruby.style/#styleblockdelimiters
19
+
20
+ Style/CommentAnnotation:
21
+ Enabled: false
22
+ StyleGuide: https://relaxed.ruby.style/#stylecommentannotation
23
+
24
+ Style/Documentation:
25
+ Enabled: false
26
+ StyleGuide: https://relaxed.ruby.style/#styledocumentation
27
+
28
+ Layout/DotPosition:
29
+ Enabled: false
30
+ StyleGuide: https://relaxed.ruby.style/#layoutdotposition
31
+
32
+ Style/DoubleNegation:
33
+ Enabled: false
34
+ StyleGuide: https://relaxed.ruby.style/#styledoublenegation
35
+
36
+ Style/EndBlock:
37
+ Enabled: false
38
+ StyleGuide: https://relaxed.ruby.style/#styleendblock
39
+
40
+ Style/FormatString:
41
+ Enabled: false
42
+ StyleGuide: https://relaxed.ruby.style/#styleformatstring
43
+
44
+ Style/IfUnlessModifier:
45
+ Enabled: false
46
+ StyleGuide: https://relaxed.ruby.style/#styleifunlessmodifier
47
+
48
+ Style/Lambda:
49
+ Enabled: false
50
+ StyleGuide: https://relaxed.ruby.style/#stylelambda
51
+
52
+ Style/ModuleFunction:
53
+ Enabled: false
54
+ StyleGuide: https://relaxed.ruby.style/#stylemodulefunction
55
+
56
+ Style/MultilineBlockChain:
57
+ Enabled: false
58
+ StyleGuide: https://relaxed.ruby.style/#stylemultilineblockchain
59
+
60
+ Style/NegatedIf:
61
+ Enabled: false
62
+ StyleGuide: https://relaxed.ruby.style/#stylenegatedif
63
+
64
+ Style/NegatedWhile:
65
+ Enabled: false
66
+ StyleGuide: https://relaxed.ruby.style/#stylenegatedwhile
67
+
68
+ Style/NumericPredicate:
69
+ Enabled: false
70
+ StyleGuide: https://relaxed.ruby.style/#stylenumericpredicate
71
+
72
+ Style/ParallelAssignment:
73
+ Enabled: false
74
+ StyleGuide: https://relaxed.ruby.style/#styleparallelassignment
75
+
76
+ Style/PercentLiteralDelimiters:
77
+ Enabled: false
78
+ StyleGuide: https://relaxed.ruby.style/#stylepercentliteraldelimiters
79
+
80
+ Style/PerlBackrefs:
81
+ Enabled: false
82
+ StyleGuide: https://relaxed.ruby.style/#styleperlbackrefs
83
+
84
+ Style/Semicolon:
85
+ Enabled: false
86
+ StyleGuide: https://relaxed.ruby.style/#stylesemicolon
87
+
88
+ Style/SignalException:
89
+ Enabled: false
90
+ StyleGuide: https://relaxed.ruby.style/#stylesignalexception
91
+
92
+ Style/SingleLineBlockParams:
93
+ Enabled: false
94
+ StyleGuide: https://relaxed.ruby.style/#stylesinglelineblockparams
95
+
96
+ Style/SingleLineMethods:
97
+ Enabled: false
98
+ StyleGuide: https://relaxed.ruby.style/#stylesinglelinemethods
99
+
100
+ Layout/SpaceBeforeBlockBraces:
101
+ Enabled: false
102
+ StyleGuide: https://relaxed.ruby.style/#layoutspacebeforeblockbraces
103
+
104
+ Layout/SpaceInsideParens:
105
+ Enabled: false
106
+ StyleGuide: https://relaxed.ruby.style/#layoutspaceinsideparens
107
+
108
+ Style/SpecialGlobalVars:
109
+ Enabled: false
110
+ StyleGuide: https://relaxed.ruby.style/#stylespecialglobalvars
111
+
112
+ Style/StringLiterals:
113
+ Enabled: false
114
+ StyleGuide: https://relaxed.ruby.style/#stylestringliterals
115
+
116
+ Style/TrailingCommaInArguments:
117
+ Enabled: false
118
+ StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarguments
119
+
120
+ Style/TrailingCommaInArrayLiteral:
121
+ Enabled: false
122
+ StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarrayliteral
123
+
124
+ Style/TrailingCommaInHashLiteral:
125
+ Enabled: false
126
+ StyleGuide: https://relaxed.ruby.style/#styletrailingcommainhashliteral
127
+
128
+ Style/SymbolArray:
129
+ Enabled: false
130
+ StyleGuide: http://relaxed.ruby.style/#stylesymbolarray
131
+
132
+ Style/WhileUntilModifier:
133
+ Enabled: false
134
+ StyleGuide: https://relaxed.ruby.style/#stylewhileuntilmodifier
135
+
136
+ Style/WordArray:
137
+ Enabled: false
138
+ StyleGuide: https://relaxed.ruby.style/#stylewordarray
139
+
140
+ Lint/AmbiguousRegexpLiteral:
141
+ Enabled: false
142
+ StyleGuide: https://relaxed.ruby.style/#lintambiguousregexpliteral
143
+
144
+ Lint/AssignmentInCondition:
145
+ Enabled: false
146
+ StyleGuide: https://relaxed.ruby.style/#lintassignmentincondition
147
+
148
+ Metrics/AbcSize:
149
+ Enabled: false
150
+
151
+ Metrics/BlockNesting:
152
+ Enabled: false
153
+
154
+ Metrics/ClassLength:
155
+ Enabled: false
156
+
157
+ Metrics/ModuleLength:
158
+ Enabled: false
159
+
160
+ Metrics/CyclomaticComplexity:
161
+ Enabled: false
162
+
163
+ # Metrics/LineLength:
164
+ # Enabled: false
165
+
166
+ Metrics/MethodLength:
167
+ Enabled: false
168
+
169
+ Metrics/ParameterLists:
170
+ Enabled: false
171
+
172
+ Metrics/PerceivedComplexity:
173
+ Enabled: false
174
+
175
+ # Our overrides after this point:
176
+
177
+ require:
178
+ - rubocop-rspec
179
+ - rubocop-rails
180
+ - rubocop-performance
181
+
182
+ AllCops:
183
+ Exclude:
184
+ - spec/dummy/**/*
185
+ - vendor/**/*
186
+
187
+ Metrics/BlockLength:
188
+ Enabled: false
189
+
190
+ Metrics/LineLength:
191
+ Enabled: true
192
+ Max: 100
193
+
194
+ RSpec/ExampleLength:
195
+ Enabled: false
196
+
197
+ Layout/AlignArguments:
198
+ EnforcedStyle: with_fixed_indentation
199
+
200
+ Layout/MultilineOperationIndentation:
201
+ Enabled: false