teuton 2.3.11 → 2.4.1

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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -13
  3. data/docs/CHANGELOG.md +0 -13
  4. data/docs/changelog/todo.md +26 -0
  5. data/docs/changelog/v2.4.md +6 -2
  6. data/docs/dsl/execution/export.md +11 -16
  7. data/docs/dsl/execution/show.md +22 -7
  8. data/docs/ideas/{ideas.md → todo.md} +8 -16
  9. data/docs/install/README.md +26 -42
  10. data/docs/install/s-node.md +35 -0
  11. data/docs/install/t-node.md +76 -0
  12. data/docs/learn/01-target.md +34 -66
  13. data/docs/learn/02-config.md +35 -56
  14. data/docs/learn/03-remote_hosts.md +20 -1
  15. data/docs/learn/04-new_test.md +4 -4
  16. data/docs/learn/05-use.md +3 -4
  17. data/docs/learn/06-debug.md +6 -9
  18. data/docs/learn/07-log.md +14 -14
  19. data/docs/learn/08-readme.md +4 -4
  20. data/docs/learn/09-preserve.md +1 -1
  21. data/docs/learn/13-include.md +13 -6
  22. data/docs/learn/14-alias.md +14 -8
  23. data/docs/learn/17-hide-feedback.md +52 -0
  24. data/docs/learn/README.md +8 -15
  25. data/lib/teuton/case_manager/case/case.rb +2 -5
  26. data/lib/teuton/case_manager/case/dsl/expect.rb +2 -4
  27. data/lib/teuton/case_manager/case/dsl/log.rb +1 -2
  28. data/lib/teuton/case_manager/case/dsl/send.rb +4 -2
  29. data/lib/teuton/case_manager/case/play.rb +1 -2
  30. data/lib/teuton/case_manager/case/runner.rb +6 -7
  31. data/lib/teuton/case_manager/case_manager.rb +18 -12
  32. data/lib/teuton/case_manager/check_cases.rb +5 -7
  33. data/lib/teuton/case_manager/dsl.rb +1 -1
  34. data/lib/teuton/case_manager/export_manager.rb +13 -15
  35. data/lib/teuton/case_manager/hall_of_fame.rb +20 -16
  36. data/lib/teuton/case_manager/main.rb +1 -2
  37. data/lib/teuton/case_manager/report.rb +3 -3
  38. data/lib/teuton/report/formatter/base_formatter.rb +8 -7
  39. data/lib/teuton/report/formatter/{array_formatter.rb → default/array.rb} +44 -9
  40. data/lib/teuton/report/formatter/default/colored_text.rb +7 -0
  41. data/lib/teuton/report/formatter/default/html.rb +24 -0
  42. data/lib/teuton/report/formatter/default/json.rb +15 -0
  43. data/lib/teuton/report/formatter/{txt_formatter.rb → default/txt.rb} +4 -3
  44. data/lib/teuton/report/formatter/{xml_formatter.rb → default/xml.rb} +10 -4
  45. data/lib/teuton/report/formatter/default/yaml.rb +15 -0
  46. data/lib/teuton/report/formatter/formatter.rb +55 -0
  47. data/lib/teuton/report/formatter/moodle_csv_formatter.rb +4 -10
  48. data/lib/teuton/report/formatter/{resume_array_formatter.rb → resume/array.rb} +4 -7
  49. data/lib/teuton/report/formatter/resume/colored_text.rb +7 -0
  50. data/lib/teuton/report/formatter/{resume_html_formatter.rb → resume/html.rb} +7 -9
  51. data/lib/teuton/report/formatter/{resume_json_formatter.rb → resume/json.rb} +4 -4
  52. data/lib/teuton/report/formatter/{resume_txt_formatter.rb → resume/txt.rb} +4 -6
  53. data/lib/teuton/report/formatter/{resume_yaml_formatter.rb → resume/yaml.rb} +4 -3
  54. data/lib/teuton/report/report.rb +60 -43
  55. data/lib/teuton/report/show.rb +38 -24
  56. data/lib/teuton/version.rb +1 -1
  57. data/lib/teuton.rb +2 -1
  58. metadata +38 -35
  59. data/docs/install/scripts.md +0 -96
  60. data/lib/teuton/case_manager/show.rb +0 -24
  61. data/lib/teuton/report/close.rb +0 -38
  62. data/lib/teuton/report/formatter/csv_formatter.rb +0 -25
  63. data/lib/teuton/report/formatter/formatter_factory.rb +0 -79
  64. data/lib/teuton/report/formatter/html_formatter.rb +0 -57
  65. data/lib/teuton/report/formatter/json_formatter.rb +0 -12
  66. data/lib/teuton/report/formatter/list_formatter.rb +0 -65
  67. data/lib/teuton/report/formatter/resume_list_formatter.rb +0 -62
  68. data/lib/teuton/report/formatter/yaml_formatter.rb +0 -15
