Sha256: 473241d6577fee5ed227ea78cb99dc3183a3713a37da1f6495f0ceb1d430d64c

Contents?: true

Size: 983 Bytes

Versions: 33

Compression:

Stored size: 983 Bytes

Contents

# frozen_string_literal: true

# Toplevel Pubnub module.
module Pubnub
  # Validator module that holds all validators modules
  module Validator
    # Validator for Signal event
    module Signal
      include CommonValidator

      def validate!
        return if @skip_validate

        validate_publish_key!
        validate_channel!
        validate_message!
      end

      private

      def validate_publish_key!
        return unless @publish_key.nil?

        raise(
          ArgumentError.new,
          ':publish_key is required for publish event.'
        )
      end

      def validate_channel!
        return unless @channel.nil? || @channel.empty?

        raise(
          ArgumentError.new,
          ':channel is required for publish event.'
        )
      end

      def validate_message!
        return unless @message.nil?

        raise(
          ArgumentError.new,
          ':message is required for publish event.'
        )
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
pubnub-5.5.0 lib/pubnub/validators/signal.rb
pubnub-5.4.0 lib/pubnub/validators/signal.rb
pubnub-5.3.5 lib/pubnub/validators/signal.rb
pubnub-5.3.4 lib/pubnub/validators/signal.rb
pubnub-5.3.3 lib/pubnub/validators/signal.rb
pubnub-5.3.2 lib/pubnub/validators/signal.rb
pubnub-5.3.1 lib/pubnub/validators/signal.rb
pubnub-5.3.0 lib/pubnub/validators/signal.rb
pubnub-5.2.2 lib/pubnub/validators/signal.rb
pubnub-5.2.1 lib/pubnub/validators/signal.rb
pubnub-5.2.0 lib/pubnub/validators/signal.rb
pubnub-5.1.2 lib/pubnub/validators/signal.rb
pubnub-5.1.1 lib/pubnub/validators/signal.rb
pubnub-5.1.0 lib/pubnub/validators/signal.rb
pubnub-5.0.0 lib/pubnub/validators/signal.rb
pubnub-4.8.0 lib/pubnub/validators/signal.rb
pubnub-4.7.1 lib/pubnub/validators/signal.rb
pubnub-4.7.0 lib/pubnub/validators/signal.rb
pubnub-4.6.2 lib/pubnub/validators/signal.rb
pubnub-4.6.1 lib/pubnub/validators/signal.rb