class ActiveRecord::Base
Public Class Methods
act_as_disabled(options = {})
click to toggle source
# File lib/act_as_disabled.rb, line 84 def self.act_as_disabled(options = {}) define_model_callbacks :disable class_attribute :aad_config self.aad_config = { column: "disabled", column_type: "boolean", without_default_scope: false } if options[:column_type] == "string" aad_config.merge!(deleted_value: "deleted") end aad_config.merge!(allow_nulls: false) if options[:column_type] == "boolean" aad_config.merge!(options) #merge user unless %w[boolean string].include? aad_config[:column_type] raise ArgumentError, "'time', 'boolean' or 'string' expected" \ " for :column_type option, got #{aad_config[:column_type]}" end include ActAsDisabled unless aad_config[:without_default_scope] default_scope { aad_default_scope } end # before_disable { self.class.notify_observers(:before_disable, self) if self.class.respond_to?(:notify_observers) } # # after_disable { self.class.notify_observers(:after_disable, self) if self.class.respond_to?(:notify_observers) } end