@@ -1,21 +1,19 @@
1
- # frozen_string_literal: true
2
-
3
1
  require "erb"
4
- require_relative "resume_yaml_formatter"
5
- require_relative "../../application"
2
+ require_relative "yaml"
3
+ require_relative "../../../application"
6
4
 
7
- ##
8
- # HTMLFormatter class receive a [Report] and generates HTML output.
9
5
  class ResumeHTMLFormatter < ResumeYAMLFormatter
10
6
  def initialize(report)
11
7
  super(report)
8
+ @ext = "html"
12
9
  @data = {}
13
- filepath = File.join(File.dirname(__FILE__), "..", "..", "files", "template", "resume.html")
10
+ basedir = File.join(File.dirname(__FILE__), "..", "..", "..")
11
+ filepath = File.join(basedir, "files", "template", "resume.html")
14
12
  @template = File.read(filepath)
15
13
  end
16
14
 
17
- def process
18
- build_data
15
+ def process(options = {})
16
+ build_data(options)
19
17
  build_page
20
18
  deinit
21
19
  end
@@ -1,15 +1,15 @@
1
1
  require "json/pure"
2
- require_relative "resume_array_formatter"
2
+ require_relative "array"
3
3
 
4
- # JSONFormatter class
5
4
  class ResumeJSONFormatter < ResumeArrayFormatter
6
5
  def initialize(report)
7
6
  super(report)
7
+ @ext = "json"
8
8
  @data = {}
9
9
  end
10
10
 
11
- def process
12
- build_data
11
+ def process(options = {})
12
+ build_data(options)
13
13
  w @data.to_json # Write data into ouput file
14
14
  deinit
15
15
  end
@@ -1,22 +1,20 @@
1
- # frozen_string_literal: true
2
-
3
1
  require "terminal-table"
4
2
  require "rainbow"
5
- require_relative "resume_array_formatter"
3
+ require_relative "array"
6
4
 
7
- # TXTFormatter class
8
5
  class ResumeTXTFormatter < ResumeArrayFormatter
9
6
  def initialize(report, color = false)
10
7
  @color = color
11
8
  super(report)
9
+ @ext = "txt"
12
10
  @data = {}
13
11
  end
14
12
 
15
- def process
13
+ def process(options = {})
16
14
  rainbow_state = Rainbow.enabled
17
15
  Rainbow.enabled = @color
18
16
 
19
- build_data
17
+ build_data(options)
20
18
  process_config
21
19
  process_cases
22
20
  process_conn_errors
@@ -1,13 +1,14 @@
1
- require_relative "resume_array_formatter"
1
+ require_relative "array"
2
2
 
3
3
  class ResumeYAMLFormatter < ResumeArrayFormatter
4
4
  def initialize(report)
5
5
  super(report)
6
+ @ext = "yaml"
6
7
  @data = {}
7
8
  end
8
9
 
9
- def process
10
- build_data
10
+ def process(options = {})
11
+ build_data(options)
11
12
  w @data.to_yaml # Write data into ouput file
12
13
  deinit
13
14
  end
