Module: Sequel::Plugins::SoftDeletes
- Defined in:
- lib/sequel/plugins/soft_deletes.rb
Overview
Plugin for adding soft-delete to a model.
Example
Defining a model class with a timestamp as the deletion flag:
class ACME::Customer < Sequel::Model(:customers)
plugin :soft_deletes, column: :deleted_at
And in the schema:
create_table( :customers ) do
primary_key :id
:deleted_at
end
Defined Under Namespace
Modules: ClassMethods, DatasetMethods, InstanceMethods
Constant Summary collapse
- VERSION =
"0.1.3"
- DEFAULT_OPTIONS =
Default plugin options
{ column: :soft_deleted_at, omit_by_default: false, }.freeze
Class Method Summary collapse
Class Method Details
.configure(model, opts = DEFAULT_OPTIONS) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/sequel/plugins/soft_deletes.rb', line 30 def self.configure(model, opts=DEFAULT_OPTIONS) opts = DEFAULT_OPTIONS.merge(opts) column = opts[:column] model.soft_delete_column = column model.set_dataset(model.where(column => nil)) if opts[:omit_by_default] end |