class Userlist::Rails::Importer
Attributes
config[R]
Public Class Methods
new(config = {})
click to toggle source
# File lib/userlist/rails/importer.rb, line 4 def initialize(config = {}) config[:push_strategy] ||= :direct @config = Userlist.config.merge(config) end
Public Instance Methods
import(model, &block)
click to toggle source
# File lib/userlist/rails/importer.rb, line 9 def import(model, &block) find_each(model) do |record| print "Pushing #{model.name} #{record.id}..." instance_exec(record, &block) print " ✔︎\n" end end
Private Instance Methods
find_each(model, &block)
click to toggle source
# File lib/userlist/rails/importer.rb, line 25 def find_each(model, &block) if model.respond_to?(:find_each) model.find_each(&block) elsif model.respond_to?(:each) model.each(&block) else raise "Cannot iterate over #{model} because it doesn't implement .find_each, nor .each" end end
push()
click to toggle source
# File lib/userlist/rails/importer.rb, line 21 def push @push ||= Userlist::Push.new(config) end