class SteamFi::API
Public Class Methods
logger()
click to toggle source
# File lib/steam_fi/api.rb, line 27 def logger @@logger end
logger=(logger)
click to toggle source
# File lib/steam_fi/api.rb, line 31 def logger=(logger) @@logger = logger end
send_sms(msisdn, message, params = {})
click to toggle source
Send SMS message
# File lib/steam_fi/api.rb, line 22 def send_sms(msisdn, message, params = {}) params.merge! :msisdn => msisdn, :msg => message request @@config[:sms_url], params end
setup(options)
click to toggle source
# File lib/steam_fi/api.rb, line 17 def setup(options) @@config.merge!(options) end
Protected Class Methods
handle_error(e)
click to toggle source
# File lib/steam_fi/api.rb, line 70 def handle_error(e) logger.error "#{Time.now} ERROR\n#{e.message}" if logger raise SteamFi::SteamException.new(e.message) end
request(url, params = {})
click to toggle source
Send request
# File lib/steam_fi/api.rb, line 38 def request(url, params = {}) # add username & password params.merge! :l => @@config[:username], :p => @@config[:password] logger.info "#{Time.now} REQUEST\n#{url}\n#{params.to_yaml}" if logger begin # build & send request uri = URI.parse(url) req = Net::HTTP::Post.new(uri.path) req.set_form_data(params) req.initialize_http_header({ 'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8' }) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = (uri.port == 443) res = http.request(req) rescue Exception => e handle_error e end case res when Net::HTTPSuccess logger.info "#{Time.now} RESPONSE\n#{res.body}" if logger res.body else handle_error SteamFi::SteamException.new(res.inspect) end end