lib/lifen_fhir.rb in lifen_fhir-0.4.2 vs lib/lifen_fhir.rb in lifen_fhir-0.5.0

- old
+ new

@@ -17,10 +17,11 @@ end end require "lifen_fhir/version" + require 'lifen_fhir/logger' require 'lifen_fhir/error' require 'lifen_fhir/client' require 'lifen_fhir/user_authenticated_client' require 'lifen_fhir/app_authenticated_client' require 'lifen_fhir/configuration' @@ -39,6 +40,31 @@ require 'lifen_fhir/content_string' require 'lifen_fhir/communication_request' Virtus.finalize + AVAILABLE_INTEGRATIONS = %w(railties).freeze + + class << self + extend Forwardable + + def_delegators :logger + + def inject + integrations_to_load = LifenFhir::AVAILABLE_INTEGRATIONS + + integrations_to_load &= Gem.loaded_specs.keys + integrations_to_load.each do |integration| + load_integration(integration) + end + end + + def load_integration(integration) + require "lifen_fhir/integrations/#{integration}" + rescue Exception => error + logger.warn "Unable to load lifen_fhir/integrations/#{integration}: #{error}" + end + end + end + +LifenFhir.inject