module Scaffolder::ToolIndex
Public Instance Methods
[](type)
click to toggle source
# File lib/scaffolder/tool_index.rb, line 14 def [](type) if tool_exists?(type) get_tool(type) else Scaffolder::Tool::Help end end
get_tool(name)
click to toggle source
# File lib/scaffolder/tool_index.rb, line 6 def get_tool(name) tools[normalise(name)] end
tool_exists?(name)
click to toggle source
# File lib/scaffolder/tool_index.rb, line 10 def tool_exists?(name) ! get_tool(name).nil? end
Private Instance Methods
normalise(name)
click to toggle source
# File lib/scaffolder/tool_index.rb, line 39 def normalise(name) name.to_s.downcase.to_sym if name end
tool_classes()
click to toggle source
# File lib/scaffolder/tool_index.rb, line 24 def tool_classes Scaffolder::Tool.constants.inject(Array.new) do |array,constant| clss = Scaffolder::Tool.const_get(constant) array << clss if clss.superclass == Scaffolder::Tool array end end
tools()
click to toggle source
# File lib/scaffolder/tool_index.rb, line 32 def tools tool_classes.inject(Hash.new) do |hash,clss| hash[clss.to_s.split('::').last.downcase.to_sym] = clss hash end end