Class: Mongoid::Generators::DeviseGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Devise::Generators::OrmHelpers
Defined in:
lib/generators/mongoid/devise_generator.rb

Instance Method Summary collapse

Methods included from Devise::Generators::OrmHelpers

#model_contents

Instance Method Details

#generate_modelObject

[View source] [View on GitHub]

11
12
13
# File 'lib/generators/mongoid/devise_generator.rb', line 11

def generate_model
  invoke "mongoid:model", [name] unless model_exists? && behavior == :invoke
end

#inject_devise_contentObject

[View source] [View on GitHub]

19
20
21
# File 'lib/generators/mongoid/devise_generator.rb', line 19

def inject_devise_content
  inject_into_file model_path, model_contents, after: "include Mongoid::Document\n" if model_exists?
end

#inject_field_typesObject

[View source] [View on GitHub]

15
16
17
# File 'lib/generators/mongoid/devise_generator.rb', line 15

def inject_field_types
  inject_into_file model_path, migration_data, after: "include Mongoid::Document\n" if model_exists?
end

#migration_dataObject

[View source] [View on GitHub]

23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/generators/mongoid/devise_generator.rb', line 23

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