codersdojo 1.5.00 → 1.5.01

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.
@@ -1,10 +1,10 @@
1
- require 'session_id_generator'
2
- require 'runner'
1
+ require 'record/session_id_generator'
2
+ require 'record/return_code_evaluator'
3
+ require 'run/runner'
4
+ require 'state_reader'
3
5
  require 'shell_argument_exception'
4
6
  require 'shell_wrapper'
5
7
  require 'console_view'
6
- require 'return_code_evaluator'
7
- require 'state_reader'
8
8
  require 'commands/help_command'
9
9
  require 'commands/xhelp_command'
10
10
  require 'commands/generate_command'
data/lib/codersdojo.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'console_view'
4
4
  require 'argument_parser'
5
- require 'scaffolder'
5
+ require 'scaffold/scaffolder'
6
6
 
7
7
  class CodersDojo
8
8
 
@@ -0,0 +1,34 @@
1
+ class CaptureSingleRunCommand
2
+
3
+ COMMAND_NAME = 'capture-single-run'
4
+
5
+ def initialize shell, view, runner
6
+ @shell = shell
7
+ @view = view
8
+ @runner = runner
9
+ end
10
+
11
+ def execute_from_shell params
12
+ unless params[1] then @view.show_missing_command_argument_error COMMAND_NAME, "shell_command"; return end
13
+ unless params[2] then @view.show_missing_command_argument_error COMMAND_NAME, "kata_file"; return end
14
+ capture_single_run params[1], params[2]
15
+ end
16
+
17
+ def capture_single_run run_command, kata_file
18
+ @runner.run_command = run_command
19
+ session_id = @shell.newest_dir_entry(FilenameFormatter.codersdojo_workspace)
20
+ filename_formatter = FilenameFormatter.new
21
+ last_state_dir = @shell.newest_dir_entry(filename_formatter.session_dir session_id)
22
+ step = last_state_dir.nil? ? 0 : filename_formatter.step_number_from_state_dir(last_state_dir) + 1
23
+ @runner.execute_once kata_file, session_id, step
24
+ end
25
+
26
+ def accepts_shell_command? command
27
+ command == COMMAND_NAME
28
+ end
29
+
30
+ def continue_test_loop?
31
+ false
32
+ end
33
+
34
+ end
@@ -0,0 +1,34 @@
1
+ class GenerateCommand
2
+
3
+ def initialize shell, view, scaffolder
4
+ @shell = shell
5
+ @view = view
6
+ @scaffolder = scaffolder
7
+ end
8
+
9
+ def execute_from_shell params
10
+ generate params[1], params[2]
11
+ end
12
+
13
+ def generate framework, kata_file
14
+ if not kata_file then
15
+ @view.show_missing_command_argument_error "setup", "kata_file"
16
+ return
17
+ end
18
+ begin
19
+ @scaffolder.scaffold framework, kata_file
20
+ @view.show "\n" + @shell.read_file("README")
21
+ rescue
22
+ @view.show_unknown_framework_error framework, @scaffolder.list_templates
23
+ end
24
+ end
25
+
26
+ def accepts_shell_command? command
27
+ command == 'setup'
28
+ end
29
+
30
+ def continue_test_loop?
31
+ false
32
+ end
33
+
34
+ end
@@ -0,0 +1,27 @@
1
+ class HelpCommand
2
+
3
+ def initialize view
4
+ @view = view
5
+ end
6
+
7
+ def execute_from_shell params
8
+ help params[1]
9
+ end
10
+
11
+ def help command=nil
12
+ if command then
13
+ @view.show_detailed_help command.downcase
14
+ else
15
+ @view.show_help
16
+ end
17
+ end
18
+
19
+ def accepts_shell_command? command
20
+ ['help', '-h', '--help'].member? command
21
+ end
22
+
23
+ def continue_test_loop?
24
+ false
25
+ end
26
+
27
+ end
@@ -0,0 +1,25 @@
1
+ class InitSessionCommand
2
+
3
+ def initialize view, runner
4
+ @view = view
5
+ @runner = runner
6
+ end
7
+
8
+ def execute_from_shell params
9
+ init_session
10
+ end
11
+
12
+ def init_session
13
+ session_dir = @runner.init_session
14
+ @view.show_init_session_result session_dir
15
+ end
16
+
17
+ def accepts_shell_command? command
18
+ command == 'init-session'
19
+ end
20
+
21
+ def continue_test_loop?
22
+ false
23
+ end
24
+
25
+ end
@@ -0,0 +1,51 @@
1
+ class RevertToGreenCommand
2
+
3
+ def initialize shell, view, meta_config_file, state_reader
4
+ @shell = shell
5
+ @view = view
6
+ @meta_config_file = meta_config_file
7
+ @state_reader = state_reader
8
+ end
9
+
10
+ def execute_from_shell params
11
+ revert_to_green
12
+ end
13
+
14
+ def execute
15
+ revert_to_green
16
+ end
17
+
18
+ def revert_to_green
19
+ formatter = FilenameFormatter.new
20
+ @state_reader.session_dir = formatter.session_dir @shell.newest_dir_entry(FilenameFormatter.codersdojo_workspace)
21
+ @state_reader.goto_last_state
22
+ state = @state_reader.read_previous_state if @state_reader.state_exist?
23
+ while @state_reader.state_exist? and state.red?
24
+ state = @state_reader.read_previous_state
25
+ end
26
+ if @state_reader.state_exist? and state.green?
27
+ @view.show_revert_to_step @state_reader.next_step+1
28
+ @shell.rm_r @meta_config_file.source_files
29
+ state.files.each do |file|
30
+ dest_file = Filename.new(file).extract_last_path_item.to_s
31
+ @shell.write_file dest_file, @shell.read_file(file)
32
+ end
33
+ else
34
+ @view.show_no_green_state_to_revert_to
35
+ @state_reader.goto_last_state
36
+ end
37
+ end
38
+
39
+ def command_key
40
+ 'g'
41
+ end
42
+
43
+ def accepts_shell_command? command
44
+ command == 'revert-to-green'
45
+ end
46
+
47
+ def continue_test_loop?
48
+ true
49
+ end
50
+
51
+ end
@@ -0,0 +1,35 @@
1
+ require 'meta_config_file'
2
+ require 'run/scheduler'
3
+
4
+ class StartCommand
5
+
6
+ def initialize meta_config_file, runner, view, eval_loop_commands
7
+ @runner = runner
8
+ @view = view
9
+ @meta_file = meta_config_file
10
+ @eval_loop_commands = eval_loop_commands
11
+ end
12
+
13
+ def execute_from_shell params
14
+ start params[1], params[2]
15
+ end
16
+
17
+ def start command, file
18
+ unless command then @view.show_missing_command_argument_error "start", "shell_command"; return end
19
+ if file then @view.show_deprecated_command_argument_warning "start", "kata_file" end # since 30-may-2011, remove argument in later version
20
+ @view.show_start_kata command, file, @meta_file.framework_property
21
+ @runner.source_files = @meta_file.source_files
22
+ @runner.run_command = command
23
+ scheduler = Scheduler.new @runner, @view, @eval_loop_commands
24
+ scheduler.start
25
+ end
26
+
27
+ def accepts_shell_command? command
28
+ command == 'start'
29
+ end
30
+
31
+ def continue_test_loop?
32
+ true
33
+ end
34
+
35
+ end
@@ -0,0 +1,53 @@
1
+ require 'meta_config_file'
2
+ require 'upload/uploader'
3
+
4
+ class UploadCommand
5
+
6
+ attr_accessor :uploader
7
+
8
+ def initialize shell, view, hostname
9
+ @shell = shell
10
+ @view = view
11
+ @hostname = hostname
12
+ @uploader = Uploader.new(hostname, '', '')
13
+ @meta_file = MetaConfigFile.new @shell
14
+ end
15
+
16
+ def execute
17
+ upload nil
18
+ end
19
+
20
+ def execute_from_shell params
21
+ upload params[1]
22
+ end
23
+
24
+ def upload session_directory, open_browser=true
25
+ formatter = FilenameFormatter.new
26
+ framework = @meta_file.framework_property
27
+ if not session_directory then
28
+ session_directory = formatter.session_dir @shell.newest_dir_entry(FilenameFormatter.codersdojo_workspace)
29
+ end
30
+ @view.show_upload_start session_directory, @hostname, framework
31
+ @uploader.framework = framework
32
+ @uploader.session_dir = session_directory
33
+ upload_result = @uploader.upload
34
+ @view.show_upload_result upload_result
35
+ url = upload_result.split.last
36
+ if open_browser then
37
+ @shell.open_with_default_app url
38
+ end
39
+ end
40
+
41
+ def command_key
42
+ 'u'
43
+ end
44
+
45
+ def accepts_shell_command? command
46
+ command == 'upload'
47
+ end
48
+
49
+ def continue_test_loop?
50
+ false
51
+ end
52
+
53
+ end
@@ -0,0 +1,23 @@
1
+ class UploadNoOpenCommand
2
+
3
+ def initialize upload_command
4
+ @upload_command = upload_command
5
+ end
6
+
7
+ def execute_from_shell params
8
+ upload params[1]
9
+ end
10
+
11
+ def upload session_directory
12
+ @upload_command.upload session_directory, false
13
+ end
14
+
15
+ def accepts_shell_command? command
16
+ command == 'upload-no-open'
17
+ end
18
+
19
+ def continue_test_loop?
20
+ false
21
+ end
22
+
23
+ end
@@ -0,0 +1,23 @@
1
+ class XHelpCommand
2
+
3
+ def initialize view
4
+ @view = view
5
+ end
6
+
7
+ def execute_from_shell params
8
+ help params[1]
9
+ end
10
+
11
+ def help command=nil
12
+ if command then
13
+ @view.show_detailed_help command.downcase
14
+ else
15
+ @view.show_extended_help
16
+ end
17
+ end
18
+
19
+ def accepts_shell_command? command
20
+ command == 'xhelp'
21
+ end
22
+
23
+ end
data/lib/console_view.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'shell_wrapper'
2
- require 'text_template_machine'
2
+ require 'scaffold/text_template_machine'
3
3
  require 'property_file_missing_exception'
