class CycloneLariat::SqsClient
Constants
- SQS_SUFFIX
Public Instance Methods
publish(msg, dest: nil, topic: nil)
click to toggle source
# File lib/cyclone_lariat/sqs_client.rb, line 14 def publish(msg, dest: nil, topic: nil) raise ArgumentError, 'You should define dest or topic' if dest.nil? && topic.nil? topic ||= [instance, msg.kind, SQS_SUFFIX, publisher, msg.type, dest].join('-') aws_client.send_message( queue_url: url(topic), message_body: msg.to_json ) end
publish_command(type, dest: nil, data: {}, version: self.version, uuid: SecureRandom.uuid, topic: nil)
click to toggle source
# File lib/cyclone_lariat/sqs_client.rb, line 29 def publish_command(type, dest: nil, data: {}, version: self.version, uuid: SecureRandom.uuid, topic: nil) publish command(type, data: data, version: version, uuid: uuid), dest: dest, topic: topic end
publish_event(type, dest: nil, data: {}, version: self.version, uuid: SecureRandom.uuid, topic: nil)
click to toggle source
# File lib/cyclone_lariat/sqs_client.rb, line 25 def publish_event(type, dest: nil, data: {}, version: self.version, uuid: SecureRandom.uuid, topic: nil) publish event(type, data: data, version: version, uuid: uuid), dest: dest, topic: topic end
Private Instance Methods
url(topic_name)
click to toggle source
# File lib/cyclone_lariat/sqs_client.rb, line 35 def url(topic_name) aws_client.get_queue_url(queue_name: topic_name).queue_url rescue Aws::SQS::Errors::NonExistentQueue => _e raise Errors::TopicNotFound.new(expected_topic: topic_name, existed_topics: aws_client.list_queues) end