Sha256: 07fd43acf5c9484fb56884a7f9cc4a4765d31988d6d024a2d3822dd3a426f9ea

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

require 'securerandom'
require 'fiber'

class Skein::Client < Skein::Connected
  # == Properties ===========================================================

  # == Class Methods ========================================================

  def self.rpc(*args)
    new.rpc(*args)
  end

  def self.receiver(*args)
    new.receiver(*args)
  end

  def self.publisher(*args)
    new.publisher(*args)
  end

  def self.subscriber(*args)
    new.subscriber(*args)
  end

  # == Instance Methods =====================================================

  def initialize(connection: nil, context: nil)
    super(connection: connection, context: context)
  end

  def rpc(queue_name = nil)
    Skein::Client::RPC.new(queue_name, connection: self.connection, context: self.context)
  end

  def receiver
    Skein::Client::Receiver.new(connection: self.connection, context: self.context)
  end

  def publisher(queue_name)
    Skein::Client::Publisher.new(queue_name, connection: self.connection, context: self.context)
  end

  def subscriber(queue_name, routing_key = nil)
    Skein::Client::Subscriber.new(queue_name, routing_key, connection: self.connection, context: self.context)
  end
end

require_relative './client/publisher'
require_relative './client/rpc'
require_relative './client/subscriber'
require_relative './client/worker'

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
skein-0.3.0 lib/skein/client.rb