Sha256: 35670ba177a25a3bc712e40c9abd14b5976c2549f56979a54b643ea1e32b9ac4

Contents?: true

Size: 620 Bytes

Versions: 1

Compression:

Stored size: 620 Bytes

Contents

module Bodega
  class Order < ActiveRecord::Base
    extend Bodega::Monetize

    before_create :set_identifier

    belongs_to :customer, polymorphic: true
    has_many :order_products, class_name: 'Bodega::OrderProduct', dependent: :destroy
    has_many :products, through: :order_products

    monetize :subtotal
    monetize :tax
    monetize :total

    def subtotal
      order_products.inject(0) {|sum, order_product| sum += order_product.subtotal }
    end

    def to_param
      identifier
    end

    protected
    def set_identifier
      self.identifier = "#{Time.now.to_i}--#{rand(12)}"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bodega-0.2.0 app/models/bodega/order.rb