class Planter::Generators::SeederGenerator

Public Instance Methods

generate_seeders() click to toggle source
# File lib/generators/planter/seeder_generator.rb, line 8
def generate_seeders
  seeder == 'ALL' ? tables.each { |t| generate(t) } : generate(seeder)
end

Private Instance Methods

generate(seeder) click to toggle source
# File lib/generators/planter/seeder_generator.rb, line 14
      def generate(seeder)
        empty_directory ::Planter.config.seeders_directory

        create_file "#{::Planter.config.seeders_directory}/#{seeder}_seeder.rb", <<~EOF
          class #{seeder.camelize}Seeder < Planter::Seeder
            # TODO: Choose a seeding_method. For example:
            # seeding_method :csv

            # For now, we overload the seed method so no exception will be raised.
            def seed
            end
          end
        EOF

        inject_into_file 'config/initializers/planter.rb',
          "    #{seeder}\n",
          before: /^\s*\]\s*$/
      end
tables() click to toggle source
# File lib/generators/planter/seeder_generator.rb, line 33
def tables
  @tables ||= ActiveRecord::Base.connection.tables.reject do |table|
    %w[ar_internal_metadata schema_migrations].include?(table)
  end
end