From 2042abeaeeb2de559728511ec13ef925a8ee561b Mon Sep 17 00:00:00 2001 From: Leon Miller-Out Date: Thu, 9 Jan 2025 11:40:59 -0500 Subject: [PATCH 1/3] Let Rubocop autocorrect a couple of issues. --- lib/webhook_system/base_event.rb | 4 ++-- lib/webhook_system/subscription.rb | 6 ++---- test.db-shm | Bin 0 -> 32768 bytes test.db-wal | Bin 0 -> 288432 bytes 4 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 test.db-shm create mode 100644 test.db-wal diff --git a/lib/webhook_system/base_event.rb b/lib/webhook_system/base_event.rb index f8cce27..7f10526 100644 --- a/lib/webhook_system/base_event.rb +++ b/lib/webhook_system/base_event.rb @@ -6,8 +6,8 @@ module WebhookSystem class BaseEvent include PhModel - def initialize(*args, &block) - super(*args, &block) + def initialize(...) + super @event_id = SecureRandom.uuid.freeze end diff --git a/lib/webhook_system/subscription.rb b/lib/webhook_system/subscription.rb index fba26bc..638cd70 100644 --- a/lib/webhook_system/subscription.rb +++ b/lib/webhook_system/subscription.rb @@ -53,10 +53,8 @@ def topic_names=(new_topics) new_topics.reject!(&:blank?) add_topics = new_topics - topic_names - new_topics_attributes = [] - - topics.each do |topic| - new_topics_attributes << { + new_topics_attributes = topics.map do |topic| + { id: topic.id, name: topic.name, _destroy: new_topics.exclude?(topic.name), diff --git a/test.db-shm b/test.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..b37139349cf4bcb5787cbea8e9fc884a2ec1160d GIT binary patch literal 32768 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 Date: Thu, 9 Jan 2025 12:17:40 -0500 Subject: [PATCH 2/3] Specify version constraint for sqlite3 in Rails 7.0 --- gemfiles/rails_7.0.gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gemfiles/rails_7.0.gemfile b/gemfiles/rails_7.0.gemfile index f32a1ff..f395ee7 100644 --- a/gemfiles/rails_7.0.gemfile +++ b/gemfiles/rails_7.0.gemfile @@ -3,6 +3,6 @@ source "https://rubygems.org" gem "rails", "~> 7.0.2" -gem "sqlite3" +gem "sqlite3", "~> 1.4.0" gemspec path: "../" From fe5155d8ac13214e7375759e39dc09ad98edc6f1 Mon Sep 17 00:00:00 2001 From: Leon Miller-Out Date: Thu, 9 Jan 2025 12:22:50 -0500 Subject: [PATCH 3/3] require base64 in Encoder (because Rails 7.0 with Ruby 3+ doesn't require it automatically) --- lib/webhook_system/encoder.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/webhook_system/encoder.rb b/lib/webhook_system/encoder.rb index 75837cd..cb1362a 100644 --- a/lib/webhook_system/encoder.rb +++ b/lib/webhook_system/encoder.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'base64' + module WebhookSystem # Class in charge of encoding and decoding encrypted payload