1
0
Fork 0
mirror of https://github.com/thoughtbot/factory_bot_rails.git synced 2022-11-09 11:49:18 -05:00

Address todos generated by rubocop for files in the lib/generators directory (#299)

* Address todos generated by rubocop for files in the lib/generators directory.

This partially addresses #293. Since rubocop generated quite a few todos, the commits addressing them are split up into a few different PRs that cover different files.

* Fix underscore seperator in model_generator.rb, and change memoized instance variable name to @_source_root in lib/generators/factory_bot.rb

* get rid of memoized _source_root variable

* get rid of extraneous rubocop rules
This commit is contained in:
Alex 2018-09-28 21:03:04 -05:00 committed by Daniel Colson
parent 879b47f70d
commit 7907b085fd
3 changed files with 14 additions and 73 deletions

View file

@ -27,65 +27,6 @@ Layout/IndentHeredoc:
- 'features/step_definitions/rails_steps.rb' - 'features/step_definitions/rails_steps.rb'
- 'lib/generators/factory_bot/model/model_generator.rb' - 'lib/generators/factory_bot/model/model_generator.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: Width, IgnoredPatterns.
Layout/IndentationWidth:
Exclude:
- 'lib/generators/factory_bot/model/model_generator.rb'
# Offense count: 2
# Configuration parameters: CountComments, ExcludedMethods.
Metrics/BlockLength:
Max: 40
# Offense count: 1
Naming/MemoizedInstanceVariableName:
Exclude:
- 'lib/generators/factory_bot.rb'
# Offense count: 9
Style/Documentation:
Exclude:
- 'spec/**/*'
- 'test/**/*'
- 'lib/generators/factory_bot/model/model_generator.rb'
# Offense count: 84
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiterals:
EnforcedStyle: "double_quotes"
Exclude:
- 'lib/generators/factory_bot.rb'
- 'lib/generators/factory_bot/model/model_generator.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiteralsInInterpolation:
Exclude:
- 'lib/generators/factory_bot/model/model_generator.rb'
# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
Style/TrailingCommaInArguments:
Exclude:
- 'spec/factory_bot_rails/definition_file_paths_spec.rb'
- 'lib/generators/factory_bot/model/model_generator.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: WordRegex.
# SupportedStyles: percent, brackets
Style/WordArray:
EnforcedStyle: percent
MinSize: 3
# Offense count: 11 # Offense count: 11
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https # URISchemes: http, https

View file

@ -1,10 +1,10 @@
require 'rails/generators/named_base' require "rails/generators/named_base"
module FactoryBot module FactoryBot
module Generators module Generators
class Base < Rails::Generators::NamedBase #:nodoc: class Base < Rails::Generators::NamedBase #:nodoc:
def self.source_root def self.source_root
@_factory_bot_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'factory_bot', generator_name, 'templates')) File.expand_path(File.join(File.dirname(__FILE__), "factory_bot", generator_name, "templates"))
end end
def explicit_class_option def explicit_class_option

View file

@ -1,5 +1,5 @@
require 'generators/factory_bot' require "generators/factory_bot"
require 'factory_bot_rails' require "factory_bot_rails"
module FactoryBot module FactoryBot
module Generators module Generators
@ -8,21 +8,21 @@ module FactoryBot
:attributes, :attributes,
type: :array, type: :array,
default: [], default: [],
banner: "field:type field:type" banner: "field:type field:type",
) )
class_option( class_option(
:dir, :dir,
type: :string, type: :string,
default: "test/factories", default: "test/factories",
desc: "The directory or file root where factories belong" desc: "The directory or file root where factories belong",
) )
class_option( class_option(
:suffix, :suffix,
type: :string, type: :string,
default: nil, default: nil,
desc: "Suffix to add factory file" desc: "Suffix to add factory file",
) )
def create_fixture_file def create_fixture_file
@ -43,7 +43,7 @@ module FactoryBot
insert_into_file( insert_into_file(
factories_file, factories_file,
factory_definition, factory_definition,
after: "FactoryBot.define do\n" after: "FactoryBot.define do\n",
) )
end end
@ -53,19 +53,19 @@ module FactoryBot
end end
def factory_definition def factory_definition
<<-RUBY <<-RUBY
factory :#{singular_table_name}#{explicit_class_option} do factory :#{singular_table_name}#{explicit_class_option} do
#{factory_attributes.gsub(/^/, " ")} #{factory_attributes.gsub(/^/, ' ')}
end end
RUBY RUBY
end end
def single_file_factory_definition def single_file_factory_definition
<<-RUBY <<-RUBY
FactoryBot.define do FactoryBot.define do
#{factory_definition.chomp} #{factory_definition.chomp}
end end
RUBY RUBY
end end
def factory_attributes def factory_attributes
@ -78,7 +78,7 @@ RUBY
if factory_bot_options[:filename_proc].present? if factory_bot_options[:filename_proc].present?
factory_bot_options[:filename_proc].call(table_name) factory_bot_options[:filename_proc].call(table_name)
else else
[table_name, filename_suffix].compact.join('_') [table_name, filename_suffix].compact.join("_")
end end
end end