Sha256: 44d02e1fc99296f3fc3e225e17dea3850d630a62dea0d4de03330395ca7589c7

Contents?: true

Size: 826 Bytes

Versions: 1

Compression:

Stored size: 826 Bytes

Contents

# frozen_string_literal: true

require 'sidekiq_simple_delay/version'
require 'sidekiq_simple_delay/delay_methods'

# Sidekiq delay functionality with some restrictions
module SidekiqSimpleDelay
  class << self
    # Adds simple_delay class methods to all classes
    def enable_delay!
      enable_delay_instance!(Module)
    end

    # Adds simple_delay class methods to klass
    def enable_delay_class!(klass)
      raise ArgumentError, 'klass must be a Class' unless klass.class.is_a?(Class)

      klass.__send__(:extend, SidekiqSimpleDelay::DelayMethods)
    end

    # Adds simple_delay instance methods to klass
    def enable_delay_instance!(klass)
      raise ArgumentError, 'klass must be a Class' unless klass.class.is_a?(Class)

      klass.__send__(:include, SidekiqSimpleDelay::DelayMethods)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sidekiq_simple_delay-0.1.0 lib/sidekiq_simple_delay.rb