easyoptions/ruby/example.rb

42 lines
1.4 KiB
Ruby

#!/usr/bin/env ruby
# Encoding: UTF-8
## EasyOptions Example
## Copyright (C) Someone
## Licensed under XYZ
##
## This program is an example of EasyOptions. It just prints the options and
## arguments provided in command line. Usage:
##
## @script.name [option] ARGUMENTS...
##
## Options:
## -h, --help All client scripts have this, it can be omitted.
## -o, --some-option This is a boolean option. Long version is
## mandatory, and can be specified before or
## after short version.
## --some-boolean This is a boolean option without a short version.
## --some-value=VALUE This is a parameter option. When calling your script
## the equal sign is optional and blank space can be
## used instead. Short version is not available in this
## format.
require_relative 'easyoptions'
options, arguments = EasyOptions.all
# Boolean options
puts 'Option specified: --some-option' if options[:some_option]
puts 'Option specified: --some-boolean' if options[:some_boolean]
# Parameter option
value = options[:some_value]
if value
type = value.is_a?(Fixnum) ? 'number' : 'string'
puts "Option specified: --some-value is #{value} (a #{type})"
end
# Arguments
arguments.each do |argument|
puts "Argument specified: #{argument}"
end