class Omise::Resource
Constants
- DEFAULT_HEADERS
Attributes
headers[R]
key[R]
uri[R]
Public Class Methods
new(url, path, key)
click to toggle source
# File lib/omise/resource.rb, line 14 def initialize(url, path, key) @uri = prepare_uri(url, path) @headers = prepare_headers @key = key set_resource end
Public Instance Methods
delete()
click to toggle source
# File lib/omise/resource.rb, line 50 def delete @resource.delete do |response, request| log(request, response) Omise::Util.load_response(response) end end
get(attributes = {})
click to toggle source
# File lib/omise/resource.rb, line 24 def get(attributes = {}) if attributes.any? @uri.query = Omise::Util.generate_query(attributes) set_resource end @resource.get do |response, request| log(request, response) Omise::Util.load_response(response) end end
patch(attributes = {})
click to toggle source
# File lib/omise/resource.rb, line 36 def patch(attributes = {}) @resource.patch(attributes) do |response, request| log(request, response) Omise::Util.load_response(response) end end
post(attributes = {})
click to toggle source
# File lib/omise/resource.rb, line 43 def post(attributes = {}) @resource.post(attributes) do |response, request| log(request, response) Omise::Util.load_response(response) end end
Private Instance Methods
log(request, response)
click to toggle source
# File lib/omise/resource.rb, line 67 def log(request, response) Omise.http_logger.log_request(request) Omise.http_logger.log_response(response) end
prepare_headers()
click to toggle source
# File lib/omise/resource.rb, line 83 def prepare_headers headers = {}.merge(DEFAULT_HEADERS) if Omise.api_version headers = headers.merge(omise_version: Omise.api_version) end if Omise.user_agent_suffix headers[:user_agent] += ' ' + Omise.user_agent_suffix end headers end
prepare_uri(url, path)
click to toggle source
# File lib/omise/resource.rb, line 72 def prepare_uri(url, path) URI.parse(url).tap do |uri| path = URI.parse(path) query = path.query path.query = nil uri.path = [uri.path, path.to_s].join uri.query = query end end
set_resource()
click to toggle source
# File lib/omise/resource.rb, line 59 def set_resource @resource = RestClient::Resource.new(@uri.to_s, { user: @key, verify_ssl: OpenSSL::SSL::VERIFY_PEER, headers: @headers, }) end