module ActsAsParanoid
Constants
- VERSION
Public Instance Methods
acts_as_paranoid(options = {})
click to toggle source
# File lib/acts_as_paranoid.rb, line 19 def acts_as_paranoid(options = {}) if !options.is_a?(Hash) && !options.empty? raise ArgumentError, "Hash expected, got #{options.class.name}" end class_attribute :paranoid_configuration self.paranoid_configuration = { column: "deleted_at", column_type: "time", recover_dependent_associations: true, dependent_recovery_window: 2.minutes, double_tap_destroys_fully: true } paranoid_configuration[:deleted_value] = "deleted" if options[:column_type] == "string" paranoid_configuration.merge!(options) # user options unless %w[time boolean string].include? paranoid_configuration[:column_type] raise ArgumentError, "'time', 'boolean' or 'string' expected for :column_type option," \ " got #{paranoid_configuration[:column_type]}" end return if paranoid? include ActsAsParanoid::Core # Magic! default_scope { where(paranoid_default_scope) } define_deleted_time_scopes if paranoid_column_type == :time end
paranoid?()
click to toggle source
# File lib/acts_as_paranoid.rb, line 11 def paranoid? included_modules.include?(ActsAsParanoid::Core) end
validates_as_paranoid()
click to toggle source
# File lib/acts_as_paranoid.rb, line 15 def validates_as_paranoid include ActsAsParanoid::Validations end