module Sp2db::ImportStrategy
Public Instance Methods
add(label, strategy=nil, &block)
click to toggle source
Add strategy
# File lib/sp2db/import_strategy.rb, line 7 def add label, strategy=nil, &block strategy ||= Class.new(Base) strategy.class_eval(&block) if block_given? strategies[label.to_sym] = strategy end
labels()
click to toggle source
# File lib/sp2db/import_strategy.rb, line 22 def labels strategies.keys.map(&:to_sym) end
strategies()
click to toggle source
@!strategies [ro] strategies
# File lib/sp2db/import_strategy.rb, line 14 def strategies @strategies ||= {}.with_indifferent_access end
strategy_by_name(name)
click to toggle source
# File lib/sp2db/import_strategy.rb, line 18 def strategy_by_name name strategies[name.to_s] || raise("Invalid import strategy: #{name}") end
valid!(s)
click to toggle source
# File lib/sp2db/import_strategy.rb, line 26 def valid! s raise "Unsuported strategies" unless labels.include?(s.to_sym) true end