Module: DelayedPaperclip

Defined in:
lib/delayed_paperclip.rb,
lib/delayed_paperclip/jobs.rb,
lib/delayed_paperclip/railtie.rb,
lib/delayed_paperclip/version.rb,
lib/delayed_paperclip/attachment.rb,
lib/delayed_paperclip/jobs/resque.rb,
lib/delayed_paperclip/jobs/sidekiq.rb,
lib/delayed_paperclip/url_generator.rb,
lib/delayed_paperclip/jobs/active_job.rb,
lib/delayed_paperclip/jobs/delayed_job.rb

Defined Under Namespace

Modules: Attachment, ClassMethods, Glue, InstanceMethods, Jobs Classes: Railtie, UrlGenerator

Constant Summary collapse

VERSION =
"2.9.2"

Class Method Summary collapse

Class Method Details

.detect_background_taskObject



19
20
21
22
23
24
# File 'lib/delayed_paperclip.rb', line 19

def detect_background_task
  return DelayedPaperclip::Jobs::ActiveJob  if defined? ::ActiveJob::Base
  return DelayedPaperclip::Jobs::DelayedJob if defined? ::Delayed::Job
  return DelayedPaperclip::Jobs::Resque     if defined? ::Resque
  return DelayedPaperclip::Jobs::Sidekiq    if defined? ::Sidekiq
end

.enqueue(instance_klass, instance_id, attachment_name) ⇒ Object



30
31
32
# File 'lib/delayed_paperclip.rb', line 30

def enqueue(instance_klass, instance_id, attachment_name)
  processor.enqueue_delayed_paperclip(instance_klass, instance_id, attachment_name)
end

.optionsObject



10
11
12
13
14
15
16
17
# File 'lib/delayed_paperclip.rb', line 10

def options
  @options ||= {
    :background_job_class => detect_background_task,
    :url_with_processing  => true,
    :processing_image_url => nil,
    :queue => "paperclip"
  }
end

.process_job(instance_klass, instance_id, attachment_name) ⇒ Object



34
35
36
37
38
# File 'lib/delayed_paperclip.rb', line 34

def process_job(instance_klass, instance_id, attachment_name)
  if instance = instance_klass.constantize.unscoped.where(id: instance_id).first
    instance.send(attachment_name).process_delayed!
  end
end

.processorObject



26
27
28
# File 'lib/delayed_paperclip.rb', line 26

def processor
  options[:background_job_class]
end