Create note on discontinued development
[merb_mart.git] / app / models / store / promotion.rb
blob98b825b5bdc0edaeee915cf51a30072bf5315f6d
1 require "bigdecimal"
2 require 'dm-validations'
4 module Mart
5   module Store
6     class Promotion
8       include DataMapper::Resource
10       ## TODO: add support for subtypes:
11       # - dollars off
12       # - percetnage off
13       # - buy n, get n free
14       # -
16       property :id,               Integer,   :serial => true
17       property :code,             String,   :length => 15,                  :nullable => false
18       property :discount_type,    Integer,                 :default => 0,    :nullable => false
19       property :discount_amount,  BigDecimal,              :default => 0.0,  :nullable => false
20       property :start,            DateTime,                                 :nullable => false
21       property :end,              DateTime,                                 :nullable => false
22       property :minimum_cart_value, BigDecimal
23       property :description,      String,                                   :nullable => false
24       property :store_item_id,    Integer  # foreign-key
26       has n, :orders
27       belongs_to :item, :class_name => "Mart::Store::AbstractItem"
29       validates_present   :code, :discount_amount, :discount_type, :description
30       validates_is_number :discount_amount
32     end
33   end
34 end