class SmsTeknik::Client
Attributes
id[RW]
pass[RW]
user[RW]
Public Class Methods
endpoint()
click to toggle source
# File lib/sms_teknik/client.rb, line 34 def self.endpoint @endpoint || "https://api.smsteknik.se" end
endpoint=(value)
click to toggle source
# File lib/sms_teknik/client.rb, line 38 def self.endpoint=(value) @endpoint = value end
new(options = {})
click to toggle source
# File lib/sms_teknik/client.rb, line 8 def initialize(options = {}) @id = options[:id] @user = options[:user] @pass = options[:pass] end
Public Instance Methods
deliver(message)
click to toggle source
# File lib/sms_teknik/client.rb, line 14 def deliver(message) req = Net::HTTP::Post.new(uri) req.add_field "Content-Type", "text/xml" req.body = SmsTeknik::XMLTemplates.text_message( recipients: message.to, message: message.body, sender: message.from, send_date: Time.now.strftime("%Y-%m-%d"), send_time: Time.now.strftime("%H:%M") ) # Fetch Request res = http.request(req) SmsTeknik.logger.info "[SmsTeknik] Message sent with status #{res.code} and response \"#{res.body}\"" return true rescue StandardError => e SmsTeknik.logger.error "[SmsTeknik] HTTP Request failed (#{e.message})" return false end
Private Instance Methods
http()
click to toggle source
# File lib/sms_teknik/client.rb, line 49 def http Net::HTTP.new(uri.host, uri.port).tap do |h| h.use_ssl = true h.verify_mode = OpenSSL::SSL::VERIFY_PEER end end
uri()
click to toggle source
# File lib/sms_teknik/client.rb, line 44 def uri params = URI.encode_www_form(id: id, user: user, pass: pass) URI("#{self.class.endpoint}/send/xml/?#{params}") end