Sha256: 5ef319b7fd4fa41bd8baed60a6379ef464e6b5b3ed9a6aa54dfe75239a96c6f3

Contents?: true

Size: 1.56 KB

Versions: 33

Compression:

Stored size: 1.56 KB

Contents

module KnapsackPro
  module Hooks
    class Queue
      class << self
        attr_reader :before_queue_store,
          :after_subset_queue_store,
          :after_queue_store

        def reset_before_queue
          @before_queue_store = nil
        end

        def reset_after_subset_queue
          @after_subset_queue_store = nil
        end

        def reset_after_queue
          @after_queue_store = nil
        end

        def before_queue(&block)
          @before_queue_store ||= []
          @before_queue_store << block
        end

        def after_subset_queue(&block)
          @after_subset_queue_store ||= []
          @after_subset_queue_store << block
        end

        def after_queue(&block)
          @after_queue_store ||= []
          @after_queue_store << block
        end

        def call_before_queue
          return unless before_queue_store
          before_queue_store.each do |block|
            block.call(
              KnapsackPro::Config::Env.queue_id
            )
          end
        end

        def call_after_subset_queue
          return unless after_subset_queue_store
          after_subset_queue_store.each do |block|
            block.call(
              KnapsackPro::Config::Env.queue_id,
              KnapsackPro::Config::Env.subset_queue_id
            )
          end
        end

        def call_after_queue
          return unless after_queue_store
          after_queue_store.each do |block|
            block.call(
              KnapsackPro::Config::Env.queue_id
            )
          end
        end
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
knapsack_pro-3.4.2 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.4.1 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.4.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.3.1 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.3.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.2.1 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.2.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.1.3 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.1.2 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.1.1 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.1.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-3.0.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-2.18.2 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-2.18.1 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-2.18.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-2.17.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-2.16.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-2.15.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-2.14.0 lib/knapsack_pro/hooks/queue.rb
knapsack_pro-2.13.0 lib/knapsack_pro/hooks/queue.rb