class CycloneLariat::Abstract::Client
Constants
- DEFAULT_INSTANCE
- DEFAULT_VERSION
Attributes
key[R]
region[R]
secret_key[R]
Public Class Methods
instance(instance = nil)
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 60 def instance(instance = nil) instance.nil? ? @instance || DEFAULT_INSTANCE : @instance = instance end
new(key:, secret_key:, region:, version: nil, publisher: nil, instance: nil)
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 20 def initialize(key:, secret_key:, region:, version: nil, publisher: nil, instance: nil) @key = key @secret_key = secret_key @region = region @version = version @publisher = publisher @instance = instance end
publisher(publisher = nil)
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 64 def publisher(publisher = nil) publisher.nil? ? @publisher || (raise 'You should define publisher') : @publisher = publisher end
version(version = nil)
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 56 def version(version = nil) version.nil? ? @version || DEFAULT_VERSION : @version = version end
Public Instance Methods
command(type, data: {}, version: self.version, uuid: SecureRandom.uuid)
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 40 def command(type, data: {}, version: self.version, uuid: SecureRandom.uuid) Command.wrap( uuid: uuid, type: type, sent_at: Time.now.iso8601, version: version, publisher: publisher, data: data ) end
event(type, data: {}, version: self.version, uuid: SecureRandom.uuid)
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 29 def event(type, data: {}, version: self.version, uuid: SecureRandom.uuid) Event.wrap( uuid: uuid, type: type, sent_at: Time.now.iso8601, version: version, publisher: publisher, data: data ) end
instance()
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 77 def instance @instance ||= self.class.instance end
publish()
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 51 def publish raise LunaPark::Errors::AbstractMethod, 'Publish method should be defined' end
publisher()
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 73 def publisher @publisher ||= self.class.publisher end
version()
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 69 def version @version ||= self.class.version end
Private Instance Methods
aws_client()
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 85 def aws_client @aws_client ||= aws_client_class.new(credentials: aws_credentials, region: region) end
aws_credentials()
click to toggle source
# File lib/cyclone_lariat/abstract/client.rb, line 89 def aws_credentials @aws_credentials ||= aws_credentials_class.new(key, secret_key) end