Module: KakurenboPuti::ActiveRecordBase::InstanceMethods

Defined in:
lib/kakurenbo_puti/active_record_base.rb

Instance Method Summary collapse

Instance Method Details

#restoreBoolean

Restore model.



64
65
66
67
68
# File 'lib/kakurenbo_puti/active_record_base.rb', line 64

def restore
  true.tap { restore! }
rescue
  false
end

#restore!Object

Restore model.

Raises:

  • (ActiveRecordError)


72
73
74
# File 'lib/kakurenbo_puti/active_record_base.rb', line 72

def restore!
  run_callbacks(:restore) { update_column soft_delete_column, nil; self }
end

#soft_destroyBoolean

Soft-Delete model.



78
79
80
81
82
# File 'lib/kakurenbo_puti/active_record_base.rb', line 78

def soft_destroy
  true.tap { soft_destroy! }
rescue
  false
end

#soft_destroy!Object

Soft-Delete model.

Raises:

  • (ActiveRecordError)


86
87
88
# File 'lib/kakurenbo_puti/active_record_base.rb', line 86

def soft_destroy!
  run_callbacks(:soft_destroy) { touch soft_delete_column; self }
end

#soft_destroyed?Boolean

Check if model is soft-deleted.



92
93
94
# File 'lib/kakurenbo_puti/active_record_base.rb', line 92

def soft_destroyed?
  self.class.only_soft_destroyed.where(id: id).exists?
end