module Moneta::Api::ServiceMethods

Public Instance Methods

approve_phone_apply_code(request) click to toggle source

@param [Moneta::Api::Requests::ApprovePhoneApplyCodeRequest] @return [Moneta::Api::Responses::ApprovePhoneApplyCodeResponse]

# File lib/moneta/api/service_methods.rb, line 198
def approve_phone_apply_code(request)
  call(__method__, request)
end
approve_phone_send_confirmation(request) click to toggle source

@param [Moneta::Api::Requests::ApprovePhoneSendConfirmationRequest] @return [Moneta::Api::Responses::ApprovePhoneSendConfirmationResponse]

# File lib/moneta/api/service_methods.rb, line 192
def approve_phone_send_confirmation(request)
  call(__method__, request)
end
authorise_transaction(request) click to toggle source

@param [Moneta::Api::Requests::AuthoriseTransactionRequest] @return [Moneta::Api::Responses::AuthoriseTransactionResponse]

# File lib/moneta/api/service_methods.rb, line 6
def authorise_transaction(request)
  call(__method__, request)
end
authorise_transaction_batch(request) click to toggle source

@param [Moneta::Api::Requests::AuthoriseTransactionBatchRequest] @return [Moneta::Api::Responses::AuthoriseTransactionBatchResponse]

# File lib/moneta/api/service_methods.rb, line 12
def authorise_transaction_batch(request)
  call(__method__, request)
end
cancel_transaction(request) click to toggle source

@param [Moneta::Api::Requests::CancelTransactionRequest] @return [Moneta::Api::Responses::CancelTransactionResponse]

# File lib/moneta/api/service_methods.rb, line 18
def cancel_transaction(request)
  call(__method__, request)
end
cancel_transaction_batch(request) click to toggle source

@param [Moneta::Api::Requests::CancelTransactionBatchRequest] @return [Moneta::Api::Responses::CancelTransactionBatchResponse]

# File lib/moneta/api/service_methods.rb, line 24
def cancel_transaction_batch(request)
  call(__method__, request)
end
confirm_transaction(request) click to toggle source

@param [Moneta::Api::Requests::ConfirmTransactionRequest] @return [Moneta::Api::Responses::ConfirmTransactionResponse]

# File lib/moneta/api/service_methods.rb, line 30
def confirm_transaction(request)
  call(__method__, request)
end
confirm_transaction_batch(request) click to toggle source

@param [Moneta::Api::Requests::ConfirmTransactionBatchRequest] @return [Moneta::Api::Responses::ConfirmTransactionBatchResponse]

# File lib/moneta/api/service_methods.rb, line 36
def confirm_transaction_batch(request)
  call(__method__, request)
end
create_account(request) click to toggle source

@param [Moneta::Api::Requests::CreateAccountRequest] @return [Moneta::Api::Responses::CreateAccountResponse]

# File lib/moneta/api/service_methods.rb, line 42
def create_account(request)
  call(__method__, request)
end
create_bank_account(request) click to toggle source

@param [Moneta::Api::Requests::CreateBankAccountRequest] @return [Moneta::Api::Responses::CreateBankAccountResponse]

# File lib/moneta/api/service_methods.rb, line 168
def create_bank_account(request)
  call(__method__, request)
end
create_profile(request) click to toggle source

@param [Moneta::Api::Requests::CreateProfileRequest] @return [Moneta::Api::Responses::CreateProfileResponse]

# File lib/moneta/api/service_methods.rb, line 156
def create_profile(request)
  call(__method__, request)
end
edit_bank_account(request) click to toggle source

@param [Moneta::Api::Requests::EditBankAccountRequest] @return [Moneta::Api::Responses::EditBankAccountResponse]

# File lib/moneta/api/service_methods.rb, line 174
def edit_bank_account(request)
  call(__method__, request)
end
edit_profile(request) click to toggle source

@param [Moneta::Api::Requests::EditProfileRequest] @return [Moneta::Api::Responses::EditProfileResponse]

# File lib/moneta/api/service_methods.rb, line 162
def edit_profile(request)
  call(__method__, request)
end
find_account_by_alias(request) click to toggle source

@param [String] @return [Moneta::Api::Responses::FindAccountByAliasResponse]

# File lib/moneta/api/service_methods.rb, line 48
def find_account_by_alias(request)
  call(__method__, request)
end
find_account_by_id(id) click to toggle source

@param [Integer] @return [Moneta::Api::Responses::FindAccountByIdResponse]

# File lib/moneta/api/service_methods.rb, line 72
def find_account_by_id(id)
  call(__method__, id)
end
find_accounts_list(request) click to toggle source

@param [Moneta::Api::Requests::FindAccountsListRequest] @return [Moneta::Api::Responses::FindAccountsListResponse]

# File lib/moneta/api/service_methods.rb, line 54
def find_accounts_list(request)
  call(__method__, request)
end
find_bank_accounts(request) click to toggle source

@param [Moneta::Api::Requests::FindBankAccountsRequest] @return [Moneta::Api::Responses::FindBankAccountsResponse]

# File lib/moneta/api/service_methods.rb, line 186
def find_bank_accounts(request)
  call(__method__, request)
end
find_last_operations_list(request) click to toggle source

@param [Moneta::Api::Requests::FindLastOperationsListRequest] @return [Moneta::Api::Responses::FindLastOperationsListResponse]

# File lib/moneta/api/service_methods.rb, line 78
def find_last_operations_list(request)
  call(__method__, request)
end
find_operations_list(request) click to toggle source

@param [Moneta::Api::Requests::FindOperationsListRequest] @return [Moneta::Api::Responses::FindOperationsListResponse]

