lib/metacrunch/cli.rb in metacrunch-4.1.0 vs lib/metacrunch/cli.rb in metacrunch-4.1.1

- old
+ new

@@ -1,72 +1,70 @@ require "optparse" -module Metacrunch - class Cli +class Metacrunch::Cli - def run - # Parse global options on order - job_argv = global_parser.order(ARGV) - # The first of the unparsed arguments is by definition the filename - # of the job. - job_file = job_argv[0] - # Manipulate ARGV so that the option handling for the job can work - ARGV.clear - job_argv[1..-1]&.each {|arg| ARGV << arg} - # Delete the old separator symbol for backward compatability - ARGV.delete_if{|arg| arg == "@@"} - # Finally run the job - run!(job_file) - rescue OptionParser::ParseError => e - error(e.message) - end + def run + # Parse global options on order + job_argv = global_parser.order(ARGV) + # The first of the unparsed arguments is by definition the filename + # of the job. + job_file = job_argv[0] + # Manipulate ARGV so that the option handling for the job can work + ARGV.clear + job_argv[1..-1]&.each {|arg| ARGV << arg} + # Delete the old separator symbol for backward compatability + ARGV.delete_if{|arg| arg == "@@"} + # Finally run the job + run!(job_file) + rescue OptionParser::ParseError => e + error(e.message) + end - private +private - def global_parser - @global_parser ||= OptionParser.new do |opts| - opts.banner = <<-BANNER.strip_heredoc - #{ColorizedString["Usage:"].bold} + def global_parser + @global_parser ||= OptionParser.new do |opts| + opts.banner = <<-BANNER.strip_heredoc + #{ColorizedString["Usage:"].bold} - metacrunch [options] JOB_FILE [job-options] [ARGS...] + metacrunch [options] JOB_FILE [job-options] [ARGS...] - #{ColorizedString["Options:"].bold} - BANNER + #{ColorizedString["Options:"].bold} + BANNER - opts.on("-v", "--version", "Show metacrunch version and exit") do - show_version - end + opts.on("-v", "--version", "Show metacrunch version and exit") do + show_version end end + end - def show_version - puts Metacrunch::VERSION - exit(0) - end + def show_version + puts Metacrunch::VERSION + exit(0) + end - def error(message) - puts ColorizedString["Error: #{message}\n"].red.bold - puts global_parser.help - exit(0) - end + def error(message) + puts ColorizedString["Error: #{message}\n"].red.bold + puts global_parser.help + exit(0) + end - def run!(job_file) - if job_file.blank? - error "You need to provide a job file." - elsif !File.exists?(job_file) - error "The file `#{job_file}` doesn't exist." - else - job_filename = File.expand_path(job_file) - dir = File.dirname(job_filename) + def run!(job_file) + if job_file.blank? + error "You need to provide a job file." + elsif !File.exists?(job_file) + error "The file `#{job_file}` doesn't exist." + else + job_filename = File.expand_path(job_file) + dir = File.dirname(job_filename) - Dir.chdir(dir) do - run_job!(job_filename) - end + Dir.chdir(dir) do + run_job!(job_filename) end end + end - def run_job!(job_filename) - Metacrunch::Job.define(File.read(job_filename)).run - end - + def run_job!(job_filename) + Metacrunch::Job.define(File.read(job_filename)).run end + end