class Builtins::Help

Constants

NAME_WIDTH

Public Class Methods

description() click to toggle source
# File lib/builtins/help.rb, line 14
def description
        "displays available builtins, actions, and forwards"
end

Public Instance Methods

run() click to toggle source
# File lib/builtins/help.rb, line 19
def run
        Output.out("Builtins:")
        Output.out("  #{builtins.join("\n  ")}")
        Output.out("")
        Output.out("Forwards:")
        Output.out("  #{forwards.join("\n  ")}")
        Output.out("")
        Output.out("Actions:")
        Output.out("  #{actions.join("\n  ")}")
end

Private Instance Methods

actions() click to toggle source
# File lib/builtins/help.rb, line 46
def actions
        return [] unless @config["actions"]

        @config["actions"].map do |name, action_config|
                format("%<name>-#{NAME_WIDTH}s %<desc>s",
                        name: "#{name.yellow} #{alias_string_for(action_config)}",
                        desc: action_config["description"] || action_config["command"]
                )
        end.sort
end
alias_string_for(action_config) click to toggle source
# File lib/builtins/help.rb, line 57
def alias_string_for(action_config)
        return "[#{action_config["alias"]}]" if action_config["alias"]

        ""
end
builtin_enumerator() click to toggle source
# File lib/builtins/help.rb, line 63
def builtin_enumerator
        @builtin_enumerator ||= ::Builtins::Helpers::Enumerator
end
builtins() click to toggle source
# File lib/builtins/help.rb, line 38
def builtins
        builtin_enumerator.names_by_constant.map do |klass, names|
                names_string = names.map(&:downcase).map(&:to_s).uniq.join(", ").yellow

                format("%<names>-#{NAME_WIDTH}s %<desc>s", names: names_string, desc: klass.description)
        end
end
forwards() click to toggle source
# File lib/builtins/help.rb, line 32
def forwards
        Forwards.new(@config).forwards.map do |name, dir|
                format("%<name>-#{NAME_WIDTH}s %<desc>s" , name: name.yellow, desc: "#{dir}")
        end
end