authentasaurus 0.8.4 → 0.8.6
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.
- data/CHANGELIST +6 -2
- data/TODO +2 -0
- data/app/controllers/sessions_controller.rb +1 -1
- data/app/models/authentasaurus_emailer.rb +6 -6
- data/app/models/{session.rb → authentasaurus_session.rb} +1 -1
- data/app/views/authentasaurus_emailer/invitation_mail.html.erb +2 -2
- data/app/views/authentasaurus_emailer/recovery_mail.html.erb +2 -2
- data/app/views/authentasaurus_emailer/validation_mail.html.erb +2 -2
- data/lib/authentasaurus.rb +5 -1
- data/lib/authentasaurus/ac/acts_as_overrider.rb +6 -5
- data/lib/authentasaurus/ac/controllers/areas_controller.rb +52 -57
- data/lib/authentasaurus/ac/controllers/groups_controller.rb +55 -59
- data/lib/authentasaurus/ac/controllers/permissions_controller.rb +52 -57
- data/lib/authentasaurus/ac/controllers/recoveries_controller.rb +49 -54
- data/lib/authentasaurus/ac/controllers/registrations_controller.rb +23 -28
- data/lib/authentasaurus/ac/controllers/sessions_controller.rb +39 -40
- data/lib/authentasaurus/ac/controllers/user_invitations_controller.rb +29 -34
- data/lib/authentasaurus/ac/controllers/users_controller.rb +51 -56
- data/lib/authentasaurus/ac/controllers/validations_controller.rb +34 -39
- data/lib/authentasaurus/ac/routing.rb +70 -74
- data/lib/authentasaurus/ar/acts_as_authenticatable.rb +58 -64
- data/lib/authentasaurus/ar/acts_as_authenticatable_validatable.rb +13 -16
- data/lib/authentasaurus/ar/acts_as_overrider.rb +1 -3
- data/lib/authentasaurus/ar/authenticatable.rb +1 -3
- data/lib/authentasaurus/ar/migrations.rb +137 -145
- data/lib/authentasaurus/ar/models/recovery.rb +20 -23
- data/lib/authentasaurus/ar/models/session.rb +46 -46
- data/lib/authentasaurus/ar/models/user_invitation.rb +19 -22
- data/lib/authentasaurus/ar/models/validation.rb +12 -15
- data/lib/authentasaurus/arel/acts_as_authenticatable.rb +18 -23
- data/lib/authentasaurus/arel/authenticatable.rb +5 -9
- data/lib/authentasaurus/authorization.rb +11 -8
- data/lib/authentasaurus/configuration.rb +30 -0
- data/lib/authentasaurus/railtie.rb +3 -6
- data/lib/generators/authentasaurus/install/install_generator.rb +1 -2
- data/lib/generators/authentasaurus/install/templates/authentasaurus_tasks.rake +2 -2
- data/lib/generators/authentasaurus/install/templates/defaults.yml +4 -2
- data/lib/generators/authentasaurus/views/templates/authentasaurus_emailer/invitation_mail.html.erb +2 -2
- data/lib/generators/authentasaurus/views/templates/authentasaurus_emailer/recovery_mail.html.erb +2 -2
- data/lib/generators/authentasaurus/views/templates/authentasaurus_emailer/validation_mail.html.erb +2 -2
- data/lib/generators/authentasaurus/views/views_generator.rb +1 -1
- metadata +8 -8
- data/lib/generators/authentasaurus/install/templates/initializer.rb +0 -3
@@ -1,33 +1,30 @@
|
|
1
1
|
module Authentasaurus::Ar::Models
|
2
2
|
module UserInvitation
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
base.send :validates_format_of, :email, :with => %r{[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}}
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
require 'digest/sha2'
|
7
|
+
validates_presence_of :email
|
8
|
+
validates_uniqueness_of :email, :scope => :token
|
9
|
+
validates_format_of :email, :with => %r{[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}}
|
11
10
|
|
12
|
-
|
11
|
+
before_validation :create_token
|
13
12
|
#send email
|
14
|
-
|
13
|
+
after_create :send_invitation
|
15
14
|
end
|
16
15
|
|
17
16
|
module ClassMethods
|
18
17
|
end
|
18
|
+
|
19
|
+
def send_invitation
|
20
|
+
AuthentasaurusEmailer.deliver_invitation_mail(self.email, self.token) if Authentasaurus::Configuration.instance.configuration[:modules][:invitable][:send_email]
|
21
|
+
end
|
19
22
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
private
|
26
|
-
def create_token
|
27
|
-
return if self.email.nil? || self.email.blank?
|
28
|
-
string_to_hash=self.email + "invitable.olation" + self.email.hash.to_s
|
29
|
-
self.token = Digest::SHA2.hexdigest(string_to_hash)
|
30
|
-
end
|
23
|
+
private
|
24
|
+
def create_token
|
25
|
+
return if self.email.nil? || self.email.blank?
|
26
|
+
string_to_hash=self.email + "invitable.olation" + self.email.hash.to_s
|
27
|
+
self.token = Digest::SHA2.hexdigest(string_to_hash)
|
31
28
|
end
|
32
|
-
end
|
29
|
+
end
|
33
30
|
end
|
@@ -1,30 +1,27 @@
|
|
1
1
|
module Authentasaurus::Ar::Models
|
2
2
|
module Validation
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
base.send :belongs_to, :user, :polymorphic => true
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
belongs_to :user, :polymorphic => true
|
8
7
|
|
9
8
|
# Check that everything is there
|
10
|
-
|
9
|
+
validates_presence_of :user_id, :validation_code, :user_type, :email
|
11
10
|
# Check foreign keys
|
12
|
-
|
11
|
+
validates_associated :user
|
13
12
|
# Check unique user
|
14
|
-
|
15
|
-
|
13
|
+
validates_uniqueness_of :user_id, :scope => [:user_type, :email]
|
14
|
+
validates_uniqueness_of :validation_code
|
16
15
|
|
17
16
|
#send email
|
18
|
-
|
17
|
+
after_create :send_validation
|
19
18
|
end
|
20
19
|
|
21
20
|
module ClassMethods
|
22
21
|
end
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
AuthentasaurusEmailer.deliver_validation_mail(self.user.name, self.email, self.validation_code) if Rails.application.config.authentasaurus[:modules][:validatable][:send_email]
|
27
|
-
end
|
22
|
+
|
23
|
+
def send_validation
|
24
|
+
AuthentasaurusEmailer.deliver_validation_mail(self.user.name, self.email, self.validation_code) if Authentasaurus::Configuration.instance.configuration[:modules][:validatable][:send_email]
|
28
25
|
end
|
29
26
|
end
|
30
27
|
end
|
@@ -1,9 +1,6 @@
|
|
1
1
|
module Authentasaurus::Arel
|
2
2
|
module ActsAsAuthenticatable
|
3
|
-
|
4
|
-
base.send :extend, ClassMethods
|
5
|
-
base.send :include, InstanceMethods
|
6
|
-
end
|
3
|
+
extend ActiveSupport::Concern
|
7
4
|
|
8
5
|
module ClassMethods
|
9
6
|
## Authenticates the username and password
|
@@ -46,27 +43,25 @@ module Authentasaurus::Arel
|
|
46
43
|
return user
|
47
44
|
end
|
48
45
|
end
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
local_user.update_attributes user.attributes
|
59
|
-
else
|
60
|
-
self.sync_to.default_data.each do |key,value|
|
61
|
-
local_user.send(key.to_s + '=', value)
|
62
|
-
end
|
63
|
-
|
64
|
-
local_user.save
|
65
|
-
end
|
46
|
+
|
47
|
+
def sync
|
48
|
+
if self.class.sync && !self.class.sync_to.nil?
|
49
|
+
user = self.dup
|
50
|
+
last_update = user.attributes.delete "updated_at"
|
51
|
+
local_user = self.class.sync_to.find_or_initialize_by_username user.username, user.attributes
|
52
|
+
|
53
|
+
unless local_user.new_record?
|
54
|
+
local_user.update_attributes user.attributes
|
66
55
|
else
|
67
|
-
|
56
|
+
self.sync_to.default_data.each do |key,value|
|
57
|
+
local_user.send(key.to_s + '=', value)
|
58
|
+
end
|
59
|
+
|
60
|
+
local_user.save
|
68
61
|
end
|
62
|
+
else
|
63
|
+
false
|
69
64
|
end
|
70
65
|
end
|
71
|
-
end
|
66
|
+
end
|
72
67
|
end
|
@@ -1,20 +1,16 @@
|
|
1
1
|
module Authentasaurus::Arel
|
2
2
|
module Authenticatable
|
3
|
-
|
4
|
-
base.send :extend, ClassMethods
|
5
|
-
|
6
|
-
end
|
3
|
+
extend ActiveSupport::Concern
|
7
4
|
|
8
5
|
module ClassMethods
|
9
|
-
|
10
6
|
def authenticatable(*args)
|
11
7
|
self.unloadable
|
12
8
|
options = args.extract_options!
|
13
9
|
|
14
|
-
self.site = options[:site] ||
|
15
|
-
self.element_name = options[:session_element].try(:to_s) ||
|
16
|
-
self.sync = options[:sync] ||
|
17
|
-
self.sync_to = options[:sync_to].try(:to_s).try(:camelize).try(:constantize) ||
|
10
|
+
self.site = options[:site] || Authentasaurus::Configuration.instance.configuration[:modules][:remote][self.name.underscore.gsub(/_sync/, "").to_sym][:site]
|
11
|
+
self.element_name = options[:session_element].try(:to_s) || Authentasaurus::Configuration.instance.configuration[:modules][:remote][self.name.underscore.gsub(/_sync/, "").to_sym][:session_element]
|
12
|
+
self.sync = options[:sync] || Authentasaurus::Configuration.instance.configuration[:modules][:remote][self.name.underscore.gsub(/_sync/, "").to_sym][:sync]
|
13
|
+
self.sync_to = options[:sync_to].try(:to_s).try(:camelize).try(:constantize) || Authentasaurus::Configuration.instance.configuration[:modules][:remote][self.name.underscore.gsub(/_sync/, "").to_sym][:sync_to].camelize.constantize
|
18
14
|
|
19
15
|
|
20
16
|
# include authentication methods
|
@@ -108,7 +108,7 @@ module Authentasaurus::Authorization
|
|
108
108
|
#
|
109
109
|
# user_model - The model class representing a user (User by default)
|
110
110
|
def current_user(user_model = nil)#:doc:
|
111
|
-
user_model =
|
111
|
+
user_model = Authentasaurus::Configuration.instance.user_model.camelize.constantize if user_model.nil?
|
112
112
|
return user_model.find session[:user_id] if session[:user_id]
|
113
113
|
end
|
114
114
|
|
@@ -151,7 +151,7 @@ module Authentasaurus::Authorization
|
|
151
151
|
#
|
152
152
|
# user_model - The model class representing a user (User by default)
|
153
153
|
def is_logged_in?(user_model = nil) #:doc:
|
154
|
-
user_model =
|
154
|
+
user_model = Authentasaurus::Configuration.instance.user_model.camelize.constantize if user_model.nil?
|
155
155
|
unless user_model.find_by_id(session[:user_id])
|
156
156
|
return cookie_login?(user_model)
|
157
157
|
end
|
@@ -260,6 +260,7 @@ module Authentasaurus::Authorization
|
|
260
260
|
#
|
261
261
|
# If skip_request is set to true, the user won't be redirected to the original url after he/she logs in.
|
262
262
|
def check_logged_in(skip_request = false, user_model = nil) #:nodoc:
|
263
|
+
user_model = Authentasaurus::Configuration.instance.user_model.camelize.constantize if user_model.nil?
|
263
264
|
unless is_logged_in?(user_model)
|
264
265
|
login_required skip_request
|
265
266
|
end
|
@@ -270,11 +271,12 @@ module Authentasaurus::Authorization
|
|
270
271
|
#
|
271
272
|
# If skip_request is set to true, the user won't be redirected to the original url after he/she logs in.
|
272
273
|
def check_write_permissions(skip_request = false, user_model = nil) #:nodoc:
|
273
|
-
if
|
274
|
+
user_model = Authentasaurus::Configuration.instance.user_model.camelize.constantize if user_model.nil?
|
275
|
+
if is_logged_in?(user_model) && user_model.new.respond_to?(:permissions)
|
274
276
|
user_permissions = session[:user_permissions]
|
275
277
|
check = user_permissions[:write].find { |perm| perm==self.controller_name || perm=="all" }
|
276
278
|
unless check
|
277
|
-
redirect_to
|
279
|
+
redirect_to no_access_authentasaurus_sessions_path
|
278
280
|
end
|
279
281
|
else
|
280
282
|
login_required skip_request
|
@@ -286,11 +288,12 @@ module Authentasaurus::Authorization
|
|
286
288
|
#
|
287
289
|
# If skip_request is set to true, the user won't be redirected to the original url after he/she logs in.
|
288
290
|
def check_read_permissions(skip_request = false, user_model = nil) #:nodoc:
|
289
|
-
if
|
291
|
+
user_model = Authentasaurus::Configuration.instance.user_model.camelize.constantize if user_model.nil?
|
292
|
+
if is_logged_in?(user_model) && user_model.new.respond_to?(:permissions)
|
290
293
|
user_permissions = session[:user_permissions]
|
291
294
|
check = user_permissions[:read].find { |perm| perm==self.controller_name || perm=="all" }
|
292
295
|
unless check
|
293
|
-
redirect_to
|
296
|
+
redirect_to no_access_authentasaurus_sessions_path
|
294
297
|
end
|
295
298
|
else
|
296
299
|
login_required skip_request
|
@@ -299,7 +302,7 @@ module Authentasaurus::Authorization
|
|
299
302
|
|
300
303
|
# Logs in the user through a remember me cookie
|
301
304
|
def cookie_login?(user_model = nil) #:nodoc:
|
302
|
-
user_model =
|
305
|
+
user_model = Authentasaurus::Configuration.instance.user_model.camelize.constantize if user_model.nil?
|
303
306
|
|
304
307
|
if cookies[:remember_me_token]
|
305
308
|
user = user_model.find_by_remember_me_token cookies[:remember_me_token]
|
@@ -324,7 +327,7 @@ module Authentasaurus::Authorization
|
|
324
327
|
session[:original_url]=request.url
|
325
328
|
end
|
326
329
|
flash.now[:alert] = t(:login_required, :scope => [:authentasaurus, :action_controller, :errors, :messages])
|
327
|
-
redirect_to
|
330
|
+
redirect_to new_authentasaurus_session_path
|
328
331
|
end
|
329
332
|
|
330
333
|
def controller_instance #:nodoc:
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'erb'
|
2
|
+
require 'singleton'
|
3
|
+
|
4
|
+
module Authentasaurus
|
5
|
+
class Configuration
|
6
|
+
include Singleton
|
7
|
+
|
8
|
+
attr_accessor :hashing, :user_model, :default_namespace, :configuration
|
9
|
+
|
10
|
+
def load
|
11
|
+
@configuration ||= parse_config
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
# Parse the config/sphinx.yml file - if it exists
|
17
|
+
#
|
18
|
+
def parse_config
|
19
|
+
path = "#{Rails.root}/config/authentasaurus.yml"
|
20
|
+
return unless File.exists?(path)
|
21
|
+
|
22
|
+
conf = YAML::load(ERB.new(IO.read(path)).result)[Rails.env]
|
23
|
+
|
24
|
+
conf.each do |key,value|
|
25
|
+
self.send("#{key}=", value) if self.respond_to?("#{key}=")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
@@ -2,12 +2,9 @@ require 'authentasaurus'
|
|
2
2
|
require 'rails'
|
3
3
|
|
4
4
|
module Authentasaurus #:nodoc:
|
5
|
-
class Railtie < Rails::Engine
|
6
|
-
|
7
|
-
|
8
|
-
require 'authentasaurus/ar/acts_as_authenticatable'
|
9
|
-
require 'authentasaurus/ar/acts_as_authenticatable_validatable'
|
10
|
-
require 'authentasaurus/arel/acts_as_authenticatable'
|
5
|
+
class Railtie < Rails::Engine
|
6
|
+
initializer "authentasaurus.initialize" do |app|
|
7
|
+
Authentasaurus::Configuration.instance.load
|
11
8
|
end
|
12
9
|
end
|
13
10
|
end
|
@@ -4,8 +4,7 @@ module Authentasaurus
|
|
4
4
|
|
5
5
|
def install
|
6
6
|
copy_file "defaults.yml", "config/authentasaurus.yml"
|
7
|
-
copy_file "authentasaurus_tasks.rake", "lib/tasks/authentasaurus_tasks.rake"
|
8
|
-
copy_file "initializer.rb", "config/initializers/authentasaurus.rb"
|
7
|
+
copy_file "authentasaurus_tasks.rake", "lib/tasks/authentasaurus_tasks.rake"
|
9
8
|
end
|
10
9
|
end
|
11
10
|
end
|
@@ -12,11 +12,11 @@ namespace :authentasaurus do
|
|
12
12
|
Permission.create! :area_id => area.id, :group_id => group.id, :write => true, :read => true
|
13
13
|
puts "- Creating default user"
|
14
14
|
User.create! :username=> "admin" ,:password => "Pass@123",:password_confirmation => "Pass@123",:name=> "admin",
|
15
|
-
:email=>
|
15
|
+
:email=> Authentasaurus::Configuration.instance.configuration[:mail][:email], :active => true, :group_id => group.id
|
16
16
|
else
|
17
17
|
puts "- Creating default user"
|
18
18
|
User.create! :username=> "admin" ,:password => "Pass@123",:password_confirmation => "Pass@123",:name=> "admin",
|
19
|
-
:email=>
|
19
|
+
:email=> Authentasaurus::Configuration.instance.configuration[:mail][:email], :active => true
|
20
20
|
end
|
21
21
|
|
22
22
|
puts "Created admin user, you can now login with the following credentials:"
|
@@ -1,6 +1,7 @@
|
|
1
1
|
## Authentasaurus configuration
|
2
2
|
development: &non_production_settings
|
3
3
|
:hashing: "SHA2" # MD5 - SHA1 - SHA2
|
4
|
+
:user_model: &user_model "user"
|
4
5
|
:mail:
|
5
6
|
:email: &development_email "foo_bar@your-domain.com"
|
6
7
|
:host: "http://localhost:3000/"
|
@@ -10,7 +11,7 @@ development: &non_production_settings
|
|
10
11
|
:site: "http://localhost:3000/api_key/auth"
|
11
12
|
:session_element: "remote_sync"
|
12
13
|
:sync: true
|
13
|
-
:sync_to:
|
14
|
+
:sync_to: *user_model
|
14
15
|
:recoverable:
|
15
16
|
:token_expires_after: 10 # days
|
16
17
|
:send_email: true
|
@@ -30,6 +31,7 @@ test:
|
|
30
31
|
|
31
32
|
production:
|
32
33
|
:hashing: "SHA2" # MD5 - SHA1 - SHA2
|
34
|
+
:user_model: &user_model "user"
|
33
35
|
:mail:
|
34
36
|
:email: &production_email "foo_bar@your-domain.com"
|
35
37
|
:host: "http://your_website.com/"
|
@@ -39,7 +41,7 @@ production:
|
|
39
41
|
:site: "http://localhost:3000/api_key/auth"
|
40
42
|
:session_element: "remote_sync"
|
41
43
|
:sync: true
|
42
|
-
:sync_to:
|
44
|
+
:sync_to: *user_model
|
43
45
|
:recoverable:
|
44
46
|
:token_expires_after: 10 # days
|
45
47
|
:send_email: true
|
data/lib/generators/authentasaurus/views/templates/authentasaurus_emailer/invitation_mail.html.erb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<p>You've been invited to create an account at <%=
|
1
|
+
<p>You've been invited to create an account at <%= Authentasaurus::Configuration.instance.configuration[:mail][:host] %> follow this <%= link_to "link", new_registrations_url(:host => Authentasaurus::Configuration.instance.configuration[:mail][:host], :token => @token) %> to respond to the invitation.</p>
|
2
2
|
|
3
3
|
<p>Best Regards,</p>
|
4
|
-
<p><%=
|
4
|
+
<p><%= Authentasaurus::Configuration.instance.configuration[:mail][:host] %> Team</p>
|
data/lib/generators/authentasaurus/views/templates/authentasaurus_emailer/recovery_mail.html.erb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<p>Dear <%= @name %>,</p>
|
2
2
|
|
3
3
|
<p>A request has been made to recover your account's password.</p>
|
4
|
-
<p>Please visit this <%= link_to "link", recover_password_url(:host =>
|
4
|
+
<p>Please visit this <%= link_to "link", recover_password_url(:host => Authentasaurus::Configuration.instance.configuration[:mail][:host], :token => @token) %> and follow the instructions.</p>
|
5
5
|
|
6
6
|
<p>Best Regards,</p>
|
7
|
-
<p><%=
|
7
|
+
<p><%= Authentasaurus::Configuration.instance.configuration[:mail][:host] %> Team</p>
|
data/lib/generators/authentasaurus/views/templates/authentasaurus_emailer/validation_mail.html.erb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<p>Dear <%= @name %>,</p>
|
2
2
|
|
3
|
-
<p>Please validate your account at <%=
|
3
|
+
<p>Please validate your account at <%= Authentasaurus::Configuration.instance.configuration[:mail][:host] %> by visiting this <%= link_to "link", activate_url(:host => Authentasaurus::Configuration.instance.configuration[:mail][:host] , :code => @vcode) %>.</p>
|
4
4
|
|
5
5
|
<p>Best Regards,</p>
|
6
|
-
<p><%=
|
6
|
+
<p><%= Authentasaurus::Configuration.instance.configuration[:mail][:host] %> Team</p>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Authentasaurus
|
2
2
|
class ViewsGenerator < Rails::Generators::NamedBase
|
3
|
-
source_root File.expand_path('
|
3
|
+
source_root File.expand_path('../../../../../app/views', __FILE__)
|
4
4
|
class_option :authorization, :type => :boolean, :default => true, :desc => "Generates views for authorization"
|
5
5
|
class_option :validation, :type => :boolean, :default => true, :desc => "Generates views for user validation"
|
6
6
|
class_option :invitation, :type => :boolean, :default => true, :desc => "Generates views for user invitation"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authentasaurus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 51
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 0.8.
|
9
|
+
- 6
|
10
|
+
version: 0.8.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Omar Mekky
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date:
|
21
|
+
date: 2011-01-11 00:00:00 +02:00
|
22
22
|
default_executable:
|
23
23
|
dependencies: []
|
24
24
|
|
@@ -45,10 +45,10 @@ files:
|
|
45
45
|
- app/controllers/validations_controller.rb
|
46
46
|
- app/models/area.rb
|
47
47
|
- app/models/authentasaurus_emailer.rb
|
48
|
+
- app/models/authentasaurus_session.rb
|
48
49
|
- app/models/group.rb
|
49
50
|
- app/models/permission.rb
|
50
51
|
- app/models/recovery.rb
|
51
|
-
- app/models/session.rb
|
52
52
|
- app/models/user.rb
|
53
53
|
- app/models/user_invitation.rb
|
54
54
|
- app/models/user_sync.rb
|
@@ -106,12 +106,12 @@ files:
|
|
106
106
|
- lib/authentasaurus/arel/acts_as_authenticatable.rb
|
107
107
|
- lib/authentasaurus/arel/authenticatable.rb
|
108
108
|
- lib/authentasaurus/authorization.rb
|
109
|
+
- lib/authentasaurus/configuration.rb
|
109
110
|
- lib/authentasaurus/railtie.rb
|
110
111
|
- lib/generators/authentasaurus/install/USAGE
|
111
112
|
- lib/generators/authentasaurus/install/install_generator.rb
|
112
113
|
- lib/generators/authentasaurus/install/templates/authentasaurus_tasks.rake
|
113
114
|
- lib/generators/authentasaurus/install/templates/defaults.yml
|
114
|
-
- lib/generators/authentasaurus/install/templates/initializer.rb
|
115
115
|
- lib/generators/authentasaurus/views/USAGE
|
116
116
|
- lib/generators/authentasaurus/views/templates/areas/edit.html.erb
|
117
117
|
- lib/generators/authentasaurus/views/templates/areas/index.html.erb
|
@@ -239,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
239
239
|
requirements: []
|
240
240
|
|
241
241
|
rubyforge_project:
|
242
|
-
rubygems_version: 1.
|
242
|
+
rubygems_version: 1.4.1
|
243
243
|
signing_key:
|
244
244
|
specification_version: 3
|
245
245
|
summary: Restful dynamic group/permission based authentication and authorization for Rails
|