class Suit::Controllers::Matchers::RequireRoleMatcher
Public Class Methods
new(role, action, verb, role_url, flash_message, context)
click to toggle source
# File lib/controllers/matchers/role_matcher.rb, line 21 def initialize(role, action, verb, role_url, flash_message, context) @role = role @action = action @verb = verb @role_url = role_url @context = context @flash_message = flash_message end
Public Instance Methods
description()
click to toggle source
# File lib/controllers/matchers/role_matcher.rb, line 39 def description "require role #{@action}" end
failure_message()
click to toggle source
# File lib/controllers/matchers/role_matcher.rb, line 35 def failure_message "Expected a '#{@action}' to '#{@action}' to require role '#{@role}'" end
matches?(controller)
click to toggle source
# File lib/controllers/matchers/role_matcher.rb, line 30 def matches?(controller) @controller = controller requires_role? end
Private Instance Methods
flash()
click to toggle source
# File lib/controllers/matchers/role_matcher.rb, line 55 def flash return @flash if @flash flash_and_now = @controller.request.session["flash"].dup if @controller.request.session["flash"] flash = @controller.send(:flash) @flash = if @now flash.keys.each {|key| flash_and_now.delete(key) } flash_and_now else flash end end
requires_role?()
click to toggle source
# File lib/controllers/matchers/role_matcher.rb, line 45 def requires_role? response = @context.send(@verb, @action, :id => 1) @context.send(:assert_redirected_to, @role_url) if flash.values.any? {|value| value =~ @flash_message } true else false end end