class Impex::Lookup
Attributes
config[R]
file_loaders[R]
history_managers[R]
Public Class Methods
new(config = {})
click to toggle source
# File lib/impex/lookup.rb, line 16 def initialize(config = {}) @config = config @file_loaders = ::ActiveSupport::HashWithIndifferentAccess.new @history_managers = ::ActiveSupport::HashWithIndifferentAccess.new setup_file_loaders setup_history_managers end
Public Instance Methods
file_loader()
click to toggle source
# File lib/impex/lookup.rb, line 26 def file_loader lookup_for_file_loader end
history_manager()
click to toggle source
# File lib/impex/lookup.rb, line 30 def history_manager lookup_for_history_manager end
Private Instance Methods
lookup_for_file_loader()
click to toggle source
# File lib/impex/lookup.rb, line 35 def lookup_for_file_loader klass = @file_loaders[@config[:file_loader][:loader]] raise Impex::FileLoader::UnknownFileLoaderError, "undefined class #{@config[:file_loader][:loader].to_s.camelize}" if klass.nil? klass.new(@config[:file_loader]) end
lookup_for_history_manager()
click to toggle source
# File lib/impex/lookup.rb, line 44 def lookup_for_history_manager klass = @history_managers[@config[:history_manager][:manager]] raise Impex::HistoryManager::UnknownHistoryManagerError, "undefined class #{@config[:history_manager][:manager].to_s.camelize}" if klass.nil? klass.new(@config) end
setup_file_loaders()
click to toggle source
# File lib/impex/lookup.rb, line 53 def setup_file_loaders ::Dir.glob(::File.join(::File.dirname(__FILE__), 'file_loaders/*.rb')).each do |file| /(?<klass>\w+)\.rb/ =~ file @file_loaders[klass] = "::Impex::FileLoader::#{klass.camelize}".constantize end end
setup_history_managers()
click to toggle source
# File lib/impex/lookup.rb, line 61 def setup_history_managers ::Dir.glob(::File.join(::File.dirname(__FILE__), 'history_managers/*.rb')).each do |file| /(?<klass>\w+)\.rb/ =~ file @history_managers[klass] = "::Impex::HistoryManager::#{klass.camelize}".constantize end end