Class: Smash::CloudPowers::Synapse::Queue::Board
Overview
Board
This groups common functionality for a queue
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Zenv
#env_vars, #file_tree_search, #i_vars, #project_root, #project_root=, #system_vars, #zfind
Methods included from Helper
#attr_map!, #called_from, #create_logger, #errors, #format_error_message, #log_file, #logger, #smart_retry, #task_path, #task_require_path, #to_camel, #to_i_var, #to_pascal, #to_ruby_file_name, #to_snake, #update_message_body, #valid_json?
Methods included from Auth
creds
#board_name, #build_queue, #delete_queue_message, #get_queue_message_count, #pluck_queue_message, #poll, #poller, #queue_exists?, #queue_search, #send_queue_message
#ec2, #image, #kinesis, #region, #s3
Instance Attribute Details
#set_address ⇒ Object
Returns the value of attribute set_address
11
12
13
|
# File 'lib/cloud_powers/synapse/queue.rb', line 11
def set_address
@set_address
end
|
#set_name ⇒ Object
Returns the value of attribute set_name
11
12
13
|
# File 'lib/cloud_powers/synapse/queue.rb', line 11
def set_name
@set_name
end
|
#sqs ⇒ Object
Returns the value of attribute sqs
11
12
13
|
# File 'lib/cloud_powers/synapse/queue.rb', line 11
def sqs
@sqs
end
|
#workflow ⇒ Object
Returns the value of attribute workflow
11
12
13
|
# File 'lib/cloud_powers/synapse/queue.rb', line 11
def workflow
@workflow
end
|
Instance Method Details
#address ⇒ Object
20
21
22
23
|
# File 'lib/cloud_powers/synapse/queue.rb', line 20
def address
set_address || zfind(set_name) ||
"https://sqs.us-west-2.amazonaws.com/#{zfind(:account_number)}/#{name}"
end
|
#create_queue! ⇒ Object
25
26
27
28
|
# File 'lib/cloud_powers/synapse/queue.rb', line 25
def create_queue!
sqs.create_queue(queue_name: to_camel(name))
self
end
|
#destroy! ⇒ Object
30
31
32
|
# File 'lib/cloud_powers/synapse/queue.rb', line 30
def destroy!
sqs.delete_queue(queue_url: address)
end
|
#i_var ⇒ Object
16
17
18
|
# File 'lib/cloud_powers/synapse/queue.rb', line 16
def i_var
"@#{name}"
end
|
#message_count ⇒ Object
34
35
36
|
# File 'lib/cloud_powers/synapse/queue.rb', line 34
def message_count
get_queue_message_count(address)
end
|
#name ⇒ Object
38
39
40
|
# File 'lib/cloud_powers/synapse/queue.rb', line 38
def name
set_name || address.split('/').last
end
|
#next_board ⇒ Object
42
43
44
|
# File 'lib/cloud_powers/synapse/queue.rb', line 42
def next_board
workflow.next
end
|
#pluck_message(board_name = name) ⇒ Object
46
47
48
|
# File 'lib/cloud_powers/synapse/queue.rb', line 46
def pluck_message(board_name = name)
pluck_queue_message(board_name)
end
|
#real? ⇒ Boolean
50
51
52
|
# File 'lib/cloud_powers/synapse/queue.rb', line 50
def real?
queue_exists?(name)
end
|
#send_message(message) ⇒ Object
54
55
56
57
58
|
# File 'lib/cloud_powers/synapse/queue.rb', line 54
def send_message(message)
send_queue_message(
address, (valid_json?(message) ? message : message.to_json)
)
end
|