# DenCli Provides a Command-Line-Interface-API for providing commands. ## Installation Add this line to your application's Gemfile: [source,ruby] ---- gem 'dencli' ---- And then execute: [source,sh] ---- $ bundle install ---- Or install it yourself as: [source,sh] ---- $ gem install dencli ---- ## Usage [source,ruby] ---- #!/usr/bin/env ruby require 'dencli' cli = CLI.new "This is an example for generate a CLI-API" cli.cmd( :example, "I have an example command") { STDERR.puts "This is an example" } cli.cmd( :help) {|*args| STDERR.puts cli.help(*args) } cli.sub( :more, "Sub-Commands are also possible with a new cli") do |sub| sub.cmd( :help) {|*args| STDERR.puts cli.help( 'more', *args) } sub.cmd( :example, "Here is an example, too") { STDERR.puts "This is an other example" } sub.cmd( :foo, "BAR") { STDERR.puts "FOO bar"} sub.sub( :deeper, "You want to have Sub-Sub-Commands?") do |sub2| sub2.cmd( :help) {|*args| STDERR.puts cli.help( 'more', 'deeper', *args) } sub2.cmd( :last, "The last example") { STDERR.puts "The last example" } sub2.sub( :'sub-commands', "Endless Sub-Sub- ...") do |sub3| sub2.cmd( :help) {|*args| STDERR.puts cli.help( 'more', 'deeper', 'sub-commands', *args) } sub3.cmd( :hehe, "The real last example", min: 2) { STDERR.puts "Trust me!" } end end end cli.call *ARGV ---- ## Development ## Contributing Bug reports and pull requests are welcome on git at https://git.denkn.at/deac/dencli.