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