require 'generators/devise/orm_helpers' module Mongoid module Generators class DeviseGenerator < Rails::Generators::NamedBase include Devise::Generators::OrmHelpers def generate_model invoke "mongoid:model", [name] unless model_exists? && behavior == :invoke end def inject_field_types inject_into_file model_path, migration_data, :after => "include Mongoid::Document\n" if model_exists? end def inject_devise_content inject_into_file model_path, model_contents, :after => "include Mongoid::Document\n" if model_exists? end def migration_data < String, :default => "" field :encrypted_password, :type => String, :default => "" validates_presence_of :email validates_presence_of :encrypted_password ## Recoverable field :reset_password_token, :type => String field :reset_password_sent_at, :type => Time ## Rememberable field :remember_created_at, :type => Time ## Trackable field :sign_in_count, :type => Integer, :default => 0 field :current_sign_in_at, :type => Time field :last_sign_in_at, :type => Time field :current_sign_in_ip, :type => String field :last_sign_in_ip, :type => String ## Confirmable # field :confirmation_token, :type => String # field :confirmed_at, :type => Time # field :confirmation_sent_at, :type => Time # field :unconfirmed_email, :type => String # Only if using reconfirmable ## Lockable # field :failed_attempts, :type => Integer, :default => 0 # Only if lock strategy is :failed_attempts # field :unlock_token, :type => String # Only if unlock strategy is :email or :both # field :locked_at, :type => Time ## Token authenticatable # field :authentication_token, :type => String RUBY end end end end