Sha256: 18ff1846ca3c9765f50c768ea9bd58614e8586a551e6a0c3ab1777c60523aaa1
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
# # Some common helpers available to all LeapCli::Commands # # This also includes utility methods, and makes all instance # methods available as class methods. # module LeapCli module Commands extend self extend LeapCli::Log extend LeapCli::Util extend LeapCli::Util::RemoteCommand protected def path(name) Path.named_path(name) end # # keeps prompting the user for a numbered choice, until they pick a good one or bail out. # # block is yielded and is responsible for rendering the choices. # def numbered_choice_menu(msg, items, &block) while true say("\n" + msg + ':') items.each_with_index &block say("q. quit") index = ask("number 1-#{items.length}> ") if index.empty? next elsif index =~ /q/ bail! else i = index.to_i - 1 if i < 0 || i >= items.length bail! else return i end end end end def parse_node_list(nodes) if nodes.is_a? Config::Object Config::ObjectList.new(nodes) elsif nodes.is_a? Config::ObjectList nodes elsif nodes.is_a? String manager.filter!(nodes) else bail! "argument error" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
leap_cli-1.8.1 | lib/leap_cli/commands/common.rb |
leap_cli-1.8 | lib/leap_cli/commands/common.rb |