Class: DeviseTokenAuth::InstallMongoidGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
InstallGeneratorHelpers
Defined in:
lib/generators/devise_token_auth/install_mongoid_generator.rb

Instance Method Summary collapse

Methods included from InstallGeneratorHelpers

included

Instance Method Details

#create_user_modelObject



9
10
11
12
13
14
15
16
17
18
19
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
# File 'lib/generators/devise_token_auth/install_mongoid_generator.rb', line 9

def create_user_model
  fname = "app/models/#{user_class.underscore}.rb"
  if File.exist?(File.join(destination_root, fname))
    inclusion = 'include DeviseTokenAuth::Concerns::User'
    unless parse_file_for_line(fname, inclusion)
      inject_into_file fname, before: /end\s\z/ do "\n  include Mongoid::Locker\n\n  field :locker_locked_at, type: Time\n  field :locker_locked_until, type: Time\n\n  locker locked_at_field: :locker_locked_at,\n     locked_until_field: :locker_locked_until\n\n  ## Required\n  field :provider, type: String\n  field :uid,      type: String, default: ''\n\n  ## Tokens\n  field :tokens, type: Hash, default: {}\n\n  # Include default devise modules. Others available are:\n  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable\n  devise :database_authenticatable, :registerable,\n     :recoverable, :rememberable, :validatable\n  include DeviseTokenAuth::Concerns::User\n\n  index({ uid: 1, provider: 1}, { name: 'uid_provider_index', unique: true, background: true })\n        RUBY\n      end\n    end\n  else\n    template('user_mongoid.rb.erb', fname)\n  end\nend\n"