Sha256: d4cf5f72e12b657efd7a41dfe3ba3c4a4754b86929922429f07c8243d5089939
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
require 'optparse' module <%= module_name %> class CLI def self.execute(stdout, arguments=[]) # NOTE: the option -p/--path= is given as an example, and should be replaced in your application. options = { :path => '~' } mandatory_options = %w( ) parser = OptionParser.new do |opts| opts.banner = <<-BANNER.gsub(/^ /,'') This application is wonderful because... Usage: #{File.basename($0)} [options] Options are: BANNER opts.separator "" opts.on("-p", "--path PATH", String, "This is a sample message.", "For multiple lines, add more strings.", "Default: ~") { |arg| options[:path] = arg } opts.on("-h", "--help", "Show this help message.") { stdout.puts opts; exit } opts.parse!(arguments) if mandatory_options && mandatory_options.find { |option| options[option.to_sym].nil? } stdout.puts opts; exit end end path = options[:path] # do stuff stdout.puts "To update this executable, look in lib/<%= bin_name %>/cli.rb" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
newgem-1.5.3 | rubygems_generators/executable/templates/lib/app/cli.rb.erb |