Sha256: f7bf3bc2a419689aaf77fb64148e29caa91521dfb8baf4a3441ae36863569cfe
Contents?: true
Size: 1.09 KB
Versions: 3
Compression:
Stored size: 1.09 KB
Contents
#!/usr/bin/env ruby require 'optparse' require_relative "../policy_generator/policy_generator.rb" options = {} optparse = OptionParser.new do |opts| opts.banner = "\nHanami authorization policy generator Usage: tachiban -n myapp -p user Flags: \n" opts.on("-n", "--app_name APP", "Specify the application name for the policy") do |app_name| options[:app_name] = app_name end opts.on("-p", "--policy POLICY", "Specify the policy name") do |policy| options[:policy] = policy end opts.on("-h", "--help", "Displays help") do puts opts exit end end begin optparse.parse! puts "Add flag -h or --help to see usage instructions." if options.empty? mandatory = [:app_name, :policy] missing = mandatory.select{ |arg| options[arg].nil? } unless missing.empty? raise OptionParser::MissingArgument.new(missing.join(', ')) end rescue OptionParser::InvalidOption, OptionParser::MissingArgument puts $!.to_s puts optparse exit end puts "Performing task with options: #{options.inspect}" generate_policy("#{options[:app_name]}", "#{options[:policy]}") if options[:policy]
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tachiban-0.6.1 | lib/tachiban/commands/commands.rb |
tachiban-0.6.0 | lib/tachiban/commands/commands.rb |
tachiban-0.5.0 | lib/tachiban/commands/commands.rb |