class CSVStepImporter::Base
Public Class Methods
set(name, value_or_proc)
click to toggle source
defines a method with the specified proc or a proc returning the value of the second attribute
# File lib/csv_step_importer/base.rb, line 16 def self.set(name, value_or_proc) procedure = value_or_proc.is_a?(Proc) ? value_or_proc : -> { value_or_proc } define_method name, procedure end
Public Instance Methods
ancestors()
click to toggle source
# File lib/csv_step_importer/base.rb, line 32 def ancestors @ancestors ||= [parent] + (parent ? parent.ancestors : []) end
assign_attributes(attributes)
click to toggle source
# File lib/csv_step_importer/base.rb, line 26 def assign_attributes(attributes) attributes.each do |key, value| send("#{key}=", value) end end
create_or_update()
click to toggle source
# File lib/csv_step_importer/base.rb, line 40 def create_or_update raise "please extend and implement" end
inspect()
click to toggle source
# File lib/csv_step_importer/base.rb, line 70 def inspect to_s end
persisted?()
click to toggle source
# File lib/csv_step_importer/base.rb, line 36 def persisted? false end
save()
click to toggle source
# File lib/csv_step_importer/base.rb, line 44 def save run_callbacks :save do return false unless valid? status = if use_transaction !!::ActiveRecord::Base.transaction do raise ::ActiveRecord::Rollback unless create_or_update true end else create_or_update end status end end
save!()
click to toggle source
# File lib/csv_step_importer/base.rb, line 61 def save! save || raise(CSVFileImportError.new(errors&.messages)) end
to_s()
click to toggle source
# File lib/csv_step_importer/base.rb, line 74 def to_s vars = self.instance_variables.map do |key| next if key == :@children next if key == :@parent next if key == :@env next if key == :@errors next if key == :@cache "#{key}=#{instance_variable_get(key).inspect}" end.compact.join(", ") "<#{self.class}: #{vars}>" end
update(attributes)
click to toggle source
# File lib/csv_step_importer/base.rb, line 65 def update(attributes) assign_attributes(attributes) save end