class Rspec::ConfigGenerator

Public Instance Methods

add_gem() click to toggle source
# File lib/generators/rspec/config/config_generator.rb, line 6
def add_gem
  gem 'spring-commands-rspec'
  gem_group :test, :development do
    gem 'rspec-rails'
    gem 'factory_bot'
    gem 'factory_bot_rails'
    gem 'database_cleaner'
    gem 'faker'
    gem 'pry-byebug'
  end
end
config_spring() click to toggle source
# File lib/generators/rspec/config/config_generator.rb, line 26
def config_spring
  # run("bundle binstubs rspec-core")
  # run("bundle exec spring binstubs rspec")
end
generate_rspec() click to toggle source
# File lib/generators/rspec/config/config_generator.rb, line 22
def generate_rspec
  generate('rspec:install')
end
generator_config() click to toggle source
# File lib/generators/rspec/config/config_generator.rb, line 31
    def generator_config
      factory_dir = 'spec/factories'
      empty_directory factory_dir
      content = <<-CODE
       config.generators do |g|
            g.test_framework :rspec,
                             fixtures: true,
                             view_specs: false,
                             helper_specs: false,
                             routing_specs: false,
                             request_specs: false
            g.fixture_replacement :factory_bot, dir: "#{factory_dir}"
       end
     CODE
      inject_into_file 'config/application.rb', content, after: "class Application < Rails::Application\n"
    end
helper_config() click to toggle source
# File lib/generators/rspec/config/config_generator.rb, line 48
    def helper_config
      strategy = if mongoid?
                   :truncation
                 else
                   :transaction
      end
      content = <<-CODE
RSpec.configure do |config|
  config.use_transactional_fixtures = false
  config.include FactoryGirl::Syntax::Methods
  config.fail_fast = true
  config.before(:suite) do
    DatabaseCleaner.strategy = :#{strategy}
  end
  config.before(:each) do
    DatabaseCleaner.start
  end
  config.after(:each) do
    DatabaseCleaner.clean_with(:truncation, except: %w[])
  end
end
CODE
      append_file 'spec/rails_helper.rb', content
    end
run_bundle() click to toggle source
# File lib/generators/rspec/config/config_generator.rb, line 18
def run_bundle
  run('bundle install')
end
setup() click to toggle source
# File lib/generators/rspec/config/config_generator.rb, line 4
def setup; end

Private Instance Methods

file?(path) click to toggle source
# File lib/generators/rspec/config/config_generator.rb, line 75
def file?(path)
  File.exist?(path)
end
mongoid?() click to toggle source
# File lib/generators/rspec/config/config_generator.rb, line 79
def mongoid?
  file?('config/mongoid.yml')
end