module Admission::Tests
Attributes
all_privileges[RW]
order[RW]
Public Class Methods
assertion_failed_message(arbitration, privilege)
click to toggle source
# File lib/admission/tests/tests.rb, line 7 def assertion_failed_message arbitration, privilege 'Admission denied to %s applying %s.' % [ arbitration.case_to_s, privilege.to_s ] end
refutation_failed_message(arbitration, privilege)
click to toggle source
# File lib/admission/tests/tests.rb, line 14 def refutation_failed_message arbitration, privilege 'Admission given to %s applying %s.' % [ arbitration.case_to_s, privilege.to_s ] end
separate_privileges(selector=nil, inheritance: true, list: all_privileges, &block)
click to toggle source
# File lib/admission/tests/tests.rb, line 21 def separate_privileges selector=nil, inheritance: true, list: all_privileges, &block selector = block unless selector selector = [selector] if selector.is_a? String block = case selector when Array if inheritance ref_privileges = selector.map do |s| order.get *Admission::Privilege.split_text_key(s) end ->(p){ ref_privileges.any?{|ref_p| p.eql_or_inherits? ref_p } } else ->(p){ selector.include? p.text_key } end when Proc selector else raise ArgumentError.new('bad selector type') end list.partition &block end