@@ -1,34 +1,14 @@
1
- # frozen_string_literal: true
2
-
3
- require "terminal-table"
4
1
  require_relative "../application"
5
- require_relative "formatter/formatter_factory"
6
- require_relative "show"
7
- require_relative "close"
2
+ require_relative "formatter/formatter"
8
3
 
9
- ##
10
- # This class maintain the results of every case, in a structured way.
11
- # * report/show.rb
12
- # * report/close.rb
13
4
  class Report
14
- # @!attribute id
15
- # @return [Integer] It is the [Case] number. Zero indicates Resume Report.
16
5
  attr_accessor :id, :filename, :output_dir
17
- # @!attribute head
18
- # @return [Hash] Report head information.
19
6
  attr_accessor :head
20
- # @!attribute lines
21
- # @return [Array] Report body information.
22
7
  attr_accessor :lines
23
- # @!attribute tail
24
- # @return [Hash] Report tail information.
25
8
  attr_accessor :tail
26
- # @!attribute format
27
- # @return [Symbol] Indicate export format.
28
- attr_reader :format
9
+ attr_accessor :format
29
10
  attr_reader :history
30
- ##
31
- # Class constructor
11
+
32
12
  def initialize(id = "00")
33
13
  @id = id
34
14
  @filename = "case-#{@id}"
@@ -42,30 +22,67 @@ class Report
42
22
  @history = ""
43
23
  end
44
24
 
45
- ##
46
- # Export [Case] data to specified format.
47
- # @param format [Symbol] Select export format. Default value is :txt.
48
- def export(format = :txt)
49
- @format = format
50
- filepath = File.join(@output_dir, @filename + "." \
51
- + FormatterFactory.ext(@format))
25
+ def clone
26
+ report = Report.new
27
+ attrs = %i[id filename output_dir head lines tail format]
28
+ attrs.each do |attr|
29
+ attr_set = "#{attr}=".to_sym
30
+ report.send(attr_set, send(attr).clone)
31
+ end
52
32
 
53
- formatter = FormatterFactory.get(self, @format, filepath)
54
- formatter.process
33
+ report
55
34
  end
56
35
 
57
- ##
58
- # Export resumed data from all Cases, to specified format.
59
- # @param format [Symbol] Select export format. Default value is :txt.
60
- def export_resume(format = :txt)
36
+ def export(options)
37
+ filepath = File.join(@output_dir, @filename)
38
+ Formatter.call(self, options, filepath)
39
+ end
40
+
41
+ def export_resume(options)
42
+ format = options[:format]
61
43
  @format = "resume_#{format}".to_sym
62
- filepath = File.join(@output_dir, @filename + "." \
63
- + FormatterFactory.ext(@format))
64
- formatter = FormatterFactory.get(self, @format, filepath)
65
- formatter.process
44
+ options[:format] = @format
45
+ filepath = File.join(@output_dir, @filename)
46
+ Formatter.call(self, options, filepath)
47
+
48
+ filepath = File.join(@output_dir, "moodle")
49
+ Formatter.call(self, {format: :moodle_csv}, filepath)
50
+ end
51
+
52
+ ##
53
+ # Calculate final values:
54
+ # * grade
55
+ # * max_weight
56
+ # * good_weight,d
57
+ # * fail_weight
58
+ # * fail_counter
59
+ def close
60
+ app = Application.instance
61
+ max = 0.0
62
+ good = 0.0
63
+ fail = 0.0
64
+ fail_counter = 0
65
+ @lines.each do |i|
66
+ next unless i.instance_of? Hash
67
+
68
+ max += i[:weight] if i[:weight].positive?
69
+ if i[:check]
70
+ good += i[:weight]
71
+ @history += app.letter[:good]
72
+ else
73
+ fail += i[:weight]
74
+ fail_counter += 1
75
+ @history += app.letter[:bad]
76
+ end
77
+ end
78
+ @tail[:max_weight] = max
79
+ @tail[:good_weight] = good
80
+ @tail[:fail_weight] = fail
81
+ @tail[:fail_counter] = fail_counter
66
82
 
