Sha256: e6854167c36b0f2de575f2ae0062939cb8e0c00ee3fe6c67c77d4e99af757bba

Contents?: true

Size: 1.03 KB

Versions: 25

Compression:

Stored size: 1.03 KB

Contents

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

      def validate!
        return if @skip_validate
        validate_action!
      end

      private

      def validate_action!
        validate_action_presence!
        validate_action_correctness!
      end

      def validate_action_presence!
        fail(
          ArgumentError.new,
          ':action is required for channel registration event.'
        ) if @action.nil?
      end

      def validate_action_correctness!
        fail(
          ArgumentError.new(
            object: self,
            message: 'Invalid :action key. Valid action keys are: :add, :list_groups, :get, :remove key'
          ),
          'Invalid :action key. Valid action keys are: :add, :list_groups, :get, :remove key'
        ) unless [:add, :list_groups, :get, :remove, :list_namespaces].include?(@action.to_sym)
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
pubnub-4.0.27 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.25 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.23 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.22 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.21 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.20 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.19 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.18 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.17 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.16 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.15 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.14 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.13 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.12 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.9 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.8 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.7 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.6 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.5 lib/pubnub/validators/channel_registration.rb
pubnub-4.0.4 lib/pubnub/validators/channel_registration.rb