Sha256: a94266d0c7da6c0b48752b7d7d2ace967d830a2412c21fc0de1934404f262828

Contents?: true

Size: 1.71 KB

Versions: 20

Compression:

Stored size: 1.71 KB

Contents

# frozen_string_literal: true

require 'rails/generators/named_base'
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, default: ""
  field :encrypted_password, type: String, 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

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

Version data entries

20 entries across 19 versions & 4 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/devise-4.9.4/lib/generators/mongoid/devise_generator.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/devise-4.9.4/lib/generators/mongoid/devise_generator.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/generators/mongoid/devise_generator.rb
devise-4.9.4 lib/generators/mongoid/devise_generator.rb
devise-4.9.3 lib/generators/mongoid/devise_generator.rb
devise-4.9.2 lib/generators/mongoid/devise_generator.rb
devise-4.9.1 lib/generators/mongoid/devise_generator.rb
devise-4.9.0 lib/generators/mongoid/devise_generator.rb
devise-4.8.1 lib/generators/mongoid/devise_generator.rb
date_n_time_picker_activeadmin-0.1.2 vendor/bundle/ruby/2.6.0/gems/devise-4.8.0/lib/generators/mongoid/devise_generator.rb
date_n_time_picker_activeadmin-0.1.1 vendor/bundle/ruby/2.6.0/gems/devise-4.8.0/lib/generators/mongoid/devise_generator.rb
devise-4.8.0 lib/generators/mongoid/devise_generator.rb
devise-4.7.3 lib/generators/mongoid/devise_generator.rb
devise-4.7.2 lib/generators/mongoid/devise_generator.rb
devise-4.7.1 lib/generators/mongoid/devise_generator.rb
devise-4.7.0 lib/generators/mongoid/devise_generator.rb
devise-4.6.2 lib/generators/mongoid/devise_generator.rb
devise-4.6.1 lib/generators/mongoid/devise_generator.rb
devise-4.6.0 lib/generators/mongoid/devise_generator.rb
devise-4.5.0 lib/generators/mongoid/devise_generator.rb