67
- filepath = File.join(@output_dir, "moodle.csv")
68
- formatter = FormatterFactory.get(self, :moodle_csv, filepath)
69
- formatter.process
83
+ i = good.to_f / max
84
+ i = 0 if i.nan?
85
+ @tail[:grade] = (100.0 * i).round
86
+ @tail[:grade] = 0 if @tail[:unique_fault].positive?
70
87
  end
71
88
  end
@@ -1,48 +1,62 @@
1
- # frozen_string_literal: true
1
+ require "rainbow"
2
+ require_relative "../application"
2
3
 
3
- # Show methods for Report class.
4
- class Report
5
- ##
6
- # Display [Report] information on screen
7
- def show
8
- show_initial_configurations
9
- if @filename.to_s.include? "resume"
4
+ class ShowReport
5
+ def initialize(report)
6
+ @report = report
7
+ end
8
+
9
+ def call(verbose)
10
+ return if Application.instance.quiet?
11
+
12
+ show_initial_configurations if verbose > 2
13
+ if filename.to_s.include? "resume"
10
14
  show_resume
11
15
  else
12
16
  show_targets_history
13
17
  end
14
- show_final_values
15
- show_hall_of_fame
18
+ show_final_values if verbose > 1
19
+ show_hall_of_fame if verbose > 0
16
20
  end
17
21
 
18
22
  private
19
23
 
20
- ##
21
- # Display initial configurations
24
+ def filename
25
+ @report.filename
26
+ end
27
+
28
+ def head
29
+ @report.head
30
+ end
31
+
32
+ def lines
33
+ @report.lines
34
+ end
35
+
36
+ def tail
37
+ @report.tail
38
+ end
39
+
22
40
  def show_initial_configurations
23
41
  puts Rainbow("INITIAL CONFIGURATIONS").bright
24
42
  my_screen_table = Terminal::Table.new do |st|
25
- @head.each do |key, value|
43
+ head.each do |key, value|
26
44
  st.add_row [key.to_s, trim(value)]
27
45
  end
28
46
  end
29
47
  puts "#{my_screen_table}\n\n"
30
48
  end
31
49
 
32
- ##
33
- # Display resume
34
50
  def show_resume
35
51
  show_case_list
36
52
  show_conn_status
37
53
  end
38
54
 
39
- ##
40
- # Display case list
41
55
  def show_case_list
42
56
  puts Rainbow("CASE RESULTS").bright
43
57
  my_screen_table = Terminal::Table.new do |st|
44
58
  st.add_row %w[CASE MEMBERS GRADE STATE]
45
- @lines.each do |line|
59
+ lines.each do |line|
46
60
  st.add_row [line[:id], line[:members], line[:grade], line[:letter]]
47
61
  end
48
62
  end
@@ -51,13 +65,13 @@ class Report
51
65
 
52
66
  def show_conn_status
53
67
  errors = 0
54
- @lines.each { |line| errors += line[:conn_status].size }
68
+ lines.each { |line| errors += line[:conn_status].size }
55
69
  return if errors.zero?
56
70
 
57
71
  puts Rainbow("CONN ERRORS").bright
58
72
  my_screen_table = Terminal::Table.new do |st|
59
73
  st.add_row %w[CASE MEMBERS HOST ERROR]
60
- @lines.each do |line|
74
+ lines.each do |line|
61
75
  line[:conn_status].each_pair do |host, error|
62
76
  st.add_row [line[:id], line[:members], host, Rainbow(error).red.bright]
63
77
  end
@@ -69,10 +83,10 @@ class Report
69
83
  def show_targets_history
70
84
  tab = " "
71
85
  puts Rainbow("CASE RESULTS").bright
72
- if @lines.size == 1
73
- puts @lines[0]
86
+ if lines.size == 1
87
+ puts lines[0]
74
88
  else
75
- @lines.each do |i|
89
+ lines.each do |i|
76
90
  if i.class.to_s == "Hash"
77
91
  value = 0.0
