diff --git a/lib/asaas/object_types.rb b/lib/asaas/object_types.rb index 11fdb13..1fb5796 100644 --- a/lib/asaas/object_types.rb +++ b/lib/asaas/object_types.rb @@ -24,6 +24,7 @@ def self.object_names_to_classes Card::OBJECT_NAME => Card, CashBalance::OBJECT_NAME => CashBalance, Charge::OBJECT_NAME => Charge, + Installment::OBJECT_NAME => Installment, CountrySpec::OBJECT_NAME => CountrySpec, Coupon::OBJECT_NAME => Coupon, CreditNote::OBJECT_NAME => CreditNote, diff --git a/lib/asaas/resources.rb b/lib/asaas/resources.rb index e039197..0417469 100644 --- a/lib/asaas/resources.rb +++ b/lib/asaas/resources.rb @@ -15,6 +15,7 @@ require "asaas/resources/card" require "asaas/resources/cash_balance" require "asaas/resources/charge" +require "asaas/resources/installment" require "asaas/resources/country_spec" require "asaas/resources/coupon" diff --git a/lib/asaas/resources/installment.rb b/lib/asaas/resources/installment.rb new file mode 100644 index 0000000..42dd944 --- /dev/null +++ b/lib/asaas/resources/installment.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Asaas + # TODO: doc. + class Installment < APIResource + extend Asaas::APIOperations::Search + include Asaas::APIOperations::Save + extend Asaas::APIOperations::List + + OBJECT_NAME = "installment" + + def self.resource_url + "/v3/installments" + end + + def resource_url + "/v3/installments/#{CGI.escape(id)}" + end + + def self.payments(installment, params = {}, opts = {}) + request_asaas_object( + method: :get, + path: format("/v3/installments/%s/payments", { installment: CGI.escape(installment) }), + params: params, + opts: opts + ) + end + end +end