Sha256: eb47c4bc8729220506b63e1d413127ad9b2423394f399830b6c349e7672045f0
Contents?: true
Size: 658 Bytes
Versions: 67
Compression:
Stored size: 658 Bytes
Contents
# frozen_string_literal: true module Spree module CalculatedAdjustments extend ActiveSupport::Concern included do has_one :calculator, class_name: "Spree::Calculator", as: :calculable, inverse_of: :calculable, dependent: :destroy, autosave: true accepts_nested_attributes_for :calculator, update_only: true validates :calculator, presence: true 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 && !calculator.instance_of?(klass) end end end
Version data entries
67 entries across 67 versions & 1 rubygems