Sha256: 869e56dc9aaafd9a45772b89a42e1fdc682ce5970dad4f7fd460e4814e12de30

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

require_relative "basket/backend_adapter"
require_relative "basket/backend_adapter/memory_backend"
require_relative "basket/backend_adapter/redis_backend"
require_relative "basket/batcher"
require_relative "basket/configuration"
require_relative "basket/element"
require_relative "basket/error"
require_relative "basket/handle_add"
require_relative "basket/queue_collection"
require_relative "basket/version"

require "json"

module Basket
  class Error < StandardError; end

  def self.config
    @config ||= Configuration.new
  end

  def self.configure
    yield(config)
  end

  def self.contents
    @queue_collection.data
  end

  def self.peek(queue)
    queue_collection.read(queue)
  end

  def self.queue_collection
    @queue_collection ||= Basket::QueueCollection.new
  end

  def self.add(queue, data)
    HandleAdd.call(queue, data)
  end

  def self.search(queue, &query)
    queue_collection.search(queue, query)
  end

  def self.remove(queue, id)
    queue_collection.remove(queue, id)
  end

  def self.clear_all
    queue_collection.reset_backend
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
basket-0.0.7 lib/basket.rb