class Devise::Generators::SpecsGenerator

Constants

ATTRIBUTES

Public Instance Methods

create_devise_config_file() click to toggle source
# File lib/generators/devise/specs_generator.rb, line 32
def create_devise_config_file
  template 'devise.rb', 'spec/support/devise.rb'
end
create_factory_bot_config_file() click to toggle source
# File lib/generators/devise/specs_generator.rb, line 26
def create_factory_bot_config_file
  if fixture_replacement == :factory_bot
    template 'factory_bot.rb', 'spec/support/factory_bot.rb'
  end
end
create_specs() click to toggle source
# File lib/generators/devise/specs_generator.rb, line 36
def create_specs
  template 'resource_signs_up_spec.rb',
           "spec/features/#{singular_name}_signs_up_spec.rb"

  template 'resource_signs_in_spec.rb',
           "spec/features/#{singular_name}_signs_in_spec.rb"

  template 'resource_signs_out_spec.rb',
           "spec/features/#{singular_name}_signs_out_spec.rb"

  template 'resource_resets_password_spec.rb',
           "spec/features/#{singular_name}_resets_password_spec.rb"
end
insert_fixture_replacement_attributes() click to toggle source
# File lib/generators/devise/specs_generator.rb, line 16
def insert_fixture_replacement_attributes
  return if behavior == :revoke

  if fixture_replacement == :factory_bot
    insert_factory_bot_attributes
  elsif fixture_replacement == :fabrication
    insert_fabrication_attributes
  end
end
require_supporting_files() click to toggle source
# File lib/generators/devise/specs_generator.rb, line 12
def require_supporting_files
  uncomment_lines 'spec/rails_helper.rb', /spec.support.*rb.*require/
end

Private Instance Methods

fixture_replacement() click to toggle source
# File lib/generators/devise/specs_generator.rb, line 52
def fixture_replacement
  Rails.application.config.generators.rails[:fixture_replacement]
end
insert_fabrication_attributes() click to toggle source
# File lib/generators/devise/specs_generator.rb, line 65
def insert_fabrication_attributes
  frozen = "# frozen_string_literal: true\n\n"
  path = "spec/fabricators/#{singular_name}_fabricator.rb"
  attrs = "#{ATTRIBUTES.gsub(/^ {6}/, '')}\nend\n"
  after = "Fabricator(:#{singular_name}) do"

  create_file path, frozen + data + attrs
end
insert_factory_bot_attributes() click to toggle source
# File lib/generators/devise/specs_generator.rb, line 56
def insert_factory_bot_attributes
  frozen = "# frozen_string_literal: true\n\n"
  path = "spec/factories/#{plural_name}.rb"
  attrs = "#{ATTRIBUTES.gsub(/^ {4}/, '')}\n  end\nend\n"
  data = "FactoryBot.define do\n  factory :#{singular_name} do"

  create_file path, frozen + data + attrs
end