78
92
  value = i[:weight] if i[:check]
@@ -91,7 +105,7 @@ class Report
91
105
  def show_final_values
92
106
  puts Rainbow("FINAL VALUES").bright
93
107
  my_screen_table = Terminal::Table.new do |st|
94
- @tail.each do |key, value|
108
+ tail.each do |key, value|
95
109
  st.add_row [key.to_s, value.to_s]
96
110
  end
97
111
  end
@@ -1,5 +1,5 @@
1
1
  module Teuton
2
- VERSION = "2.3.11"
2
+ VERSION = "2.4.1"
3
3
  APPNAME = "teuton"
4
4
  GEMNAME = "teuton"
5
5
  DOCKERNAME = "dvarrui/#{GEMNAME}"
data/lib/teuton.rb CHANGED
@@ -38,7 +38,8 @@ module Teuton
38
38
  require_relative app.script_path
39
39
  rescue SyntaxError => e
40
40
  puts e.to_s
41
- puts Rainbow.new("==> [FAIL] SyntaxError into file #{app.script_path}").red
41
+ puts Rainbow.new("[FAIL ] Reading file #{app.script_path}").red
42
+ puts Rainbow.new("[ERROR] Syntax Error!").red
42
43
  end
43
44
  end
44
45
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teuton
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.11
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Vargas Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-09 00:00:00.000000000 Z
11
+ date: 2023-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -30,70 +30,70 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.0'
33
+ version: '3.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3.0'
40
+ version: '3.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: net-sftp
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '2.1'
47
+ version: '4.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '2.1'
54
+ version: '4.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: net-ssh
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '5.0'
61
+ version: '7.0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '5.0'
68
+ version: '7.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: net-telnet
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.1'
75
+ version: '0.2'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.1'
82
+ version: '0.2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json_pure
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '2.2'
89
+ version: '2.6'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '2.2'
96
+ version: '2.6'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: thor
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '1.8'
117
+ version: '3.0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '1.8'
124
+ version: '3.0'
125
125
  description: |2
126
126
  Intrastructure test, useful for:
127
127
  (1) Sysadmin teachers to evaluate students remote machines.
@@ -139,6 +139,7 @@ extra_rdoc_files:
139
139
  - README.md
140
140
  - LICENSE
141
141
  - docs/CHANGELOG.md
142
+ - docs/changelog/todo.md
142
143
  - docs/changelog/v2.0.md
143
144
  - docs/changelog/v2.1.md
144
145
  - docs/changelog/v2.2.md
@@ -165,12 +166,13 @@ extra_rdoc_files:
165
166
  - docs/es/guess_os.md
166
167
  - docs/ideas/Challenge-Server-Project.md
167
168
  - docs/ideas/contributions.md
168
- - docs/ideas/ideas.md
169
169
  - docs/ideas/servidor-de-retos.md
170
+ - docs/ideas/todo.md
170
171
  - docs/install/README.md
171
172
  - docs/install/manual.md
172
173
  - docs/install/modes_of_use.md
173
- - docs/install/scripts.md
174
+ - docs/install/s-node.md
175
+ - docs/install/t-node.md
174
176
  - docs/install/vagrant_docker.md
175
177
  - docs/learn/01-target.md
176
178
  - docs/learn/02-config.md
@@ -187,6 +189,7 @@ extra_rdoc_files:
187
189
  - docs/learn/13-include.md
188
190
  - docs/learn/14-alias.md
189
191
  - docs/learn/16-exit_codes.md
192
+ - docs/learn/17-hide-feedback.md
190
193
  - docs/learn/README.md
191
194
  - docs/learn/videos.md
192
195
  - docs/videos.md
@@ -195,6 +198,7 @@ files:
195
198
  - README.md
196
199
  - bin/teuton
197
200
  - docs/CHANGELOG.md
201
+ - docs/changelog/todo.md
198
202
  - docs/changelog/v2.0.md
199
203
  - docs/changelog/v2.1.md
200
204
  - docs/changelog/v2.2.md
