Module: Authorizable::PermissionUtilities
- Defined in:
- lib/authorizable/permission_utilities.rb
Constant Summary collapse
- KIND =
0
- DEFAULT_ACCESS =
1
- DESCRIPTION =
2
- VISIBILITY_PROC =
3
- ACCESS_PROC =
4
- OBJECT =
0
- ACCESS =
1
- DEFAULT_ROLE =
0
Class Method Summary collapse
- .description_for(permission) ⇒ Object
- .has_key?(permission) ⇒ Boolean
-
.has_procs?(permission) ⇒ Boolean
returns procs or false.
- .has_visibility_procs?(permission) ⇒ Boolean
- .is_access?(permission) ⇒ Boolean
- .is_object?(permission) ⇒ Boolean
- .permissions ⇒ Object
- .set_for_role(role) ⇒ Object
- .should_render?(permission, *args) ⇒ Boolean
- .value_for(permission, role = DEFAULT_ROLE) ⇒ Object
Class Method Details
.description_for(permission) ⇒ Object
47 48 49 50 51 52 53 54 55 |
# File 'lib/authorizable/permission_utilities.rb', line 47 def self.description_for() result = (.to_sym, DESCRIPTION) if result.blank? result = .to_s.humanize end result end |
.has_key?(permission) ⇒ Boolean
62 63 64 |
# File 'lib/authorizable/permission_utilities.rb', line 62 def self.has_key?() [.to_sym].present? end |
.has_procs?(permission) ⇒ Boolean
returns procs or false
28 29 30 |
# File 'lib/authorizable/permission_utilities.rb', line 28 def self.has_procs?() (, ACCESS_PROC) end |
.has_visibility_procs?(permission) ⇒ Boolean
32 33 34 |
# File 'lib/authorizable/permission_utilities.rb', line 32 def self.has_visibility_procs?() (, VISIBILITY_PROC) end |
.is_access?(permission) ⇒ Boolean
66 67 68 |
# File 'lib/authorizable/permission_utilities.rb', line 66 def self.is_access?() [][KIND] == ACCESS end |
.is_object?(permission) ⇒ Boolean
70 71 72 |
# File 'lib/authorizable/permission_utilities.rb', line 70 def self.is_object?() [][KIND] == OBJECT end |
.permissions ⇒ Object
15 16 17 |
# File 'lib/authorizable/permission_utilities.rb', line 15 def self. Authorizable::Permissions.definitions end |
.set_for_role(role) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/authorizable/permission_utilities.rb', line 19 def self.set_for_role(role) .inject({}) { |h,(k, v)| value = v[DEFAULT_ACCESS] h[k.to_sym] = value.is_a?(Array) ? value[role] : value h } end |
.should_render?(permission, *args) ⇒ Boolean
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/authorizable/permission_utilities.rb', line 36 def self.should_render?(, *args) result = true proc = self.has_visibility_procs?() if proc result = proc.call(*args) end result end |
.value_for(permission, role = DEFAULT_ROLE) ⇒ Object
57 58 59 60 |
# File 'lib/authorizable/permission_utilities.rb', line 57 def self.value_for(, role = DEFAULT_ROLE) value = [.to_sym][DEFAULT_ACCESS] value.is_a?(Array) ? value[role] : value end |