Sha256: edd1ca535dee3ecec6cd14f81581c45c2b9a3d66ba25e42446a5bb0d4872acd1
Contents?: true
Size: 1.89 KB
Versions: 6
Compression:
Stored size: 1.89 KB
Contents
#!/usr/bin/env ruby # These would not be in a real GLI app; we do this so we can easily run this on the command line $: << File.expand_path(File.join(File.dirname(__FILE__),'..','..','..','lib')) $: << File.expand_path(File.join(File.dirname(__FILE__),'..','lib')) require 'gli' require 'todo/version' class App if ENV['GLI1_COMPATIBILITY'] extend GLI else extend GLI::App end sort_help (ENV['TODO_SORT_HELP'] || 'alpha').to_sym wrap_help_text (ENV['TODO_WRAP_HELP_TEXT'] || 'to_terminal').to_sym synopsis_format (ENV['SYNOPSES'] || 'full').to_sym hide_commands_without_desc ENV['HIDE_COMMANDS_WITHOUT_DESC'] === 'true' subcommand_option_handling :normal arguments :strict program_desc 'Manages tasks' program_long_desc "A test program that has a sophisticated UI that can be used to exercise a lot of GLI's power" config_file "gli_test_todo.rc" flag :flag switch :switch switch :otherswitch, :negatable => true version Todo::VERSION commands_from 'todo/commands' commands_from File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'todo_plugins', 'commands')) arg_name :argument, :optional command :first do |c| c.action { |g,o,a| puts "first: #{a.join(',')}" } end arg :argument, :optional command :second do |c| c.action { |g,o,a| puts "second: #{a.join(',')}" } end arg :first arg :second command :chained => [ :first, :second ] arg :first arg :second command [:chained2,:ch2] => [ :second, :first ] pre do |global,command,options,args| # Pre logic here # Return true to proceed; false to abort and not call the # chosen command # Use skips_pre before a command to skip this block # on that command only true end post do |global,command,options,args| # Post logic here # Use skips_post before a command to skip this # block on that command only end on_error do |exception| # Error logic here # return false to skip default error handling true end end exit App.run(ARGV)
Version data entries
6 entries across 6 versions & 1 rubygems