class Authorization::DevelopmentSupport::ChangeSupporter::RemovePrivilegeFromRoleAction
Attributes
context[R]
privilege[R]
role[R]
Public Class Methods
new(privilege_sym, context, role_sym)
click to toggle source
# File lib/declarative_authorization/development_support/change_supporter.rb, line 472 def initialize (privilege_sym, context, role_sym) @privilege, @context, @role = privilege_sym, context, role_sym end
specific_actions(candidate)
click to toggle source
# File lib/declarative_authorization/development_support/change_supporter.rb, line 458 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| user.role_symbols.collect {|role_sym| AnalyzerEngine::Role.for_sym(role_sym, candidate.engine) }. collect {|role| [role] + role.ancestors}.flatten.uniq.collect do |role| new(ancestor_privilege.to_sym, context, role.to_sym) end end.flatten end
Public Instance Methods
apply(candidate)
click to toggle source
# File lib/declarative_authorization/development_support/change_supporter.rb, line 476 def apply (candidate) AnalyzerEngine.apply_change(candidate.engine, to_a) end
reverse?(other)
click to toggle source
# File lib/declarative_authorization/development_support/change_supporter.rb, line 480 def reverse? (other) (other.is_a?(AssignPrivilegeToRoleAction) or other.is_a?(AbstractCompoundAction)) and other.reverse?(self) end
to_a()
click to toggle source
# File lib/declarative_authorization/development_support/change_supporter.rb, line 486 def to_a [:remove_privilege, @privilege, @context, @role] end