Sha256: 44c32685a02001bb1706951ec70880e201008b7c526987fa0c739c671ef206e3

Contents?: true

Size: 878 Bytes

Versions: 6

Compression:

Stored size: 878 Bytes

Contents

# frozen_string_literal: true

module PubSubModelSync
  class MockGoogleService
    class MockStop
      def wait!
        true
      end
    end

    class MockSubscriber
      def start
        true
      end

      def stop
        @stop ||= MockStop.new
      end
      alias stop! stop
    end

    class MockSubscription
      def listen(*_args)
        @listen ||= MockSubscriber.new
      end
    end

    class MockTopic
      def subscription(*_args)
        @subscription ||= MockSubscription.new
      end
      alias subscribe subscription

      def publish(*_args)
        true
      end

      def publish_async(*_args)
        yield(OpenStruct.new(succeeded?: true)) if block_given?
      end

      def enable_message_ordering!
        true
      end
    end

    def topic(*_args)
      @topic ||= MockTopic.new
    end
    alias create_topic topic
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pub_sub_model_sync-0.5.10 lib/pub_sub_model_sync/mock_google_service.rb
pub_sub_model_sync-0.5.9.1 lib/pub_sub_model_sync/mock_google_service.rb
pub_sub_model_sync-0.5.9 lib/pub_sub_model_sync/mock_google_service.rb
pub_sub_model_sync-0.5.8.2 lib/pub_sub_model_sync/mock_google_service.rb
pub_sub_model_sync-0.5.8.1 lib/pub_sub_model_sync/mock_google_service.rb
pub_sub_model_sync-0.5.8 lib/pub_sub_model_sync/mock_google_service.rb