Sha256: 0e36e6e84f521f1a68b75a0fbd5585f8449454afd32150b93d2a8db02e4555f0

Contents?: true

Size: 997 Bytes

Versions: 20

Compression:

Stored size: 997 Bytes

Contents

module Ticket::Pricing
  extend ActiveSupport::Concern

  def remove_from_cart
    self.update_column(:cart_id, nil)
  end

  def prepare_for_discount!
    return false if sold?
    self.discount = nil
    self.sold_price = nil
    self.cart_price = self.price
    self.save
  end 

  def reset_price!
    return false if sold?
    self.discount = nil
    self.ticket_type = nil
    self.sold_price = nil
    self.cart_price = nil
    self.service_fee = nil
    self.save
  end 

  def exchange_prices_from(old_ticket)
    raise "Cannot exchange prices without a ticket type set on current ticket" if self.ticket_type.nil?
    self.sold_price       = old_ticket.sold_price
    self.cart_price       = old_ticket.sold_price
    self.discount_id      = old_ticket.discount_id
    self.service_fee      = old_ticket.service_fee
    self.cart_id          = nil
    self.save
  end

  def set_cart_price(price)
    self.cart_price = price
  end

  def change_price(new_price)
    raise "Gone"
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
artfully_ose-1.2.0.pre.21 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.20 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.19 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.18 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.17 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.16 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.15 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.12 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.11 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.10 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.9 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.8 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.7 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.6 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.5 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.4 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.3 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.2 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.1 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre app/models/ticket/pricing.rb