Sha256: 5cc753d67d384ddbbcd80464b3d5cedfa288fdd795de7d8cd87e967d8e19739a
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
# frozen_string_literal: true module Multiwoven module Integrations class Service class << self def initialize yield(config) if block_given? end def connectors { source: build_connectors( ENABLED_SOURCES, "Source" ), destination: build_connectors( ENABLED_DESTINATIONS, "Destination" ) } end def connector_class(connector_type, connector_name) Object.const_get( "Multiwoven::Integrations::#{connector_type}::#{connector_name}::Client" ) end def logger config.logger || default_logger end def config @config ||= Config.new end private def build_connectors(enabled_connectors, type) enabled_connectors.map do |connector| client = connector_class(type, connector).new connector_spec = { connector_spec: client.connector_spec.to_h } client.meta_data["data"].to_h.merge!(connector_spec) end end def default_logger @default_logger ||= Logger.new($stdout) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems