module ActiveWorker::Behavior::HasModes
Public Class Methods
included(base)
click to toggle source
# File lib/active_worker/behavior/has_modes.rb, line 23 def self.included(base) base.extend(ClassExtensions) base.template_field :mode base.before_save :set_mode_defined_fields end
Public Instance Methods
set_mode_defined_fields()
click to toggle source
# File lib/active_worker/behavior/has_modes.rb, line 29 def set_mode_defined_fields unless mode.nil? || mode.empty? if self.class.modes_map.supports? mode self.class.modes_map.mode(mode).each_pair do |field, value| write_attribute(field, value) unless read_attribute(field) end else raise ModeNotSupportedException, "Mode \"#{mode}\" not in Modes List: #{self.class.modes} for #{self.class}" end end end