Sha256: 1c9fbe99c2dd1aea2b37612cbeba5c3a95fa372b7abeb982e979b0d42bc8d984
Contents?: true
Size: 1.49 KB
Versions: 3
Compression:
Stored size: 1.49 KB
Contents
#!/usr/bin/env ruby require 'rubygems' require 'commander' program :name, 'commander' program :version, Commander::VERSION::STRING 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 extremely quick creation of commader executables.' c.example 'Create a new file with a commander template.', 'commander init ./bin/my_executable' c.when_called do |args, options| abort "Provide a filepath." if args.empty? name = ask 'Machine name of program: ' description = ask 'Describe your program: ' commands = ask 'List the sub-commands you wish to create: ', Array begin File.open(args.first, 'w') do |f| f.write <<-CODE #!/usr/bin/env ruby require 'rubygems' require 'commander' require '#{name}' program :name, '#{name}' program :version, #{name.camelcase}::VERSION::STRING program :description, '#{description}' CODE commands.each do |command| f.write <<-CODE command :#{command} do |c| c.syntax = '' c.description = '' c.example 'description', 'command example' c.option '--some-switch', 'Some switch that does something' c.when_called do |args, options| # Do something or c.when_called #{name.camelcase}::Commands::#{command.camelcase} end end CODE end end say "Initialized template in #{args.first}" rescue Exception => e abort e end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
visionmedia-commander-2.4.3 | bin/commander |
visionmedia-commander-2.4.4 | bin/commander |
visionmedia-commander-2.4.6 | bin/commander |