Sha256: 5e09a6570f3e10663415b37554f53e285ead09c8ca3e1605dff2736aa6d169d3
Contents?: true
Size: 783 Bytes
Versions: 4
Compression:
Stored size: 783 Bytes
Contents
module CarrierWave module Workers class Base < Struct.new(:klass, :id, :column) def self.perform(*args) new(*args).perform end def perform(*args) set_args(*args) if args.present? constantized_resource.find id rescue *not_found_errors end private def not_found_errors [].tap do |errors| errors << ::ActiveRecord::RecordNotFound if defined?(::ActiveRecord) errors << ::Mongoid::Errors::DocumentNotFound if defined?(::Mongoid) end end def set_args(klass, id, column) self.klass, self.id, self.column = klass, id, column end def constantized_resource klass.is_a?(String) ? klass.constantize : klass end end end end
Version data entries
4 entries across 4 versions & 1 rubygems