Class: Pubnub::GetChannelMembers

Inherits:
SingleEvent show all
Includes:
Concurrent::Async, Validator::GetChannelMembers
Defined in:
lib/pubnub/events/get_channel_members.rb

Overview

Holds GetChannelMembers functionality

Instance Attribute Summary

Attributes inherited from Event

#callback, #channel, #channel_group, #fresh_clone, #given_options, #group, #idle_timeout, #open_timeout, #origin, #presence_callback, #read_timeout, #ssl, #state, #wildcard_channel, #with_presence

Instance Method Summary collapse

Methods included from Validator::GetChannelMembers

#validate!

Methods included from Validator::CommonValidator

#validate_origin, #validate_publish_key, #validate_subscribe_key, #validate_user_id

Methods inherited from Event

#finalized?, #fire, #send_request, #sync?, #uri

Methods included from Event::EFormatter

#format_channels, #format_envelopes, #format_group

Constructor Details

#initialize(options, app) ⇒ GetChannelMembers

Returns a new instance of GetChannelMembers.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/pubnub/events/get_channel_members.rb', line 10

def initialize(options, app)
  @event = current_operation
  @telemetry_name = :l_obj
  @channel = options[:channel]
  @limit = [options[:limit], 100].min unless options[:limit].nil?
  @sort = options[:sort].join(",") if options[:sort] && !options[:sort].empty?
  @filter = options[:filter] if options[:filter] && !options[:filter].empty?
  @start = options[:start] if options[:start] && !options[:start].empty?
  @end = options[:end] if options[:start] && !options[:end].empty?

  if options[:include]
    include = options[:include]
    @include_count = [0, '0', false].include?(include[:count]) ? "0" : "1" unless include[:count].nil?
    @include_custom = "custom" if !include[:custom].nil? && ![0, '0', false].include?(include[:custom])
    @include_uuid_metadata = "uuid" if !include[:uuid_metadata].nil? && ![0, '0', false].include?(include[:uuid_metadata])
    @include_uuid_custom = "uuid.custom" if !include[:uuid_custom].nil? && ![0, '0', false].include?(include[:uuid_custom])

    @include = [@include_custom, @include_uuid_metadata, @include_uuid_custom].reject { |flag| flag.to_s.empty? }
  end

  # Collections by default return number of available entries.
  @include_count = "1" if @include_count.nil?

  super
end