Module: Capsize::CapsizeSQS

Includes:
Capsize
Defined in:
lib/capsize/sqs_plugin.rb

Instance Method Summary collapse

Methods included from Capsize

#get, #load_config

Instance Method Details

#add_grant(options = {}) ⇒ Object



111
112
113
114
# File 'lib/capsize/sqs_plugin.rb', line 111

def add_grant( options={} )
  queue = connect()
  queue.add_grant(options)
end

#build_xmlObject

Creqte the XML for our CapQueue messages



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/capsize/sqs_plugin.rb', line 6

def build_xml
  body = ""
  xml = Builder::XmlMarkup.new(:target => body, :indent => 2)
  xml.command do
    xml.hosts do
      get(:hosts).split(/,/).each do |host|
        xml.host host
      end unless get(:hosts).nil?
    end
    xml.environment do
      get(:environment).split(/,/).each do |keyvar|
        xml.variable do
          key, var = keyvar.split(/=/,2)
          var.gsub!(/("|')/,'')
          xml.key key
          xml.var var
        end
      end unless get(:environment).nil?
    end
    xml.variables do
      get(:variables).split(/,/).each do |keyvar|
        xml.variable do
          key, var = keyvar.split(/=/,2)
          var.gsub!(/("|')/,'')
          xml.key key
          xml.var var
        end
      end unless get(:variables).nil?
    end
    xml.task get(:task)
  end
  body
end

#connectObject

returns an instance of SQS::Queue

Raises:

  • (Exception)


41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/capsize/sqs_plugin.rb', line 41

def connect
  set :aws_access_key_id, get(:aws_access_key_id)
  set :aws_secret_access_key, get(:aws_secret_access_key)

  raise Exception, "You must have an :aws_access_key_id defined in your config." if fetch(:aws_access_key_id).nil? || fetch(:aws_access_key_id).empty?
  raise Exception, "You must have an :aws_secret_access_key defined in your config." if fetch(:aws_secret_access_key).nil? || fetch(:aws_secret_access_key).empty?

  SQS.access_key_id = fetch(:aws_access_key_id)
  SQS.secret_access_key = fetch(:aws_secret_access_key)

  queue = nil
  begin
    queue = SQS.get_queue queue_name
  rescue
    queue = SQS.create_queue queue_name
  ensure
    return queue
  end
end

#delete(options = nil) ⇒ Object



61
62
63
64
# File 'lib/capsize/sqs_plugin.rb', line 61

def delete( options=nil )
  queue = connect()
  queue.delete(options)
end

#delete!Object



66
67
68
69
# File 'lib/capsize/sqs_plugin.rb', line 66

def delete!
  queue = connect()
  queue.delete!
end

#empty?Boolean

Returns:

  • (Boolean)


86
87
88
89
# File 'lib/capsize/sqs_plugin.rb', line 86

def empty?
  queue = connect()
  queue.empty?
end

#get_queue_attributes(force = false) ⇒ Object



76
77
78
79
# File 'lib/capsize/sqs_plugin.rb', line 76

def get_queue_attributes( force=false )
  queue = connect()
  queue.get_queue_attributes(force)
end

#list_grantsObject



121
122
123
124
# File 'lib/capsize/sqs_plugin.rb', line 121

def list_grants
  queue = connect()
  queue.list_grants
end

#peek_messageObject



91
92
93
94
# File 'lib/capsize/sqs_plugin.rb', line 91

def peek_message
  queue = connect()
  queue.peek_message
end

#peek_messages(options = {}) ⇒ Object



96
97
98
99
# File 'lib/capsize/sqs_plugin.rb', line 96

def peek_messages( options={} )
  queue = connect()
  queue.peek_messages(options)
end

#receive_messageObject



101
102
103
104
# File 'lib/capsize/sqs_plugin.rb', line 101

def receive_message
  queue = connect()
  queue.receive_message
end

#receive_messages(options = {}) ⇒ Object



106
107
108
109
# File 'lib/capsize/sqs_plugin.rb', line 106

def receive_messages( options={} )
  queue = connect()
  queue.receive_messages(options)
end

#remove_grant(options = {}) ⇒ Object



116
117
118
119
# File 'lib/capsize/sqs_plugin.rb', line 116

def remove_grant( options={} )
  queue = connect()
  queue.remove_grant(options)
end

#send_message(m) ⇒ Object



71
72
73
74
# File 'lib/capsize/sqs_plugin.rb', line 71

def send_message( m )
  queue = connect()
  queue.send_message(m)
end

#set_queue_attributes(atts = {}) ⇒ Object



81
82
83
84
# File 'lib/capsize/sqs_plugin.rb', line 81

def set_queue_attributes( atts={} )
  queue = connect()
  queue.set_queue_attributes(atts)
end