ad6f3a9ff7
The group-based approach won't work if you don't have access to the gems!
34 lines
651 B
Ruby
34 lines
651 B
Ruby
module Fizzy
|
|
class << self
|
|
def saas?
|
|
return @saas if defined?(@saas)
|
|
@saas = !!(ENV["SAAS"] || File.exist?(File.expand_path("../../tmp/saas.txt", __dir__)))
|
|
end
|
|
|
|
def db_adapter
|
|
@db_adapter ||= DbAdapter.new ENV.fetch("DATABASE_ADAPTER", saas? ? "mysql" : "sqlite")
|
|
end
|
|
|
|
def configure_bundle
|
|
if saas?
|
|
ENV["BUNDLE_GEMFILE"] = "Gemfile.saas"
|
|
end
|
|
end
|
|
end
|
|
|
|
class DbAdapter
|
|
def initialize(name)
|
|
@name = name.to_s
|
|
end
|
|
|
|
def to_s
|
|
@name
|
|
end
|
|
|
|
# Not using inquiry so that it works before Rails env loads.
|
|
def sqlite?
|
|
@name == "sqlite"
|
|
end
|
|
end
|
|
end
|