Sha256: a30f1ca5aece44f94dc8dfb78114c4c96e3c4721b3c89af511d3533eb84c7999

Contents?: true

Size: 637 Bytes

Versions: 4

Compression:

Stored size: 637 Bytes

Contents

module SuckerPunch
  class << self
    attr_accessor :queues

    def reset!
      self.queues = {}
    end
  end

  SuckerPunch.reset!

  class Queue
    attr_reader :name

    def initialize(name)
      @name = name
      SuckerPunch.queues[name] ||= []
    end

    def self.[](name)
      new(name)
    end

    def register(klass, size)
      nil
    end

    def workers
      raise "Not implemented"
    end

    def jobs
      SuckerPunch.queues[@name]
    end

    def async
      self
    end

    def method_missing(name, *args, &block)
      SuckerPunch.queues[@name] << { method: name, args: Array(args) }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sucker_punch-0.5.1 lib/sucker_punch/testing.rb
sucker_punch-0.5 lib/sucker_punch/testing.rb
sucker_punch-0.4.1 lib/sucker_punch/testing.rb
sucker_punch-0.4 lib/sucker_punch/testing.rb