module Moneta::Api::ServiceMethods
Public Instance Methods
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
# 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
# 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
# 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