Class Authorization::Reader::PrivilegesReader
In: lib/declarative_authorization/reader.rb
Parent: Object

The PrivilegeReader handles the part of the authorization DSL in a privileges block. Here, privilege hierarchies are defined.

Methods

Public Instance methods

Specifies privileges that are to be assigned as lower ones. Only to be used inside a privilege block.

[Source]

     # File lib/declarative_authorization/reader.rb, line 180
180:       def includes (*privileges)
181:         raise DSLError, "includes only in privilege block" if @current_priv.nil?
182:         privileges.each do |priv|
183:           append_privilege priv
184:           @privilege_hierarchy[@current_priv] ||= []
185:           @privilege_hierarchy[@current_priv] << [priv, @current_context]
186:         end
187:       end

Defines part of a privilege hierarchy. For the given privilege, included privileges may be defined in the block (through includes) or as option :includes. If the optional context is given, the privilege hierarchy is limited to that context.

[Source]

     # File lib/declarative_authorization/reader.rb, line 163
163:       def privilege (privilege, context = nil, options = {}, &block)
164:         if context.is_a?(Hash)
165:           options = context
166:           context = nil
167:         end
168:         @current_priv = privilege
169:         @current_context = context
170:         append_privilege privilege
171:         instance_eval(&block) if block
172:         includes(*options[:includes]) if options[:includes]
173:       ensure
174:         @current_priv = nil
175:         @current_context = nil
176:       end

[Validate]