authentasaurus 0.7.3 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. data/TODO +3 -0
  2. data/app/controllers/areas_controller.rb +1 -1
  3. data/app/controllers/groups_controller.rb +1 -1
  4. data/app/controllers/permissions_controller.rb +1 -1
  5. data/app/controllers/recoveries_controller.rb +1 -1
  6. data/app/controllers/registrations_controller.rb +1 -1
  7. data/app/controllers/sessions_controller.rb +1 -1
  8. data/app/controllers/user_invitations_controller.rb +1 -1
  9. data/app/controllers/users_controller.rb +1 -1
  10. data/app/controllers/validations_controller.rb +1 -1
  11. data/app/models/area.rb +1 -1
  12. data/app/models/group.rb +1 -1
  13. data/app/models/permission.rb +1 -1
  14. data/app/models/recovery.rb +1 -1
  15. data/app/models/session.rb +1 -1
  16. data/app/models/user_invitation.rb +1 -1
  17. data/app/models/validation.rb +1 -1
  18. data/lib/authentasaurus.rb +22 -36
  19. data/lib/authentasaurus/ac/acts_as_overrider.rb +47 -0
  20. data/lib/authentasaurus/ac/controllers/areas_controller.rb +80 -0
  21. data/lib/authentasaurus/ac/controllers/groups_controller.rb +81 -0
  22. data/lib/authentasaurus/ac/controllers/permissions_controller.rb +81 -0
  23. data/lib/authentasaurus/ac/controllers/recoveries_controller.rb +72 -0
  24. data/lib/authentasaurus/ac/controllers/registrations_controller.rb +45 -0
  25. data/lib/authentasaurus/ac/controllers/sessions_controller.rb +58 -0
  26. data/lib/authentasaurus/ac/controllers/user_invitations_controller.rb +50 -0
  27. data/lib/authentasaurus/ac/controllers/users_controller.rb +80 -0
  28. data/lib/authentasaurus/ac/controllers/validations_controller.rb +53 -0
  29. data/lib/authentasaurus/ac/routing.rb +90 -0
  30. data/lib/authentasaurus/ar/acts_as_authenticatable.rb +113 -0
  31. data/lib/authentasaurus/ar/acts_as_authenticatable_validatable.rb +38 -0
  32. data/lib/authentasaurus/ar/acts_as_overrider.rb +51 -0
  33. data/lib/authentasaurus/ar/authenticatable.rb +66 -0
  34. data/lib/authentasaurus/ar/migrations.rb +173 -0
  35. data/lib/authentasaurus/{models → ar/models}/recovery.rb +3 -3
  36. data/lib/authentasaurus/{models → ar/models}/session.rb +1 -1
  37. data/lib/authentasaurus/{models → ar/models}/user_invitation.rb +1 -1
  38. data/lib/authentasaurus/{models → ar/models}/validation.rb +1 -1
  39. data/lib/authentasaurus/arel/acts_as_authenticatable.rb +72 -0
  40. data/lib/authentasaurus/arel/authenticatable.rb +25 -0
  41. data/lib/authentasaurus/authorization.rb +341 -0
  42. data/lib/authentasaurus/railtie.rb +4 -4
  43. data/lib/generators/authentasaurus/install/templates/initializer.rb +1 -1
  44. data/rdoc/apple-touch-icon.png +0 -0
  45. data/rdoc/classes/Authentasaurus.html +65 -0
  46. data/rdoc/classes/Authentasaurus/Ac.html +72 -0
  47. data/rdoc/classes/Authentasaurus/Ac/ActsAsOverrider.html +104 -0
  48. data/rdoc/classes/Authentasaurus/Ac/ActsAsOverrider/ClassMethods.html +397 -0
  49. data/rdoc/classes/Authentasaurus/Ac/Routing.html +61 -0
  50. data/rdoc/classes/Authentasaurus/Ac/Routing/InstanceMethods.html +390 -0
  51. data/rdoc/classes/Authentasaurus/Ar.html +77 -0
  52. data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatable.html +107 -0
  53. data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatable/ClassMethods.html +168 -0
  54. data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatable/InstanceMethods.html +357 -0
  55. data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatableValidatable.html +109 -0
  56. data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatableValidatable/ClassMethods.html +113 -0
  57. data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatableValidatable/InstanceMethods.html +54 -0
  58. data/rdoc/classes/Authentasaurus/Ar/ActsAsOverrider.html +104 -0
  59. data/rdoc/classes/Authentasaurus/Ar/ActsAsOverrider/ClassMethods.html +320 -0
  60. data/rdoc/classes/Authentasaurus/Ar/Authenticatable.html +104 -0
  61. data/rdoc/classes/Authentasaurus/Ar/Authenticatable/ClassMethods.html +182 -0
  62. data/rdoc/classes/Authentasaurus/Ar/Migrations.html +63 -0
  63. data/rdoc/classes/Authentasaurus/Ar/Migrations/Columns.html +68 -0
  64. data/rdoc/classes/Authentasaurus/Ar/Migrations/Columns/InstanceMethods.html +106 -0
  65. data/rdoc/classes/Authentasaurus/Ar/Migrations/Tables.html +68 -0
  66. data/rdoc/classes/Authentasaurus/Ar/Migrations/Tables/InstanceMethods.html +703 -0
  67. data/rdoc/classes/Authentasaurus/Arel.html +65 -0
  68. data/rdoc/classes/Authentasaurus/Arel/ActsAsAuthenticatable.html +107 -0
  69. data/rdoc/classes/Authentasaurus/Arel/ActsAsAuthenticatable/ClassMethods.html +139 -0
  70. data/rdoc/classes/Authentasaurus/Arel/ActsAsAuthenticatable/InstanceMethods.html +113 -0
  71. data/rdoc/classes/Authentasaurus/Arel/Authenticatable.html +105 -0
  72. data/rdoc/classes/Authentasaurus/Arel/Authenticatable/ClassMethods.html +119 -0
  73. data/rdoc/classes/Authentasaurus/Authorization.html +230 -0
  74. data/rdoc/classes/Authentasaurus/Authorization/ActionController.html +63 -0
  75. data/rdoc/classes/Authentasaurus/Authorization/ActionController/ClassMethods.html +263 -0
  76. data/rdoc/classes/Authentasaurus/Authorization/ActionController/InstanceMethods.html +54 -0
  77. data/rdoc/classes/Authentasaurus/Authorization/ActionView.html +54 -0
  78. data/rdoc/classes/Authentasaurus/Authorization/CommonInstanceMethods.html +240 -0
  79. data/rdoc/created.rid +1 -0
  80. data/rdoc/css/main.css +278 -0
  81. data/rdoc/css/panel.css +383 -0
  82. data/rdoc/css/reset.css +53 -0
  83. data/rdoc/favicon.ico +0 -0
  84. data/rdoc/files/README_rdoc.html +366 -0
  85. data/rdoc/files/TODO.html +64 -0
  86. data/rdoc/files/lib/authentasaurus/ac/acts_as_overrider_rb.html +52 -0
  87. data/rdoc/files/lib/authentasaurus/ac/routing_rb.html +60 -0
  88. data/rdoc/files/lib/authentasaurus/ar/acts_as_authenticatable_rb.html +52 -0
  89. data/rdoc/files/lib/authentasaurus/ar/acts_as_authenticatable_validatable_rb.html +52 -0
  90. data/rdoc/files/lib/authentasaurus/ar/acts_as_overrider_rb.html +52 -0
  91. data/rdoc/files/lib/authentasaurus/ar/authenticatable_rb.html +52 -0
  92. data/rdoc/files/lib/authentasaurus/ar/migrations_rb.html +52 -0
  93. data/rdoc/files/lib/authentasaurus/arel/acts_as_authenticatable_rb.html +52 -0
  94. data/rdoc/files/lib/authentasaurus/arel/authenticatable_rb.html +72 -0
  95. data/rdoc/files/lib/authentasaurus/authorization_rb.html +208 -0
  96. data/rdoc/i/arrows.png +0 -0
  97. data/rdoc/i/results_bg.png +0 -0
  98. data/rdoc/i/tree_bg.png +0 -0
  99. data/rdoc/index.html +15 -0
  100. data/rdoc/js/jquery-1.3.2.min.js +19 -0
  101. data/rdoc/js/jquery-effect.js +593 -0
  102. data/rdoc/js/main.js +22 -0
  103. data/rdoc/js/searchdoc.js +628 -0
  104. data/rdoc/panel/index.html +71 -0
  105. data/rdoc/panel/search_index.js +1 -0
  106. data/rdoc/panel/tree.js +1 -0
  107. metadata +92 -44
  108. data/lib/action_controller/authorization.rb +0 -215
  109. data/lib/action_view/authorization.rb +0 -52
  110. data/lib/active_record/acts_as_authenticatable.rb +0 -111
  111. data/lib/active_record/acts_as_authenticatable_validatable.rb +0 -36
  112. data/lib/active_record/authenticatable.rb +0 -64
  113. data/lib/active_resource/acts_as_authenticatable.rb +0 -70
  114. data/lib/active_resource/authenticatable.rb +0 -24
  115. data/lib/authentasaurus/areas_controller.rb +0 -78
  116. data/lib/authentasaurus/groups_controller.rb +0 -79
  117. data/lib/authentasaurus/models/area.rb +0 -21
  118. data/lib/authentasaurus/models/group.rb +0 -19
  119. data/lib/authentasaurus/models/permission.rb +0 -24
  120. data/lib/authentasaurus/permissions_controller.rb +0 -79
  121. data/lib/authentasaurus/recoveries_controller.rb +0 -70
  122. data/lib/authentasaurus/registrations_controller.rb +0 -43
  123. data/lib/authentasaurus/sessions_controller.rb +0 -56
  124. data/lib/authentasaurus/user_invitations_controller.rb +0 -48
  125. data/lib/authentasaurus/users_controller.rb +0 -78
  126. data/lib/authentasaurus/validations_controller.rb +0 -51
  127. data/lib/helpers/migrations.rb +0 -171
  128. data/lib/helpers/routing.rb +0 -87
