lib/coderunner/run.rb in coderunner-0.12.7 vs lib/coderunner/run.rb in coderunner-0.12.8
- old
+ new
@@ -329,11 +329,11 @@
# Directory: #{@directory}
# Runname: #{@run_name}
# ID: #{@id}
# Results:
-#{(rcp.results+rcp.run_info).inject({}){|hash, (var,type_co)| hash[var] = send(var); hash}.pretty_inspect}
+#{(rcp.results+rcp.run_info - [:phantom_runs]).inject({}){|hash, (var,type_co)| hash[var] = send(var); hash}.pretty_inspect}
# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
EOF
end
@@ -357,10 +357,11 @@
logf(:save)
raise CRFatal.new("Something has gone horribly wrong: runner.class is #{@runner.class} instead of CodeRunner") unless @runner.class.to_s == "CodeRunner"
runner, @runner = @runner, nil
@system_triers, old_triers = nil, @system_triers
@phantom_runs.each{|run| run.runner = nil} if @phantom_runs
+ #@phantom_runs.each{|run| run.runner = nil} if @phantom_runs
# logi(self)
Dir.chdir(@directory){File.open(".code_runner_run_data", 'w'){|file| file.puts Marshal.dump(self)}}
@runner = runner
@phantom_runs.each{|run| run.runner = runner} if @phantom_runs
@system_triers = old_triers
@@ -407,17 +408,19 @@
end
# Return the folder where the default defaults file is located.
def defaults_location
- if @runner.defaults_file
+ #if @runner.defaults_file
location = [rcp.user_defaults_location, rcp.code_module_folder + "/defaults_files"].find{|folder| FileTest.exist? folder and Dir.entries(folder).include? defaults_file_name}
- raise "Defaults file: #{defaults_file_name} not found" unless location
- return location
- else
- return "#{SCRIPT_FOLDER}/code_modules/#@code"
- end
+ #raise "Defaults file: #{defaults_file_name} not found" unless location
+ raise "Can't find defaults_file #{defaults_file_name} in #{[rcp.user_defaults_location, rcp.code_module_folder + "/defaults_files"].join(',')}." unless location
+ location
+ #return location
+ #else
+ #location = [rcp.user_defaults_location, rcp.code_module_folder + "/defaults_files"].find{|folder| FileTest.exist? folder and Dir.entries(folder).include? defaults_file_name}
+ #end
end
# Return true if the run is completed, false otherwise
def is_complete
@@ -678,11 +681,11 @@
# Classname: #{self.class.to_s}
# #{@job_no ? "Job_No: #{@job_no}" : ""}
# Parameters:
-#{(rcp.variables + rcp.run_info + [:version, :code, :modlet, :sys]).inject({}){|hash, var| hash[var] = send(var) unless (!send(var) and send(var) == nil); hash}.pretty_inspect}
+#{(rcp.variables + rcp.run_info + [:version, :code, :modlet, :sys] - [:phantom_runs]).inject({}){|hash, var| hash[var] = send(var) unless (!send(var) and send(var) == nil); hash}.pretty_inspect}
# Actual Command:
# #{run_command.gsub(/\n/, "\n#")}
# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
@@ -764,9 +767,22 @@
# raise CRFatal.new("#{v} not defined") unless rcp[v]
raise CRFatal.new("#{v} not defined correctly: class is #{rcp[v].class} instead of one of #{class_list.to_s}") unless class_list.include? rcp[v].class
end
@readout_list = (rcp.variables+rcp.results) unless rcp.readout_list
+
+ raise "
+
+Please add the line
+
+-----------------------------------------------------------
+@code_module_folder = folder = File.dirname(File.expand_path(__FILE__)) # i.e. the directory this file is in
+---------------------------------------------------------
+
+to your code module.
+
+ " unless rcp.code_module_folder
+
# (variables+results).each{|v| const_get(:READOUT_LIST).push v} unless READOUT_LIST.size > 0
#if rcp.variables_0_5_0
#rcp.variables_0_5_0.dup.each do |par, info| #for backwards compatibility only
#rcp.variables_0_5_0[par] = info[0] if info.class == Array