lib/coderunner/class_methods.rb in coderunner-0.14.24 vs lib/coderunner/class_methods.rb in coderunner-0.15.0
- old
+ new
@@ -612,11 +612,11 @@
# process_copts(copts)
runner = fetch_runner(copts)
# raise "something is already submitting" if FileTest.exist? "submitting"
runs = []
raise "Parameters must be an array of inspected hashes" unless copts[:p].kind_of? Array
- Dir.chdir(copts[:Y]) do
+ Dir.chdir(runner.root_folder) do
copts[:p].push nil if copts[:p] == []
# ep copts[:p]; exit
copts[:p].each do |pars|
run = runner.run_class.new(runner)
@@ -634,11 +634,11 @@
# process_copts(copts)
runner = fetch_runner(copts)
# raise "something is already submitting" if FileTest.exist? "submitting"
runs = []
raise "Parameters must be an array of inspected hashes" unless copts[:p].kind_of? Array
- Dir.chdir(copts[:Y]) do
+ Dir.chdir(runner.root_folder) do
runs = runner.filtered_ids.map do |id|
eputs id
run = runner.run_list[id].dup
run.output_file = nil
run.error_file = nil
@@ -793,44 +793,55 @@
copts[:h] = :real
else
copts[:h] = :real
end
+# ep Log.log_file
+ #copts[:code_copts].each{|k,v| CODE_OPTIONS[k] = v} if copts[:code_copts]
+ copts.keys.map{|k| k.to_s}.grep(/_options$/).map{|k| k.to_sym}.each do |k|
+ CODE_OPTIONS[k.to_s.sub('_options','').to_sym] = copts[k]
+ end
+
+
+ end
+
+ # Analyse copts[:Y], the choice of the root folder for the runner, and make appropriate
+ # modifications to the command options for running remotely, etc.
+ def self.process_root_folder(copts)
copts[:Y] ||= DEFAULT_COMMAND_OPTIONS[:Y] if DEFAULT_COMMAND_OPTIONS[:Y]
+ if copts[:Y] and copts[:Y].kind_of? Array
+ eputs "Warning: ignoring additional folders... selecting folder: #{copts[:Y]=copts[:Y][0]}"
+ end
if copts[:Y] and copts[:Y] =~ /:/
set_class_defaults(copts)
copts[:running_remotely] = true
else
copts[:Y] = copts[:Y].gsub(/~/, ENV['HOME']) if copts[:Y]
Dir.chdir((copts[:Y] or Dir.pwd)) do
set_runner_defaults(copts)
# ep DEFAULT_RUNNER_OPTIONS
end
end
-# ep Log.log_file
- #copts[:code_copts].each{|k,v| CODE_OPTIONS[k] = v} if copts[:code_copts]
- copts.keys.map{|k| k.to_s}.grep(/_options$/).map{|k| k.to_sym}.each do |k|
- CODE_OPTIONS[k.to_s.sub('_options','').to_sym] = copts[k]
- end
-
-
end
CODE_OPTIONS={}
# Retrieve the runner with the folder (and possibly server) given in copts[:Y]. If no runner has been loaded for that folder, load one.
def self.fetch_runner(copts={})
# ep copts
+ #read_default_command_options(copts)
+ process_command_options(copts)
# If copts(:Y) is an array of locations, return a merged runner of those locations
+ #copts[:Y] ||= DEFAULT_COMMAND_OPTIONS[:Y] if DEFAULT_COMMAND_OPTIONS[:Y]
if copts[:Y].kind_of? Array
runners = copts[:Y].map do |location|
new_copts = copts.dup.absorb(Y: location)
fetch_runner(new_copts)
end
return Merged.new(*runners)
end
- process_command_options(copts)
+ process_root_folder(copts)
#ep copts
@runners ||= {}
runner = nil
if copts[:Y] and copts[:Y] =~ /:/
copts_r = copts.dup