Sha256: 13278fa66c36c92638ff598b7e64836d7c29487275ff8c43a94f4097a2109d0a

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

module SQSRun


class Controller
  def initialize(conf)
    require 'right_aws'
    @key_id = conf[:key_id]
    @secret_key = conf[:secret_key]
    @queue_name = conf[:queue]
    @visibility_timeout = conf[:visibility_timeout]
  end

  def push(body)
    @sqs = RightAws::SqsGen2.new(@key_id, @secret_key)
    @queue = @sqs.queue(@queue_name, true, @visibility_timeout)
    @queue.send_message(body)
  end

  def create
    @sqs = RightAws::SqsGen2.new(@key_id, @secret_key)
    @queue = @sqs.queue(@queue_name, false)
    if @queue
      return nil
    end
    @queue = @sqs.queue(@queue_name, true)
  end

  def delete(force=false)
    @sqs = RightAws::SqsGen2.new(@key_id, @secret_key)
    @queue = @sqs.queue(@queue_name, false)
    unless @queue
      return nil
    end
    @queue.delete(force)
  end

  def list
    @sqs = RightAws::SqsGen2.new(@key_id, @secret_key)
    @sqs.queues
  end

  def set_attribute(k, v)
    @sqs = RightAws::SqsGen2.new(@key_id, @secret_key)
    @queue = @sqs.queue(@queue_name, false)
    unless @queue
      return nil
    end
    @queue.set_attribute(k, v)
  end
end


end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sqsrun-0.6.1 lib/sqsrun/controller.rb
sqsrun-0.6.0 lib/sqsrun/controller.rb
sqsrun-0.5.0 lib/sqsrun/controller.rb