Module: TestRunner::Assert::Checks::Registry

Included in:
TestRunner::Assert::Checks
Defined in:
lib/test_runner/assert/checks/registry.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#registryObject (readonly)

Returns the value of attribute registry.



17
18
19
# File 'lib/test_runner/assert/checks/registry.rb', line 17

def registry
  @registry
end

Class Method Details

.define(check_name, block) ⇒ Object



9
10
11
12
13
14
15
# 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) ⇒ Object



5
6
7
# File 'lib/test_runner/assert/checks/registry.rb', line 5

def self.extended base
  base.instance_variable_set :@registry, {}
end

Instance Method Details

#register(check_name, &block) ⇒ Object



19
20
21
# 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) ⇒ Object Also known as: []



23
24
25
26
# 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