Sha256: 1329aab66854cf7de07c99d614ea826e34a5217d5e32e0e68f4119a61515bc18

Contents?: true

Size: 1.63 KB

Versions: 3

Compression:

Stored size: 1.63 KB

Contents

require_relative '../uri_provider'

module MangoApi

  # Provides API method delegates concerning the +SettlementTransfer+ entity
  module SettlementTransfers
    class << self
      include UriProvider

      # Creates a new settlement transfer entity.
      #
      # +SettlementTransfer+ properties:
      # * Required
      #   * author_id
      #   * debited_funds
      #   * fees
      # * Optional
      #   * tag
      #
      # @param +repudiation_id+ [String] ID of the corresponding repudiation
      # @param +transfer+ [SettlementTransfer] model object of the settlement
      # transfer to be created
      # @return [SettlementTransfer] the newly-created SettlementTransfer
      # entity object
      def create(repudiation_id, transfer)
        uri = provide_uri(:create_settlement_transfer, repudiation_id)
        response = HttpClient.post(uri, transfer)
        parse response
      end

      # Retrieves a settlement transfer entity.
      #
      # @param +id+ [String] ID of the settlement transfer to retrieve
      # @return [SettlementTransfer] the requested SettlementTransfer
      # entity object
      def get(id)
        uri = provide_uri(:get_settlement_transfer, id)
        response = HttpClient.get(uri)
        parse response
      end

      private

      # Parses a JSON-originating hash into the corresponding
      # SettlementTransfer entity object.
      #
      # @param +response+ [Hash] JSON-originating data hash
      # @return [SettlementTransfer] corresponding SettlementTransfer
      # entity object
      def parse(response)
        MangoModel::SettlementTransfer.new.dejsonify response
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mangopay-v4-4.1.0 lib/mangopay/api/service/settlement_transfers.rb
mangopay-v4-4.0.2 lib/mangopay/api/service/settlement_transfers.rb
mangopay-v4-4.0.1 lib/mangopay/api/service/settlement_transfers.rb