Module: Cms::Behaviors::SoftDeleting::MacroMethods
- Defined in:
- lib/cms/behaviors/soft_deleting.rb
Instance Method Summary collapse
- #handle_missing_table_error_during_startup(message, e) ⇒ Object
- #uses_soft_delete(options = {}) ⇒ Object
- #uses_soft_delete? ⇒ Boolean
Instance Method Details
#handle_missing_table_error_during_startup(message, e) ⇒ Object
13 14 15 |
# File 'lib/cms/behaviors/soft_deleting.rb', line 13 def handle_missing_table_error_during_startup(, e) Rails.logger.debug "#{}: #{e.inspect}" end |
#uses_soft_delete(options = {}) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/cms/behaviors/soft_deleting.rb', line 17 def uses_soft_delete(={}) @uses_soft_delete = true scope :not_deleted, -> {where (["#{table_name}.deleted = ?", false])} class << self alias_method :delete_all!, :delete_all end extend ClassMethods include InstanceMethods #attr_accessible :deleted # By default, all queries for blocks should filter out deleted rows. begin default_scope {where(:deleted => false)} # This may fail during gem loading, if no DB or the table does not exist. Log it and move on. rescue StandardError => e handle_missing_table_error_during_startup("Can't set a default_scope for soft_deleting", e) end end |
#uses_soft_delete? ⇒ Boolean
9 10 11 |
# File 'lib/cms/behaviors/soft_deleting.rb', line 9 def uses_soft_delete? !!@uses_soft_delete end |