Class: Async::Background::Web::Serializer
- Inherits:
-
Object
- Object
- Async::Background::Web::Serializer
- Defined in:
- lib/async/background/web/serializer.rb
Constant Summary collapse
- EMPTY_OPTIONS =
{}.freeze
- EMPTY_ARGS =
[].freeze
Instance Method Summary collapse
- #claimed(rows) ⇒ Object
- #done(rows) ⇒ Object
- #executing(rows) ⇒ Object
- #failed(rows) ⇒ Object
-
#initialize(config) ⇒ Serializer
constructor
A new instance of Serializer.
- #overview(snapshot_data, metrics_data = nil) ⇒ Object
- #pending(rows) ⇒ Object
Constructor Details
#initialize(config) ⇒ Serializer
Returns a new instance of Serializer.
13 14 15 |
# File 'lib/async/background/web/serializer.rb', line 13 def initialize(config) @config = config end |
Instance Method Details
#claimed(rows) ⇒ Object
32 33 34 |
# File 'lib/async/background/web/serializer.rb', line 32 def claimed(rows) rows.map { |row| claimed_item(row) } end |
#done(rows) ⇒ Object
36 37 38 |
# File 'lib/async/background/web/serializer.rb', line 36 def done(rows) page(rows.map { |row| done_item(row) }) { |item| Cursor.encode_finished(item[:finished_at], item[:id]) } end |
#executing(rows) ⇒ Object
28 29 30 |
# File 'lib/async/background/web/serializer.rb', line 28 def executing(rows) rows.map { |row| executing_item(row) } end |
#failed(rows) ⇒ Object
40 41 42 |
# File 'lib/async/background/web/serializer.rb', line 40 def failed(rows) page(rows.map { |row| failed_item(row) }) { |item| Cursor.encode_finished(item[:finished_at], item[:id]) } end |
#overview(snapshot_data, metrics_data = nil) ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/async/background/web/serializer.rb', line 17 def overview(snapshot_data, metrics_data = nil) payload = { counts: snapshot_data.fetch(:counts), next_pending_run_at: snapshot_data[:next_pending_run_at], data_version: snapshot_data.fetch(:data_version), generated_at: snapshot_data.fetch(:generated_at) } payload[:metrics] = metrics_data if metrics_data payload end |
#pending(rows) ⇒ Object
44 45 46 |
# File 'lib/async/background/web/serializer.rb', line 44 def pending(rows) page(rows.map { |row| pending_item(row) }) { |item| Cursor.encode_pending(item[:run_at], item[:id]) } end |