Class: Deptree::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/deptree/registry.rb

Instance Method Summary collapse

Constructor Details

#initializeRegistry

Returns a new instance of Registry.



4
5
6
# File 'lib/deptree/registry.rb', line 4

def initialize
  @dependencies = {}
end

Instance Method Details

#add(name, dependency) ⇒ Object



8
9
10
11
# File 'lib/deptree/registry.rb', line 8

def add(name, dependency)
  fail DuplicateDependencyError.new(name) if include?(name)
  @dependencies.store(normalize(name), dependency)
end

#find(name) ⇒ Object



13
14
15
# File 'lib/deptree/registry.rb', line 13

def find(name)
  @dependencies.fetch(normalize(name))
end

#include?(name) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/deptree/registry.rb', line 25

def include?(name)
  @dependencies.has_key?(name)
end

#select(*names) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/deptree/registry.rb', line 17

def select(*names)
  if names.empty?
    @dependencies.values
  else
    names.map { |name| find(name) }
  end
end