Sha256: 112ea4a6beb05ff23d93bce46487736661e6618a78b4834e0cbfe26c026855ea

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

class Vendor < ActiveRecord::Base
  include E9Vendors::Model

  has_and_belongs_to_many :vendor_categories
  has_many :vendor_proxies, :dependent => :destroy
  has_many :vendor_members, :through => :vendor_proxies

  validates :name,                     :presence => true
  validates :logo,                     :presence => true
  validates :contact_email,            :presence => true, :email => { :allow_blank => true }
  validates :sales_email,              :presence => true, :email => { :allow_blank => true }
  validates :short_description,        :presence => true
  validates :long_description,         :presence => true
  validates :discount_percentage,          :presence => true, :numericality => { :allow_blank => true, :greater_than_or_equal_to => 0, :less_than => 100 }
  validates :member_compensation,      :presence => true, :numericality => { :allow_blank => true, :greater_than_or_equal_to => 0, :less_than => 100 }
  validates :landing_page,             :presence => true

  mount_uploader :logo, LogoUploader

  def self.all_proxies
    all.map {|vendor| vendor.vendor_proxies.build }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
e9_vendors-0.0.3 app/models/vendor.rb
e9_vendors-0.0.2 app/models/vendor.rb
e9_vendors-0.0.1 app/models/vendor.rb