gennaro 0.2.1 → 0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/gennaro +1 -1
- data/lib/gennaro/gennaro.rb +1 -0
- data/lib/gennaro/version.rb +1 -1
- data/templates/authentication/Gemfile +1 -0
- data/templates/authentication/Rakefile +5 -1
- data/templates/authentication/app/controllers/application.rb +22 -0
- data/templates/authentication/app/controllers/users.rb +68 -48
- data/templates/authentication/app/helpers/application.rb +20 -0
- data/templates/authentication/app/helpers/cookie.rb +5 -8
- data/templates/authentication/app/helpers/user.rb +11 -1
- data/templates/authentication/app/models/user.rb +4 -28
- data/templates/authentication/app/views/user/login.erb +16 -0
- data/templates/authentication/app/views/user/logout.erb +9 -0
- data/templates/authentication/app/views/user/lost_password.erb +15 -0
- data/templates/authentication/app/views/user/password_recovery.erb +17 -0
- data/templates/authentication/app/views/user/signup.erb +17 -0
- data/templates/authentication/app/views/user/template/footer.rb +2 -0
- data/templates/authentication/app/views/user/template/header.erb +8 -0
- data/templates/authentication/config.ru +5 -0
- data/templates/authentication/views/user/login.erb +16 -0
- data/templates/authentication/views/user/logout.erb +9 -0
- data/templates/authentication/views/user/lost_password.erb +15 -0
- data/templates/authentication/views/user/new_password.erb +16 -0
- data/templates/authentication/views/user/password_recovery.erb +17 -0
- data/templates/authentication/views/user/signup.erb +17 -0
- data/templates/authentication/views/user/template/footer.erb +2 -0
- data/templates/authentication/views/user/template/header.erb +8 -0
- metadata +19 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80405acaeb5e87ed31dc20a59b3cb045fb0b0636
|
4
|
+
data.tar.gz: b0354be72a53234219c5e458982514ea2b9d1549
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d00251c816c985f2da759a2663ce5ce296c086c153e9975707333670e06f61e0ccc5021b68efeb11e63ec50e6388523dfd04c085180bcd238f7dd976cc8e5a2b
|
7
|
+
data.tar.gz: 78f08cfa769fece813ea53603a2353d2ee27b823a01c77a141e49f035aa115a36d203c9e83e4ad2e56b9ae58645e19121c59e4b66d254884bcc39911e6d596c6
|
data/bin/gennaro
CHANGED
@@ -57,5 +57,5 @@ else
|
|
57
57
|
gennaro = Gennaro.new template, options[:classname], options[:path], options[:force]
|
58
58
|
gennaro.generate!
|
59
59
|
gennaro.replace_tags!
|
60
|
-
puts "All done. Execute 'cd #{gennaro.path} && bundle install && rake
|
60
|
+
puts "All done. Execute 'cd #{gennaro.path} && bundle install && rake'"
|
61
61
|
end
|
data/lib/gennaro/gennaro.rb
CHANGED
data/lib/gennaro/version.rb
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
2
|
require 'rake'
|
3
3
|
|
4
|
-
task :default => :test
|
4
|
+
task :default => [ :test, :run ]
|
5
5
|
|
6
6
|
task :test do
|
7
7
|
FileUtils.cd 'spec' do
|
8
8
|
sh 'rspec user_spec.rb --backtrace --color --format doc'
|
9
9
|
end
|
10
10
|
File.delete 'db/spec.db' if File.exists? 'db/spec.db'
|
11
|
+
end
|
12
|
+
|
13
|
+
task :run do
|
14
|
+
sh 'thin -R config.ru -p 4567 start'
|
11
15
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#--
|
2
|
+
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
3
|
+
# Version 2, December 2004
|
4
|
+
#
|
5
|
+
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
6
|
+
# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
7
|
+
#
|
8
|
+
# 0. You just DO WHAT THE FUCK YOU WANT TO.
|
9
|
+
#++
|
10
|
+
|
11
|
+
class ${ClassName}
|
12
|
+
before do
|
13
|
+
@title = '${ClassName}'
|
14
|
+
@language = request.env['HTTP_ACCEPT_LANGUAGE']
|
15
|
+
@current_url = "http://#{request.env['HTTP_HOST']}#{request.env['REQUEST_URI']}"
|
16
|
+
@domain = "http://#{request.env['HTTP_HOST']}"
|
17
|
+
end
|
18
|
+
|
19
|
+
get '/' do
|
20
|
+
'Hello, world!'
|
21
|
+
end
|
22
|
+
end
|
@@ -9,78 +9,98 @@
|
|
9
9
|
#++
|
10
10
|
|
11
11
|
class ${ClassName}
|
12
|
-
|
13
|
-
|
14
|
-
return 'You are already logged in.'
|
15
|
-
end
|
16
|
-
|
17
|
-
if User.login params[:username], params[:password]
|
18
|
-
'Login successful.'
|
19
|
-
else
|
20
|
-
'Login failed.'
|
21
|
-
end
|
12
|
+
get '/user/login/?' do
|
13
|
+
erb :'user/login'
|
22
14
|
end
|
23
15
|
|
24
|
-
|
16
|
+
get '/user/logout/?' do
|
25
17
|
if logged_in?
|
26
18
|
current_user.logout!
|
27
|
-
|
19
|
+
delete_login!
|
20
|
+
@success = 'Logout successful.'
|
28
21
|
else
|
29
|
-
'You are not logged in.'
|
22
|
+
@error = 'You are not logged in.'
|
30
23
|
end
|
24
|
+
|
25
|
+
erb :'user/logout'
|
31
26
|
end
|
32
27
|
|
33
|
-
|
34
|
-
|
35
|
-
|
28
|
+
get '/user/signup/?' do
|
29
|
+
erb :'user/signup'
|
30
|
+
end
|
31
|
+
|
32
|
+
get '/user/lost_password/?' do
|
33
|
+
erb :'user/lost_password'
|
34
|
+
end
|
35
|
+
|
36
|
+
get '/user/password_recovery/?' do
|
37
|
+
erb :'user/password_recovery'
|
38
|
+
end
|
39
|
+
|
40
|
+
post '/user/login/?' do
|
41
|
+
if not fields? :username, :password
|
42
|
+
@error = 'You have to complete all the required fields.'
|
43
|
+
elsif logged_in?
|
44
|
+
@error = 'You are already logged in.'
|
45
|
+
else
|
46
|
+
session = User.login params[:username], params[:password]
|
47
|
+
if session
|
48
|
+
set_login! session
|
49
|
+
@success = 'Login successful.'
|
50
|
+
else
|
51
|
+
@error = 'Login failed.'
|
52
|
+
end
|
36
53
|
end
|
37
54
|
|
38
|
-
|
39
|
-
|
55
|
+
erb :'user/login'
|
56
|
+
end
|
57
|
+
|
58
|
+
post '/user/signup/?' do
|
59
|
+
if not fields? :username, :email, :password
|
60
|
+
@error = 'You have to complete all the required fields.'
|
61
|
+
elsif logged_in?
|
62
|
+
@error = 'You are already logged in.'
|
63
|
+
elsif User.exists? params[:username]
|
64
|
+
@error = 'The username you have chosen is already taken.'
|
40
65
|
else
|
41
|
-
user = User.
|
66
|
+
user = User.signup params[:username], params[:email], params[:password], User.user
|
42
67
|
if user.errors.any?
|
43
|
-
user.errors.first
|
68
|
+
@error = user.errors.first
|
44
69
|
else
|
45
|
-
'Sign up successful.'
|
70
|
+
@success = 'Sign up successful.'
|
46
71
|
end
|
47
72
|
end
|
73
|
+
|
74
|
+
erb :'user/signup'
|
48
75
|
end
|
49
76
|
|
50
77
|
post '/user/lost_password/?' do
|
51
|
-
if
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
User.lost_password params[:username]
|
78
|
+
if not fields? :username
|
79
|
+
@error = 'You have to complete all the required fields.'
|
80
|
+
elsif logged_in?
|
81
|
+
@error = 'You are already logged in.'
|
82
|
+
elsif User.exists? params[:username]
|
83
|
+
passcode = User.lost_password params[:username]
|
84
|
+
# send a mail or what you want
|
85
|
+
@success = 'You should receive a mail with the instructions to recover your password.'
|
57
86
|
else
|
58
|
-
'The given username doesn\'t exists.'
|
87
|
+
@error = 'The given username doesn\'t exists.'
|
59
88
|
end
|
89
|
+
|
90
|
+
erb :'user/lost_password'
|
60
91
|
end
|
61
92
|
|
62
93
|
post '/user/password_recovery/?' do
|
63
|
-
if
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
'Password set successful.'
|
94
|
+
if not fields? :username, :passcode, :password
|
95
|
+
@error = 'You have to complete all the required fields.'
|
96
|
+
elsif logged_in?
|
97
|
+
@error = 'You are already logged in.'
|
98
|
+
elsif User.password_recovery params[:username], params[:passcode], params[:password]
|
99
|
+
@success = 'Password set successful.'
|
69
100
|
else
|
70
|
-
'Error setting the password.'
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
post '/user/new_password/?' do
|
75
|
-
unless logged_in?
|
76
|
-
return 'You need to log in.'
|
101
|
+
@error = 'Error setting the password.'
|
77
102
|
end
|
78
103
|
|
79
|
-
|
80
|
-
if user
|
81
|
-
'Your new password has been set.'
|
82
|
-
else
|
83
|
-
'Error setting your new password.'
|
84
|
-
end
|
104
|
+
erb :'user/password_recovery'
|
85
105
|
end
|
86
|
-
end
|
106
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#--
|
2
|
+
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
3
|
+
# Version 2, December 2004
|
4
|
+
#
|
5
|
+
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
6
|
+
# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
7
|
+
#
|
8
|
+
# 0. You just DO WHAT THE FUCK YOU WANT TO.
|
9
|
+
#++
|
10
|
+
|
11
|
+
class ${ClassName}
|
12
|
+
helpers do
|
13
|
+
def fields?(*args)
|
14
|
+
args.each { |a|
|
15
|
+
return false unless params.include? a.to_s
|
16
|
+
}
|
17
|
+
true
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -18,19 +18,16 @@ class ${ClassName}
|
|
18
18
|
}
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
|
23
|
-
:value => '',
|
24
|
-
:expires => Time.now
|
25
|
-
}
|
21
|
+
def get_cookie(key)
|
22
|
+
request.cookies[key]
|
26
23
|
end
|
27
24
|
|
28
25
|
def cookie_exists?(key)
|
29
|
-
|
26
|
+
!!get_cookie(key)
|
30
27
|
end
|
31
28
|
|
32
|
-
def
|
33
|
-
|
29
|
+
def delete_cookie(key)
|
30
|
+
set_cookie key, '', '/', Time.now
|
34
31
|
end
|
35
32
|
end
|
36
33
|
end
|
@@ -12,7 +12,7 @@ class ${ClassName}
|
|
12
12
|
helpers do
|
13
13
|
def current_user
|
14
14
|
guest = Guest.new
|
15
|
-
return guest unless cookie_exists? '
|
15
|
+
return guest unless cookie_exists? 'sessid'
|
16
16
|
User.first(:session => get_cookie('sessid')) || guest
|
17
17
|
end
|
18
18
|
|
@@ -20,5 +20,15 @@ class ${ClassName}
|
|
20
20
|
current_user.is_a? User
|
21
21
|
end
|
22
22
|
alias_method :logged?, :logged_in?
|
23
|
+
|
24
|
+
def set_login(session)
|
25
|
+
set_cookie 'sessid', session
|
26
|
+
end
|
27
|
+
alias_method :set_login!, :set_login
|
28
|
+
|
29
|
+
def delete_login
|
30
|
+
delete_cookie 'sessid'
|
31
|
+
end
|
32
|
+
alias_method :delete_login!, :delete_login
|
23
33
|
end
|
24
34
|
end
|
@@ -30,8 +30,9 @@ class User
|
|
30
30
|
property :updated_at, DateTime
|
31
31
|
|
32
32
|
def password=(password)
|
33
|
-
|
34
|
-
self.
|
33
|
+
salt = BCrypt::Engine.generate_salt
|
34
|
+
self.salt = salt
|
35
|
+
self.salted_password = BCrypt::Engine.hash_secret password, salt
|
35
36
|
end
|
36
37
|
|
37
38
|
def founder?
|
@@ -74,11 +75,6 @@ class User
|
|
74
75
|
end
|
75
76
|
alias_method :logout!, :logout
|
76
77
|
|
77
|
-
def new_password(curr_password, password)
|
78
|
-
return false unless self.salted_password == BCrypt::Engine.hash_secret(curr_password, self.salt)
|
79
|
-
self.password = password
|
80
|
-
end
|
81
|
-
|
82
78
|
class << self
|
83
79
|
def banned
|
84
80
|
-1
|
@@ -127,7 +123,7 @@ class User
|
|
127
123
|
user = User.first(:username => username)
|
128
124
|
return false unless user
|
129
125
|
if user.salted_password == BCrypt::Engine.hash_secret(password, user.salt)
|
130
|
-
user.update(:session => BCrypt::Engine.generate_salt)
|
126
|
+
return user.update(:session => BCrypt::Engine.generate_salt) ? user.session : false
|
131
127
|
else
|
132
128
|
false
|
133
129
|
end
|
@@ -136,19 +132,6 @@ class User
|
|
136
132
|
alias_method :signin, :authentication
|
137
133
|
alias_method :authenticate, :authentication
|
138
134
|
|
139
|
-
def logout(username)
|
140
|
-
user = User.first(:username => username)
|
141
|
-
return false unless user
|
142
|
-
user.update(:session => '')
|
143
|
-
user.session.empty?
|
144
|
-
end
|
145
|
-
alias_method :logout!, :logout
|
146
|
-
|
147
|
-
def logged?(username, session)
|
148
|
-
User.count(:username => username, :session => session) == 1
|
149
|
-
end
|
150
|
-
alias_method :logged_in?, :logged?
|
151
|
-
|
152
135
|
def lost_password(username)
|
153
136
|
user = User.first(:username => username)
|
154
137
|
return false unless user
|
@@ -168,12 +151,5 @@ class User
|
|
168
151
|
:password => password
|
169
152
|
})
|
170
153
|
end
|
171
|
-
|
172
|
-
def new_password(username, curr_password, password)
|
173
|
-
user = User.first(:username => username)
|
174
|
-
return false unless user
|
175
|
-
return false unless user.salted_password == BCrypt::Engine.hash_secret(curr_password, user.salt)
|
176
|
-
user.update(:password => password)
|
177
|
-
end
|
178
154
|
end
|
179
155
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%= erb :'template/header' %>
|
2
|
+
|
3
|
+
<% if defined? @error %>
|
4
|
+
<p class="error"><%= @error %></p>
|
5
|
+
<% elsif defined? @success %>
|
6
|
+
<p class="success"><%= @success %></p>
|
7
|
+
<% else %>
|
8
|
+
<form action="<%= @current_url %>" method="post">
|
9
|
+
<input type="text" placeholder="username" name="username"><br>
|
10
|
+
<input type="password" placeholder="password" name="password"><br>
|
11
|
+
<%= csrf_tag %>
|
12
|
+
<input type="submit" value="Login">
|
13
|
+
</form>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<%= erb :'template/footer' %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%= erb :'template/header' %>
|
2
|
+
|
3
|
+
<% if defined? @error %>
|
4
|
+
<p class="error"><%= @error %></p>
|
5
|
+
<% elsif defined? @success %>
|
6
|
+
<p class="success"><%= @success %></p>
|
7
|
+
<% else %>
|
8
|
+
<form action="<%= @current_url %>" method="post">
|
9
|
+
<input type="text" placeholder="username" name="username"><br>
|
10
|
+
<%= csrf_tag %>
|
11
|
+
<input type="submit" value="Request">
|
12
|
+
</form>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<%= erb :'template/footer' %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= erb :'template/header' %>
|
2
|
+
|
3
|
+
<% if defined? @error %>
|
4
|
+
<p class="error"><%= @error %></p>
|
5
|
+
<% elsif defined? @success %>
|
6
|
+
<p class="success"><%= @success %></p>
|
7
|
+
<% else %>
|
8
|
+
<form action="<%= @current_url %>" method="post">
|
9
|
+
<input type="text" placeholder="username" name="username"><br>
|
10
|
+
<input type="password" placeholder="code" name="passcode"><br>
|
11
|
+
<input type="password" placeholder="new password" name="password"><br>
|
12
|
+
<%= csrf_tag %>
|
13
|
+
<input type="submit" value="Recover">
|
14
|
+
</form>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<%= erb :'template/footer' %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= erb :'template/header' %>
|
2
|
+
|
3
|
+
<% if defined? @error %>
|
4
|
+
<p class="error"><%= @error %></p>
|
5
|
+
<% elsif defined? @success %>
|
6
|
+
<p class="success"><%= @success %></p>
|
7
|
+
<% else %>
|
8
|
+
<form action="<%= @current_url %>" method="post">
|
9
|
+
<input type="text" placeholder="username" name="username"><br>
|
10
|
+
<input type="email" placeholder="email" name="email" ><br>
|
11
|
+
<input type="password" placeholder="password" name="password"><br>
|
12
|
+
<%= csrf_tag %>
|
13
|
+
<input type="submit" value="Sign up">
|
14
|
+
</form>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<%= erb :'template/footer' %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%= erb :'user/template/header' %>
|
2
|
+
|
3
|
+
<% if defined? @error %>
|
4
|
+
<p class="error"><%= @error %></p>
|
5
|
+
<% elsif defined? @success %>
|
6
|
+
<p class="success"><%= @success %></p>
|
7
|
+
<% else %>
|
8
|
+
<form action="<%= @current_url %>" method="post">
|
9
|
+
<input type="text" placeholder="username" name="username"><br>
|
10
|
+
<input type="password" placeholder="password" name="password"><br>
|
11
|
+
<%= csrf_tag %>
|
12
|
+
<input type="submit" value="Login">
|
13
|
+
</form>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<%= erb :'user/template/footer' %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%= erb :'user/template/header' %>
|
2
|
+
|
3
|
+
<% if defined? @error %>
|
4
|
+
<p class="error"><%= @error %></p>
|
5
|
+
<% elsif defined? @success %>
|
6
|
+
<p class="success"><%= @success %></p>
|
7
|
+
<% else %>
|
8
|
+
<form action="<%= @current_url %>" method="post">
|
9
|
+
<input type="text" placeholder="username" name="username"><br>
|
10
|
+
<%= csrf_tag %>
|
11
|
+
<input type="submit" value="Request">
|
12
|
+
</form>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<%= erb :'user/template/footer' %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%= erb :'user/template/header' %>
|
2
|
+
|
3
|
+
<% if defined? @error %>
|
4
|
+
<p class="error"><%= @error %></p>
|
5
|
+
<% elsif defined? @success %>
|
6
|
+
<p class="success"><%= @success %></p>
|
7
|
+
<% else %>
|
8
|
+
<form action="<%= @current_url %>" method="post">
|
9
|
+
<input type="password" placeholder="current password" name="curr_password"><br>
|
10
|
+
<input type="password" placeholder="new password" name="password" ><br>
|
11
|
+
<%= csrf_tag %>
|
12
|
+
<input type="submit" value="Send">
|
13
|
+
</form>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<%= erb :'user/template/footer' %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= erb :'user/template/header' %>
|
2
|
+
|
3
|
+
<% if defined? @error %>
|
4
|
+
<p class="error"><%= @error %></p>
|
5
|
+
<% elsif defined? @success %>
|
6
|
+
<p class="success"><%= @success %></p>
|
7
|
+
<% else %>
|
8
|
+
<form action="<%= @current_url %>" method="post">
|
9
|
+
<input type="text" placeholder="username" name="username"><br>
|
10
|
+
<input type="password" placeholder="code" name="passcode"><br>
|
11
|
+
<input type="password" placeholder="new password" name="password"><br>
|
12
|
+
<%= csrf_tag %>
|
13
|
+
<input type="submit" value="Recover">
|
14
|
+
</form>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<%= erb :'user/template/footer' %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= erb :'user/template/header' %>
|
2
|
+
|
3
|
+
<% if defined? @error %>
|
4
|
+
<p class="error"><%= @error %></p>
|
5
|
+
<% elsif defined? @success %>
|
6
|
+
<p class="success"><%= @success %></p>
|
7
|
+
<% else %>
|
8
|
+
<form action="<%= @current_url %>" method="post">
|
9
|
+
<input type="text" placeholder="username" name="username"><br>
|
10
|
+
<input type="email" placeholder="email" name="email" ><br>
|
11
|
+
<input type="password" placeholder="password" name="password"><br>
|
12
|
+
<%= csrf_tag %>
|
13
|
+
<input type="submit" value="Sign up">
|
14
|
+
</form>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<%= erb :'user/template/footer' %>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gennaro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Giovanni Capuano
|
@@ -50,16 +50,34 @@ files:
|
|
50
50
|
- lib/gennaro/gennaro.rb
|
51
51
|
- lib/gennaro/version.rb
|
52
52
|
- lib/gennaro.rb
|
53
|
+
- templates/authentication/app/controllers/application.rb
|
53
54
|
- templates/authentication/app/controllers/users.rb
|
55
|
+
- templates/authentication/app/helpers/application.rb
|
54
56
|
- templates/authentication/app/helpers/cookie.rb
|
55
57
|
- templates/authentication/app/helpers/csrf.rb
|
56
58
|
- templates/authentication/app/helpers/user.rb
|
57
59
|
- templates/authentication/app/models/guest.rb
|
58
60
|
- templates/authentication/app/models/user.rb
|
61
|
+
- templates/authentication/app/views/user/login.erb
|
62
|
+
- templates/authentication/app/views/user/logout.erb
|
63
|
+
- templates/authentication/app/views/user/lost_password.erb
|
64
|
+
- templates/authentication/app/views/user/password_recovery.erb
|
65
|
+
- templates/authentication/app/views/user/signup.erb
|
66
|
+
- templates/authentication/app/views/user/template/footer.rb
|
67
|
+
- templates/authentication/app/views/user/template/header.erb
|
68
|
+
- templates/authentication/config.ru
|
59
69
|
- templates/authentication/Gemfile
|
60
70
|
- templates/authentication/Rakefile
|
61
71
|
- templates/authentication/spec/spec.rb
|
62
72
|
- templates/authentication/spec/user_spec.rb
|
73
|
+
- templates/authentication/views/user/login.erb
|
74
|
+
- templates/authentication/views/user/logout.erb
|
75
|
+
- templates/authentication/views/user/lost_password.erb
|
76
|
+
- templates/authentication/views/user/new_password.erb
|
77
|
+
- templates/authentication/views/user/password_recovery.erb
|
78
|
+
- templates/authentication/views/user/signup.erb
|
79
|
+
- templates/authentication/views/user/template/footer.erb
|
80
|
+
- templates/authentication/views/user/template/header.erb
|
63
81
|
- templates/authentication/_class_name_.rb
|
64
82
|
- spec/gennaro_spec.rb
|
65
83
|
- bin/gennaro
|