class Deptree::Registry
Public Class Methods
new()
click to toggle source
# File lib/deptree/registry.rb, line 4 def initialize @dependencies = {} end
Public Instance Methods
add(name, dependency)
click to toggle source
# 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)
click to toggle source
# File lib/deptree/registry.rb, line 13 def find(name) @dependencies.fetch(normalize(name)) end
include?(name)
click to toggle source
# File lib/deptree/registry.rb, line 25 def include?(name) @dependencies.has_key?(name) end
select(*names)
click to toggle source
# File lib/deptree/registry.rb, line 17 def select(*names) if names.empty? @dependencies.values else names.map { |name| find(name) } end end
Private Instance Methods
normalize(name)
click to toggle source
# File lib/deptree/registry.rb, line 31 def normalize(name) name.to_s end