4
4
 
5
5
  class ConsoleView
@@ -1,7 +1,7 @@
1
1
  require "info_property_file"
2
2
  require "filename_formatter"
3
- require "text_converter"
4
- require "return_code_evaluator"
3
+ require "run/text_converter"
4
+ require "record/return_code_evaluator"
5
5
 
6
6
  class Runner
7
7
 
@@ -1,4 +1,4 @@
1
- require 'text_template_machine'
1
+ require 'scaffold/text_template_machine'
2
2
  require 'filename_formatter'
3
3
 
4
4
  class Scaffolder
@@ -1,9 +1,9 @@
1
1
  require 'json'
2
2
  require 'state'
3
3
  require 'state_reader'
4
+ require 'upload/xml_element_extractor'
4
5
  require 'progress'
5
6
  require 'filename_formatter'
6
- require 'xml_element_extractor'
7
7
  require 'rest_client'
8
8
  require 'shell_wrapper'
9
9
  require 'session_zipper'
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 5
8
- - 0
9
- version: 1.5.00
8
+ - 1
9
+ version: 1.5.01
10
10
  platform: ruby
11
11
  authors:
12
12
  - CodersDojo-Team
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-09-14 00:00:00 +02:00
17
+ date: 2011-09-15 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -84,22 +84,31 @@ extra_rdoc_files: []
84
84
  files:
