class Braintree::DocumentUploadGateway

Public Class Methods

_create_signature() click to toggle source
# File lib/braintree/document_upload_gateway.rb, line 20
def self._create_signature
  [
    :kind,
    :file
  ]
end
new(gateway) click to toggle source
# File lib/braintree/document_upload_gateway.rb, line 5
def initialize(gateway)
  @gateway = gateway
  @config = gateway.config
  @config.assert_has_access_token_or_keys
end

Public Instance Methods

_do_create(path, params, file) click to toggle source
# File lib/braintree/document_upload_gateway.rb, line 27
def _do_create(path, params, file)
  response = @config.http.post("#{@config.base_merchant_path}#{path}", params, file)
  if response[:document_upload]
    SuccessfulResult.new(:document_upload => DocumentUpload._new(response[:document_upload]))
  elsif response[:api_error_response]
    ErrorResult.new(@gateway, response[:api_error_response])
  else
    raise UnexpectedError, "expected :document_upload or :api_error_response"
  end
end
create(attributes) click to toggle source
# File lib/braintree/document_upload_gateway.rb, line 11
def create(attributes)
  Util.verify_keys(DocumentUploadGateway._create_signature, attributes)
  _do_create "/document_uploads", {"document_upload[kind]" => attributes[:kind]}, attributes[:file]
end
create!(*args) click to toggle source
# File lib/braintree/document_upload_gateway.rb, line 16
def create!(*args)
  return_object_or_raise(:document_upload) { create(*args) }
end