Class: Deptree::Registry
- Inherits:
-
Object
- Object
- Deptree::Registry
- Defined in:
- lib/deptree/registry.rb
Instance Method Summary collapse
- #add(name, dependency) ⇒ Object
- #find(name) ⇒ Object
- #include?(name) ⇒ Boolean
-
#initialize ⇒ Registry
constructor
A new instance of Registry.
- #select(*names) ⇒ Object
Constructor Details
#initialize ⇒ Registry
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
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 |