authentasaurus 0.7.3 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- data/TODO +3 -0
- data/app/controllers/areas_controller.rb +1 -1
- data/app/controllers/groups_controller.rb +1 -1
- data/app/controllers/permissions_controller.rb +1 -1
- data/app/controllers/recoveries_controller.rb +1 -1
- data/app/controllers/registrations_controller.rb +1 -1
- data/app/controllers/sessions_controller.rb +1 -1
- data/app/controllers/user_invitations_controller.rb +1 -1
- data/app/controllers/users_controller.rb +1 -1
- data/app/controllers/validations_controller.rb +1 -1
- data/app/models/area.rb +1 -1
- data/app/models/group.rb +1 -1
- data/app/models/permission.rb +1 -1
- data/app/models/recovery.rb +1 -1
- data/app/models/session.rb +1 -1
- data/app/models/user_invitation.rb +1 -1
- data/app/models/validation.rb +1 -1
- data/lib/authentasaurus.rb +22 -36
- data/lib/authentasaurus/ac/acts_as_overrider.rb +47 -0
- data/lib/authentasaurus/ac/controllers/areas_controller.rb +80 -0
- data/lib/authentasaurus/ac/controllers/groups_controller.rb +81 -0
- data/lib/authentasaurus/ac/controllers/permissions_controller.rb +81 -0
- data/lib/authentasaurus/ac/controllers/recoveries_controller.rb +72 -0
- data/lib/authentasaurus/ac/controllers/registrations_controller.rb +45 -0
- data/lib/authentasaurus/ac/controllers/sessions_controller.rb +58 -0
- data/lib/authentasaurus/ac/controllers/user_invitations_controller.rb +50 -0
- data/lib/authentasaurus/ac/controllers/users_controller.rb +80 -0
- data/lib/authentasaurus/ac/controllers/validations_controller.rb +53 -0
- data/lib/authentasaurus/ac/routing.rb +90 -0
- data/lib/authentasaurus/ar/acts_as_authenticatable.rb +113 -0
- data/lib/authentasaurus/ar/acts_as_authenticatable_validatable.rb +38 -0
- data/lib/authentasaurus/ar/acts_as_overrider.rb +51 -0
- data/lib/authentasaurus/ar/authenticatable.rb +66 -0
- data/lib/authentasaurus/ar/migrations.rb +173 -0
- data/lib/authentasaurus/{models → ar/models}/recovery.rb +3 -3
- data/lib/authentasaurus/{models → ar/models}/session.rb +1 -1
- data/lib/authentasaurus/{models → ar/models}/user_invitation.rb +1 -1
- data/lib/authentasaurus/{models → ar/models}/validation.rb +1 -1
- data/lib/authentasaurus/arel/acts_as_authenticatable.rb +72 -0
- data/lib/authentasaurus/arel/authenticatable.rb +25 -0
- data/lib/authentasaurus/authorization.rb +341 -0
- data/lib/authentasaurus/railtie.rb +4 -4
- data/lib/generators/authentasaurus/install/templates/initializer.rb +1 -1
- data/rdoc/apple-touch-icon.png +0 -0
- data/rdoc/classes/Authentasaurus.html +65 -0
- data/rdoc/classes/Authentasaurus/Ac.html +72 -0
- data/rdoc/classes/Authentasaurus/Ac/ActsAsOverrider.html +104 -0
- data/rdoc/classes/Authentasaurus/Ac/ActsAsOverrider/ClassMethods.html +397 -0
- data/rdoc/classes/Authentasaurus/Ac/Routing.html +61 -0
- data/rdoc/classes/Authentasaurus/Ac/Routing/InstanceMethods.html +390 -0
- data/rdoc/classes/Authentasaurus/Ar.html +77 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatable.html +107 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatable/ClassMethods.html +168 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatable/InstanceMethods.html +357 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatableValidatable.html +109 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatableValidatable/ClassMethods.html +113 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatableValidatable/InstanceMethods.html +54 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsOverrider.html +104 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsOverrider/ClassMethods.html +320 -0
- data/rdoc/classes/Authentasaurus/Ar/Authenticatable.html +104 -0
- data/rdoc/classes/Authentasaurus/Ar/Authenticatable/ClassMethods.html +182 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations.html +63 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations/Columns.html +68 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations/Columns/InstanceMethods.html +106 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations/Tables.html +68 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations/Tables/InstanceMethods.html +703 -0
- data/rdoc/classes/Authentasaurus/Arel.html +65 -0
- data/rdoc/classes/Authentasaurus/Arel/ActsAsAuthenticatable.html +107 -0
- data/rdoc/classes/Authentasaurus/Arel/ActsAsAuthenticatable/ClassMethods.html +139 -0
- data/rdoc/classes/Authentasaurus/Arel/ActsAsAuthenticatable/InstanceMethods.html +113 -0
- data/rdoc/classes/Authentasaurus/Arel/Authenticatable.html +105 -0
- data/rdoc/classes/Authentasaurus/Arel/Authenticatable/ClassMethods.html +119 -0
- data/rdoc/classes/Authentasaurus/Authorization.html +230 -0
- data/rdoc/classes/Authentasaurus/Authorization/ActionController.html +63 -0
- data/rdoc/classes/Authentasaurus/Authorization/ActionController/ClassMethods.html +263 -0
- data/rdoc/classes/Authentasaurus/Authorization/ActionController/InstanceMethods.html +54 -0
- data/rdoc/classes/Authentasaurus/Authorization/ActionView.html +54 -0
- data/rdoc/classes/Authentasaurus/Authorization/CommonInstanceMethods.html +240 -0
- data/rdoc/created.rid +1 -0
- data/rdoc/css/main.css +278 -0
- data/rdoc/css/panel.css +383 -0
- data/rdoc/css/reset.css +53 -0
- data/rdoc/favicon.ico +0 -0
- data/rdoc/files/README_rdoc.html +366 -0
- data/rdoc/files/TODO.html +64 -0
- data/rdoc/files/lib/authentasaurus/ac/acts_as_overrider_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ac/routing_rb.html +60 -0
- data/rdoc/files/lib/authentasaurus/ar/acts_as_authenticatable_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ar/acts_as_authenticatable_validatable_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ar/acts_as_overrider_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ar/authenticatable_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ar/migrations_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/arel/acts_as_authenticatable_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/arel/authenticatable_rb.html +72 -0
- data/rdoc/files/lib/authentasaurus/authorization_rb.html +208 -0
- data/rdoc/i/arrows.png +0 -0
- data/rdoc/i/results_bg.png +0 -0
- data/rdoc/i/tree_bg.png +0 -0
- data/rdoc/index.html +15 -0
- data/rdoc/js/jquery-1.3.2.min.js +19 -0
- data/rdoc/js/jquery-effect.js +593 -0
- data/rdoc/js/main.js +22 -0
- data/rdoc/js/searchdoc.js +628 -0
- data/rdoc/panel/index.html +71 -0
- data/rdoc/panel/search_index.js +1 -0
- data/rdoc/panel/tree.js +1 -0
- metadata +92 -44
- data/lib/action_controller/authorization.rb +0 -215
- data/lib/action_view/authorization.rb +0 -52
- data/lib/active_record/acts_as_authenticatable.rb +0 -111
- data/lib/active_record/acts_as_authenticatable_validatable.rb +0 -36
- data/lib/active_record/authenticatable.rb +0 -64
- data/lib/active_resource/acts_as_authenticatable.rb +0 -70
- data/lib/active_resource/authenticatable.rb +0 -24
- data/lib/authentasaurus/areas_controller.rb +0 -78
- data/lib/authentasaurus/groups_controller.rb +0 -79
- data/lib/authentasaurus/models/area.rb +0 -21
- data/lib/authentasaurus/models/group.rb +0 -19
- data/lib/authentasaurus/models/permission.rb +0 -24
- data/lib/authentasaurus/permissions_controller.rb +0 -79
- data/lib/authentasaurus/recoveries_controller.rb +0 -70
- data/lib/authentasaurus/registrations_controller.rb +0 -43
- data/lib/authentasaurus/sessions_controller.rb +0 -56
- data/lib/authentasaurus/user_invitations_controller.rb +0 -48
- data/lib/authentasaurus/users_controller.rb +0 -78
- data/lib/authentasaurus/validations_controller.rb +0 -51
- data/lib/helpers/migrations.rb +0 -171
- data/lib/helpers/routing.rb +0 -87
@@ -0,0 +1,72 @@
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
2
|
+
module RecoveriesController
|
3
|
+
def self.included(base) # :nodoc:
|
4
|
+
base.send :extend, ClassMethods
|
5
|
+
base.send :include, InstanceMethods
|
6
|
+
end
|
7
|
+
|
8
|
+
module ClassMethods
|
9
|
+
end
|
10
|
+
|
11
|
+
module InstanceMethods
|
12
|
+
def new
|
13
|
+
@recovery = Recovery.new
|
14
|
+
|
15
|
+
respond_to do |format|
|
16
|
+
format.html
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def create
|
21
|
+
@recovery = Recovery.find_or_initialize_by_email :email => params[:email]
|
22
|
+
|
23
|
+
if @recovery.new_record?
|
24
|
+
@recovery.user = User.find_by_email @recovery.email
|
25
|
+
end
|
26
|
+
|
27
|
+
respond_to do |format|
|
28
|
+
if @recovery.save
|
29
|
+
@recovery.touch
|
30
|
+
format.html { redirect_to new_session_path, :notice => t(:recovery_email_sent, :scope => [:authentasaurus, :messages, :recoveries], :email => @recovery.email) }
|
31
|
+
else
|
32
|
+
format.html {render :new}
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def edit
|
38
|
+
@recovery = Recovery.valid.find_by_token(params[:token])
|
39
|
+
|
40
|
+
respond_to do |format|
|
41
|
+
unless @recovery.nil?
|
42
|
+
@user = @recovery.user
|
43
|
+
format.html
|
44
|
+
else
|
45
|
+
format.html { redirect_to new_session_path, :alert => t(:recovery_failed, :scope => [:authentasaurus, :messages, :recoveries], :email => params[:email]) }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def destroy
|
51
|
+
@recovery = Recovery.find_by_token params[:token]
|
52
|
+
@user = @recovery.user
|
53
|
+
|
54
|
+
respond_to do |format|
|
55
|
+
empty_fields = params[:user].select { |key, value| value.blank? }
|
56
|
+
if !empty_fields.empty?
|
57
|
+
empty_fields.each do |f|
|
58
|
+
@user.errors.add_to_base t(:recovery_field_blank, :scope => [:authentasaurus, :messages, :recoveries], :field => f.first.humanize)
|
59
|
+
end
|
60
|
+
format.html { render :edit }
|
61
|
+
elsif @user.update_attributes params[:user]
|
62
|
+
@recovery.destroy
|
63
|
+
format.html { redirect_to new_session_path, :notice => t(:recovery_successful, :scope => [:authentasaurus, :messages, :recoveries], :email => params[:email]) }
|
64
|
+
else
|
65
|
+
flash.now[:alert] = t(:recovery_failed, :scope => [:authentasaurus, :messages, :recoveries], :email => params[:email])
|
66
|
+
format.html { render :edit }
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
2
|
+
module RegistrationsController
|
3
|
+
def self.included(base) # :nodoc:
|
4
|
+
base.send :extend, ClassMethods
|
5
|
+
base.send :include, InstanceMethods
|
6
|
+
end
|
7
|
+
|
8
|
+
module ClassMethods
|
9
|
+
end
|
10
|
+
|
11
|
+
module InstanceMethods
|
12
|
+
def new
|
13
|
+
@user = User.new
|
14
|
+
@user_invitation = UserInvitation.find_by_token params[:token]
|
15
|
+
|
16
|
+
respond_to do |format|
|
17
|
+
if @user_invitation.nil?
|
18
|
+
format.html {redirect_to new_session_path, :alert => t(:invalid_invitation_token, :scope => [:authentasaurus, :messages, :user_invitations])}
|
19
|
+
else
|
20
|
+
@user.email = @user_invitation.email
|
21
|
+
format.html
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def create
|
27
|
+
@user = User.new params[:user]
|
28
|
+
user_invitation = UserInvitation.find_by_token params[:token]
|
29
|
+
|
30
|
+
respond_to do |format|
|
31
|
+
unless user_invitation.nil?
|
32
|
+
if @user.save
|
33
|
+
format.html {redirect_to new_session_path}
|
34
|
+
else
|
35
|
+
format.html {render :new}
|
36
|
+
end
|
37
|
+
else
|
38
|
+
flash.now[:alert] = t(:invalid_invitation_token, :scope => [:authentasaurus, :messages, :user_invitations])
|
39
|
+
format.html {render :new}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
2
|
+
module SessionsController
|
3
|
+
def self.included(base) # :nodoc:
|
4
|
+
base.send :extend, ClassMethods
|
5
|
+
base.send :include, InstanceMethods
|
6
|
+
|
7
|
+
base.send :before_filter, :check_is_logged_in, :except => [:destroy, :no_access]
|
8
|
+
end
|
9
|
+
|
10
|
+
module ClassMethods
|
11
|
+
end
|
12
|
+
|
13
|
+
module InstanceMethods
|
14
|
+
def new
|
15
|
+
@session = Session.new
|
16
|
+
|
17
|
+
respond_to do |format|
|
18
|
+
format.html
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def create
|
23
|
+
@session = Session.new params[:session]
|
24
|
+
|
25
|
+
respond_to do |format|
|
26
|
+
if @session.save
|
27
|
+
if @session.remember == "1"
|
28
|
+
cookies.signed.permanent[:remember_me_token] = @session.user.remember_me_token
|
29
|
+
end
|
30
|
+
session[:user_id] = @session.user.id
|
31
|
+
session[:user_permissions] = {:read => @session.user.permissions.collect{|per| per.area.name if per.read}, :write => @session.user.permissions.collect{|per| per.area.name if per.write}}
|
32
|
+
format.html { redirect_to session[:original_url] || (defined?(signin_redirect_path).nil? ? root_path : signin_redirect_path) }
|
33
|
+
else
|
34
|
+
format.html { render :action => :new }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
def destroy
|
41
|
+
session[:user_id] = nil
|
42
|
+
session[:user_permissions] = nil
|
43
|
+
cookies.delete :remember_me_token
|
44
|
+
|
45
|
+
respond_to do |format|
|
46
|
+
format.html { redirect_to :action => :new }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
def check_is_logged_in
|
52
|
+
if is_logged_in?
|
53
|
+
redirect_to defined?(signin_redirect_path).nil? ? root_path : signin_redirect_path
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
2
|
+
module UserInvitationsController
|
3
|
+
def self.included(base) # :nodoc:
|
4
|
+
base.send :extend, ClassMethods
|
5
|
+
base.send :include, InstanceMethods
|
6
|
+
end
|
7
|
+
|
8
|
+
module ClassMethods
|
9
|
+
end
|
10
|
+
|
11
|
+
module InstanceMethods
|
12
|
+
def index
|
13
|
+
@invitations = UserInvitation.find :all
|
14
|
+
|
15
|
+
respond_to do |format|
|
16
|
+
format.html
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def new
|
21
|
+
@invitation = UserInvitation.new
|
22
|
+
|
23
|
+
respond_to do |format|
|
24
|
+
format.html
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def create
|
29
|
+
@invitation = UserInvitation.new params[:user_invitation]
|
30
|
+
|
31
|
+
respond_to do |format|
|
32
|
+
if @invitation.save
|
33
|
+
format.html { redirect_to :action => :index }
|
34
|
+
else
|
35
|
+
format.html {render :new}
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def destroy
|
41
|
+
invitation = UserInvitation.find params[:id]
|
42
|
+
invitation.destroy
|
43
|
+
|
44
|
+
respond_to do |format|
|
45
|
+
format.html { redirect_to :action => :index }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
2
|
+
module UsersController
|
3
|
+
def self.included(base) # :nodoc:
|
4
|
+
base.send :extend, ClassMethods
|
5
|
+
base.send :include, InstanceMethods
|
6
|
+
end
|
7
|
+
|
8
|
+
module ClassMethods
|
9
|
+
end
|
10
|
+
|
11
|
+
module InstanceMethods
|
12
|
+
def index
|
13
|
+
@users = User.all
|
14
|
+
|
15
|
+
respond_to do |format|
|
16
|
+
format.html
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def show
|
21
|
+
@user = User.find(params[:id])
|
22
|
+
|
23
|
+
respond_to do |format|
|
24
|
+
format.html
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def new
|
29
|
+
@user = User.new
|
30
|
+
|
31
|
+
respond_to do |format|
|
32
|
+
format.html
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def create
|
37
|
+
@user = User.new params[:user]
|
38
|
+
|
39
|
+
respond_to do |format|
|
40
|
+
if @user.save
|
41
|
+
format.html { redirect_to :action=>:index, :notice => "User saved successfully" }
|
42
|
+
else
|
43
|
+
flash.now[:alert] = I18n.t(:create_failed, :scope => [:authentasaurus, :messages, :users])
|
44
|
+
format.html { render :new }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def edit
|
50
|
+
@user = User.find params[:id]
|
51
|
+
|
52
|
+
respond_to do |format|
|
53
|
+
format.html
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def update
|
58
|
+
@user = User.find params[:id]
|
59
|
+
|
60
|
+
respond_to do |format|
|
61
|
+
if @user.update_attributes(params[:user])
|
62
|
+
format.html { redirect_to :action => :index, :notice => "User updated" }
|
63
|
+
else
|
64
|
+
flash.now[:alert] = I18n.t(:update_failed, :scope => [:authentasaurus, :messages, :users])
|
65
|
+
format.html { render :edit }
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def destroy
|
71
|
+
@user = User.find params[:id]
|
72
|
+
@user.destroy
|
73
|
+
|
74
|
+
respond_to do |format|
|
75
|
+
format.html { redirect_to :action=>:index }
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
2
|
+
module ValidationsController
|
3
|
+
def self.included(base) # :nodoc:
|
4
|
+
base.send :extend, ClassMethods
|
5
|
+
base.send :include, InstanceMethods
|
6
|
+
end
|
7
|
+
|
8
|
+
module ClassMethods
|
9
|
+
end
|
10
|
+
|
11
|
+
module InstanceMethods
|
12
|
+
def validate
|
13
|
+
respond_to do |format|
|
14
|
+
format.html
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def activate
|
19
|
+
respond_to do |format|
|
20
|
+
validation = Validation.find_by_validation_code(params[:vcode])
|
21
|
+
if validation
|
22
|
+
validation.user.activate
|
23
|
+
validation.destroy
|
24
|
+
format.html { redirect_to login_url, :notice => I18n.t(:validation_successful, :scope => [:authentasaurus, :messages, :validations])}
|
25
|
+
else
|
26
|
+
flash.now[:alert] = I18n.t(:validation_failed, :scope => [:authentasaurus, :messages, :validations])
|
27
|
+
format.html { render :validate }
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def resend_validation_email
|
33
|
+
respond_to do |format|
|
34
|
+
format.html
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def do_resend_validation_email
|
39
|
+
validation = Validation.find_by_email params[:email]
|
40
|
+
|
41
|
+
respond_to do |format|
|
42
|
+
unless validation.nil?
|
43
|
+
validation.send_validation
|
44
|
+
format.html {redirect_to login_url, :notice => I18n.t(:validation_email_sent, :scope => [:authentasaurus, :messages, :validations])}
|
45
|
+
else
|
46
|
+
flash.now[:alert] = I18n.t(:validation_email_invalid, :scope => [:authentasaurus, :messages, :validations], :email => params[:email])
|
47
|
+
format.html { render :resend_validation_email }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
## Authentasaurus routes helper
|
2
|
+
module Authentasaurus::Ac
|
3
|
+
module Routing
|
4
|
+
def self.included(base) # :nodoc:
|
5
|
+
base.send :include, InstanceMethods
|
6
|
+
end
|
7
|
+
|
8
|
+
module InstanceMethods
|
9
|
+
# TODO: add documentation here
|
10
|
+
def authentasaurus_routes(*opts)
|
11
|
+
options = opts.extract_options!
|
12
|
+
|
13
|
+
# Authenticatable
|
14
|
+
authentasaurus_sessions options.dup
|
15
|
+
authentasaurus_users options.dup
|
16
|
+
# Recoverable
|
17
|
+
authentasaurus_recoverable
|
18
|
+
|
19
|
+
# Authorizable
|
20
|
+
if opts.include?(:authorization)
|
21
|
+
authentasaurus_authorizable options.dup
|
22
|
+
end
|
23
|
+
|
24
|
+
# Validatable
|
25
|
+
if opts.include?(:validation)
|
26
|
+
authentasaurus_validatable
|
27
|
+
end
|
28
|
+
|
29
|
+
# Invitable
|
30
|
+
if opts.include?(:invitation)
|
31
|
+
authentasaurus_invitable options.dup
|
32
|
+
authentasaurus_invitable_public
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# TODO: add documentation here
|
37
|
+
def authentasaurus_sessions(*opts)
|
38
|
+
get "/sessions/sign-in(.:format)" => "sessions#new", :as => :new_session
|
39
|
+
post "/sessions(.:format)" => "sessions#create", :as => :sessions
|
40
|
+
delete "/sessions/sign-out(.:format)" => "sessions#destroy", :as => :session
|
41
|
+
get "/sessions/no-access(.:format)" => "sessions#no_access", :as => :no_access_sessions
|
42
|
+
end
|
43
|
+
|
44
|
+
# TODO: add documentation here
|
45
|
+
def authentasaurus_users(*opts)
|
46
|
+
options = opts.extract_options!
|
47
|
+
|
48
|
+
resources :users, options.dup
|
49
|
+
end
|
50
|
+
|
51
|
+
# TODO: add documentation here
|
52
|
+
def authentasaurus_authorizable(*opts)
|
53
|
+
options = opts.extract_options!
|
54
|
+
|
55
|
+
resources :groups, options.dup
|
56
|
+
resources :areas, options.dup
|
57
|
+
resources :permissions, options.dup
|
58
|
+
end
|
59
|
+
|
60
|
+
# TODO: add documentation here
|
61
|
+
def authentasaurus_validatable
|
62
|
+
match "/validate" => "validations#validate", :as => 'validate'
|
63
|
+
match "/activate" => "validations#activate", :as => 'activate'
|
64
|
+
match "/resend-validation" => "validations#resend_validation_email", :via => :get, :as => 'recover_password'
|
65
|
+
match "/resend-validation" => "validations#do_resend_validation_email", :via => :post, :as => 'do_recover_password'
|
66
|
+
end
|
67
|
+
|
68
|
+
# TODO: add documentation here
|
69
|
+
def authentasaurus_invitable(*opts)
|
70
|
+
options = opts.extract_options!
|
71
|
+
|
72
|
+
resources :user_invitations, options.dup.merge({:except => [:show, :edit, :update]})
|
73
|
+
end
|
74
|
+
|
75
|
+
def authentasaurus_invitable_public(*opts)
|
76
|
+
options = opts.extract_options!
|
77
|
+
|
78
|
+
resources :registrations, :only => [:new, :create], :path_prefix => "/:token", :requirements => {:token => /[0-9a-zA-Z]+/}
|
79
|
+
end
|
80
|
+
|
81
|
+
# TODO: add documentation here
|
82
|
+
def authentasaurus_recoverable
|
83
|
+
match "/forgot-password" => "recoveries#new", :via => :get, :as => 'forgot_password'
|
84
|
+
match "/forgot-password" => "recoveries#create", :via => :post, :as => 'do_forgot_password'
|
85
|
+
match "/recover-password/:token" => "recoveries#edit", :via => :get, :as => 'recover_password'
|
86
|
+
match "/recover-password/:token" => "recoveries#destroy", :via => :delete, :as => 'do_recover_password'
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|