Class: Yoda::Server::Providers::ReportableProgress::ProgressReporter
- Inherits:
-
Object
- Object
- Yoda::Server::Providers::ReportableProgress::ProgressReporter
- Defined in:
- lib/yoda/server/providers/reportable_progress.rb
Instance Attribute Summary collapse
- #notifier ⇒ Object readonly
- #partial_result_token ⇒ Object readonly
- #results ⇒ Object readonly
- #work_done_token ⇒ Object readonly
Instance Method Summary collapse
-
#initialize(work_done_token:, partial_result_token:, notifier:) ⇒ ProgressReporter
constructor
A new instance of ProgressReporter.
- #report(**kwargs) ⇒ Object
- #send_begin(**kwargs) ⇒ Object
- #send_end(**kwargs) ⇒ Object
- #send_result(value) ⇒ Object
Constructor Details
#initialize(work_done_token:, partial_result_token:, notifier:) ⇒ ProgressReporter
Returns a new instance of ProgressReporter.
39 40 41 42 43 44 |
# File 'lib/yoda/server/providers/reportable_progress.rb', line 39 def initialize(work_done_token:, partial_result_token:, notifier:) @work_done_token = work_done_token @partial_result_token = partial_result_token @notifier = notifier @results = [] end |
Instance Attribute Details
#notifier ⇒ Object (readonly)
31 32 33 |
# File 'lib/yoda/server/providers/reportable_progress.rb', line 31 def notifier @notifier end |
#partial_result_token ⇒ Object (readonly)
28 29 30 |
# File 'lib/yoda/server/providers/reportable_progress.rb', line 28 def partial_result_token @partial_result_token end |
#results ⇒ Object (readonly)
34 35 36 |
# File 'lib/yoda/server/providers/reportable_progress.rb', line 34 def results @results end |
#work_done_token ⇒ Object (readonly)
25 26 27 |
# File 'lib/yoda/server/providers/reportable_progress.rb', line 25 def work_done_token @work_done_token end |
Instance Method Details
#report(**kwargs) ⇒ Object
58 59 60 61 62 |
# File 'lib/yoda/server/providers/reportable_progress.rb', line 58 def report(**kwargs) if work_done_token notifier.work_done_progress_report(token: work_done_token, **kwargs) end end |
#send_begin(**kwargs) ⇒ Object
46 47 48 49 50 |
# File 'lib/yoda/server/providers/reportable_progress.rb', line 46 def send_begin(**kwargs) if work_done_token notifier.work_done_progress_begin(token: work_done_token, **kwargs) end end |
#send_end(**kwargs) ⇒ Object
52 53 54 55 56 |
# File 'lib/yoda/server/providers/reportable_progress.rb', line 52 def send_end(**kwargs) if work_done_token notifier.work_done_progress_end(token: work_done_token, **kwargs) end end |
#send_result(value) ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/yoda/server/providers/reportable_progress.rb', line 64 def send_result(value) if partial_result_token notifier.partial_result(token: partial_result_token, value: value) else results.push(value) end end |