Sha256: a174bcca525fb278a28fac62f66dd1ebe8ef00fee54c1be9472d5a9b3c756c20

Contents?: true

Size: 871 Bytes

Versions: 3

Compression:

Stored size: 871 Bytes

Contents

module RockRMS
  class Client
    module RecurringDonation
      def list_recurring_donations(options = {})
        res = get(recurring_donation_path, options)
        RockRMS::Responses::RecurringDonation.format(res)
      end

      def find_recurring_donation(id)
        res = get(recurring_donation_path(id))
        RockRMS::Responses::RecurringDonation.format(res)
      end

      def update_recurring_donation(
        id,
        next_payment_date:,
        transaction_code: nil
      )
        options = { 'NextPaymentDate' => next_payment_date }
        options['TransactionCode'] = transaction_code if transaction_code

        patch(recurring_donation_path(id), options)
      end

      private

      def recurring_donation_path(id = nil)
        id ? "FinancialScheduledTransactions/#{id}" : 'FinancialScheduledTransactions'
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rock_rms-2.0.0 lib/rock_rms/resources/recurring_donation.rb
rock_rms-1.3.0 lib/rock_rms/resources/recurring_donation.rb
rock_rms-1.2.0 lib/rock_rms/resources/recurring_donation.rb