class Coolsms::RestApi
Public Class Methods
api_key()
click to toggle source
# File lib/coolsms/rest_api.rb, line 10 def api_key; @@api_key || Coolsms.api_key end
api_secret()
click to toggle source
# File lib/coolsms/rest_api.rb, line 11 def api_secret; @@api_secret || Coolsms.api_secret end
conn()
click to toggle source
# File lib/coolsms/rest_api.rb, line 17 def conn @conn ||= Faraday.new(url: url) do |conn| conn.response :json conn.use :instrumentation conn.use Faraday::Response::RaiseError conn.adapter Coolsms.faraday_adapter || Faraday.default_adapter end end
conn=(conn)
click to toggle source
# File lib/coolsms/rest_api.rb, line 13 def conn=(conn) @conn = conn end
url()
click to toggle source
# File lib/coolsms/rest_api.rb, line 9 def url; @@url || Coolsms.url end
Public Instance Methods
auth_params()
click to toggle source
# File lib/coolsms/rest_api.rb, line 39 def auth_params timestamp = Time.now.to_i salt = SecureRandom.hex hmac_data = timestamp.to_s + salt.to_s signature = OpenSSL::HMAC.hexdigest('md5', self.class.api_secret, hmac_data) { api_key: self.class.api_key, timestamp: timestamp, salt: salt, signature: signature } end
call()
click to toggle source
# File lib/coolsms/rest_api.rb, line 31 def call raise Unimplemented, {desc: self.class.name} end
callback()
click to toggle source
# File lib/coolsms/rest_api.rb, line 35 def callback # do not call response, use @response end
conn()
click to toggle source
# File lib/coolsms/rest_api.rb, line 27 def conn self.class.conn end
response()
click to toggle source
# File lib/coolsms/rest_api.rb, line 60 def response @response ||= call callback @response rescue Oj::ParseError raise Coolsms::RestApi::InvalidJson, api: self rescue Faraday::Error::ClientError => e raise Coolsms::RestApi::ResponseError, {api: self, response: e} rescue Coolsms::RestApi::Error => e e.api = self raise e rescue raise Coolsms::RestApi::Error, api: self end
to_params()
click to toggle source
# File lib/coolsms/rest_api.rb, line 52 def to_params auth_params end
to_query()
click to toggle source
# File lib/coolsms/rest_api.rb, line 56 def to_query to_params.to_query end