From b2ff0b47bf03599fd240bc129fee198034bf596d Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 25 Jun 2025 09:20:50 -0400 Subject: [PATCH] Make sure QB subscriptions reload properly in dev --- app/models/subscription.rb | 14 +++++++++----- config/initializers/queenbee.rb | 6 ++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/models/subscription.rb b/app/models/subscription.rb index cf9113b54..5efb1a7fa 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -1,9 +1,13 @@ class Subscription < Queenbee::Subscription SHORT_NAMES = %w[ FreeV1 ] -end -class FreeV1Subscription < Subscription - property :proper_name, "Free Subscription" - property :price, 0 - property :frequency, "yearly" + def self.short_name + name.demodulize + end + + class FreeV1 < Subscription + property :proper_name, "Free Subscription" + property :price, 0 + property :frequency, "yearly" + end end diff --git a/config/initializers/queenbee.rb b/config/initializers/queenbee.rb index eda1c0048..9708bc352 100644 --- a/config/initializers/queenbee.rb +++ b/config/initializers/queenbee.rb @@ -3,4 +3,10 @@ Queenbee.host_app = Fizzy Rails.application.config.to_prepare do Queenbee::Subscription.short_names = Subscription::SHORT_NAMES Queenbee::ApiToken.token = Rails.application.credentials.dig(:queenbee_api_token) + + Subscription::SHORT_NAMES.each do |short_name| + const_name = "#{short_name}Subscription" + ::Object.send(:remove_const, const_name) if ::Object.const_defined?(const_name) + ::Object.const_set const_name, Subscription.const_get(short_name, false) + end end