Class: SQSRun::Controller

Inherits:
Object
  • Object
show all
Defined in:
lib/sqsrun/controller.rb

Instance Method Summary collapse

Constructor Details

#initialize(conf) ⇒ Controller

Returns a new instance of Controller.



6
7
8
9
10
11
12
# File 'lib/sqsrun/controller.rb', line 6

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

Instance Method Details

#createObject



20
21
22
23
24
25
26
27
# File 'lib/sqsrun/controller.rb', line 20

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

#delete(force = false) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/sqsrun/controller.rb', line 29

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

#listObject



38
39
40
41
# File 'lib/sqsrun/controller.rb', line 38

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

#push(body) ⇒ Object



14
15
16
17
18
# File 'lib/sqsrun/controller.rb', line 14

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

#set_attribute(k, v) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/sqsrun/controller.rb', line 43

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