class Everypay::Resource
Public Class Methods
create(payload)
click to toggle source
# File lib/everypay/resource.rb, line 9 def create payload invoke :post, payload end
delete(token)
click to toggle source
# File lib/everypay/resource.rb, line 26 def delete token invoke :delete, {:token => token} end
list(filters={})
click to toggle source
# File lib/everypay/resource.rb, line 17 def list filters={} invoke :get, filters end
retrieve(token)
click to toggle source
# File lib/everypay/resource.rb, line 13 def retrieve token invoke :get, {:token => token} end
update(token, payload)
click to toggle source
# File lib/everypay/resource.rb, line 21 def update token, payload payload.merge! :token => token invoke :put, payload end
Protected Class Methods
invoke(method, payload={})
click to toggle source
# File lib/everypay/resource.rb, line 37 def invoke method, payload={} url = endpoint url = url + '/' + payload[:namespace] if payload[:namespace] url = url + '/' + payload.delete(:token) if payload[:token] opts = {:method => method, :verify_ssl => Everypay.verify_ssl, :url => url, :user => Everypay.api_key} request opts, payload end
resource()
click to toggle source
# File lib/everypay/resource.rb, line 32 def resource raise NotImplementedError.new('resource method must return a resource name ex payment, customer, token etc') end
Private Class Methods
endpoint()
click to toggle source
# File lib/everypay/resource.rb, line 51 def endpoint Everypay.uri + '/' + resource end
request(opts, payload)
click to toggle source
# File lib/everypay/resource.rb, line 55 def request opts, payload opts[:payload] = payload response = nil begin response = RestClient::Request.execute opts rescue RestClient::ExceptionWithResponse => e response = e.response if e.response rescue RestClient::SSLCertificateNotVerified => e response = JSON.generate({:error => {:code => 400, :status=>400, :message => e.message}}) end hash = JSON.parse response end