Class: Pindo::OutputSink
- Inherits:
-
Object
- Object
- Pindo::OutputSink
- Defined in:
- lib/pindo/base/output_sink.rb
Overview
输出接收器抽象接口定义了任务输出管理器必须实现的标准接口使用依赖倒置原则 (DIP),让 Funlog 等基础模块依赖此抽象而非具体实现
Direct Known Subclasses
Instance Method Summary collapse
-
#error_task(task_id, error_message) ⇒ Object
任务失败.
-
#log_detail(task_id, message) ⇒ Object
记录详细日志(如命令输出、编译日志).
-
#log_error(task_id, message) ⇒ Object
记录 ERROR 级别日志.
-
#log_info(task_id, message) ⇒ Object
记录 INFO 级别日志.
-
#log_warning(task_id, message) ⇒ Object
记录 WARNING 级别日志.
-
#start_task(task_id) ⇒ Object
任务开始.
-
#success_task(task_id, message = nil, execution_time: nil) ⇒ Object
任务成功.
-
#update_current_line(task_id, message) ⇒ Object
更新当前行(不滚动,用于进度百分比).
-
#update_progress(task_id, message) ⇒ Object
更新任务进度(终端可见).
Instance Method Details
#error_task(task_id, error_message) ⇒ Object
任务失败
65 66 67 |
# File 'lib/pindo/base/output_sink.rb', line 65 def error_task(task_id, ) raise NotImplementedError, "#{self.class} must implement #error_task" end |
#log_detail(task_id, message) ⇒ Object
记录详细日志(如命令输出、编译日志)
44 45 46 |
# File 'lib/pindo/base/output_sink.rb', line 44 def log_detail(task_id, ) raise NotImplementedError, "#{self.class} must implement #log_detail" end |
#log_error(task_id, message) ⇒ Object
记录 ERROR 级别日志
23 24 25 |
# File 'lib/pindo/base/output_sink.rb', line 23 def log_error(task_id, ) raise NotImplementedError, "#{self.class} must implement #log_error" end |
#log_info(task_id, message) ⇒ Object
记录 INFO 级别日志
9 10 11 |
# File 'lib/pindo/base/output_sink.rb', line 9 def log_info(task_id, ) raise NotImplementedError, "#{self.class} must implement #log_info" end |
#log_warning(task_id, message) ⇒ Object
记录 WARNING 级别日志
16 17 18 |
# File 'lib/pindo/base/output_sink.rb', line 16 def log_warning(task_id, ) raise NotImplementedError, "#{self.class} must implement #log_warning" end |
#start_task(task_id) ⇒ Object
任务开始
50 51 52 |
# File 'lib/pindo/base/output_sink.rb', line 50 def start_task(task_id) raise NotImplementedError, "#{self.class} must implement #start_task" end |
#success_task(task_id, message = nil, execution_time: nil) ⇒ Object
任务成功
58 59 60 |
# File 'lib/pindo/base/output_sink.rb', line 58 def success_task(task_id, = nil, execution_time: nil) raise NotImplementedError, "#{self.class} must implement #success_task" end |
#update_current_line(task_id, message) ⇒ Object
更新当前行(不滚动,用于进度百分比)
37 38 39 |
# File 'lib/pindo/base/output_sink.rb', line 37 def update_current_line(task_id, ) raise NotImplementedError, "#{self.class} must implement #update_current_line" end |
#update_progress(task_id, message) ⇒ Object
更新任务进度(终端可见)
30 31 32 |
# File 'lib/pindo/base/output_sink.rb', line 30 def update_progress(task_id, ) raise NotImplementedError, "#{self.class} must implement #update_progress" end |