summaryrefslogtreecommitdiffhomepage
path: root/lib/dispatch/tools/registry.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dispatch/tools/registry.rb')
-rw-r--r--lib/dispatch/tools/registry.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/dispatch/tools/registry.rb b/lib/dispatch/tools/registry.rb
index e4a5d3e..571ca1b 100644
--- a/lib/dispatch/tools/registry.rb
+++ b/lib/dispatch/tools/registry.rb
@@ -10,15 +10,17 @@ module Dispatch
def register(tool_definition)
name = tool_definition.name
- if @tools.key?(name)
- raise DuplicateToolError, "Tool '#{name}' is already registered"
- end
+ raise DuplicateToolError, "Tool '#{name}' is already registered" if @tools.key?(name)
@tools[name] = tool_definition
self
end
def get(name)
+ @tools[name]
+ end
+
+ def fetch(name)
@tools.fetch(name) do
raise ToolNotFoundError, "Tool '#{name}' not found"
end
@@ -44,7 +46,7 @@ module Dispatch
new_registry = self.class.new
names.each do |name|
- new_registry.register(get(name))
+ new_registry.register(fetch(name))
end
new_registry