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

#migration_exists?, #migration_path, #model_contents, #model_exists?, #model_path

Instance Method Details

#generate_modelObject

[View source]

8
9
10
# File 'lib/generators/mongoid/devise_generator.rb', line 8

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

#inject_devise_contentObject

[View source]

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

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]

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

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

#migration_dataObject

[View source]

20
21
22
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 20

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

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