Module: Clowne::Adapters::Registry::Container::ClassMethods

Defined in:
lib/clowne/adapters/registry.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#registryObject

Returns the value of attribute registry.



24
25
26
# File 'lib/clowne/adapters/registry.rb', line 24

def registry
  @registry
end

Instance Method Details

#inherited(subclass) ⇒ Object



26
27
28
29
# File 'lib/clowne/adapters/registry.rb', line 26

def inherited(subclass)
  # Duplicate registry
  subclass.registry = registry.dup
end

#register_resolver(type, resolver, after: nil, before: nil, prepend: nil) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/clowne/adapters/registry.rb', line 35

def register_resolver(type, resolver, after: nil, before: nil, prepend: nil)
  registry.mapping[type] = resolver

  if prepend
    registry.unshift type
  elsif after
    registry.insert_after after, type
  elsif before
    registry.insert_before before, type
  else
    registry.append type
  end
end

#resolver_for(type) ⇒ Object



31
32
33
# File 'lib/clowne/adapters/registry.rb', line 31

def resolver_for(type)
  registry.mapping[type] || raise("Uknown resolver #{type} for #{self}")
end