nyauth 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -6
- data/app/controllers/concerns/nyauth/application_concern.rb +10 -0
- data/app/controllers/concerns/nyauth/client_concern.rb +31 -0
- data/app/controllers/nyauth/confirmation_requests_controller.rb +10 -8
- data/app/controllers/nyauth/confirmations_controller.rb +8 -6
- data/app/controllers/nyauth/new_password_requests_controller.rb +10 -8
- data/app/controllers/nyauth/new_passwords_controller.rb +10 -8
- data/app/controllers/nyauth/passwords_controller.rb +11 -9
- data/app/controllers/nyauth/registrations_controller.rb +10 -8
- data/app/controllers/nyauth/sessions_controller.rb +6 -4
- data/app/helpers/nyauth/application_helper.rb +38 -1
- data/app/mailers/nyauth/request_mailer.rb +15 -0
- data/app/views/nyauth/confirmation_requests/new.html.slim +1 -1
- data/app/views/nyauth/confirmations/edit.html.slim +2 -2
- data/app/views/nyauth/new_password_requests/new.html.slim +1 -1
- data/app/views/nyauth/new_passwords/edit.html.slim +3 -3
- data/app/views/nyauth/passwords/edit.html.slim +3 -3
- data/app/views/nyauth/registrations/new.html.slim +3 -3
- data/app/views/nyauth/request_mailer/request_confirmation.html.slim +2 -0
- data/app/views/nyauth/request_mailer/request_confirmation.text.erb +3 -0
- data/app/views/nyauth/request_mailer/request_new_password.html.slim +2 -0
- data/app/views/nyauth/request_mailer/request_new_password.text.erb +3 -0
- data/app/views/nyauth/sessions/new.html.slim +1 -5
- data/config/routes.rb +1 -1
- data/lib/generators/nyauth/install_generator.rb +11 -0
- data/lib/generators/nyauth/templates/nyauth_install_initializer.rb +7 -0
- data/lib/nyauth/configuration.rb +40 -0
- data/lib/nyauth/engine.rb +2 -0
- data/lib/nyauth/version.rb +1 -1
- data/lib/nyauth.rb +10 -0
- data/spec/dummy/app/controllers/pages_controller.rb +4 -0
- data/spec/dummy/app/controllers/posts_controller.rb +5 -0
- data/spec/dummy/app/models/admin.rb +3 -0
- data/spec/dummy/app/views/layouts/application.html.erb +2 -1
- data/spec/dummy/config/routes.rb +7 -1
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20150317141956_create_admins.rb +12 -0
- data/spec/dummy/db/schema.rb +11 -1
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +1662 -0
- data/spec/dummy/log/test.log +36831 -0
- data/spec/dummy/tmp/capybara/capybara-201503142131285774508896.html +1 -0
- data/spec/dummy/tmp/capybara/capybara-201503142131502672526321.html +1 -0
- data/spec/dummy/tmp/capybara/capybara-201503142132597161072575.html +16 -0
- data/spec/dummy/tmp/capybara/capybara-201503142147454003977122.html +16 -0
- data/spec/dummy/tmp/capybara/capybara-201503150030597512321952.html +1 -0
- data/spec/dummy/tmp/capybara/capybara-201503172332094559831059.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172332489943616503.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172333245353296202.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172335156567049015.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172339176031196898.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172340144947026095.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172341585213923875.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172342188836603353.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172344586782457691.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172346495241516033.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-201503172354248621830336.html +15 -0
- data/spec/dummy/tmp/capybara/capybara-20150623002226753539811.html +15 -0
- data/spec/dummy/tmp/pids/server.pid +1 -0
- data/spec/factories/admins.rb +6 -0
- data/spec/featrues/nyauth/registrations_spec.rb +1 -0
- data/spec/featrues/nyauth/sessions_spec.rb +54 -19
- data/spec/featrues/url_helper_on_application_spec.rb +10 -0
- data/spec/helpers/nyauth/application_helper_spec.rb +145 -0
- data/spec/lib/generators/nyauth/install_generator_spec.rb +19 -0
- data/spec/lib/generators/nyauth/tmp/config/initializers/nyauth.rb +7 -0
- data/spec/lib/nyauth/configuration_spec.rb +23 -0
- data/spec/mailers/nyauth/{user_mailer_spec.rb → request_mailer_spec.rb} +3 -3
- metadata +72 -13
- data/app/controllers/nyauth/base_controller.rb +0 -5
- data/app/mailers/nyauth/user_mailer.rb +0 -15
- data/app/views/nyauth/group_requests/new.html.slim +0 -14
- data/app/views/nyauth/groups/show.html.slim +0 -0
- data/app/views/nyauth/user_mailer/request_confirmation.html.slim +0 -2
- data/app/views/nyauth/user_mailer/request_confirmation.text.erb +0 -3
- data/app/views/nyauth/user_mailer/request_new_password.html.slim +0 -2
- data/app/views/nyauth/user_mailer/request_new_password.text.erb +0 -3
- /data/{app/views/nyauth/group_requests/edit.html.slim → spec/dummy/app/views/pages/index.html.slim} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd6e65944c1dc06e5b03ed7744365a09f3611cb5
|
4
|
+
data.tar.gz: 91ae82f9fd0543b01abb601a2a8f780e54dd92ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ac0d0c2c4a60a97a29f42a03cc71800d74a046944e3ed64e5ebb82a07d4d6f30a2b3d96228c4a3e67e5f21be4013dd5495f21ff383510322b173b4778b72627
|
7
|
+
data.tar.gz: 2deefd3ca405a7686c3e1a5c6eccdfc3e12f27c48bf09279fff447167f258e1968ae69ea9fd7441afca7f4404d64c14ab6f8a97c9bb50befcb908ed9998849d6
|
data/README.md
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
# Nyauth
|
2
2
|
|
3
|
-
|
3
|
+
### application_controller.rb
|
4
|
+
|
5
|
+
```ruby
|
4
6
|
class ApplicationController < ActionController::Base
|
5
7
|
include Nyauth::SessionConcern
|
6
|
-
self.responder = Nyauth::AppResponder
|
7
8
|
end
|
8
9
|
```
|
9
10
|
|
10
|
-
|
11
|
+
### migration
|
12
|
+
|
13
|
+
```ruby
|
11
14
|
class CreateUsers < ActiveRecord::Migration
|
12
15
|
def change
|
13
16
|
create_table :users do |t|
|
@@ -28,7 +31,9 @@ class CreateUsers < ActiveRecord::Migration
|
|
28
31
|
end
|
29
32
|
```
|
30
33
|
|
31
|
-
|
34
|
+
### model
|
35
|
+
|
36
|
+
```ruby
|
32
37
|
class User < ActiveRecord::Base
|
33
38
|
include Nyauth::Authenticatable
|
34
39
|
include Nyauth::Confirmable
|
@@ -36,8 +41,16 @@ class User < ActiveRecord::Base
|
|
36
41
|
end
|
37
42
|
```
|
38
43
|
|
39
|
-
|
44
|
+
### config/routes.rb
|
45
|
+
|
46
|
+
```ruby
|
40
47
|
Rails.application.routes.draw do
|
48
|
+
# for admin
|
49
|
+
namespace :nyauth, path: :admin, as: :admin do
|
50
|
+
resource :session, only: %i(new create destory)
|
51
|
+
end
|
52
|
+
|
53
|
+
# for user
|
41
54
|
mount Nyauth::Engine => "/"
|
42
55
|
end
|
43
56
|
```
|
@@ -46,7 +59,7 @@ end
|
|
46
59
|
rake routes
|
47
60
|
```
|
48
61
|
|
49
|
-
```
|
62
|
+
```ruby
|
50
63
|
Prefix Verb URI Pattern Controller#Action
|
51
64
|
nyauth /nyauth Nyauth::Engine
|
52
65
|
|
@@ -69,3 +82,8 @@ new_new_password_request GET /new_password_requests/new(.:format)
|
|
69
82
|
PUT /new_passwords/:new_password_key(.:format) nyauth/new_passwords#update
|
70
83
|
root GET / nyauth/sessions#new
|
71
84
|
```
|
85
|
+
|
86
|
+
```
|
87
|
+
new_session_path_for(:user) # /session/new
|
88
|
+
new_session_path_for(:admin) # /admin/session/new
|
89
|
+
```
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Nyauth
|
2
|
+
module ClientConcern
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
included do |base|
|
5
|
+
helper_method :client_class
|
6
|
+
helper_method :client_name
|
7
|
+
end
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@client_classes = {}
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def mounted_path
|
17
|
+
request.script_name.presence || "/#{request.path.split('/').try(:second)}"
|
18
|
+
end
|
19
|
+
|
20
|
+
# specify client class from mounted_path
|
21
|
+
def client_class
|
22
|
+
@client_classes[mounted_path] ||= mounted_path[1..-1].classify.constantize
|
23
|
+
rescue
|
24
|
+
@client_classes[mounted_path] = User
|
25
|
+
end
|
26
|
+
|
27
|
+
def client_name
|
28
|
+
client_class.name.underscore.to_sym
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,28 +1,30 @@
|
|
1
1
|
module Nyauth
|
2
|
-
class ConfirmationRequestsController <
|
2
|
+
class ConfirmationRequestsController < ApplicationController
|
3
|
+
include Nyauth::ApplicationConcern
|
4
|
+
include Nyauth::ClientConcern
|
3
5
|
allow_everyone
|
4
6
|
respond_to :html, :json
|
5
|
-
before_action :
|
6
|
-
after_action :send_mail, only: [:create], if: -> { @
|
7
|
+
before_action :set_client, only: [:create]
|
8
|
+
after_action :send_mail, only: [:create], if: -> { @client.confirmation_key.present? }
|
7
9
|
|
8
10
|
def new
|
9
11
|
end
|
10
12
|
|
11
13
|
def create
|
12
|
-
@
|
13
|
-
respond_with(@
|
14
|
+
@client.request_confirmation
|
15
|
+
respond_with(@client, location: Nyauth.configuration.redirect_path_after_create_request_confirmation || main_app.root_path)
|
14
16
|
end
|
15
17
|
|
16
18
|
private
|
17
19
|
|
18
|
-
def
|
19
|
-
@
|
20
|
+
def set_client
|
21
|
+
@client = client_class.find_by!(email: params[client_name][:email])
|
20
22
|
rescue ActiveRecord::RecordNotFound
|
21
23
|
render :new
|
22
24
|
end
|
23
25
|
|
24
26
|
def send_mail
|
25
|
-
Nyauth::
|
27
|
+
Nyauth::RequestMailer.request_confirmation(@client).deliver_now
|
26
28
|
end
|
27
29
|
end
|
28
30
|
end
|
@@ -1,19 +1,21 @@
|
|
1
1
|
module Nyauth
|
2
|
-
class ConfirmationsController <
|
2
|
+
class ConfirmationsController < ApplicationController
|
3
|
+
include Nyauth::ApplicationConcern
|
4
|
+
include Nyauth::ClientConcern
|
3
5
|
allow_everyone
|
4
6
|
self.responder = ConfirmationResponder
|
5
7
|
respond_to :html, :json
|
6
|
-
before_action :
|
8
|
+
before_action :set_client
|
7
9
|
|
8
10
|
def update
|
9
|
-
@
|
10
|
-
respond_with(@
|
11
|
+
@client.confirm
|
12
|
+
respond_with(@client, location: Nyauth.configuration.redirect_path_after_update_confirmation || main_app.root_path)
|
11
13
|
end
|
12
14
|
|
13
15
|
private
|
14
16
|
|
15
|
-
def
|
16
|
-
@
|
17
|
+
def set_client
|
18
|
+
@client = client_class.find_by!(confirmation_key: params[:confirmation_key])
|
17
19
|
end
|
18
20
|
end
|
19
21
|
end
|
@@ -1,28 +1,30 @@
|
|
1
1
|
module Nyauth
|
2
|
-
class NewPasswordRequestsController <
|
2
|
+
class NewPasswordRequestsController < ApplicationController
|
3
|
+
include Nyauth::ApplicationConcern
|
4
|
+
include Nyauth::ClientConcern
|
3
5
|
allow_everyone
|
4
6
|
respond_to :html, :json
|
5
|
-
before_action :
|
6
|
-
after_action :send_mail, only: [:create], if: -> { @
|
7
|
+
before_action :set_client, only: [:create]
|
8
|
+
after_action :send_mail, only: [:create], if: -> { @client.new_password_key.present? }
|
7
9
|
|
8
10
|
def new
|
9
11
|
end
|
10
12
|
|
11
13
|
def create
|
12
|
-
@
|
13
|
-
respond_with(@
|
14
|
+
@client.request_new_password
|
15
|
+
respond_with(@client, location: Nyauth.configuration.redirect_path_after_new_password_request || main_app.root_path)
|
14
16
|
end
|
15
17
|
|
16
18
|
private
|
17
19
|
|
18
|
-
def
|
19
|
-
@
|
20
|
+
def set_client
|
21
|
+
@client = client_class.find_by!(email: params[client_name][:email])
|
20
22
|
rescue ActiveRecord::RecordNotFound
|
21
23
|
render :new
|
22
24
|
end
|
23
25
|
|
24
26
|
def send_mail
|
25
|
-
Nyauth::
|
27
|
+
Nyauth::RequestMailer.request_new_password(@client).deliver_now
|
26
28
|
end
|
27
29
|
end
|
28
30
|
end
|
@@ -1,25 +1,27 @@
|
|
1
1
|
module Nyauth
|
2
|
-
class NewPasswordsController <
|
2
|
+
class NewPasswordsController < ApplicationController
|
3
|
+
include Nyauth::ApplicationConcern
|
4
|
+
include Nyauth::ClientConcern
|
3
5
|
allow_everyone
|
4
6
|
respond_to :html, :json
|
5
|
-
before_action :
|
7
|
+
before_action :set_client
|
6
8
|
|
7
9
|
def edit
|
8
10
|
end
|
9
11
|
|
10
12
|
def update
|
11
|
-
@
|
12
|
-
respond_with(@
|
13
|
+
@client.update_new_password(client_params)
|
14
|
+
respond_with(@client, location: Nyauth.configuration.redirect_path_after_update_new_password || new_session_path_for(client_name))
|
13
15
|
end
|
14
16
|
|
15
17
|
private
|
16
18
|
|
17
|
-
def
|
18
|
-
@
|
19
|
+
def set_client
|
20
|
+
@client = client_class.find_by!(new_password_key: params[:new_password_key])
|
19
21
|
end
|
20
22
|
|
21
|
-
def
|
22
|
-
params.fetch(
|
23
|
+
def client_params
|
24
|
+
params.fetch(client_name, {})
|
23
25
|
.permit(:password, :password_confirmation)
|
24
26
|
end
|
25
27
|
end
|
@@ -1,25 +1,27 @@
|
|
1
1
|
module Nyauth
|
2
|
-
class PasswordsController <
|
2
|
+
class PasswordsController < ApplicationController
|
3
|
+
include Nyauth::ApplicationConcern
|
4
|
+
include Nyauth::ClientConcern
|
3
5
|
respond_to :html, :json
|
4
|
-
before_action :
|
6
|
+
before_action :set_client
|
5
7
|
|
6
8
|
def edit
|
7
9
|
end
|
8
10
|
|
9
11
|
def update
|
10
|
-
@
|
11
|
-
@
|
12
|
-
respond_with(@
|
12
|
+
@client.attributes = client_params
|
13
|
+
@client.save(context: :update_password)
|
14
|
+
respond_with(@client, location: Nyauth.configuration.redirect_path_after_update_password || main_app.root_path)
|
13
15
|
end
|
14
16
|
|
15
17
|
private
|
16
18
|
|
17
|
-
def
|
18
|
-
@
|
19
|
+
def set_client
|
20
|
+
@client = client_class.find(current_authenticated.id)
|
19
21
|
end
|
20
22
|
|
21
|
-
def
|
22
|
-
params.fetch(
|
23
|
+
def client_params
|
24
|
+
params.fetch(client_name, {})
|
23
25
|
.permit(:password, :password_confirmation)
|
24
26
|
end
|
25
27
|
end
|
@@ -1,25 +1,27 @@
|
|
1
1
|
module Nyauth
|
2
|
-
class RegistrationsController <
|
2
|
+
class RegistrationsController < ApplicationController
|
3
|
+
include Nyauth::ApplicationConcern
|
4
|
+
include Nyauth::ClientConcern
|
3
5
|
allow_everyone
|
4
6
|
respond_to :html, :json
|
5
|
-
before_action :
|
7
|
+
before_action :set_client
|
6
8
|
|
7
9
|
def new
|
8
10
|
end
|
9
11
|
|
10
12
|
def create
|
11
|
-
sign_in(@
|
12
|
-
respond_with(@
|
13
|
+
sign_in(@client) if @client.save
|
14
|
+
respond_with(@client, location: Nyauth.configuration.redirect_path_after_registration || main_app.root_path)
|
13
15
|
end
|
14
16
|
|
15
17
|
private
|
16
18
|
|
17
|
-
def
|
18
|
-
@
|
19
|
+
def set_client
|
20
|
+
@client = client_class.new(client_params)
|
19
21
|
end
|
20
22
|
|
21
|
-
def
|
22
|
-
params.fetch(
|
23
|
+
def client_params
|
24
|
+
params.fetch(client_name, {})
|
23
25
|
.permit(:email, :password, :password_confirmation)
|
24
26
|
end
|
25
27
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module Nyauth
|
2
|
-
class SessionsController <
|
2
|
+
class SessionsController < ApplicationController
|
3
|
+
include Nyauth::ApplicationConcern
|
4
|
+
include Nyauth::ClientConcern
|
3
5
|
allow_everyone only: [:new, :create]
|
4
6
|
respond_to :html, :json
|
5
7
|
before_action :set_session_service
|
@@ -8,13 +10,13 @@ module Nyauth
|
|
8
10
|
end
|
9
11
|
|
10
12
|
def create
|
11
|
-
sign_in(@session_service.client) if @session_service.save
|
12
|
-
respond_with @session_service, location: root_path
|
13
|
+
sign_in(@session_service.client) if @session_service.save(as: client_name)
|
14
|
+
respond_with @session_service, location: Nyauth.configuration.redirect_path_after_sign_in || main_app.root_path
|
13
15
|
end
|
14
16
|
|
15
17
|
def destroy
|
16
18
|
sign_out
|
17
|
-
respond_with @session_service, location:
|
19
|
+
respond_with @session_service, location: Nyauth.configuration.redirect_path_after_sign_out || new_session_path
|
18
20
|
end
|
19
21
|
|
20
22
|
private
|
@@ -1,11 +1,48 @@
|
|
1
1
|
module Nyauth
|
2
2
|
module ApplicationHelper
|
3
3
|
def method_missing method, *args, &block
|
4
|
-
if method =~ /(
|
4
|
+
if method =~ /(.+)_path_for\z/
|
5
|
+
detect_url_helper($1, *args)
|
6
|
+
elsif method =~ /(_url|_path)\z/
|
5
7
|
main_app.send(method, *args)
|
6
8
|
else
|
7
9
|
super
|
8
10
|
end
|
9
11
|
end
|
12
|
+
|
13
|
+
# OPTIMEZE: :(
|
14
|
+
def detect_url_helper(feature, client_name, *args)
|
15
|
+
@__methods ||= Nyauth::Engine.routes.url_helpers.instance_methods + Rails.application.routes.url_helpers.instance_methods
|
16
|
+
@__candidates ||= @__methods.reject{|m| m =~ /\A(:?rails_|_)/}.map(&:to_s)
|
17
|
+
if client_name.to_sym == :user
|
18
|
+
detect_url_helper_for_nyauth(feature, *args)
|
19
|
+
else
|
20
|
+
detect_url_helper_for_app(feature, client_name, *args)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def detect_url_helper_for_nyauth(feature, *args)
|
25
|
+
path = @__candidates.grep(/\A#{feature}_path\z/).first
|
26
|
+
return nil unless path
|
27
|
+
nyauth.__send__(path, *args)
|
28
|
+
end
|
29
|
+
|
30
|
+
def detect_url_helper_for_app(feature, client_name, *args)
|
31
|
+
if feature =~ /new_(.+)/
|
32
|
+
path = @__candidates.grep(/\Anew_#{client_name}_#{$1}_path\z/).first
|
33
|
+
else
|
34
|
+
path = @__candidates.grep(/\A#{client_name}_#{feature}_path\z/).first
|
35
|
+
end
|
36
|
+
return nil unless path
|
37
|
+
__send__(path, *args)
|
38
|
+
end
|
39
|
+
|
40
|
+
def root_path
|
41
|
+
if main_app.respond_to?(:root_path)
|
42
|
+
main_app.__send__(:root_path)
|
43
|
+
else
|
44
|
+
'/'
|
45
|
+
end
|
46
|
+
end
|
10
47
|
end
|
11
48
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Nyauth
|
2
|
+
class RequestMailer < ActionMailer::Base
|
3
|
+
default from: "from@example.com"
|
4
|
+
layout 'nyauth/mailer'
|
5
|
+
def request_confirmation(client)
|
6
|
+
@client = client
|
7
|
+
mail to: client.email
|
8
|
+
end
|
9
|
+
|
10
|
+
def request_new_password(client)
|
11
|
+
@client = client
|
12
|
+
mail to: client.email
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
= form_for(
|
1
|
+
= form_for(client_class.new, url: confirmation_requests_path_for(client_name), mehotd: :post, html: { class: 'pure-form' }) do |f|
|
2
2
|
fieldset
|
3
3
|
legend= t 'nav.confirmation_requests.new'
|
4
4
|
= f.text_field(:email, placeholder: :email)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
= form_for(
|
1
|
+
= form_for(client_class.new, url: new_password_requests_path_for(client_name), mehotd: :post, html: { class: 'pure-form' }) do |f|
|
2
2
|
fieldset
|
3
3
|
legend= t 'nav.new_password_requests.new'
|
4
4
|
= f.text_field(:email, placeholder: :email)
|
@@ -1,10 +1,10 @@
|
|
1
|
-
= form_for(@
|
1
|
+
= form_for(@client, url: new_password_path_for(client_name, params[:new_password_key]), html: { class: 'pure-form pure-form-stacked' }) do |f|
|
2
2
|
fieldset
|
3
3
|
legend
|
4
|
-
- if @
|
4
|
+
- if @client.errors.present?
|
5
5
|
h2 errors
|
6
6
|
ul.errors
|
7
|
-
- @
|
7
|
+
- @client.errors.full_messages.each do |e|
|
8
8
|
li #{e}
|
9
9
|
= f.password_field :password, placeholder: :password
|
10
10
|
= f.password_field :password_confirmation, placeholder: :confirmation
|
@@ -1,10 +1,10 @@
|
|
1
|
-
= form_for(@
|
1
|
+
= form_for(@client, url: password_path_for(client_name), html: { class: 'pure-form pure-form-stacked' }) do |f|
|
2
2
|
fieldset
|
3
3
|
legend
|
4
|
-
- if @
|
4
|
+
- if @client.errors.present?
|
5
5
|
h2 errors
|
6
6
|
ul.errors
|
7
|
-
- @
|
7
|
+
- @client.errors.full_messages.each do |e|
|
8
8
|
li #{e}
|
9
9
|
= f.password_field :password, placeholder: :password
|
10
10
|
= f.password_field :password_confirmation, placeholder: :confirmation
|
@@ -1,10 +1,10 @@
|
|
1
|
-
= form_for @
|
1
|
+
= form_for @client, url: registration_path_for(client_name), html: { class: 'pure-form pure-form-stacked' } do |f|
|
2
2
|
fieldset
|
3
3
|
legend= t 'nav.registrations.new'
|
4
|
-
- if @
|
4
|
+
- if @client.errors.present?
|
5
5
|
h2 errors
|
6
6
|
ul.errors
|
7
|
-
- @
|
7
|
+
- @client.errors.full_messages.each do |e|
|
8
8
|
li #{e}
|
9
9
|
= f.text_field :email, placeholder: :email
|
10
10
|
= f.password_field :password, placeholder: :password
|
@@ -1,4 +1,4 @@
|
|
1
|
-
= form_for @session_service, url:
|
1
|
+
= form_for @session_service, url: session_path_for(client_name), html: { class: 'pure-form' } do |f|
|
2
2
|
fieldset
|
3
3
|
legend= t 'nav.sessions.new'
|
4
4
|
- if @session_service.errors.present?
|
@@ -9,7 +9,3 @@
|
|
9
9
|
= f.email_field :email, placeholder: :email
|
10
10
|
= f.password_field :password, placeholder: :password
|
11
11
|
= f.submit 'Sign in', data: { disable_with: '...' }, class: 'pure-button pure-button-primary'
|
12
|
-
|
13
|
-
ul
|
14
|
-
li= link_to 'sign up', new_registration_path
|
15
|
-
li= link_to 'request new password', new_new_password_request_path
|
data/config/routes.rb
CHANGED
@@ -6,5 +6,5 @@ Nyauth::Engine.routes.draw do
|
|
6
6
|
get '/confirmations/:confirmation_key' => 'confirmations#update', as: :confirmation
|
7
7
|
resources :new_password_requests, only: %i(new create)
|
8
8
|
resources :new_passwords, param: :new_password_key, only: %i(edit update)
|
9
|
-
|
9
|
+
Nyauth.configuration.setup_redirect_path
|
10
10
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Nyauth
|
2
|
+
class InstallGenerator < Rails::Generators::Base
|
3
|
+
source_root File.expand_path("../templates", __FILE__)
|
4
|
+
desc "Creates Nyauth initializer for your application"
|
5
|
+
|
6
|
+
def copy_initializer
|
7
|
+
template "nyauth_install_initializer.rb", "config/initializers/nyauth.rb"
|
8
|
+
puts "Install complete"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Nyauth
|
2
|
+
class Configuration
|
3
|
+
attr_accessor :redirect_path_block,
|
4
|
+
:redirect_path_after_sign_in,
|
5
|
+
:redirect_path_after_sign_out,
|
6
|
+
:redirect_path_after_registration,
|
7
|
+
:redirect_path_after_create_request_confirmation,
|
8
|
+
:redirect_path_after_update_confirmation,
|
9
|
+
:redirect_path_after_new_password_request,
|
10
|
+
:redirect_path_after_update_new_password,
|
11
|
+
:redirect_path_after_update_password
|
12
|
+
|
13
|
+
|
14
|
+
def initialize
|
15
|
+
@redirect_path_after_sign_in = nil
|
16
|
+
@redirect_path_after_sign_out = nil
|
17
|
+
@redirect_path_after_registration = nil
|
18
|
+
@redirect_path_after_create_request_confirmation = nil
|
19
|
+
@redirect_path_after_update_confirmation = nil
|
20
|
+
@redirect_path_after_new_password_request = nil
|
21
|
+
@redirect_path_after_update_new_password = nil
|
22
|
+
@redirect_path_after_update_password = nil
|
23
|
+
@redirect_path_block = Proc.new {}
|
24
|
+
end
|
25
|
+
|
26
|
+
def redirect_path(&block)
|
27
|
+
@redirect_path_block = block
|
28
|
+
end
|
29
|
+
|
30
|
+
def setup_redirect_path
|
31
|
+
UrlHelper.class_eval do
|
32
|
+
include Rails.application.routes.url_helpers
|
33
|
+
end
|
34
|
+
@redirect_path_block.call(UrlHelper.new)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
class UrlHelper
|
39
|
+
end
|
40
|
+
end
|
data/lib/nyauth/engine.rb
CHANGED
@@ -10,6 +10,8 @@ module Nyauth
|
|
10
10
|
class Engine < ::Rails::Engine
|
11
11
|
isolate_namespace Nyauth
|
12
12
|
|
13
|
+
config.nyauth = ActiveSupport::OrderedOptions.new
|
14
|
+
config.nyauth.admin = 'admin'
|
13
15
|
config.i18n.load_path += Dir[Engine.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
|
14
16
|
config.generators do |g|
|
15
17
|
g.test_framework :rspec, fixture: false
|
data/lib/nyauth/version.rb
CHANGED
data/lib/nyauth.rb
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
require 'nyauth/engine'
|
2
2
|
require 'nyauth/encryptor'
|
3
|
+
require 'nyauth/configuration'
|
3
4
|
|
4
5
|
module Nyauth
|
6
|
+
class << self
|
7
|
+
attr_accessor :configuration
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.configure
|
11
|
+
self.configuration ||= Configuration.new
|
12
|
+
yield(configuration)
|
13
|
+
end
|
5
14
|
end
|
15
|
+
Nyauth.configure {}
|