# File lib/moneta/api/service_methods.rb, line 60
def find_operations_list(request)
  call(__method__, request)
end
forecast_transaction(request) click to toggle source

@param [Moneta::Api::Requests::ForecastTransactionRequest] @return [Moneta::Api::Responses::ForecastTransactionResponse]

# File lib/moneta/api/service_methods.rb, line 66
def forecast_transaction(request)
  call(__method__, request)
end
get_account_payment_password_challenge(request) click to toggle source

@param [Moneta::Api::Requests::GetAccountPaymentPasswordChallengeRequest] @return [Moneta::Api::Responses::GetAccountPaymentPasswordChallengeResponse]

# File lib/moneta/api/service_methods.rb, line 84
def get_account_payment_password_challenge(request)
  call(__method__, request)
end
get_operation_details_by_id(id) click to toggle source

@param [Integer] @return [Moneta::Api::Responses::GetOperationDetailsByIdResponse]

# File lib/moneta/api/service_methods.rb, line 90
def get_operation_details_by_id(id)
  call(__method__, id)
end
get_profile_info(request) click to toggle source

@param [Moneta::Api::Requests::GetProfileInfoRequest] @return [Moneta::Api::Responses::GetProfileInfoResponse]

# File lib/moneta/api/service_methods.rb, line 180
def get_profile_info(request)
  call(__method__, request)
end
invoice(request) click to toggle source

@param [Moneta::Api::Requests::InvoiceRequest] @return [Moneta::Api::Responses::InvoiceResponse]

# File lib/moneta/api/service_methods.rb, line 96
def invoice(request)
  call(__method__, request)
end
invoice_batch(request) click to toggle source

@param [Moneta::Api::Requests::InvoiceBatchRequest] @return [Moneta::Api::Responses::InvoiceBatchResponse]

# File lib/moneta/api/service_methods.rb, line 102
def invoice_batch(request)
  call(__method__, request)
end
payment(request) click to toggle source

@param [Moneta::Api::Requests::PaymentRequest] @return [Moneta::Api::Responses::PaymentResponse]

# File lib/moneta/api/service_methods.rb, line 126
def payment(request)
  call(__method__, request)
end
refund(request) click to toggle source

@param [Moneta::Api::Requests::RefundRequest] @return [Moneta::Api::Responses::RefundResponse]

# File lib/moneta/api/service_methods.rb, line 108
def refund(request)
  call(__method__, request)
end
transfer(request) click to toggle source

@param [Moneta::Api::Requests::TransferRequest] @return [Moneta::Api::Responses::TransferResponse]

# File lib/moneta/api/service_methods.rb, line 114
def transfer(request)
  call(__method__, request)
end
transfer_batch(request) click to toggle source

@param [Moneta::Api::Requests::TransferBatchRequest] @return [Moneta::Api::Responses::TransferBatchResponse]

# File lib/moneta/api/service_methods.rb, line 120
def transfer_batch(request)
  call(__method__, request)
end
verify_payment(request) click to toggle source

@param [Moneta::Api::Requests::VerifyPaymentRequest] @return [Moneta::Api::Responses::VerifyPaymentResponse]

# File lib/moneta/api/service_methods.rb, line 132
def verify_payment(request)
  call(__method__, request)
end
verify_payment_batch(request) click to toggle source

@param [Moneta::Api::Requests::VerifyPaymentBatchRequest] @return [Moneta::Api::Responses::VerifyPaymentBatchResponse]

# File lib/moneta/api/service_methods.rb, line 138
def verify_payment_batch(request)
  call(__method__, request)
end
verify_transaction(request) click to toggle source

@param [Moneta::Api::Requests::VerifyTransactionRequest] @return [Moneta::Api::Responses::VerifyTransactionResponse]

# File lib/moneta/api/service_methods.rb, line 150
def verify_transaction(request)
  call(__method__, request)
end
verify_transfer(request) click to toggle source

@param [Moneta::Api::Requests::VerifyTransferRequest] @return [Moneta::Api::Responses::VerifyTransferResponse]

# File lib/moneta/api/service_methods.rb, line 144
def verify_transfer(request)
  call(__method__, request)
end

Private Instance Methods

call(method_id, request) click to toggle source
# File lib/moneta/api/service_methods.rb, line 204
def call(method_id, request)
  validate!(method_id, request)

  response = call_method(method_id, request)

  json = Oj.load(response.body)

  if json['Envelope'] && json['Envelope']['Body']
    body = json['Envelope']['Body']

    if details = body['fault']
      exception = Moneta::Api::RuntimeException.new(details['faultstring'])
      exception.code = details['faultcode']
      exception.detail = details['detail']

      raise exception
    else
      ResponseFactory.build(body)
    end
  else
    raise Moneta::Api::ConnectionException.new('Invalid response content')
  end
rescue Oj::ParseError
  raise Moneta::Api::HTTPException.new('Invalid response type')
rescue Faraday::Error => e
  raise Moneta::Api::HTTPException.new(e.message)
end
get_expected_request_class(method) click to toggle source
# File lib/moneta/api/service_methods.rb, line 240
def get_expected_request_class(method)
  {
    'find_account_by_alias' => String,
    'find_account_by_id' => Integer,
    'get_operation_details_by_id' => Integer
  }[ method.to_s ] || Object.const_get("Moneta::Api::Requests::#{ method.to_s.camelize }Request")
end
validate!(method, request) click to toggle source
# File lib/moneta/api/service_methods.rb, line 232
def validate!(method, request)
  expected_request_class = get_expected_request_class(method)

  unless request.kind_of?(expected_request_class)
    raise TypeError.new("#{ request.class.name } can't be coerced into #{ expected_request_class.name }")
  end
end