Sha256: fb44d6dffd2ee4d7d52bfb4cdd0986b2805dab90128c6b612daddb0440cf64dd
Contents?: true
Size: 1.03 KB
Versions: 15
Compression:
Stored size: 1.03 KB
Contents
module Spree module Core module CalculatedAdjustments def self.included(klass) klass.class_eval do has_one :calculator, :class_name => "Spree::Calculator", :as => :calculable, :dependent => :destroy accepts_nested_attributes_for :calculator validates :calculator, :presence => true def self.calculators spree_calculators.send model_name_without_spree_namespace end def calculator_type calculator.class.to_s if calculator end def calculator_type=(calculator_type) klass = calculator_type.constantize if calculator_type self.calculator = klass.new if klass && !self.calculator.is_a?(klass) end private def self.model_name_without_spree_namespace self.to_s.tableize.gsub('/', '_').sub('spree_', '') end def self.spree_calculators Rails.application.config.spree.calculators end end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems