Module: AuthThree::Generators::OrmHelpers

Included in:
InstallGenerator
Defined in:
lib/generators/orm_helpers.rb

Instance Method Summary collapse

Instance Method Details

#migration_dataObject



57
58
59
60
61
62
63
64
65
66
# File 'lib/generators/orm_helpers.rb', line 57

def migration_data
"t.string :username, null: false\n\nt.string :email, null: false\n\nt.string :password_digest, null: false\nt.string :session_token, null: false\n"
end

#migration_index_dataObject



68
69
70
71
72
73
74
75
# File 'lib/generators/orm_helpers.rb', line 68

def migration_index_data
"\n    add_index :users, :username, unique: true\n    add_index :users, :email, unique: true\n    add_index :users, :session_token, unique: true\n"
end

#model_contentsObject



5
6
7
8
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
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/generators/orm_helpers.rb', line 5

def model_contents
"  validates :username, :email, :session_token, presence: true\n  validates :username, uniqueness: true\n  validates :password_digest, presence: { message: \"Password can't be blank.\"}\n  validates :password, length: { minimum: 6, allow_nil: true }\n\n  after_initialize :ensure_session_token\n\n  def self.token\n    SecureRandom::urlsafe_base64(16)\n  end\n\n  def self.find_by_credentials(username, password)\n    user = User.find_by(username: username)\n    return nil if user.nil?\n    if user.is_password?(password)\nreturn user\n    else\nreturn nil\n    end\n  end\n\n  attr_reader :password\n\n  def password=(password)\n    @password = password\n    self.password_digest = digest(password)\n  end\n\n  def digest(string)\n    string_digest = BCrypt::Password.create(string)\n  end\n\n  def is_password?(password)\n    BCrypt::Password.new(self.password_digest).is_password?(password)\n  end\n\n  def reset_session_token!\n    self.session_token = User.token\n    self.save\n    self.session_token\n  end\n\n  private\n\n  def ensure_session_token\n    self.session_token ||= User.token\n  end\n"
end