OptionBuilder
Cobra-inspired CLI builder on top of stdlib OptionParser.
cmd = OptionBuilder::Command.new("myapp", "My application") do |c|
c.version "1.0.0"
c.persistent_flag('v', "verbose", Bool, description: "Verbose output") { |v| @verbose = v }
c.subcommand("serve", "Start server") do |sub|
sub.flag('p', "port", Int32, default: 3000, env: "PORT") { |p| @port = p }
sub.run { puts "Server starting on port #{@port}" }
end
end
cmd.execute
Class methods
Nested types
- OptionBuilder::Args
- OptionBuilder::ArrayFlag(T)
- OptionBuilder::ChoicesSupport(T)
- OptionBuilder::Command
- OptionBuilder::CommandError
- OptionBuilder::Completion
- OptionBuilder::CountFlag
- OptionBuilder::CustomFlag(T)
- OptionBuilder::EnumFlag(T)
- OptionBuilder::Flag
- OptionBuilder::Positional
- OptionBuilder::Shell
- OptionBuilder::TypedFlag(T)
- OptionBuilder::TypedPositional(T)
- OptionBuilder::ValueParser(T)