class MegafonSms::Client
Constants
- URL
Attributes
adapter[RW]
connection[R]
login[R]
password[R]
response[R]
Public Class Methods
new(login, password)
click to toggle source
# File lib/megafon_sms/client.rb, line 15 def initialize(login, password) @adapter = Faraday.default_adapter @login = login @password = password @connection = Faraday.new do |conn| conn.response :json, content_type: /\bjson$/ conn.adapter adapter end end
Public Instance Methods
failure?()
click to toggle source
# File lib/megafon_sms/client.rb, line 37 def failure? !success? end
send(from:, to:, message:, callback_url: nil, msg_id: nil)
click to toggle source
# File lib/megafon_sms/client.rb, line 26 def send(from:, to:, message:, callback_url: nil, msg_id: nil) body = { from: from, to: to.to_i, message: message.to_s, callback_url: callback_url, msg_id: msg_id }.to_json @response = connection.post(URL, body, headers) rescue StandardError => e raise MegafonSms::Error, e end
success?()
click to toggle source
# File lib/megafon_sms/client.rb, line 33 def success? response && response.status == 200 && response.body["result"]["status"]["code"] == 0 end
Private Instance Methods
headers()
click to toggle source
# File lib/megafon_sms/client.rb, line 43 def headers { "Content-Type" => "application/json", "Authorization" => "Basic #{Base64.encode64([login, password].join(":"))}" } end