require 'rails_connector/core_extensions'
# @api public
module ::RailsConnector
PLATFORM_CLOUD = :cloud.freeze
PLATFORM_FIONA = :fiona.freeze
def self.load_platform_gem_if_present(name)
if Gem.loaded_specs["infopark_#{name}_connector"]
gem_name = "infopark_#{name}_connector"
# ensure the other connector is present in exactly the same version
gem gem_name, Gem.loaded_specs["infopark_rails_connector"].version
require gem_name
@platform = name
end
end
# return either :fiona or :cloud depending on the app's configuration.
# @return [Symbol]
def self.platform
@platform
end
def self.platform_cloud?
@platform == PLATFORM_CLOUD
end
def self.platform_fiona?
@platform == PLATFORM_FIONA
end
end
RailsConnector::load_platform_gem_if_present(RailsConnector::PLATFORM_CLOUD)
RailsConnector::load_platform_gem_if_present(RailsConnector::PLATFORM_FIONA)
unless RailsConnector::platform
raise "The infopark_rails_connector gem requires "\
"either the infopark_cloud_connector gem (for use with Infopark Cloud Express) or "\
"the infopark_fiona_connector gem (for use with Infopark CMS Fiona). "\
"Add either gem to your Gemfile."
end
require "rails_connector/engine" if defined?(Rails)