module TestRunner::Assert::Checks::Registry

Attributes

registry[R]

Public Class Methods

define(check_name, block) click to toggle source
# File lib/test_runner/assert/checks/registry.rb, line 9
def self.define check_name, block
  klass = Class.new Check
  klass.instance_variable_set :@block, block
  constant_name = Util.to_camel_case check_name
  const_set constant_name, klass
  klass
end
extended(base) click to toggle source
# File lib/test_runner/assert/checks/registry.rb, line 5
def self.extended base
  base.instance_variable_set :@registry, {}
end

Public Instance Methods

[](check_name, &block)
Alias for: resolve
register(check_name, &block) click to toggle source
# File lib/test_runner/assert/checks/registry.rb, line 19
def register check_name, &block
  registry[check_name] = Registry.define check_name, block
end
resolve(check_name, &block) click to toggle source
# File lib/test_runner/assert/checks/registry.rb, line 23
def resolve check_name, &block
  block ||= -> * do raise MissingCheck.new check_name end
  registry.fetch check_name, &block
end
Also aliased as: []