module TestBench::Fixture::ErrorPolicy::Build

Constants

PolicyError

Public Class Methods

call(policy=nil) click to toggle source
# File lib/test_bench/fixture/error_policy.rb, line 15
def self.call(policy=nil)
  cls = policy_class(policy)

  cls.new
end
policies() click to toggle source
# File lib/test_bench/fixture/error_policy.rb, line 33
def self.policies
  {
    :abort => Abort,
    :raise => Raise,
    :rescue => Rescue,
    :rescue_assert => RescueAssert
  }
end
policy_class(policy=nil) click to toggle source
# File lib/test_bench/fixture/error_policy.rb, line 21
def self.policy_class(policy=nil)
  policy ||= Defaults.policy

  policies.fetch(policy) do
    *policies, final_policy = self.policies.keys

    policy_list = "#{policies.map(&:inspect).join(', ')} or #{final_policy.inspect}"

    raise PolicyError, "Policy #{policy.inspect} is unknown. It must be one of: #{policy_list}"
  end
end