class Authorization::DevelopmentSupport::ChangeSupporter::AddPrivilegeAndAssignRoleToUserAction

Attributes

context[R]
privilege[R]
role[R]
user[R]

Public Class Methods

new(user, privilege_sym, context, role_sym) click to toggle source
# File lib/declarative_authorization/development_support/change_supporter.rb, line 448
def initialize (user, privilege_sym, context, role_sym)
  @user, @privilege, @context, @role = user, privilege_sym, context, role_sym
  @actions = [
    AssignRoleToUserAction.new(@user, @role),
    AssignPrivilegeToRoleAction.new(@privilege, @context, @role)
  ]
end
specific_actions(candidate) click to toggle source
# File lib/declarative_authorization/development_support/change_supporter.rb, line 435
def self.specific_actions (candidate)
  privilege = AnalyzerEngine::Privilege.for_sym(
      candidate.failed_tests.first.privilege, candidate.engine)
  context = candidate.failed_tests.first.context
  user = candidate.failed_tests.first.user
  ([privilege] + privilege.ancestors).collect do |ancestor_privilege|
    AnalyzerEngine::Role.all(candidate.engine).collect do |role|
      new(user, ancestor_privilege.to_sym, context, role.to_sym)
    end
  end.flatten
end