codersdojo 1.5.01 → 1.5.02

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,4 @@
1
1
  require 'record/session_id_generator'
2
- require 'record/return_code_evaluator'
3
2
  require 'run/runner'
4
3
  require 'state_reader'
5
4
  require 'shell_argument_exception'
@@ -19,8 +18,7 @@ class ArgumentParser
19
18
 
20
19
  def initialize shell, view, scaffolder, hostname
21
20
  meta_config_file = MetaConfigFile.new shell
22
- return_code_evaluator = ReturnCodeEvaluator.new meta_config_file.success_detection
23
- runner = Runner.new shell, SessionIdGenerator.new, view, return_code_evaluator
21
+ runner = Runner.new shell, SessionIdGenerator.new, view, meta_config_file
24
22
  @help_command = HelpCommand.new view
25
23
  @xhelp_command = XHelpCommand.new view
26
24
  @generate_command = GenerateCommand.new shell, view, scaffolder
data/lib/run/runner.rb CHANGED
@@ -9,12 +9,12 @@ class Runner
9
9
 
10
10
  WORKING_DIR = '.'
11
11
 
12
- def initialize shell, session_provider, view, return_code_evaluator
13
- @filename_formatter = FilenameFormatter.new
12
+ def initialize shell, session_provider, view, meta_config_file
13
+ @filename_formatter = FilenameFormatter.new
14
14
  @shell = shell
15
15
  @session_provider = session_provider
16
16
  @view = view
17
- @return_code_evaluator = return_code_evaluator
17
+ @meta_config_file = meta_config_file
18
18
  end
19
19
 
20
20
  def start
@@ -31,6 +31,7 @@ class Runner
31
31
  end
32
32
 
33
33
  def execute
34
+ return_code_evaluator = ReturnCodeEvaluator.new meta_config_file.success_detection
34
35
  files = @shell.files_in_dir_tree WORKING_DIR, @source_files
35
36
  newest_dir_entry = @shell.newest_dir_entry WORKING_DIR, files
36
37
  change_time = @shell.modification_time newest_dir_entry
@@ -40,16 +41,16 @@ class Runner
40
41
  end
41
42
  Progress.end
42
43
  @view.show_run_once_message newest_dir_entry, change_time
43
- execute_once files, @session_id, @step
44
+ execute_once files, @session_id, @step, return_code_evaluator
44
45
  @step += 1
45
46
  @previous_change_time = change_time
46
47
  end
47
48
 
48
- def execute_once files, session_id, step
49
+ def execute_once files, session_id, step, return_code_evaluator
49
50
  process = @shell.execute @run_command
50
51
  result = TextConverter.new.remove_escape_sequences process.output
51
52
  state_dir = @filename_formatter.state_dir session_id, step
52
- return_code = @return_code_evaluator.return_code(process)
53
+ return_code = return_code_evaluator.return_code(process)
53
54
  @shell.mkdir state_dir
54
55
  @shell.cp_r files, state_dir
55
56
  @shell.write_file @filename_formatter.result_file(state_dir), result
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 5
8
- - 1
9
- version: 1.5.01
8
+ - 2
9
+ version: 1.5.02
10
10
  platform: ruby
11
11
  authors:
12
12
  - CodersDojo-Team