class DeclarativeAuthorization::Test::Helpers::RoleTestGenerator
Public Class Methods
new(test_class, role)
click to toggle source
# File lib/declarative_authorization/test/helpers.rb, line 76 def initialize(test_class, role) @test_class = test_class @role = role end
Public Instance Methods
allowed(options)
click to toggle source
# File lib/declarative_authorization/test/helpers.rb, line 91 def allowed(options) if options[:when] privilege(options[:when]) { allowed(options) } else Blockenspiel.invoke(Proc.new {allowed(options)}, PrivilegeTestGenerator.new(@test_class, @role, nil)) end end
denied(options)
click to toggle source
# File lib/declarative_authorization/test/helpers.rb, line 99 def denied(options) if options[:when] privilege(options[:when]) { denied(options) } else Blockenspiel.invoke(Proc.new {denied(options)}, PrivilegeTestGenerator.new(@test_class, @role, nil)) end end
privilege(privilege, &block)
click to toggle source
# File lib/declarative_authorization/test/helpers.rb, line 81 def privilege(privilege, &block) privileges = [privilege].flatten.uniq unless privileges.all? { |privilege| [:hidden, :read, :write, :write_without_delete].include?(privilege) } raise "Privilege (:when) must be :hidden, :read, :write_without_delete, or :write. Found #{privilege.inspect}." end Blockenspiel.invoke(block, PrivilegeTestGenerator.new(@test_class, @role, privileges)) end