From 8cfb98fc25d1e53d7f425716a9482b3f860e0d6c Mon Sep 17 00:00:00 2001 From: bedrock-adam Date: Thu, 9 Oct 2025 07:04:24 +1100 Subject: [PATCH 1/2] pass specs --- db/migrate/create_outboxer_messages.rb | 1 - lib/outboxer/message.rb | 14 ++----- lib/outboxer/models/message.rb | 6 --- lib/outboxer/web/views/error.erb | 3 -- lib/outboxer/web/views/home.erb | 2 +- lib/outboxer/web/views/layout.erb | 1 - lib/outboxer/web/views/message.erb | 12 +----- spec/factories/outboxer_messages.rb | 13 ------- .../outboxer/message/can_requeue_all_spec.rb | 8 +--- spec/lib/outboxer/message/can_requeue_spec.rb | 8 +--- spec/lib/outboxer/message/delete_all_spec.rb | 14 +------ .../outboxer/message/delete_by_ids_spec.rb | 2 +- spec/lib/outboxer/message/list/filter_spec.rb | 37 ------------------- .../message/list/no_arguments_spec.rb | 7 +--- spec/lib/outboxer/message/list/sort_spec.rb | 24 ++++-------- spec/lib/outboxer/message/metrics_spec.rb | 17 +-------- spec/lib/outboxer/message/requeue_all_spec.rb | 20 ++-------- spec/lib/outboxer/message/serialize_spec.rb | 2 - 18 files changed, 24 insertions(+), 167 deletions(-) diff --git a/db/migrate/create_outboxer_messages.rb b/db/migrate/create_outboxer_messages.rb index 524b3666..3ba45ab1 100644 --- a/db/migrate/create_outboxer_messages.rb +++ b/db/migrate/create_outboxer_messages.rb @@ -9,7 +9,6 @@ def up t.datetime :updated_at, precision: 6, null: false t.datetime :queued_at, precision: 6, null: false - t.datetime :buffered_at, precision: 6 t.datetime :publishing_at, precision: 6 t.datetime :published_at, precision: 6 t.datetime :failed_at, precision: 6 diff --git a/lib/outboxer/message.rb b/lib/outboxer/message.rb index f77e68f7..fefe2de6 100644 --- a/lib/outboxer/message.rb +++ b/lib/outboxer/message.rb @@ -228,7 +228,6 @@ def publishing_failed(id:, error: nil, time: ::Time) # @param messageable_id [String] ID of the messageable entity. # @param updated_at [Time] the timestamp of last update. # @param queued_at [Time, nil] optional timestamp when message was queued. - # @param buffered_at [Time, nil] optional timestamp when message was buffered. # @param publishing_at [Time, nil] optional timestamp when message was marked publishing. # @param published_at [Time, nil] optional timestamp when message was marked published. # @param failed_at [Time, nil] optional timestamp when message was marked failed. @@ -236,8 +235,7 @@ def publishing_failed(id:, error: nil, time: ::Time) # @param publisher_name [String, nil] optional publisher name. # @return [Hash] serialized message details. def serialize(id:, status:, messageable_type:, messageable_id:, updated_at:, - queued_at: nil, buffered_at: nil, - publishing_at: nil, published_at: nil, failed_at: nil, + queued_at: nil, publishing_at: nil, published_at: nil, failed_at: nil, publisher_id: nil, publisher_name: nil) { id: id, @@ -246,7 +244,6 @@ def serialize(id:, status:, messageable_type:, messageable_id:, updated_at:, messageable_id: messageable_id, updated_at: updated_at, queued_at: queued_at, - buffered_at: buffered_at, publishing_at: publishing_at, published_at: published_at, failed_at: failed_at, @@ -276,7 +273,6 @@ def find_by_id(id:) messageable_id: message.messageable_id, updated_at: message.updated_at.utc, queued_at: message.queued_at.utc, - buffered_at: message&.buffered_at&.utc, # TODO: is &.buffered_at necessary? publishing_at: message&.publishing_at&.utc, published_at: message&.published_at&.utc, failed_at: message&.failed_at&.utc, @@ -325,7 +321,7 @@ def delete(id:) end end - REQUEUE_STATUSES = [:buffered, :publishing, :failed] + REQUEUE_STATUSES = [:publishing, :failed] # Determines if a message in a certain status can be requeued. # @param status [Symbol] the status to check. @@ -352,7 +348,6 @@ def requeue(id:, publisher_id: nil, publisher_name: nil, status: Message::Status::QUEUED, updated_at: current_utc_time, queued_at: current_utc_time, - buffered_at: nil, publishing_at: nil, published_at: nil, failed_at: nil, @@ -364,7 +359,7 @@ def requeue(id:, publisher_id: nil, publisher_name: nil, end end - LIST_STATUS_OPTIONS = [nil, :queued, :buffered, :publishing, :published, :failed] + LIST_STATUS_OPTIONS = [nil, :queued, :publishing, :published, :failed] LIST_STATUS_DEFAULT = nil LIST_SORT_OPTIONS = [:id, :status, :messageable, :queued_at, :updated_at, :publisher_name] @@ -447,7 +442,6 @@ def list(status: LIST_STATUS_DEFAULT, messageable_id: message.messageable_id, updated_at: message.updated_at.utc.in_time_zone(time_zone), queued_at: message.queued_at.utc.in_time_zone(time_zone), - buffered_at: message&.buffered_at&.utc&.in_time_zone(time_zone), publishing_at: message&.publishing_at&.utc&.in_time_zone(time_zone), published_at: message&.published_at&.utc&.in_time_zone(time_zone), failed_at: message&.failed_at&.utc&.in_time_zone(time_zone), @@ -508,7 +502,6 @@ def requeue_all(status:, batch_size: 100, time: ::Time, status: Message::Status::QUEUED, updated_at: current_utc_time, queued_at: current_utc_time, - buffered_at: nil, publishing_at: nil, published_at: nil, failed_at: nil, @@ -548,7 +541,6 @@ def requeue_by_ids(ids:, publisher_id: nil, publisher_name: nil, time: Time) status: Message::Status::QUEUED, updated_at: time.now.utc, queued_at: current_utc_time, # TODO: confirm this - buffered_at: nil, publishing_at: nil, published_at: nil, failed_at: nil, diff --git a/lib/outboxer/models/message.rb b/lib/outboxer/models/message.rb index 427da83f..5d4c7401 100644 --- a/lib/outboxer/models/message.rb +++ b/lib/outboxer/models/message.rb @@ -5,7 +5,6 @@ class Message < ::ActiveRecord::Base module Status QUEUED = "queued" - BUFFERED = "buffered" PUBLISHING = "publishing" PUBLISHED = "published" FAILED = "failed" @@ -13,7 +12,6 @@ module Status STATUSES = [ Status::QUEUED, - Status::BUFFERED, Status::PUBLISHING, Status::PUBLISHED, Status::FAILED @@ -32,9 +30,6 @@ module Status # @!attribute [rw] queued_at # @return [DateTime] The date and time when the message was queued. - # @!attribute [rw] buffered_at - # @return [DateTime] The date and time when the message was buffered. - # @!attribute [rw] publishing_at # @return [DateTime] The date and time when the message began publishing. @@ -50,7 +45,6 @@ module Status validates :status, inclusion: { in: STATUSES }, length: { maximum: 255 } scope :queued, -> { where(status: Status::QUEUED) } - scope :buffered, -> { where(status: Status::BUFFERED) } scope :publishing, -> { where(status: Status::PUBLISHING) } scope :published, -> { where(status: Status::PUBLISHED) } scope :failed, -> { where(status: Status::FAILED) } diff --git a/lib/outboxer/web/views/error.erb b/lib/outboxer/web/views/error.erb index 85936691..36f0867d 100644 --- a/lib/outboxer/web/views/error.erb +++ b/lib/outboxer/web/views/error.erb @@ -25,9 +25,6 @@ - diff --git a/lib/outboxer/web/views/home.erb b/lib/outboxer/web/views/home.erb index 96b71386..e5129ac6 100644 --- a/lib/outboxer/web/views/home.erb +++ b/lib/outboxer/web/views/home.erb @@ -118,7 +118,7 @@ - <% ['queued', 'buffered', 'publishing', 'published', 'failed'].each do |status| %> + <% ['queued', 'publishing', 'published', 'failed'].each do |status| %> "> diff --git a/lib/outboxer/web/views/layout.erb b/lib/outboxer/web/views/layout.erb index 6bf6a092..25a19846 100644 --- a/lib/outboxer/web/views/layout.erb +++ b/lib/outboxer/web/views/layout.erb @@ -64,7 +64,6 @@