module EverydayThorUtil::SubCommandCommandHelpers
Public Instance Methods
create_cmd_class_and_aliases(aliases, command_array_symbol, command_symbol, desc, flag_symbol, helper_symbol, id, long_desc, name, parent_class, short_desc)
click to toggle source
# File lib/everyday_thor_util/plugin-helper.rb, line 79 def create_cmd_class_and_aliases(aliases, command_array_symbol, command_symbol, desc, flag_symbol, helper_symbol, id, long_desc, name, parent_class, short_desc) command_ids = Plugins.get_var command_array_symbol unless command_ids.include?(id) command_ids << id Plugins.set_var command_array_symbol, command_ids create_command_class(command_symbol, desc, flag_symbol, helper_symbol, id, long_desc, name, parent_class, short_desc) aliases.each { |a| create_command_class(command_symbol, desc, flag_symbol, helper_symbol, id, long_desc, a, parent_class, short_desc.gsub(/^\S+(?=\s|$)/, a.gsub(/_/, '-'))) } if aliases end true end
create_cmd_method_and_aliases(aliases, desc, flag_symbol, id, long_desc, name, parent_class, short_desc, &block)
click to toggle source
# File lib/everyday_thor_util/plugin-helper.rb, line 90 def create_cmd_method_and_aliases(aliases, desc, flag_symbol, id, long_desc, name, parent_class, short_desc, &block) setup_command(desc, flag_symbol, id, long_desc, parent_class, short_desc) parent_class.create_method(name.to_sym, &block) aliases.each { |a| setup_command(desc, flag_symbol, id, long_desc, parent_class, short_desc.gsub(/^\S+(?=\s|$)/, a.gsub(/_/, '-'))) parent_class.dup_method a.to_sym, name.to_sym } if aliases true end
create_command_class(command_symbol, desc, flag_symbol, helper_symbol, id, long_desc, name, parent_class, short_desc)
click to toggle source
# File lib/everyday_thor_util/plugin-helper.rb, line 109 def create_command_class(command_symbol, desc, flag_symbol, helper_symbol, id, long_desc, name, parent_class, short_desc) command_class = Class.new(Thor) command_class.namespace name Plugins.get helper_symbol, command_class, id unless helper_symbol.nil? Plugins.get flag_symbol, command_class, id, true Plugins.get command_symbol, command_class, id setup_command(desc, flag_symbol, id, long_desc, parent_class, short_desc) parent_class.subcommand name, command_class end
extract_command_info(v)
click to toggle source
# File lib/everyday_thor_util/plugin-helper.rb, line 100 def extract_command_info(v) return v[:options][:aliases], v[:options][:desc], v[:options][:id], v[:options][:long_desc], v[:options][:name], v[:options][:short_desc] end
handle_command(command_array_symbol, command_symbol, flag_symbol, helper_symbol, parent_class, list, v)
click to toggle source
# File lib/everyday_thor_util/plugin-helper.rb, line 125 def handle_command(command_array_symbol, command_symbol, flag_symbol, helper_symbol, parent_class, list, v) aliases, desc, id, long_desc, name, short_desc = extract_command_info(v) id && name && (handle_command_class(command_array_symbol, command_symbol, flag_symbol, helper_symbol, list, parent_class, aliases, desc, id, long_desc, name, short_desc) || handle_command_method(aliases, desc, flag_symbol, id, long_desc, name, parent_class, short_desc, &v[:block])) end
handle_command_class(command_array_symbol, command_symbol, flag_symbol, helper_symbol, list, parent_class, aliases, desc, id, long_desc, name, short_desc)
click to toggle source
# File lib/everyday_thor_util/plugin-helper.rb, line 131 def handle_command_class(command_array_symbol, command_symbol, flag_symbol, helper_symbol, list, parent_class, aliases, desc, id, long_desc, name, short_desc) (list.any? { |v2| v2[:options][:parent] == id } && create_cmd_class_and_aliases(aliases, command_array_symbol, command_symbol, desc, flag_symbol, helper_symbol, id, long_desc, name, parent_class, short_desc)) end
handle_command_method(aliases, desc, flag_symbol, id, long_desc, name, parent_class, short_desc, &block)
click to toggle source
# File lib/everyday_thor_util/plugin-helper.rb, line 135 def handle_command_method(aliases, desc, flag_symbol, id, long_desc, name, parent_class, short_desc, &block) (block && create_cmd_method_and_aliases(aliases, desc, flag_symbol, id, long_desc, name, parent_class, short_desc, &block)) end
setup_command(desc, flag_symbol, id, long_desc, parent_class, short_desc)
click to toggle source
# File lib/everyday_thor_util/plugin-helper.rb, line 119 def setup_command(desc, flag_symbol, id, long_desc, parent_class, short_desc) Plugins.get flag_symbol, parent_class, id, false parent_class.desc short_desc, desc if short_desc && desc parent_class.long_desc long_desc if long_desc end
setup_root(flag_symbol, helper_symbol, parent, parent_class)
click to toggle source
# File lib/everyday_thor_util/plugin-helper.rb, line 104 def setup_root(flag_symbol, helper_symbol, parent, parent_class) Plugins.get helper_symbol, parent_class, nil unless parent || helper_symbol.nil? Plugins.get flag_symbol, parent_class, nil, true unless parent end