Class: Wavix::Billing::Transactions::Client
- Inherits:
-
Object
- Object
- Wavix::Billing::Transactions::Client
- Defined in:
- lib/wavix/billing/transactions/client.rb
Instance Method Summary collapse
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Wavix::Billing::Transactions::Types::ListTransactionsResponse
Returns a paginated list of billing transactions for the authenticated account within the requested date range.
Constructor Details
#initialize(client:) ⇒ void
10 11 12 |
# File 'lib/wavix/billing/transactions/client.rb', line 10 def initialize(client:) @client = client end |
Instance Method Details
#list(request_options: {}, **params) ⇒ Wavix::Billing::Transactions::Types::ListTransactionsResponse
Returns a paginated list of billing transactions for the authenticated account within the requested date range.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/wavix/billing/transactions/client.rb', line 33 def list(request_options: {}, **params) params = Wavix::Internal::Types::Utils.normalize_keys(params) query_params = {} query_params["from_date"] = params[:from_date] if params.key?(:from_date) query_params["to_date"] = params[:to_date] if params.key?(:to_date) query_params["type"] = params[:type] if params.key?(:type) query_params["details_contains"] = params[:details_contains] if params.key?(:details_contains) query_params["payments"] = params[:payments] if params.key?(:payments) query_params["page"] = params[:page] if params.key?(:page) query_params["per_page"] = params[:per_page] if params.key?(:per_page) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v1/billing/transactions", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Wavix::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Wavix::Billing::Transactions::Types::ListTransactionsResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |