Sequel mapping to Devise
At least version 2.1.0 of Devise is required
Please report any issues!
# bundler gem 'devise_sequel'
You're going to need an ORM for rails also. Only sequel-rails has been tested to work this gem.
There are no generators at this point, but it's pretty easy to get started:
I like to extend only the models I need for Devise:
class User < Sequel::Model plugin :devise devise ... # put the devise modules you want here end
But if you want them to be globally available for all your Sequel models, load the plugin before model loading:
For schema migration, you can do something like this:
Sequel.migration do up do create_table :users do database_authenticatable confirmable recoverable rememberable trackable lockable DateTime :created_at DateTime :updated_at end end down do drop_table :users end end
Very similar to the devise active record example. "database_authenticatable" creates an autoincrementing primary key "id" field for you.
Notes on mehayden fork
Motivation was to get Devise 1.5.2 with UTC time fixes working with Sequel 3.30.0. I had tried the original mooman gem which was giving stack overflows because Devise 1.5.2 calls before_validation twice. I also tried the arthurdandrea fork which did not seem work correctly with the callbacks that Devise uses.
The solution provided in this version extends the Devise user models with ActiveModel::Callbacks. Wrapper methods for the Sequel :save, :update and :validate methods are included into the model which call the necessary ActiveModel "run_callbacks" on the :create, :update and :validation callback types used by Devise 1.5.2.
The design allows one to redefine :save, :update or :validate in the model class as long as "super" is called appropriately. These are redefined to call the wrapper methods which are then reincluded.
Credits / Contributors
A lot of testing designs are from dm-devise.