Module: Garage::Authorizable
- Included in:
- Docs::Document, Meta::RemoteService, MetaResource
- Defined in:
- lib/garage/authorizable.rb
Instance Method Summary collapse
- #authorize!(subject, action) ⇒ Object
- #build_permissions(perms, subject) ⇒ Object
- #effective_permissions(subject) ⇒ Object
Instance Method Details
#authorize!(subject, action) ⇒ Object
22 23 24 |
# File 'lib/garage/authorizable.rb', line 22 def (subject, action) (subject).(action) end |
#build_permissions(perms, subject) ⇒ Object
12 13 14 |
# File 'lib/garage/authorizable.rb', line 12 def (perms, subject) raise NotImplementedError, "#{self.class}#build_permissions must be implemented" end |
#effective_permissions(subject) ⇒ Object
16 17 18 19 20 |
# File 'lib/garage/authorizable.rb', line 16 def (subject) Garage::Permissions.new(subject, resource_class).tap do |perms| (perms, subject) end end |