Sha256: 9a264370155a8ba1b56fa672d23b4638ca6d141248d95459acd6aec8239a06d8

Contents?: true

Size: 951 Bytes

Versions: 2

Compression:

Stored size: 951 Bytes

Contents

#3This class is used to encapsulate a comp made through a payment interface (the box office)  
# Comping from producer screens doesn't use this class
class CompPayment < Payment
  payment_method :comp
  attr_accessor :benefactor
  
  #benefactor is the user that is doing the comping (current_user)
  #person is the person record receiving the comp.  It must have the id set
  def initialize(params)
    params = params.is_a?(Array) ? params[0] : params
    self.benefactor = params[:benefactor]
    self.customer = params[:customer]
  end

  def requires_authorization?
    false
  end

  def requires_settlement?
    false
  end

  def amount=(amount)
    0
  end
  
  def amount
    0
  end

  def reduce_amount_by(amount_in_cents)
    0
  end
  
  def per_item_processing_charge
    lambda { |item| 0 }
  end

  # DEBT: Because Orders are creating Orders for record keeping,
  # the transaction ID is stored.
  def transaction_id
    nil
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
artfully_ose-1.0.0.rc4 app/models/payments/comp_payment.rb
artfully_ose-1.0.0.rc3 app/models/payments/comp_payment.rb