class SeedData::DataManager

Constants

ANY_ENVIRONMENT

Attributes

builder[R]
data_sets[R]
environment_variable[R]

Public Class Methods

new(options) click to toggle source
# File lib/seed_data/data_manager.rb, line 12
def initialize(options)
  @data_sets = []

  @environment_variable = options[:environment_variable] || 'RACK_ENV'

  if options[:builder] == nil
    raise SeedData::DataBuilderNotSpecifiedException.new
  end

  @builder = options[:builder]
end

Public Instance Methods

load() click to toggle source
# File lib/seed_data/data_manager.rb, line 39
def load

  puts 'SeedData:: Load.'

  valid_data_sets.each do |itm|

    puts "SeedData:: Loading data set: #{itm[:data_set]}"

    @builder.build(itm[:data_set])

  end

  puts 'SeedData:: Loading complete.'

  return true

end
register(options) click to toggle source
# File lib/seed_data/data_manager.rb, line 24
def register(options)

  if !options.has_key?(:environment)
    options[:environment] = ANY_ENVIRONMENT
  end

  if !options.has_key?(:data_set)
    raise SeedData::InvalidRegistrationException.new('Invalid registration option, :data_set must be specified.')
  end

  @data_sets << options

  return true
end
valid_data_sets() click to toggle source
# File lib/seed_data/data_manager.rb, line 57
def valid_data_sets
  return @data_sets.select { |i| i[:environment] == ENV[@environment_variable] || i[:environment] == ANY_ENVIRONMENT }
end