Sha256: af86dfc1e55825920a7f86dd34763e16583fe0ba037111620958bbed4ebd78e6

Contents?: true

Size: 1.15 KB

Versions: 4

Compression:

Stored size: 1.15 KB

Contents

module Ticket::Transfers
  extend ActiveSupport::Concern

  def sell_to(buyer, time=Time.now)
    begin
      self.buyer = buyer
      self.sold_at = time
      generate_qr_code
      self.sell!
    rescue Transitions::InvalidTransition
      return false
    end
  end
  
  #
  # Deals solely with changing the buyer.  Pricing should be handled in exchange_prices_from
  #
  def exchange_to(buyer, time=Time.now)
    begin
      self.buyer = buyer
      self.sold_at = time
      generate_qr_code
      self.exchange!
    rescue Transitions::InvalidTransition => e
      puts e
      return false
    end
  end

  def comp_to(buyer, time=Time.now)
    begin
      self.buyer = buyer
      self.sold_price = 0
      self.sold_at = time
      generate_qr_code
      self.comp!
    rescue Transitions::InvalidTransition => e
      puts e
      return false
    end
  end

  def return!(and_return_to_inventory = true)
    and_return_to_inventory ? return_to_inventory! : return_off_sale!
    remove_from_cart
    self.buyer = nil
    self.sold_at = nil
    self.buyer_id = nil
    self.qr_code = nil
    Rails.logger.debug(self.inspect)
    self.reset_price!
    save
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
artfully_ose-1.2.0.pre.19 app/models/ticket/transfers.rb
artfully_ose-1.2.0.pre.18 app/models/ticket/transfers.rb
artfully_ose-1.2.0.pre.17 app/models/ticket/transfers.rb
artfully_ose-1.2.0.pre.16 app/models/ticket/transfers.rb