Sha256: 5bd198bc1fe0b3a77cca398fd071f0313e9f6cd26b276a95375d07da2ce9749d

Contents?: true

Size: 533 Bytes

Versions: 6

Compression:

Stored size: 533 Bytes

Contents

# frozen_string_literal: true

require 'google/cloud/pubsub'
module PubSubModelSync
  class Connector
    attr_accessor :service
    delegate :listen_messages, :publish, :stop, to: :service

    def initialize
      @service = build_service
    end

    private

    def build_service
      case Config.service_name
      when :google
        PubSubModelSync::ServiceGoogle.new
      when :kafka
        PubSubModelSync::ServiceKafka.new
      else # :rabbit_mq
        PubSubModelSync::ServiceRabbit.new
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pub_sub_model_sync-0.2.4 lib/pub_sub_model_sync/connector.rb
pub_sub_model_sync-0.2.3 lib/pub_sub_model_sync/connector.rb
pub_sub_model_sync-0.2.2 lib/pub_sub_model_sync/connector.rb
pub_sub_model_sync-0.2.1 lib/pub_sub_model_sync/connector.rb
pub_sub_model_sync-0.2.0 lib/pub_sub_model_sync/connector.rb
pub_sub_model_sync-0.1.5 lib/pub_sub_model_sync/connector.rb