role_authorization 0.3.6 → 0.3.7

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.
@@ -12,33 +12,29 @@ module RoleAuthorization
12
12
 
13
13
  module InstanceMethods
14
14
  def scope_with(scope)
15
- if scope.is_a?(Symbol) || scope.is_a?(String) || scope.is_a?(Integer)
16
- scope
15
+ if scope.blank? || scope.is_a?(Symbol) || scope.is_a?(String) || scope.is_a?(Integer)
16
+ scope || :all
17
17
  else
18
18
  scope.id
19
19
  end
20
20
  end
21
21
 
22
22
  def users(scope = nil)
23
- if user_ids.is_a?(Hash)
24
- RoleAuthorization::Roles::Manager.user_klass.where(:id => user_ids[scope_with(scope)]).all
25
- else
26
- RoleAuthorization::Roles::Manager.user_klass.where(:id => user_ids).all
27
- end
23
+ RoleAuthorization::Roles::Manager.user_klass.where(:id => user_ids[scope_with(scope)]).all
28
24
  end
29
25
 
30
26
  def add_user(user_id, scope = nil)
31
27
  unserialized_user_ids = self.user_ids
28
+ unserialized_user_ids ||= Hash.new
32
29
 
33
30
  if scope.nil? || scope.is_a?(Symbol) || scope.is_a?(String) || scope.is_a?(Class)
34
- unserialized_user_ids ||= Array.new
35
- unserialized_user_ids << user_id
36
- unserialized_user_ids.uniq!
31
+ unserialized_user_ids[scope_with(scope)] ||= Array.new
32
+ unserialized_user_ids[scope_with(scope)] << user_id
33
+ unserialized_user_ids[scope_with(scope)].uniq!
37
34
  else
38
- unserialized_user_ids ||= Hash.new
39
- unserialized_user_ids[scope.id] ||= Array.new
40
- unserialized_user_ids[scope.id] << user_id
41
- unserialized_user_ids[scope.id].uniq!
35
+ unserialized_user_ids[scope_with(scope)] ||= Array.new
36
+ unserialized_user_ids[scope_with(scope)] << user_id
37
+ unserialized_user_ids[scope_with(scope)].uniq!
42
38
  end
43
39
 
44
40
  self.user_ids = unserialized_user_ids
@@ -48,14 +44,14 @@ module RoleAuthorization
48
44
 
49
45
  def remove_user(user_id, scope = nil)
50
46
  unserialized_user_ids = self.user_ids
47
+ unserialized_user_ids ||= Hash.new
51
48
 
52
49
  if scope.nil? || scope.is_a?(Symbol) || scope.is_a?(String) || scope.is_a?(Class)
53
- unserialized_user_ids ||= Array.new
54
- unserialized_user_ids.delete(user_id)
50
+ unserialized_user_ids[scope_with(scope)] ||= Array.new
51
+ unserialized_user_ids[scope_with(scope)].delete(user_id)
55
52
  else
56
- unserialized_user_ids ||= Hash.new
57
- unserialized_user_ids[scope.id] ||= Array.new
58
- unserialized_user_ids[scope.id].delete(user_id)
53
+ unserialized_user_ids[scope_with(scope)] ||= Array.new
54
+ unserialized_user_ids[scope_with(scope)].delete(user_id)
59
55
  end
60
56
 
61
57
  self.user_ids = unserialized_user_ids
@@ -82,20 +82,20 @@ module RoleAuthorization
82
82
  def enroll(role_name, scope = nil)
83
83
  return true if has_role?(role_name.to_sym, scope)
84
84
 
85
- scope, scope_id = scope_with(scope)
85
+ scope_key, scope_id = scope_with(scope)
86
86
  self.serialized_roles ||= Hash.new
87
87
 
88
- if scope.nil?
88
+ if scope_key.nil?
89
89
  self.serialized_roles[:global] ||= Array.new
90
90
  self.serialized_roles[:global] << role_name.to_sym
91
91
  else
92
92
  if scope_id.nil?
93
- self.serialized_roles[scope] ||= Array.new
94
- self.serialized_roles[scope] << role_name.to_sym
93
+ self.serialized_roles[scope_key] ||= Array.new
94
+ self.serialized_roles[scope_key] << role_name.to_sym
95
95
  else
96
- self.serialized_roles[scope] ||= Hash.new
97
- self.serialized_roles[scope][scope_id] ||= Array.new
98
- self.serialized_roles[scope][scope_id] << role_name.to_sym
96
+ self.serialized_roles[scope_key] ||= Hash.new
97
+ self.serialized_roles[scope_key][scope_id] ||= Array.new
98
+ self.serialized_roles[scope_key][scope_id] << role_name.to_sym
99
99
  end
100
100
  end
101
101
 
@@ -110,20 +110,20 @@ module RoleAuthorization
110
110
  def withdraw(role_name, scope = nil)
111
111
  return true unless has_role?(role_name.to_sym, scope)
112
112
 
113
- scope, scope_id = scope_with(scope)
113
+ scope_key, scope_id = scope_with(scope)
114
114
  serialized_roles ||= Hash.new
115
115
 
116
- if scope.nil?
116
+ if scope_key.nil?
117
117
  self.serialized_roles[:global] ||= Array.new
118
118
  self.serialized_roles[:global].delete(role_name.to_sym)
119
119
  else
120
- if scope_id.nil?
121
- self.serialized_roles[scope] ||= Array.new
122
- self.serialized_roles[scope].delete(role_name.to_sym)
120
+ if scope_key_id.nil?
121
+ self.serialized_roles[scope_key] ||= Array.new
122
+ self.serialized_roles[scope_key].delete(role_name.to_sym)
123
123
  else
124
- self.serialized_roles[scope] ||= Hash.new
125
- self.serialized_roles[scope][scope_id] ||= Array.new
126
- self.serialized_roles[scope][scope_id].delete(role_name.to_sym)
124
+ self.serialized_roles[scope_key] ||= Hash.new
125
+ self.serialized_roles[scope_key][scope_key_id] ||= Array.new
126
+ self.serialized_roles[scope_key][scope_key_id].delete(role_name.to_sym)
127
127
  end
128
128
  end
129
129
 
@@ -1,3 +1,3 @@
1
1
  module RoleAuthorization
2
- VERSION = "0.3.6"
2
+ VERSION = "0.3.7"
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: role_authorization
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.3.6
5
+ version: 0.3.7
6
6
  platform: ruby
7
7
  authors:
8
8
  - John 'asceth' Long
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-17 00:00:00 -04:00
13
+ date: 2011-03-21 00:00:00 -04:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency