Method: Nessana::Executor.parse

Defined in:
lib/nessana/executor.rb

.parse(*argv) ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'lib/nessana/executor.rb', line 86

def self.parse(*argv)
  configuration = ExecutionConfiguration.new

  option_parser = OptionParser.new do |parser|
    configuration.add_parser_hooks(parser)

    if argv.count == 0
      puts parser
      return 1
    end
  end

  remaining_arguments = option_parser.order!(argv)

  case remaining_arguments.count
  when 2
    configuration['old_filename'] = remaining_arguments[0]
    configuration['new_filename'] = remaining_arguments[1]
  when 1
    configuration['old_filename'] = nil
    configuration['new_filename'] = remaining_arguments[0]
  end

  configuration.read_configuration_file!

  configuration
end