diff --git a/Gemfile b/Gemfile index 65b7be293..5a5f86f78 100644 --- a/Gemfile +++ b/Gemfile @@ -76,8 +76,7 @@ group :test do gem "mocha" end -require_relative "lib/fizzy" -if Fizzy.saas? +group :saas, optional: true do gem "activeresource", require: "active_resource" gem "queenbee", git: "https://github.com/basecamp/queenbee-plugin" gem "fizzy-saas", path: "gems/fizzy-saas" diff --git a/Gemfile.lock b/Gemfile.lock index e2c03955c..6e8bbd96b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,12 @@ +GIT + remote: https://github.com/basecamp/queenbee-plugin + revision: 15faf03a876c5e66b67753d2e1ddb24f1eb5abb2 + specs: + queenbee (3.2.0) + activeresource + builder + rexml + GIT remote: https://github.com/basecamp/rails-structured-logging revision: 76960cb5c15fc2b6b5f7542e05d7dcc031cef9e6 @@ -122,6 +131,14 @@ GIT tsort (>= 0.2) zeitwerk (~> 2.6) +PATH + remote: gems/fizzy-saas + specs: + fizzy-saas (0.1.0) + queenbee + rails (>= 8.1.0.beta1) + rails_structured_logging + GEM remote: https://rubygems.org/ specs: @@ -567,6 +584,7 @@ PLATFORMS x86_64-linux-musl DEPENDENCIES + activeresource autotuner aws-sdk-s3 bcrypt (~> 3.1.7) @@ -577,6 +595,7 @@ DEPENDENCIES capybara debug faker + fizzy-saas! geared_pagination (~> 1.2) image_processing (~> 1.14) importmap-rails @@ -592,6 +611,7 @@ DEPENDENCIES prometheus-client-mmap (~> 1.3) propshaft puma (>= 5.0) + queenbee! rack-mini-profiler rails! rails_structured_logging! diff --git a/bin/rails b/bin/rails index 073966023..36ee7f712 100755 --- a/bin/rails +++ b/bin/rails @@ -1,4 +1,15 @@ #!/usr/bin/env ruby -APP_PATH = File.expand_path('../config/application', __dir__) -require_relative '../config/boot' -require 'rails/commands' +APP_PATH = File.expand_path("../config/application", __dir__) + +require_relative "../lib/fizzy" + +if Fizzy.saas? + ENV["BUNDLE_WITH"] = [ ENV["BUNDLE_WITH"] , "saas" ].compact.join(",") +end + +require_relative "../config/boot" + +puts "SaaS version (#{Fizzy.db_adapter})" if Fizzy.saas? + +require "rails/commands" + diff --git a/config/application.rb b/config/application.rb index 0399caaca..4bfbab4a2 100644 --- a/config/application.rb +++ b/config/application.rb @@ -2,7 +2,9 @@ require_relative "boot" require "rails/all" require_relative "../lib/fizzy" -Bundler.require(*Rails.groups) +groups = Rails.groups +groups << :saas if Fizzy.saas? +Bundler.require(*groups) module Fizzy class Application < Rails::Application