Sha256: cafd08e67fd88a51e7f9a746d37a9ca805d1facde81111900391b57962a6519e
Contents?: true
Size: 1.76 KB
Versions: 8
Compression:
Stored size: 1.76 KB
Contents
#!/usr/bin/env ruby require 'rubygems' require 'commander/import' program :name, 'commander' program :version, Commander::VERSION program :description, 'Commander utility program.' command :init do |c| c.syntax = 'commander init <file>' c.summary = 'Initialize a commander template' c.description = 'Initialize an empty <file> with a commander template, allowing very quick creation of commander executables.' c.example 'Create a new file with a commander template.', 'commander init bin/my_executable' c.action do |args, options| file = args.shift || abort('file argument required.') name = ask 'Machine name of program: ' description = ask 'Describe your program: ' commands = ask_for_array 'List the commands you wish to create: ' begin File.open(file, 'w') do |f| f.write <<-"...".gsub!(/^ {10}/, '') #!/usr/bin/env ruby require 'rubygems' require 'commander/import' program :version, '0.0.1' program :description, '#{description}' ... commands.each do |command| f.write <<-"...".gsub!(/^ {12}/, '') command :#{command} do |c| c.syntax = '#{name} #{command} [options]' c.summary = '' c.description = '' c.example 'description', 'command example' c.option '--some-switch', 'Some switch that does something' c.action do |args, options| # Do something or c.when_called #{name.capitalize}::Commands::#{command.capitalize} end end ... end end File.chmod 0755, file say "Initialized template in #{file}" rescue Exception => e abort e end end end
Version data entries
8 entries across 8 versions & 2 rubygems