85
85
  - lib/argument_parser.rb
86
86
  - lib/codersdojo.rb
87
+ - lib/commands/capture_single_run_command.rb
88
+ - lib/commands/generate_command.rb
89
+ - lib/commands/help_command.rb
90
+ - lib/commands/init_session_command.rb
91
+ - lib/commands/revert_to_green_command.rb
92
+ - lib/commands/start_command.rb
93
+ - lib/commands/upload_command.rb
94
+ - lib/commands/upload_no_open_command.rb
95
+ - lib/commands/xhelp_command.rb
87
96
  - lib/console_view.rb
88
97
  - lib/filename_formatter.rb
89
98
  - lib/info_property_file.rb
90
99
  - lib/meta_config_file.rb
91
100
  - lib/property_file_missing_exception.rb
92
- - lib/return_code_evaluator.rb
93
- - lib/runner.rb
94
- - lib/scaffolder.rb
95
- - lib/scheduler.rb
96
- - lib/session_id_generator.rb
101
+ - lib/record/return_code_evaluator.rb
102
+ - lib/record/session_id_generator.rb
103
+ - lib/run/runner.rb
104
+ - lib/run/scheduler.rb
105
+ - lib/run/text_converter.rb
106
+ - lib/scaffold/scaffolder.rb
107
+ - lib/scaffold/text_template_machine.rb
97
108
  - lib/state.rb
98
109
  - lib/state_reader.rb
99
- - lib/text_converter.rb
100
- - lib/text_template_machine.rb
101
- - lib/uploader.rb
102
- - lib/xml_element_extractor.rb
110
+ - lib/upload/uploader.rb
111
+ - lib/upload/xml_element_extractor.rb
103
112
  - templates/any/README
104
113
  - templates/any/run-endless.%sh%
105
114
  - templates/any/run-once.%sh%
File without changes
File without changes