Sha256: 0162cb0e705f1927b1cb845482050001d0781ba0e628f92a03edb52dfba43204
Contents?: true
Size: 836 Bytes
Versions: 16
Compression:
Stored size: 836 Bytes
Contents
module Spree module DependenciesHelper def self.included(base) injection_points = base::INJECTION_POINTS_WITH_DEFAULTS.keys.freeze base.const_set(:INJECTION_POINTS, injection_points) base.attr_accessor(*injection_points) end def initialize set_default_values end def current_values values = [] self.class::INJECTION_POINTS.each do |injection_point| values << { injection_point.to_s => instance_variable_get("@#{injection_point}") } end values end private def set_default_values self.class::INJECTION_POINTS_WITH_DEFAULTS.each do |injection_point, default_value| value = default_value.respond_to?(:call) ? default_value.call : default_value instance_variable_set("@#{injection_point}", value) end end end end
Version data entries
16 entries across 16 versions & 1 rubygems