Sha256: 82067297f054dc6f89f70d9dec51ce17f04ebb5a3889e7633723a9549f85d854

Contents?: true

Size: 755 Bytes

Versions: 8

Compression:

Stored size: 755 Bytes

Contents

module PensioAPI
  class Reservation
    def self.of_fixed_amount(options={})
      request = Request.new('/merchant/API/reservationOfFixedAmount', options)
      Responses::Reservation.new(request)
    end

    def initialize(transaction)
      @transaction = transaction
    end

    def capture(options={})
      request = Request.new('/merchant/API/captureReservation', options.merge(reservation_options))
      Responses::ReservationCapture.new(request)
    end

    def release(options={})
      request = Request.new('/merchant/API/releaseReservation', options.merge(reservation_options))
      Responses::ReservationRelease.new(request)
    end

    private

    def reservation_options
      { transaction_id: @transaction.id }
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
pensio_api-0.3.5 lib/pensio_api/reservation.rb
pensio_api-0.3.4 lib/pensio_api/reservation.rb
pensio_api-0.3.3 lib/pensio_api/reservation.rb
pensio_api-0.3.2 lib/pensio_api/reservation.rb
pensio_api-0.3.1 lib/pensio_api/reservation.rb
pensio_api-0.3.0 lib/pensio_api/reservation.rb
pensio_api-0.2.3 lib/pensio_api/reservation.rb
pensio_api-0.2.2 lib/pensio_api/reservation.rb