@@ -221,12 +225,13 @@ files:
221
225
  - docs/es/guess_os.md
222
226
  - docs/ideas/Challenge-Server-Project.md
223
227
  - docs/ideas/contributions.md
224
- - docs/ideas/ideas.md
225
228
  - docs/ideas/servidor-de-retos.md
229
+ - docs/ideas/todo.md
226
230
  - docs/install/README.md
227
231
  - docs/install/manual.md
228
232
  - docs/install/modes_of_use.md
229
- - docs/install/scripts.md
233
+ - docs/install/s-node.md
234
+ - docs/install/t-node.md
230
235
  - docs/install/vagrant_docker.md
231
236
  - docs/learn/01-target.md
232
237
  - docs/learn/02-config.md
@@ -243,6 +248,7 @@ files:
243
248
  - docs/learn/13-include.md
244
249
  - docs/learn/14-alias.md
245
250
  - docs/learn/16-exit_codes.md
251
+ - docs/learn/17-hide-feedback.md
246
252
  - docs/learn/README.md
247
253
  - docs/learn/videos.md
248
254
  - docs/videos.md
@@ -280,7 +286,6 @@ files:
280
286
  - lib/teuton/case_manager/hall_of_fame.rb
281
287
  - lib/teuton/case_manager/main.rb
282
288
  - lib/teuton/case_manager/report.rb
283
- - lib/teuton/case_manager/show.rb
284
289
  - lib/teuton/case_manager/utils.rb
285
290
  - lib/teuton/check/builtin.rb
286
291
  - lib/teuton/check/dsl.rb
@@ -295,24 +300,22 @@ files:
295
300
  - lib/teuton/readme/dsl.rb
296
301
  - lib/teuton/readme/lang.rb
297
302
  - lib/teuton/readme/readme.rb
298
- - lib/teuton/report/close.rb
299
- - lib/teuton/report/formatter/array_formatter.rb
300
303
  - lib/teuton/report/formatter/base_formatter.rb
301
- - lib/teuton/report/formatter/csv_formatter.rb
302
- - lib/teuton/report/formatter/formatter_factory.rb
303
- - lib/teuton/report/formatter/html_formatter.rb
304
- - lib/teuton/report/formatter/json_formatter.rb
305
- - lib/teuton/report/formatter/list_formatter.rb
304
+ - lib/teuton/report/formatter/default/array.rb
305
+ - lib/teuton/report/formatter/default/colored_text.rb
306
+ - lib/teuton/report/formatter/default/html.rb
307
+ - lib/teuton/report/formatter/default/json.rb
308
+ - lib/teuton/report/formatter/default/txt.rb
309
+ - lib/teuton/report/formatter/default/xml.rb
310
+ - lib/teuton/report/formatter/default/yaml.rb
311
+ - lib/teuton/report/formatter/formatter.rb
306
312
  - lib/teuton/report/formatter/moodle_csv_formatter.rb
307
- - lib/teuton/report/formatter/resume_array_formatter.rb
308
- - lib/teuton/report/formatter/resume_html_formatter.rb
309
- - lib/teuton/report/formatter/resume_json_formatter.rb
310
- - lib/teuton/report/formatter/resume_list_formatter.rb
311
- - lib/teuton/report/formatter/resume_txt_formatter.rb
312
- - lib/teuton/report/formatter/resume_yaml_formatter.rb
313
- - lib/teuton/report/formatter/txt_formatter.rb
314
- - lib/teuton/report/formatter/xml_formatter.rb
315
- - lib/teuton/report/formatter/yaml_formatter.rb
313
+ - lib/teuton/report/formatter/resume/array.rb
314
+ - lib/teuton/report/formatter/resume/colored_text.rb
315
+ - lib/teuton/report/formatter/resume/html.rb
316
+ - lib/teuton/report/formatter/resume/json.rb
317
+ - lib/teuton/report/formatter/resume/txt.rb
318
+ - lib/teuton/report/formatter/resume/yaml.rb
316
319
  - lib/teuton/report/report.rb
