abbish_sequel_plugins
Frequently used plugins for Sequel
Installation
Add this line to your application's Gemfile:
gem 'abbish_sequel_plugins'
And then execute:
$ bundle
Or install it yourself as:
$ gem install abbish_sequel_plugins
Plugin super_record
protection
Protecting record cannot destroy and raise error when destroy it
class Model < Sequel::Model(:test_table)
plugin Abbish::Sequel::Plugins::Model::SuperRecord::Protection { }
end
Default options
{
:enabled => true,
:feature_column_protected => :record_protected,
:raise_protected_message => 'Cannot destroy protected record'
}
Usage
model = Model.create(:table_field => 'test')
use set_record_protected!
to set record being protected
model.set_record_protected!
or use set_record_protected
and save
to set record being protected
model.set_record_protected
model.save
# Destroy a protected record will raise a ProtectedError
model.destroy
======
timestamp
Automatically add current date time to record when record was created and updated
class Model < Sequel::Model(:test_table)
plugin Abbish::Sequel::Plugins::Model::SuperRecord::Timestamp { }
end
Default options
{
:enabled => true,
:feature_column_created_time => :record_created_time,
:feature_column_updated_time => :record_updated_time
}
======
version
Automatically generate hash string be record version when record was created and updated
class Model < Sequel::Model(:test_table)
plugin Abbish::Sequel::Plugins::Model::SuperRecord::Version
end
Default options
{
:enabled => true,
:feature_column_version => :record_version
}
======
Contributing
- Fork it ( https://github.com/abbish/abbish_sequel_plugins/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request