Class: BMC::SMS::Strategies::Amazon
- Inherits:
-
Object
- Object
- BMC::SMS::Strategies::Amazon
- Defined in:
- app/sms/bmc/sms/strategies/amazon.rb
Instance Attribute Summary collapse
-
#access_key_id ⇒ Object
readonly
Returns the value of attribute access_key_id.
-
#region ⇒ Object
readonly
Returns the value of attribute region.
-
#secret_access_key ⇒ Object
readonly
Returns the value of attribute secret_access_key.
Instance Method Summary collapse
- #call(data) ⇒ Object
- #client ⇒ Object
-
#initialize(region: nil, access_key_id: nil, secret_access_key: nil) ⇒ Amazon
constructor
A new instance of Amazon.
Constructor Details
#initialize(region: nil, access_key_id: nil, secret_access_key: nil) ⇒ Amazon
Returns a new instance of Amazon.
4 5 6 7 8 |
# File 'app/sms/bmc/sms/strategies/amazon.rb', line 4 def initialize(region: nil, access_key_id: nil, secret_access_key: nil) @region = region || ENV["SNS_REGION"] || ENV.fetch("AWS_REGION", nil) @access_key_id = access_key_id || ENV["SNS_ACCESS_KEY_ID"] || ENV.fetch("AWS_ACCESS_KEY_ID", nil) @secret_access_key = secret_access_key || ENV["SNS_SECRET_ACCESS_KEY"] || ENV.fetch("AWS_SECRET_ACCESS_KEY", nil) end |
Instance Attribute Details
#access_key_id ⇒ Object (readonly)
Returns the value of attribute access_key_id.
2 3 4 |
# File 'app/sms/bmc/sms/strategies/amazon.rb', line 2 def access_key_id @access_key_id end |
#region ⇒ Object (readonly)
Returns the value of attribute region.
2 3 4 |
# File 'app/sms/bmc/sms/strategies/amazon.rb', line 2 def region @region end |
#secret_access_key ⇒ Object (readonly)
Returns the value of attribute secret_access_key.
2 3 4 |
# File 'app/sms/bmc/sms/strategies/amazon.rb', line 2 def secret_access_key @secret_access_key end |
Instance Method Details
#call(data) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'app/sms/bmc/sms/strategies/amazon.rb', line 18 def call(data) from = data[:from] || BMC::SMS.default_from client.publish( phone_number: data[:to], message: data[:body], message_attributes: { "AWS.SNS.SMS.SenderID" => { data_type: "String", string_value: from, }, "AWS.SNS.SMS.SMSType" => { data_type: "String", string_value: "Transactional", }, }, ) end |
#client ⇒ Object
10 11 12 13 14 15 16 |
# File 'app/sms/bmc/sms/strategies/amazon.rb', line 10 def client @client ||= Aws::SNS::Client.new( region: region, access_key_id: access_key_id, secret_access_key: secret_access_key, ) end |