Sha256: 3a0ae1cf5107966f3bdbf89c8f9d0d7b03d462675ae91a008389e45562b24228

Contents?: true

Size: 1.03 KB

Versions: 9

Compression:

Stored size: 1.03 KB

Contents

module KktShoppe
  class DeliveryServicePrice < ActiveRecord::Base

    # Set the table name
    self.table_name = 'kkt_shoppe_delivery_service_prices'
  
    include KktShoppe::AssociatedCountries
  
    # The delivery service which this price belongs to
    belongs_to :delivery_service, :class_name => 'KktShoppe::DeliveryService'
    
    # The tax rate which should be applied
    belongs_to :tax_rate, :class_name => "KktShoppe::TaxRate"
    
    # Validations
    validates :code, :presence => true
    validates :price, :numericality => true
    validates :cost_price, :numericality => true, :allow_blank => true
    validates :min_weight, :numericality => true
    validates :max_weight, :numericality => true
  
    # All prices ordered by their price ascending
    scope :ordered, -> { order(:price => :asc) }
    
    # All prices which are suitable for the weight passed.
    #
    # @param weight [BigDecimal] the weight of the order
    scope :for_weight, -> weight { where("min_weight <= ? AND max_weight >= ?", weight, weight) }
  
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
kkt_shoppe-2.0.2 app/models/kkt_shoppe/delivery_service_price.rb
kkt_shoppe-2.0.1 app/models/kkt_shoppe/delivery_service_price.rb
kkt_shoppe-2.0.0 app/models/kkt_shoppe/delivery_service_price.rb
kkt_shoppe-1.3.0 app/models/kkt_shoppe/delivery_service_price.rb
kkt_shoppe-1.2.1 app/models/kkt_shoppe/delivery_service_price.rb
kkt_shoppe-1.2.0 app/models/kkt_shoppe/delivery_service_price.rb
kkt_shoppe-1.1.2 app/models/kkt_shoppe/delivery_service_price.rb
kkt_shoppe-1.1.1 app/models/kkt_shoppe/delivery_service_price.rb
kkt_shoppe-1.1.0 app/models/kkt_shoppe/delivery_service_price.rb