Sha256: afe17b27ef83cbf213b7e35afd03f7bad2b68bf9f758520e1ba932705aecbca2
Contents?: true
Size: 933 Bytes
Versions: 3
Compression:
Stored size: 933 Bytes
Contents
module FlexibleAccessibility class Permission attr_reader :resource attr_reader :actions def initialize(args={}) @resource = args[:resource] @actions = args[:actions] end def controller ApplicationResource.new(self.resource).controller end def namespace ApplicationResource.new(self.resource).namespace end # TODO: this function may be recursive because nesting may be existed class << self def all permissions = [] Utils.new.app_controllers.each do |scope| namespace = scope.first.to_s scope.last.each do |resource| resource = "#{namespace}/#{resource}" unless namespace == 'default' permissions << Permission.new(:resource => resource.gsub(/_controller/, ''), :actions => ApplicationResource.new(resource).klass.instance_variable_get(:@_verifiable_routes)) end end permissions end end end end
Version data entries
3 entries across 3 versions & 1 rubygems