Class: Desiru::BatchResult

Inherits:
AsyncResult show all
Defined in:
lib/desiru/async_capable.rb

Instance Attribute Summary

Attributes inherited from AsyncResult

#job_id

Instance Method Summary collapse

Methods inherited from AsyncResult

#error, #failed?, #initialize, #progress, #ready?, #result, #status, #success?, #wait

Constructor Details

This class inherits a constructor from Desiru::AsyncResult

Instance Method Details

#errorsObject



151
152
153
154
155
156
# File 'lib/desiru/async_capable.rb', line 151

def errors
  data = fetch_result
  return [] unless data && data[:errors]

  data[:errors]
end

#resultsObject



142
143
144
145
146
147
148
149
# File 'lib/desiru/async_capable.rb', line 142

def results
  data = fetch_result
  return [] unless data && data[:results]

  data[:results].map do |item|
    ModuleResult.new(item[:result], metadata: { batch_index: item[:index] }) if item[:success]
  end
end

#statsObject



158
159
160
161
162
163
164
165
166
167
168
# File 'lib/desiru/async_capable.rb', line 158

def stats
  data = fetch_result
  return {} unless data

  {
    total: data[:total],
    successful: data[:successful],
    failed: data[:failed],
    success_rate: data[:total].positive? ? data[:successful].to_f / data[:total] : 0
  }
end