class UltraCommandLine::Manager::Base
Public Class Methods
add_provider_for(command_or_option, provider)
click to toggle source
# File lib/power_stencil/ultra_command_line/command_line_manager.rb, line 5 def add_provider_for(command_or_option, provider) providers = providers_for command_or_option providers << provider unless providers.include? provider end
internal_provider_mapping()
click to toggle source
private
# File lib/power_stencil/ultra_command_line/command_line_manager.rb, line 29 def internal_provider_mapping @internal_provider_mapping ||= {} end
providers_for(command_or_option)
click to toggle source
# File lib/power_stencil/ultra_command_line/command_line_manager.rb, line 10 def providers_for(command_or_option) default_command_data = {options: {}, providers: []} case command_or_option when UltraCommandLine::Commands::SubCommand sc = command_or_option internal_provider_mapping[sc.name] ||= default_command_data internal_provider_mapping[sc.name][:providers] when UltraCommandLine::Commands::OptionDefinition sco = command_or_option internal_provider_mapping[sco.sub_command.name] ||= default_command_data internal_provider_mapping[sco.sub_command.name][:options][sco.name] ||= [] internal_provider_mapping[sco.sub_command.name][:options][sco.name] else raise PowerStencil::Error, "Invalid command or option" end end