Sha256: 4ebcefead9928d857198a75d5c2cf82c20f53e71e0f9d643d0deb4712ebb0c7b
Contents?: true
Size: 931 Bytes
Versions: 25
Compression:
Stored size: 931 Bytes
Contents
module Spree class Calculator < ActiveRecord::Base belongs_to :calculable, :polymorphic => true # This method must be overriden in concrete calculator. # # It should return amount computed based on #calculable and/or optional parameter def compute(something=nil) raise(NotImplementedError, 'please use concrete calculator') end # overwrite to provide description for your calculators def self.description 'Base Calculator' end ################################################################### def self.register(*klasses) end # Returns all calculators applicable for kind of work def self.calculators Rails.application.config.spree.calculators.all end def to_s self.class.name.titleize.gsub("Calculator\/", "") end def description self.class.description end def available?(object) true end end end
Version data entries
25 entries across 25 versions & 2 rubygems