class Shoulda::Matchers::ActionController::FlashStore
@private
def self.future
def self.future new end
def self.now
def self.now new.use_now! end
def copy_discard_if_necessary(original_flash, new_flash)
def copy_discard_if_necessary(original_flash, new_flash) discard = original_flash.instance_variable_get('@discard').dup new_flash.instance_variable_set('@discard', discard) end
def copy_flashes(original_flash, new_flash)
def copy_flashes(original_flash, new_flash) flashes = original_flash.instance_variable_get('@flashes').dup new_flash.instance_variable_set('@flashes', flashes) end
def copy_of_flash_from_controller
def copy_of_flash_from_controller controller.flash.dup.tap do |flash| copy_flashes(controller.flash, flash) copy_discard_if_necessary(controller.flash, flash) end end
def flash
def flash @_flash ||= copy_of_flash_from_controller end
def has_key?(key)
def has_key?(key) values_to_check.include?(key.to_s) end
def has_value?(expected_value)
def has_value?(expected_value) values_to_check.values.any? do |actual_value| expected_value === actual_value end end
def initialize
def initialize @use_now = false end
def keys_to_discard
def keys_to_discard flash.instance_variable_get('@discard') end
def name
def name if @use_now 'flash.now' else 'flash' end end
def set_values
def set_values flash.instance_variable_get('@flashes') end
def use_now!
def use_now! @use_now = true self end
def values_to_check
def values_to_check if @use_now set_values.slice(*keys_to_discard.to_a) else set_values.except(*keys_to_discard.to_a) end end