Sha256: e90deea60eb664a9d89b9810484e055886e836a051cace6fad86876166331479

Contents?: true

Size: 763 Bytes

Versions: 2

Compression:

Stored size: 763 Bytes

Contents

# frozen_string_literal: true

require 'sidekiq_simple_delay/delay_methods'

module SidekiqSimpleDelay
  # Methods to enable simple_delay functionality to work with ActiveRecord
  module ActiveRecord
    def self.included(base)
      base.include(SidekiqSimpleDelay::DelayMethods)
      base.extend(SidekiqSimpleDelay::DelayMethods)
      base.extend(ClassMethods)
    end

    # Args required to fetch this object from the database
    def initialize_args
      [send(self.class.primary_key)]
    end

    # Class methods to enable simple_delay functionality to work with ActiveRecord
    module ClassMethods
      # Take delay worker args and fetch record from database
      def simple_delay_initialize(*args)
        find(args[0])
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sidekiq_simple_delay-0.2.1 lib/sidekiq_simple_delay/extensions/active_record.rb
sidekiq_simple_delay-0.2.0 lib/sidekiq_simple_delay/extensions/active_record.rb