Class: Lamassu::NamespaceResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/lamassu/namespace_resolver.rb

Overview

Default namespace resolver used for scopes in Lamassu

If target is a symbol or string, it is used as is. If passed a Module, it is translated underscorized string. For any other object, it resolves the targets class and it’s translated as above.

Instance Method Summary collapse

Constructor Details

#initialize(inflector: Dry::Inflector.new) ⇒ NamespaceResolver

Returns a new instance of NamespaceResolver.



12
13
14
# File 'lib/lamassu/namespace_resolver.rb', line 12

def initialize(inflector: Dry::Inflector.new)
  @inflector = inflector
end

Instance Method Details

#call(target) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/lamassu/namespace_resolver.rb', line 16

def call(target)
  case target
  when Module
    coerce_module(target)
  when String, Symbol
    coerce_string(target)
  else
    coerce_object(target)
  end
end