Sha256: 159ae8dbd66d35d72ea3dab97971d94a673e12f4eeafc502a68d73851577ee5d

Contents?: true

Size: 855 Bytes

Versions: 1

Compression:

Stored size: 855 Bytes

Contents

require "sprig/reap/version"

module Sprig::Reap
  autoload :TsortableHash, 'sprig/reap/tsortable_hash'
  autoload :Railtie,       'sprig/reap/railtie'
  autoload :Configuration, 'sprig/reap/configuration'
  autoload :Model,         'sprig/reap/model'
  autoload :Record,        'sprig/reap/record'
  autoload :SeedFile,      'sprig/reap/seed_file'

  class << self
    def reap(options = {})
      configure do |config|
        config.env     = options[:env]    || options['ENV']
        config.classes = options[:models] || options['MODELS']
      end

      Model.all.each { |model| SeedFile.new(model).write }
    end

    private

    cattr_reader :configuration

    delegate :env, :classes, to: :configuration

    def configuration
      @@configuration ||= Configuration.new
    end

    def configure
      yield configuration
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sprig-reap-0.0.1 lib/sprig/reap.rb