Sha256: 6dc719f34a6b20d37b11a9a40ed20f4cba5d54c14a3969aa3580b7a3c44cefae

Contents?: true

Size: 1.34 KB

Versions: 11

Compression:

Stored size: 1.34 KB

Contents

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

      def validate!
        return if @skip_validate

        validate_channel!
        validate_timetokens!
      end

      private

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

        raise ArgumentError, { message: ':channel is required for RemoveMessageAction event.' }
      end

      def validate_timetokens!
        raise ArgumentError, {message:':message_timetoken is required for RemoveMessageAction event.'} if @message_timetoken.nil?
        raise ArgumentError, {message:':message_timetoken should be Numeric.'} unless @message_timetoken.is_a? Numeric
        raise ArgumentError, {message:':message_timetoken should be PubNub timetoken larger than 0.'} unless @message_timetoken.positive?

        raise ArgumentError, {message:':action_timetoken is required for RemoveMessageAction event.'} if @action_timetoken.nil?
        raise ArgumentError, {message:':action_timetoken should be Numeric.'} unless @action_timetoken.is_a? Numeric
        raise ArgumentError, {message:':action_timetoken should be PubNub timetoken larger than 0.'} unless @action_timetoken.positive?
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pubnub-5.5.0 lib/pubnub/validators/remove_message_action.rb
pubnub-5.4.0 lib/pubnub/validators/remove_message_action.rb
pubnub-5.3.5 lib/pubnub/validators/remove_message_action.rb
pubnub-5.3.4 lib/pubnub/validators/remove_message_action.rb
pubnub-5.3.3 lib/pubnub/validators/remove_message_action.rb
pubnub-5.3.2 lib/pubnub/validators/remove_message_action.rb
pubnub-5.3.1 lib/pubnub/validators/remove_message_action.rb
pubnub-5.3.0 lib/pubnub/validators/remove_message_action.rb
pubnub-5.2.2 lib/pubnub/validators/remove_message_action.rb
pubnub-5.2.1 lib/pubnub/validators/remove_message_action.rb
pubnub-5.2.0 lib/pubnub/validators/remove_message_action.rb