effective_roles 1.2.0 → 1.2.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aa6baafe8b9e81b1baa9862c885beb88c8483735
4
- data.tar.gz: b4beee32f21b88b94046c6a467b681f0c1142ce7
3
+ metadata.gz: da758236959516cce1c03e8d05443762533eae37
4
+ data.tar.gz: 42af4b3d409c4ec2ae9a84bb4df524615dc4a789
5
5
  SHA512:
6
- metadata.gz: ebb6efc26b4c837b5c8ed50dbb3c277c146092c439f374ad42740cfbb3a8803650479e19dcd9e5a0b09eed19c5e2e2f7327383f69a1bf24e726c7b93e35b8355
7
- data.tar.gz: bf6748ec5daa3e3560a8c3352bde647a12ebc4d3565ac6bd17c4071641ce22ed17855588ccc70566574be6fcbde93edfe3b37be5fd73c38104df48ca053d19f7
6
+ metadata.gz: db676b60bacc72079df9ab89d54cd39c1110cca590be9d20305870771ca1ce302c720130df7afbc4a1558dbc1c8699fa8d3d7ead76c7d5a330bdde007ae931d1
7
+ data.tar.gz: 3f94ff86d2ebdbb0a27f81d63d6e7ce467eb1a717a3b07a12951215e7e83666a106471323a7a4f29964b9c302cedb930350aeaffa82895d386c28f51f679c674
data/README.md CHANGED
@@ -119,6 +119,7 @@ user.roles = [:admin]
119
119
 
120
120
  post.roles_permit?(user)
121
121
  => false # User does not have the superadmin role
122
+ ```
122
123
 
123
124
  ```ruby
124
125
  post.roles = [:admin]
@@ -17,6 +17,8 @@ module EffectiveRoles
17
17
  obj.roles
18
18
  elsif obj.kind_of?(Integer)
19
19
  roles.reject { |r| (obj & 2**roles.index(r)).zero? }
20
+ elsif obj.kind_of?(Symbol)
21
+ [roles.find { |role| role == obj }].compact
20
22
  elsif obj.nil?
21
23
  []
22
24
  else
@@ -34,8 +36,6 @@ module EffectiveRoles
34
36
  end
35
37
  end
36
38
 
37
- private
38
-
39
39
  def self.assignable_roles_for(user, obj = nil)
40
40
  raise 'EffectiveRoles config.assignable_roles_for must be a Hash, Array or nil' unless [Hash, Array, NilClass].include?(assignable_roles.class)
41
41
 
@@ -48,6 +48,8 @@ module EffectiveRoles
48
48
  user.roles.map { |role| assignable[role] }.flatten.compact.uniq
49
49
  end
50
50
 
51
+ private
52
+
51
53
  def self.role_description(role, obj = nil)
52
54
  raise 'EffectiveRoles config.role_descriptions must be a Hash' unless role_descriptions.kind_of?(Hash)
53
55
  (role_descriptions[obj.try(:class).to_s] || {})[role] || role_descriptions[role] || ''
@@ -1,3 +1,3 @@
1
1
  module EffectiveRoles
2
- VERSION = '1.2.0'.freeze
2
+ VERSION = '1.2.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_roles
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-24 00:00:00.000000000 Z
11
+ date: 2015-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails