Sha256: 3fd3cfcb0dc95a030965bbed0e35cbff2d51f1e245e10810ca6deedc40a7da61

Contents?: true

Size: 1.86 KB

Versions: 16

Compression:

Stored size: 1.86 KB

Contents

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
<<RUBY
  ## Database authenticatable
  field :email,              :type => String, :null => false, :default => ""
  field :encrypted_password, :type => String, :null => false, :default => ""

  ## 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

  ## Encryptable
  # field :password_salt, :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

Version data entries

16 entries across 16 versions & 4 rubygems

Version Path
devise-2.0.6 lib/generators/mongoid/devise_generator.rb
devise-2.0.5 lib/generators/mongoid/devise_generator.rb
sunrise-cms-0.3.3 vendor/bundle/ruby/1.9.1/gems/devise-2.0.4/lib/generators/mongoid/devise_generator.rb
sunrise-cms-0.3.2 vendor/bundle/ruby/1.9.1/gems/devise-2.0.4/lib/generators/mongoid/devise_generator.rb
sunrise-cms-0.3.1 vendor/bundle/ruby/1.9.1/gems/devise-2.0.4/lib/generators/mongoid/devise_generator.rb
sunrise-cms-0.3.0 vendor/bundle/ruby/1.9.1/gems/devise-2.0.4/lib/generators/mongoid/devise_generator.rb
sunrise-cms-0.3.0.rc vendor/bundle/ruby/1.9.1/gems/devise-2.0.4/lib/generators/mongoid/devise_generator.rb
upstream-devise-2.1.0.rc lib/generators/mongoid/devise_generator.rb
devise-2.1.0.rc lib/generators/mongoid/devise_generator.rb
devise-2.0.4 lib/generators/mongoid/devise_generator.rb
devise-2.0.2 lib/generators/mongoid/devise_generator.rb
devise-2.0.1 lib/generators/mongoid/devise_generator.rb
devise-2.0.0 lib/generators/mongoid/devise_generator.rb
devise-2.0.0.rc2 lib/generators/mongoid/devise_generator.rb
devise-2.0.0.rc lib/generators/mongoid/devise_generator.rb
cloudfoundry-devise-1.5.2 lib/generators/mongoid/devise_generator.rb