codersdojo 1.5.01 → 1.5.02
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/argument_parser.rb +1 -3
- data/lib/run/runner.rb +7 -6
- metadata +2 -2
data/lib/argument_parser.rb
CHANGED
@@ -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
|
-
|
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,
|
13
|
-
|
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
|
-
@
|
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 =
|
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
|