Sha256: 53f2d1d0a1e4d982903ac7ff747a7941cbba132659ff43e05421d9799e03b68d

Contents?: true

Size: 815 Bytes

Versions: 15

Compression:

Stored size: 815 Bytes

Contents

# frozen_string_literal: true

module GoodJob
  module ActiveJobExtensions
    module Labels
      extend ActiveSupport::Concern

      module Prepends
        def initialize(*arguments)
          super
          self.good_job_labels = Array(self.class.good_job_labels)
        end

        def enqueue(options = {})
          self.good_job_labels = Array(options[:good_job_labels]) if options.key?(:good_job_labels)
          super
        end

        def deserialize(job_data)
          super
          self.good_job_labels = job_data.delete("good_job_labels")&.dup || []
        end
      end

      included do
        prepend Prepends
        class_attribute :good_job_labels, instance_accessor: false, instance_predicate: false, default: []
        attr_accessor :good_job_labels
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
good_job-3.28.2 lib/good_job/active_job_extensions/labels.rb
good_job-3.28.1 lib/good_job/active_job_extensions/labels.rb
good_job-3.28.0 lib/good_job/active_job_extensions/labels.rb
good_job-3.27.4 lib/good_job/active_job_extensions/labels.rb
good_job-3.27.3 lib/good_job/active_job_extensions/labels.rb
good_job-3.27.2 lib/good_job/active_job_extensions/labels.rb
good_job-3.27.1 lib/good_job/active_job_extensions/labels.rb
good_job-3.27.0 lib/good_job/active_job_extensions/labels.rb
good_job-3.26.2 lib/good_job/active_job_extensions/labels.rb
good_job-3.26.1 lib/good_job/active_job_extensions/labels.rb
good_job-3.26.0 lib/good_job/active_job_extensions/labels.rb
good_job-3.25.0 lib/good_job/active_job_extensions/labels.rb
good_job-3.24.0 lib/good_job/active_job_extensions/labels.rb
good_job-3.23.0 lib/good_job/active_job_extensions/labels.rb
good_job-3.22.0 lib/good_job/active_job_extensions/labels.rb