class DatabaseCleaner::ActiveRecord::Seeded

Attributes

configuration[W]

Public Class Methods

configuration() click to toggle source
# File lib/database_cleaner/active_record/seeded.rb, line 21
def configuration
  @configuration ||= Configuration.new
end
configure() { |configuration| ... } click to toggle source
# File lib/database_cleaner/active_record/seeded.rb, line 17
def configure
  yield(configuration)
end

Public Instance Methods

prepare(&seed_data_proc) click to toggle source
# File lib/database_cleaner/active_record/seeded.rb, line 30
def prepare(&seed_data_proc)
  generate_seeds(seed_data_proc) unless skip_seeds_generation?
  clean
end
start() click to toggle source
# File lib/database_cleaner/active_record/seeded.rb, line 26
def start
  adapter.inject_seeds_from_fixtures_file
end

Private Instance Methods

adapter() click to toggle source
# File lib/database_cleaner/active_record/seeded.rb, line 37
def adapter
  @adapter ||= Adapter::MYSQL.new(seeds_file_path)
end
generate_seeds(seed_data_proc) click to toggle source
# File lib/database_cleaner/active_record/seeded.rb, line 41
def generate_seeds(seed_data_proc)
  ::ActiveRecord::Base.transaction { seed_data_proc.call }
  adapter.dump_database_to_fixtures_file
end
seeds_file_path() click to toggle source
# File lib/database_cleaner/active_record/seeded.rb, line 53
def seeds_file_path
  @seeds_file_path ||= self.class.configuration.seeds_file_path
end
skip_seeds_generation?() click to toggle source

If the user has configured the gem to skip seeds generation, return true, but only if we already have a seeds file that we can use.

# File lib/database_cleaner/active_record/seeded.rb, line 48
def skip_seeds_generation?
  raise "The option for 'skip_seed_regeneration' must be a Proc" if skip_seeds_proc && !skip_seeds_proc.respond_to?(:call)
  skip_seeds_proc.try(:call) && File.exists?(seeds_file_path)
end
skip_seeds_proc() click to toggle source
# File lib/database_cleaner/active_record/seeded.rb, line 57
def skip_seeds_proc
  @skip_seeds_proc ||= self.class.configuration.skip_seed_regeneration
end