Module: DTW::Resolver

Defined in:
lib/dtwrb/resolver.rb,
sig/dtwrb.rbs

Class Method Summary collapse

Class Method Details

.call(value, registry, kind) ⇒ Object

Parameters:

  • (Object)
  • (::Hash[::Symbol, untyped])
  • (::String)

Returns:

  • (Object)


7
8
9
10
11
12
13
14
15
16
17
# File 'lib/dtwrb/resolver.rb', line 7

def call(value, registry, kind)
  return value if value.respond_to?(:call)

  registry.fetch(value) do
    raise(
      UnknownStrategyError,
      "unknown #{kind} #{value.inspect}: expected one of #{registry.keys.join(", ")} " \
        "or an object responding to #call"
    )
  end
end