Sha256: 325086d9d6c7c066a7c7d5abc9bb308cd7cefe0c9b5ac3c4230a75ce57ed3e41
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 KB
Contents
# Copyright:: (c) Autotelik Media Ltd 2015 # Author :: Tom Statter # Date :: March 2015 # License:: MI # # Details:: Manage the current loader object # # module DataShift class LoadObject < SimpleDelegator attr_accessor :instance def initialize(current_object) super @instance = current_object end # delegate :errors, to: :instance # This method usually called during processing to avoid errors with associations like # <ActiveRecord::RecordNotSaved: You cannot call create unless the parent is saved> # If the object is still invalid at this point probably indicates compulsory # columns on model have not been processed before associations on that model # def save_if_new return false unless instance && instance.new_record? return instance.save if instance.valid? raise SaveError, "Cannot Save #{instance.class} : #{instance.errors.full_messages.inspect}" end private =begin def method_missing(method, *args, &block) raise "Cannot call [#{method}] on : #{instance.class.name}" if instance.respond_to? method instance.send(method, *args, &block) else raise "Cannot call [#{method}] on : #{instance.class.name}" end end =end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
datashift-0.40.4 | lib/datashift/load_object.rb |
datashift-0.40.3 | lib/datashift/load_object.rb |
datashift-0.40.1 | lib/datashift/load_object.rb |