Sha256: 3bfcec5daf36df0143f09d220fe09893dbefee4036e6a7a746da14bec39b37c3

Contents?: true

Size: 782 Bytes

Versions: 5

Compression:

Stored size: 782 Bytes

Contents

module DataSeeder
  class Config
    attr_accessor :seed_dir, :logger, :loaders

    def initialize
      @seed_dir = 'db/seed'
      @logger   = Logger.new
      @loaders  = default_loaders
    end

    def verbose=(verbose)
      @logger.verbose = verbose
    end

    def verbose
      @logger.verbose
    end

    def default_loaders
      {
        'csv'  => Loader::CSV.new,
        'json' => Loader::JSON.new,
        'txt'  => Loader::Txt.new,
        'yaml' => Loader::YAML.new,
        'yml'  => Loader::YAML.new,
      }
    end

    def loaders=(loaders)
      @loaders = default_loaders.merge(loaders)
    end

    def add_loaders(loaders)
      @loaders = @loaders.merge(loaders)
    end

    def add_loader(ext, loader)
      @loaders[ext] = loader
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
data_seeder-0.0.5 lib/data_seeder/config.rb
data_seeder-0.0.4 lib/data_seeder/config.rb
data_seeder-0.0.3 lib/data_seeder/config.rb
data_seeder-0.0.2 lib/data_seeder/config.rb
data_seeder-0.0.1 lib/data_seeder/config.rb