317
320
  - lib/teuton/report/show.rb
318
321
  - lib/teuton/skeleton.rb
@@ -1,96 +0,0 @@
1
- [<< back](README.md)
2
-
3
- # Using scripts to install Teuton
4
-
5
- 1. T-Node installation
6
- * GNU/Linux
7
- * MACOSX
8
- * Windows
9
- 2. S-Node installation
10
- * GNU/Linux
11
- * MACOSX
12
- * Windows
13
- 3. Tested OS list
14
-
15
- ---
16
- # 1. T-NODE installation
17
-
18
- * **T-node**: Host where Teuton software is installed. Monitor S-NODE hosts.
19
-
20
- ## 1.1 T-NODE: GNU/Linux installation
21
-
22
- Run this command as `root` user:
23
-
24
- ```bash
25
- wget -qO- https://raw.githubusercontent.com/teuton-software/teuton/devel/install/linux/linux_t-node_install.sh | bash
26
- ```
27
-
28
- ## 1.2 T-NODE: Windows installation
29
-
30
- Requirements:
31
- * Windows 7+ / Windows Server 2003+
32
- * PowerShell v2+
33
-
34
- Run this command on **PowerShell (PS)** as `Administrator` user:
35
-
36
- ```powershell
37
- Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/teuton-software/teuton/devel/install/windows/windows_t-node_install.ps1'))
38
- ```
39
-
40
- ## 1.3 T-NODE: Mac OS X installation
41
-
42
- Run this command as admin user (member of `admin` group):
43
-
44
- ```bash
45
- curl -sL https://raw.githubusercontent.com/teuton-software/teuton/devel/install/mac/macosx_t-node_install.sh | bash
46
- ```
47
-
48
- ---
49
- # 2. S-NODE installation
50
-
51
- * **S-node**: Host where SSH server is installed. This hosts are monitotized by T-NODE host.
52
-
53
- ## 2.1 S-NODE: GNU/Linux installation
54
-
55
- Run this command as `root` user:
56
-
57
- ```bash
58
- wget -qO- https://raw.githubusercontent.com/teuton-software/teuton/devel/install/linux/linux_s-node_install.sh | bash
59
- ```
60
-
61
- ## 2.2 S-NODE: Windows installation
62
-
63
- Requirements:
64
- * Windows 7+ / Windows Server 2003+
65
- * PowerShell v2+
66
-
67
- Run this command on **PowerShell (PS)** as `Administrator` user:
68
-
69
- ```powershell
70
- Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/teuton-software/teuton/devel/install/windows/windows_s-node_install.ps1'))
71
- ```
72
-
73
- ## 2.3 S-NODE: Mac OS X installation
74
-
75
- Run this command as `root` user:
76
-
77
- ```bash
78
- curl -sL https://raw.githubusercontent.com/teuton-software/teuton/devel/install/mac/macosx_s-node_install.sh | bash
79
- ```
80
-
81
- ---
82
- # 3. Tested OS list
83
-
84
- | Type | O.S. | Version | Arch | T-node | S-node |
85
- | --------- | --------- | -------------- | ------ | ------ | ------ |
86
- | GNU/Linux | CentOS | 7 | x86-64 | | |
87
- | | Debian | 9.7.0 | x86-64 | Ok | |
88
- | | Fedora | Workstation 29 | x84-64 | Ok | |
89
- | | LinuxMint | 18.3 | x86-64 | Ok | |
90
- | | openSUSE | Leap 15 | x86-64 | Ok | Ok |
91
- | | Ubuntu | 18.04 | x86-64 | Ok | Ok |
92
- | Microsoft | Windows | 7 Enterprise | x86 | Ok | |
93
- | | Windows | 10 Pro | x86-64 | Ok | Ok |
94
- | | Windows | Server 2012 R2 | x86-64 | | |
95
- | Apple | Mac OS X | Capitán (10.11.6) | x86-64 | Ok | Ok |
96
- | | Mac OS X | Sierra (10.12) | x86-64 | Ok | |