module RailsSeeder

Public Class Methods

new(*args, &block) click to toggle source
# File lib/rails_seeder.rb, line 64
def self.new(*args, &block)
  name, arg_names, deps = Rake.application.resolve_args(args, &block)

  unless defined? @@regenerate_defined
    desc "run all generate tasks"
    task :generate

    namespace :assets do
      task :delete
    end

    desc "reset db, delete assets and run all generate tasks"
    task :regenerate => 'db:migrate:reset'
    task :regenerate => 'assets:delete'
    task :regenerate => :generate

    @@regenerate_defined = true
  end

  task :generate => "generate:#{name}"

  namespace :generate do
    desc "generate #{name}"
    task name => [:environment, deps].flatten.compact do
      block.binding.eval("include #{self.name}::Helpers", __FILE__, __LINE__)
      block.call
    end
  end
end