@@ -1,51 +0,0 @@
1
- module Authentasaurus::ValidationsController
2
- def self.included(base) # :nodoc:
3
- base.send :extend, ClassMethods
4
- base.send :include, InstanceMethods
5
- end
6
-
7
- module ClassMethods
8
- end
9
-
10
- module InstanceMethods
11
- def validate
12
- respond_to do |format|
13
- format.html
14
- end
15
- end
16
-
17
- def activate
18
- respond_to do |format|
19
- validation = Validation.find_by_validation_code(params[:vcode])
20
- if validation
21
- validation.user.activate
22
- validation.destroy
23
- format.html { redirect_to login_url, :notice => I18n.t(:validation_successful, :scope => [:authentasaurus, :messages, :validations])}
24
- else
25
- flash.now[:alert] = I18n.t(:validation_failed, :scope => [:authentasaurus, :messages, :validations])
26
- format.html { render :validate }
27
- end
28
- end
29
- end
30
-
31
- def resend_validation_email
32
- respond_to do |format|
33
- format.html
34
- end
35
- end
36
-
37
- def do_resend_validation_email
38
- validation = Validation.find_by_email params[:email]
39
-
40
- respond_to do |format|
41
- unless validation.nil?
42
- validation.send_validation
43
- format.html {redirect_to login_url, :notice => I18n.t(:validation_email_sent, :scope => [:authentasaurus, :messages, :validations])}
44
- else
45
- flash.now[:alert] = I18n.t(:validation_email_invalid, :scope => [:authentasaurus, :messages, :validations], :email => params[:email])
46
- format.html { render :resend_validation_email }
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,171 +0,0 @@
1
- module Migrations
2
- # Extends ActiveRecord::ConnectionAdapters::SchemaStatements
3
- module Tables
4
- def self.included(base) # :nodoc:
5
- base.send :include, InstanceMethods
6
- end
7
-
8
- module InstanceMethods
9
- # creates all tables
10
- def authentasaurus_tables
11
- authentasaurus_user :authorizable
12
- authentasaurus_group
13
- authentasaurus_area
14
- authentasaurus_permission
15
- authentasaurus_validation
16
- authentasaurus_user_invitation
17
- authentasaurus_recovery
18
- end
19
-
20
- # creates users table
21
- def authentasaurus_user(*opts)
22
- create_table :users do |t|
23
- t.string :username, :null => false
24
- t.string :hashed_password, :null => false
25
- t.string :password_seed, :null => false
26
- t.string :name, :null => false
27
- t.string :email, :null => false
28
- t.boolean :active, :null => false, :default => false
29
- t.string :remember_me_token
30
-
31
- if opts.include?(:authorizable) || opts.include?("authorizable")
32
- t.integer :group_id, :null => false
33
- end
34
-
35
- t.timestamps
36
- end
37
- end
38
-
39
- # creates groups table
40
- def authentasaurus_group
41
- create_table :groups do |t|
42
- t.string :name, :null => false
43
-
44
- t.timestamps
45
- end
46
- end
47
-
48
- # creates areas table
49
- def authentasaurus_area
50
- create_table :areas do |t|
51
- t.string :name, :null => false
52
-
53
- t.timestamps
54
- end
55
- end
56
-
57
- # creates permissions table
58
- def authentasaurus_permission
59
- create_table :permissions do |t|
60
- t.integer :group_id, :null => false
61
- t.integer :area_id, :null => false
62
- t.boolean :read, :null => false, :default => false
63
- t.boolean :write, :null => false, :default => false
64
-
65
- t.timestamps
66
- end
67
- end
68
-
69
- # creates validations table
70
- def authentasaurus_validation
71
- create_table :validations do |t|
72
- t.integer :user_id, :null => false
73
- t.string :user_type, :null => false
74
- t.string :email, :null => false
75
- t.string :validation_code, :null => false
76
-
77
- t.timestamps
78
- end
79
- end
80
-
81
- # creates user_invitations table
82
- def authentasaurus_user_invitation
83
- create_table :user_invitations do |t|
84
- t.string :token, :null => false, :unique => true
85
- t.string :email
86
-
87
- t.timestamps
88
- end
89
- end
90
-
91
- # creates recoveries table
92
- def authentasaurus_recovery
93
- create_table :recoveries do |t|
94
- t.integer :user_id, :null => false
95
- t.string :email, :null => false
96
- t.string :token, :null => false, :unique => true
97
-
98
- t.timestamps
99
- end
100
- end
101
-
102
- # drops all tables
103
- def authentasaurus_drop_tables
104
- authentasaurus_drop_user
105
- authentasaurus_drop_group
106
- authentasaurus_drop_area
107
- authentasaurus_drop_permission
108
- authentasaurus_drop_validation
109
- authentasaurus_drop_user_invitation
110
- authentasaurus_drop_recovery
111
- end
112
-
113
- # drops users table
114
- def authentasaurus_drop_user
115
- drop_table :users
116
- end
117
-
118
- # drops groups table
119
- def authentasaurus_drop_group
120
- drop_table :groups
121
- end
122
-
123
- # drops areas table
124
- def authentasaurus_drop_area
125
- drop_table :areas
126
- end
127
-
128
- # drops permissions table
129
- def authentasaurus_drop_permission
130
- drop_table :permissions
131
- end
132
-
133
- # drops validations table
134
- def authentasaurus_drop_validation
135
- drop_table :validations
136
- end
137
-
138
- # drops user_invitations table
139
- def authentasaurus_drop_user_invitation
140
- drop_table :user_invitations
141
- end
142
-
143
- # drops recoveries table
144
- def authentasaurus_drop_recovery
145
- drop_table :recoveries
146
- end
147
- end
148
- end
149
-
150
- # Extends ActiveRecord::ConnectionAdapters::TableDefinition
151
- module Columns
152
- def self.included(base) # :nodoc:
153
- base.send :include, InstanceMethods
154
- end
155
-
156
- module InstanceMethods
157
- def user(*opts)
158
- string :username, :null => false
159
- string :hashed_password, :null => false
160
- string :password_seed, :null => false
161
- string :name, :null => false
162
- string :email, :null => false
163
- string :remember_me_token
164
- boolean :active, :null => false, :default => false
165
- if opts.include?(:authorizable)
166
- integer :group_id, :null => false
167
- end
168
- end
169
- end
170
- end
171
- end
@@ -1,87 +0,0 @@
1
- ## Authentasaurus routes helper
2
- module Routing
3
- def self.included(base) # :nodoc:
4
- base.send :include, InstanceMethods
5
- end
6
-
7
- module InstanceMethods
8
- # TODO: add documentation here
9
- def authentasaurus_routes(*opts)
10
- options = opts.extract_options!
11
-
12
- # Authenticatable
13
- authentasaurus_sessions options.dup
14
- authentasaurus_users options.dup
15
- # Recoverable
16
- authentasaurus_recoverable
17
-
18
- # Authorizable
19
- if opts.include?(:authorization)
20
- authentasaurus_authorizable options.dup
21
- end
22
-
23
- # Validatable
24
- if opts.include?(:validation)
25
- authentasaurus_validatable
26
- end
27
-
28
- # Invitable
29
- if opts.include?(:invitation)
30
- authentasaurus_invitable options.dup
31
- authentasaurus_invitable_public
32
- end
33
- end
34
-
35
- # TODO: add documentation here
36
- def authentasaurus_sessions(*opts)
37
- options = opts.extract_options!
38
-
39
- resources :sessions, options.dup.merge({:except => [:index, :show, :edit, :update], :path_names => {:new => 'sign-in'}, :collection => {:no_access => :get}})
40
- end
41
-
42
- # TODO: add documentation here
43
- def authentasaurus_users(*opts)
44
- options = opts.extract_options!
45
-
46
- resources :users, options.dup
47
- end
48
-
49
- # TODO: add documentation here
50
- def authentasaurus_authorizable(*opts)
51
- options = opts.extract_options!
52
-
53
- resources :groups, options.dup
54
- resources :areas, options.dup
55
- resources :permissions, options.dup
56
- end
57
-
58
- # TODO: add documentation here
59
- def authentasaurus_validatable
60
- match "/validate" => "validations#validate", :as => 'validate'
61
- match "/activate" => "validations#activate", :as => 'activate'
62
- match "/resend-validation" => "validations#resend_validation_email", :via => :get, :as => 'recover_password'
63
- match "/resend-validation" => "validations#do_resend_validation_email", :via => :post, :as => 'do_recover_password'
64
- end
65
-
66
- # TODO: add documentation here
67
- def authentasaurus_invitable(*opts)
68
- options = opts.extract_options!
69
-
70
- resources :user_invitations, options.dup.merge({:except => [:show, :edit, :update]})
71
- end
72
-
73
- def authentasaurus_invitable_public(*opts)
74
- options = opts.extract_options!
75
-
76
- resources :registrations, :only => [:new, :create], :path_prefix => "/:token", :requirements => {:token => /[0-9a-zA-Z]+/}
77
- end
78
-
79
- # TODO: add documentation here
80
- def authentasaurus_recoverable
81
- match "/forgot-password" => "recoveries#new", :via => :get, :as => 'forgot_password'
82
- match "/forgot-password" => "recoveries#create", :via => :post, :as => 'do_forgot_password'
83
- match "/recover-password/:token" => "recoveries#edit", :via => :get, :as => 'recover_password'
84
- match "/recover-password/:token" => "recoveries#destroy", :via => :delete, :as => 'do_recover_password'
85
- end
86
- end
87
- end