Sha256: 016ab6ea9d2f6b9a63b3e0375d671aac3334401feffc19abb4fac4b0b5b8243a

Contents?: true

Size: 1.14 KB

Versions: 11

Compression:

Stored size: 1.14 KB

Contents

module Ticket::Pricing
  extend ActiveSupport::Concern

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

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

  def prepare_for_discount!
    prepare_for_cart_change!
  end 

  def prepare_for_pass!
    prepare_for_cart_change!
  end 

  def reset_price!
    return false if sold?
    self.discount = nil
    self.pass     = 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

11 entries across 11 versions & 1 rubygems

Version Path
artfully_ose-1.3.0.pre4 app/models/ticket/pricing.rb
artfully_ose-1.3.0.pre3 app/models/ticket/pricing.rb
artfully_ose-1.3.0.pre2 app/models/ticket/pricing.rb
artfully_ose-1.3.0.pre1 app/models/ticket/pricing.rb
artfully_ose-1.2.0 app/models/ticket/pricing.rb
artfully_ose-1.2.0.beta.1 app/models/ticket/pricing.rb
artfully_ose-1.2.0.alpha.2 app/models/ticket/pricing.rb
artfully_ose-1.2.0.alpha.1 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.27 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.26 app/models/ticket/pricing.rb
artfully_ose-1.2.0.pre.24 app/models/ticket/pricing.rb