Sha256: 5eb1473a00904b2c7b10dea5e444f28b0db8ff1055ce6667d2545c7049ab7469

Contents?: true

Size: 1.05 KB

Versions: 3

Compression:

Stored size: 1.05 KB

Contents

class SeedDump
  module Environment

    def dump_using_environment(env = {})
      Rails.application.eager_load!

      models = if env['MODEL'] || env['MODELS']
                 (env['MODEL'] || env['MODELS']).split(',').collect {|x| x.strip.underscore.singularize.camelize.constantize }
               else
                 ActiveRecord::Base.descendants.select do |model|
                   (model.to_s != 'ActiveRecord::SchemaMigration') && \
                    model.table_exists? && \
                    model.exists?
                 end
               end

      append = (env['APPEND'] == 'true')

      models.each do |model|
        model = model.limit(env['LIMIT'].to_i) if env['LIMIT']

        SeedDump.dump(model,
                      append: append,
                      batch_size: (env['BATCH_SIZE'] ? env['BATCH_SIZE'].to_i : nil),
                      exclude: (env['EXCLUDE'] ? env['EXCLUDE'].split(',').map {|e| e.strip.to_sym} : nil),
                      file: (env['FILE'] || 'db/seeds.rb'))

        append = true
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
seed_dump-3.1.0 lib/seed_dump/environment.rb
seed_dump-3.0.1 lib/seed_dump/environment.rb
seed_dump-3.0.0 lib/seed_dump/environment.rb