pubnub 4.3.0 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pubnub might be problematic. Click here for more details.

Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/.pubnub.yml +32 -24
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile.lock +1 -1
  5. data/README.md +1 -1
  6. data/VERSION +1 -1
  7. data/fixtures/vcr_cassettes/examples/grant/1913.yml +1 -1
  8. data/fixtures/vcr_cassettes/examples/grant/1945.yml +355 -4
  9. data/fixtures/vcr_cassettes/lib/events/get_all_channels_metadata.yml +39 -0
  10. data/fixtures/vcr_cassettes/lib/events/get_all_uuid_metadata.yml +76 -0
  11. data/fixtures/vcr_cassettes/lib/events/{get_space_memberships.yml → get_channel_members.yml} +5 -6
  12. data/fixtures/vcr_cassettes/lib/events/get_channel_metadata.yml +37 -0
  13. data/fixtures/vcr_cassettes/lib/events/{get_members.yml → get_memberships.yml} +10 -11
  14. data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata.yml +76 -0
  15. data/fixtures/vcr_cassettes/lib/events/grant-error.yml +2 -2
  16. data/fixtures/vcr_cassettes/lib/events/grant.yml +10 -11
  17. data/fixtures/vcr_cassettes/lib/events/remove_channel_members.yml +78 -0
  18. data/fixtures/vcr_cassettes/lib/events/{delete_space.yml → remove_channel_metadata.yml} +5 -6
  19. data/fixtures/vcr_cassettes/lib/events/{manage_memberships_remove.yml → remove_memberships.yml} +8 -9
  20. data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata.yml +76 -0
  21. data/fixtures/vcr_cassettes/lib/events/set_channel_members.yml +39 -0
  22. data/fixtures/vcr_cassettes/lib/events/set_channel_metadata.yml +39 -0
  23. data/fixtures/vcr_cassettes/lib/events/{manage_members_add.yml → set_memberships.yml} +8 -9
  24. data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata.yml +78 -0
  25. data/fixtures/vcr_cassettes/lib/events/{subscribe-space-delete-async.yml → subscribe-channel-metadata-remove-sync.yml} +12 -14
  26. data/fixtures/vcr_cassettes/lib/events/subscribe-channel-metadata-set-async.yml +75 -0
  27. data/fixtures/vcr_cassettes/lib/events/{subscribe-member-remove-async.yml → subscribe-member-remove-sync.yml} +12 -14
  28. data/fixtures/vcr_cassettes/lib/events/subscribe-member-set-async.yml +75 -0
  29. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-remove-async.yml +12 -14
  30. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-update-async.yml → subscribe-membership-set-async.yml} +12 -14
  31. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-delete-async.yml → subscribe-uuid-metadata-remove-sync.yml} +12 -14
  32. data/fixtures/vcr_cassettes/lib/events/subscribe-uuid-metadata-set-async.yml +75 -0
  33. data/lib/pubnub/client.rb +14 -14
  34. data/lib/pubnub/client/events.rb +4 -2
  35. data/lib/pubnub/constants.rb +19 -18
  36. data/lib/pubnub/event.rb +29 -15
  37. data/lib/pubnub/event/signature.rb +22 -7
  38. data/lib/pubnub/events/get_all_channels_metadata.rb +92 -0
  39. data/lib/pubnub/events/get_all_uuid_metadata.rb +92 -0
  40. data/lib/pubnub/events/get_channel_members.rb +100 -0
  41. data/lib/pubnub/events/{get_user.rb → get_channel_metadata.rb} +22 -15
  42. data/lib/pubnub/events/get_memberships.rb +100 -0
  43. data/lib/pubnub/events/{get_space.rb → get_uuid_metadata.rb} +22 -15
  44. data/lib/pubnub/events/grant.rb +9 -7
  45. data/lib/pubnub/events/remove_channel_members.rb +117 -0
  46. data/lib/pubnub/events/{delete_space.rb → remove_channel_metadata.rb} +12 -12
  47. data/lib/pubnub/events/remove_memberships.rb +117 -0
  48. data/lib/pubnub/events/{delete_user.rb → remove_uuid_metadata.rb} +12 -12
  49. data/lib/pubnub/events/set_channel_members.rb +120 -0
  50. data/lib/pubnub/events/{create_space.rb → set_channel_metadata.rb} +26 -16
  51. data/lib/pubnub/events/set_memberships.rb +120 -0
  52. data/lib/pubnub/events/{update_space.rb → set_uuid_metadata.rb} +27 -18
  53. data/lib/pubnub/pam.rb +2 -11
  54. data/lib/pubnub/subscribe_callback.rb +1 -3
  55. data/lib/pubnub/subscribe_event/formatter.rb +21 -17
  56. data/lib/pubnub/subscriber.rb +5 -6
  57. data/lib/pubnub/validators/get_all_channels_metadata.rb +29 -0
  58. data/lib/pubnub/validators/get_all_uuid_metadata.rb +29 -0
  59. data/lib/pubnub/validators/get_channel_members.rb +39 -0
  60. data/lib/pubnub/validators/get_channel_metadata.rb +39 -0
  61. data/lib/pubnub/validators/get_memberships.rb +39 -0
  62. data/lib/pubnub/validators/get_uuid_metadata.rb +39 -0
  63. data/lib/pubnub/validators/grant.rb +37 -2
  64. data/lib/pubnub/validators/remove_channel_members.rb +52 -0
  65. data/lib/pubnub/validators/remove_channel_metadata.rb +39 -0
  66. data/lib/pubnub/validators/remove_memberships.rb +52 -0
  67. data/lib/pubnub/validators/remove_uuid_metadata.rb +39 -0
  68. data/lib/pubnub/validators/set_channel_members.rb +78 -0
  69. data/lib/pubnub/validators/set_channel_metadata.rb +62 -0
  70. data/lib/pubnub/validators/set_memberships.rb +78 -0
  71. data/lib/pubnub/validators/set_uuid_metadata.rb +62 -0
  72. data/lib/pubnub/version.rb +1 -1
  73. data/spec/examples/grant_examples_spec.rb +2 -2
  74. data/spec/lib/events/channel_metadata_spec.rb +58 -0
  75. data/spec/lib/events/grant_spec.rb +3 -2
  76. data/spec/lib/events/membership_spec.rb +25 -22
  77. data/spec/lib/events/subscribe_spec.rb +58 -45
  78. data/spec/lib/events/uuid_metadata_spec.rb +56 -0
  79. data/spec/spec_helper.rb +1 -1
  80. metadata +55 -57
  81. data/fixtures/vcr_cassettes/lib/events/create_space.yml +0 -40
  82. data/fixtures/vcr_cassettes/lib/events/create_user.yml +0 -40
  83. data/fixtures/vcr_cassettes/lib/events/delete_user.yml +0 -38
  84. data/fixtures/vcr_cassettes/lib/events/get_space.yml +0 -38
  85. data/fixtures/vcr_cassettes/lib/events/get_spaces.yml +0 -40
  86. data/fixtures/vcr_cassettes/lib/events/get_user.yml +0 -38
  87. data/fixtures/vcr_cassettes/lib/events/get_users.yml +0 -40
  88. data/fixtures/vcr_cassettes/lib/events/manage_members_remove.yml +0 -83
  89. data/fixtures/vcr_cassettes/lib/events/manage_memberships_add.yml +0 -40
  90. data/fixtures/vcr_cassettes/lib/events/subscribe-member-add-async.yml +0 -77
  91. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-add-async.yml +0 -77
  92. data/fixtures/vcr_cassettes/lib/events/subscribe-space-update-async.yml +0 -77
  93. data/fixtures/vcr_cassettes/lib/events/update_space.yml +0 -40
  94. data/fixtures/vcr_cassettes/lib/events/update_user.yml +0 -40
  95. data/lib/pubnub/events/create_user.rb +0 -84
  96. data/lib/pubnub/events/get_members.rb +0 -93
  97. data/lib/pubnub/events/get_space_memberships.rb +0 -93
  98. data/lib/pubnub/events/get_spaces.rb +0 -90
  99. data/lib/pubnub/events/get_users.rb +0 -90
  100. data/lib/pubnub/events/manage_members.rb +0 -105
  101. data/lib/pubnub/events/manage_memberships.rb +0 -105
  102. data/lib/pubnub/events/update_user.rb +0 -86
  103. data/lib/pubnub/validators/create_space.rb +0 -44
  104. data/lib/pubnub/validators/create_user.rb +0 -44
  105. data/lib/pubnub/validators/delete_space.rb +0 -32
  106. data/lib/pubnub/validators/delete_user.rb +0 -32
  107. data/lib/pubnub/validators/get_members.rb +0 -32
  108. data/lib/pubnub/validators/get_space.rb +0 -32
  109. data/lib/pubnub/validators/get_space_memberships.rb +0 -32
  110. data/lib/pubnub/validators/get_spaces.rb +0 -16
  111. data/lib/pubnub/validators/get_user.rb +0 -32
  112. data/lib/pubnub/validators/get_users.rb +0 -16
  113. data/lib/pubnub/validators/manage_members.rb +0 -45
  114. data/lib/pubnub/validators/manage_memberships.rb +0 -45
  115. data/lib/pubnub/validators/update_space.rb +0 -45
  116. data/lib/pubnub/validators/update_user.rb +0 -45
  117. data/spec/lib/events/space_spec.rb +0 -75
  118. data/spec/lib/events/user_spec.rb +0 -75
@@ -2,38 +2,45 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Pubnub
5
- # Holds GetUser functionality
6
- class GetUser < SingleEvent
5
+ # Holds GetChannelMetadata functionality
6
+ class GetChannelMetadata < SingleEvent
7
7
  include Concurrent::Async
8
- include Pubnub::Validator::GetUser
8
+ include Pubnub::Validator::GetChannelMetadata
9
9
 
10
10
  def initialize(options, app)
11
- @event = :get_user
11
+ @event = current_operation
12
12
  @telemetry_name = :l_obj
13
- @user_id = options[:user_id]
14
- @include = options[:include]
13
+ @channel = options[:channel]
14
+
15
+ if options[:include]
16
+ @include = "custom" unless [0, '0', false].include?(options[:include][:custom])
17
+ end
18
+
19
+ # Single entity creation should return it's 'custom' field by default.
20
+ @include = "custom" if @include.nil?
15
21
  super
16
22
  end
17
23
 
18
24
  private
19
25
 
20
26
  def current_operation
21
- Pubnub::Constants::OPERATION_GET_USER
27
+ Pubnub::Constants::OPERATION_GET_CHANNEL_METADATA
22
28
  end
23
29
 
24
- def parameters(*_args)
25
- parameters = super
26
- parameters[:include] = @include if @include
30
+ def parameters(signature = false)
31
+ parameters = super(signature)
32
+ parameters[:include] = @include
33
+
27
34
  parameters
28
35
  end
29
36
 
30
37
  def path
31
38
  '/' + [
32
- 'v1',
39
+ 'v2',
33
40
  'objects',
34
41
  @subscribe_key,
35
- 'users',
36
- @user_id
42
+ 'channels',
43
+ Formatter.channels_for_url(@channel)
37
44
  ].join('/')
38
45
  end
39
46
 
@@ -45,7 +52,7 @@ module Pubnub
45
52
 
46
53
  result: {
47
54
  code: req_res_objects[:response].code,
48
- operation: Pubnub::Constants::OPERATION_GET_USER,
55
+ operation: current_operation,
49
56
  client_request: req_res_objects[:request],
50
57
  server_response: req_res_objects[:response],
51
58
  data: parsed_response
@@ -53,7 +60,7 @@ module Pubnub
53
60
 
54
61
  status: {
55
62
  code: req_res_objects[:response].code,
56
- operation: Pubnub::Constants::OPERATION_GET_USER,
63
+ operation: current_operation,
57
64
  client_request: req_res_objects[:request],
58
65
  server_response: req_res_objects[:response],
59
66
  data: nil,
@@ -0,0 +1,100 @@
1
+ # Toplevel Pubnub module.
2
+ # frozen_string_literal: true
3
+
4
+ module Pubnub
5
+ # Holds GetMemberships functionality
6
+ class GetMemberships < SingleEvent
7
+ include Concurrent::Async
8
+ include Pubnub::Validator::GetMemberships
9
+
10
+ def initialize(options, app)
11
+ @event = current_operation
12
+ @telemetry_name = :l_obj
13
+ @uuid = options[:uuid]
14
+ @limit = [options[:limit], 100].min unless options[:limit].nil?
15
+ @sort = options[:sort].join(",") if options[:sort] && !options[:sort].empty?
16
+ @filter = options[:filter] if options[:filter] && !options[:filter].empty?
17
+ @start = options[:start] if options[:start] && !options[:start].empty?
18
+ @end = options[:end] if options[:start] && !options[:end].empty?
19
+
20
+ if options[:include]
21
+ include = options[:include]
22
+ @include_count = [0, '0', false].include?(include[:count]) ? "0" : "1" unless include[:count].nil?
23
+ @include_custom = "custom" if !include[:custom].nil? && ![0, '0', false].include?(include[:custom])
24
+ @include_channel_metadata = "channel" if !include[:channel_metadata].nil? && ![0, '0', false].include?(include[:channel_metadata])
25
+ @include_channel_custom = "channel.custom" if !include[:channel_custom].nil? && ![0, '0', false].include?(include[:channel_custom])
26
+
27
+ @include = [@include_custom, @include_channel_metadata, @include_channel_custom].reject { |flag| flag.to_s.empty? }
28
+ end
29
+
30
+ # Collections by default return number of available entries.
31
+ @include_count = "1" if @include_count.nil?
32
+
33
+ super
34
+ end
35
+
36
+ private
37
+
38
+ def current_operation
39
+ Pubnub::Constants::OPERATION_GET_MEMBERSHIPS
40
+ end
41
+
42
+ def parameters(signature = false)
43
+ parameters = super(signature)
44
+ parameters[:limit] = @limit unless @limit.nil?
45
+ parameters[:sort] = @sort unless @sort.nil?
46
+ parameters[:filter] = @filter unless @filter.nil?
47
+ parameters[:start] = @start unless @start.nil?
48
+ parameters[:end] = @end if @end && !@start
49
+ parameters[:count] = @include_count unless @include_count.nil?
50
+ parameters[:include] = @include.sort.join(",") if @include && !@include.empty?
51
+
52
+ parameters
53
+ end
54
+
55
+ def path
56
+ '/' + [
57
+ 'v2',
58
+ 'objects',
59
+ @subscribe_key,
60
+ 'uuids',
61
+ Formatter.encode(@uuid),
62
+ 'channels'
63
+ ].join('/')
64
+ end
65
+
66
+ def valid_envelope(parsed_response, req_res_objects)
67
+ Pubnub::Envelope.new(
68
+ event: @event,
69
+ event_options: @given_options,
70
+ timetoken: nil,
71
+
72
+ result: {
73
+ code: req_res_objects[:response].code,
74
+ operation: current_operation,
75
+ client_request: req_res_objects[:request],
76
+ server_response: req_res_objects[:response],
77
+ data: parsed_response
78
+ },
79
+
80
+ status: {
81
+ code: req_res_objects[:response].code,
82
+ operation: current_operation,
83
+ client_request: req_res_objects[:request],
84
+ server_response: req_res_objects[:response],
85
+ data: nil,
86
+ category: Pubnub::Constants::STATUS_ACK,
87
+ error: false,
88
+ auto_retried: false,
89
+
90
+ current_timetoken: nil,
91
+ last_timetoken: nil,
92
+ subscribed_channels: nil,
93
+ subscribed_channel_groups: nil,
94
+
95
+ config: get_config
96
+ }
97
+ )
98
+ end
99
+ end
100
+ end
@@ -2,38 +2,45 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Pubnub
5
- # Holds GetSpace functionality
6
- class GetSpace < SingleEvent
5
+ # Holds GetUuidMetadata functionality
6
+ class GetUuidMetadata < SingleEvent
7
7
  include Concurrent::Async
8
- include Pubnub::Validator::GetSpace
8
+ include Pubnub::Validator::GetUuidMetadata
9
9
 
10
10
  def initialize(options, app)
11
- @event = :get_space
11
+ @event = current_operation
12
12
  @telemetry_name = :l_obj
13
- @space_id = options[:space_id]
14
- @include = options[:include]
13
+ @uuid = options[:uuid]
14
+
15
+ if options[:include]
16
+ @include = "custom" unless [0, '0', false].include?(options[:include][:custom])
17
+ end
18
+
19
+ # Single entity creation should return it's 'custom' field by default.
20
+ @include = "custom" if @include.nil?
15
21
  super
16
22
  end
17
23
 
18
24
  private
19
25
 
20
26
  def current_operation
21
- Pubnub::Constants::OPERATION_GET_SPACE
27
+ Pubnub::Constants::OPERATION_GET_UUID_METADATA
22
28
  end
23
29
 
24
- def parameters(*_args)
25
- parameters = super
26
- parameters[:include] = @include if @include
30
+ def parameters(signature = false)
31
+ parameters = super(signature)
32
+ parameters[:include] = @include
33
+
27
34
  parameters
28
35
  end
29
36
 
30
37
  def path
31
38
  '/' + [
32
- 'v1',
39
+ 'v2',
33
40
  'objects',
34
41
  @subscribe_key,
35
- 'spaces',
36
- @space_id
42
+ 'uuids',
43
+ Formatter.encode(@uuid)
37
44
  ].join('/')
38
45
  end
39
46
 
@@ -45,7 +52,7 @@ module Pubnub
45
52
 
46
53
  result: {
47
54
  code: req_res_objects[:response].code,
48
- operation: Pubnub::Constants::OPERATION_GET_SPACE,
55
+ operation: current_operation,
49
56
  client_request: req_res_objects[:request],
50
57
  server_response: req_res_objects[:response],
51
58
  data: parsed_response
@@ -53,7 +60,7 @@ module Pubnub
53
60
 
54
61
  status: {
55
62
  code: req_res_objects[:response].code,
56
- operation: Pubnub::Constants::OPERATION_GET_SPACE,
63
+ operation: current_operation,
57
64
  client_request: req_res_objects[:request],
58
65
  server_response: req_res_objects[:response],
59
66
  data: nil,
@@ -6,8 +6,9 @@ module Pubnub
6
6
  include Pubnub::Validator::Grant
7
7
 
8
8
  def initialize(options, app)
9
- @event = :grant
9
+ @event = current_operation
10
10
  super
11
+ @uuids = options[:uuids] unless options[:uuids].nil?
11
12
  @ttl ||= Pubnub::Constants::DEFAULT_TTL
12
13
  end
13
14
 
@@ -21,18 +22,19 @@ module Pubnub
21
22
  write = [0, '0', false].include?(@write) ? 0 : 1
22
23
  read = [0, '0', false].include?(@read) ? 0 : 1
23
24
  manage = [0, '0', false].include?(@manage) ? 0 : 1 # unless @group.blank?
24
-
25
- if @delete.blank?
26
- delete = nil
27
- else
28
- delete = [0, '0', false].include?(@delete) ? 0 : 1
29
- end
25
+ delete = [0, '0', false].include?(@delete) ? 0 : 1 unless @delete.nil?
26
+ get = [0, '0', false].include?(@get) ? 0 : 1 unless @get.nil?
27
+ update = [0, '0', false].include?(@update) ? 0 : 1 unless @update.nil?
28
+ join = [0, '0', false].include?(@join) ? 0 : 1 unless @join.nil?
30
29
 
31
30
  { timestamp: @timestamp,
32
31
  w: write,
33
32
  r: read,
34
33
  m: manage,
35
34
  d: delete,
35
+ g: get,
36
+ u: update,
37
+ j: join,
36
38
  ttl: @ttl }.delete_if { |_k, v| v.nil? }.merge(super(signature))
37
39
  end
38
40
 
@@ -0,0 +1,117 @@
1
+ # Toplevel Pubnub module.
2
+ # frozen_string_literal: true
3
+
4
+ module Pubnub
5
+ # Holds RemoveChannelMembers functionality
6
+ class RemoveChannelMembers < SingleEvent
7
+ include Concurrent::Async
8
+ include Pubnub::Validator::RemoveChannelMembers
9
+
10
+ def initialize(options, app)
11
+ @event = current_operation
12
+ @telemetry_name = :l_obj
13
+ @channel = options[:channel]
14
+ @limit = [options[:limit], 100].min unless options[:limit].nil?
15
+ @sort = options[:sort].join(",") if options[:sort] && !options[:sort].empty?
16
+ @filter = options[:filter] if options[:filter] && !options[:filter].empty?
17
+ @start = options[:start] if options[:start] && !options[:start].empty?
18
+ @end = options[:end] if options[:start] && !options[:end].empty?
19
+
20
+ if options[:include]
21
+ include = options[:include]
22
+ @include_count = [0, '0', false].include?(include[:count]) ? "0" : "1" unless include[:count].nil?
23
+ @include_custom = "custom" if !include[:custom].nil? && ![0, '0', false].include?(include[:custom])
24
+ @include_uuid_metadata = "uuid" if !include[:uuid_metadata].nil? && ![0, '0', false].include?(include[:uuid_metadata])
25
+ @include_uuid_custom = "uuid.custom" if !include[:uuid_custom].nil? && ![0, '0', false].include?(include[:uuid_custom])
26
+
27
+ @include = [@include_custom, @include_uuid_metadata, @include_uuid_custom].reject { |flag| flag.to_s.empty? }
28
+ end
29
+
30
+ @uuids = options[:uuids] if options[:uuids] && !options[:uuids].empty?
31
+
32
+ # Collections by default return number of available entries.
33
+ @include_count = "1" if @include_count.nil?
34
+
35
+ super
36
+ end
37
+
38
+ def fire
39
+ Pubnub.logger.debug('Pubnub::RemoveChannelMembers') { "Fired event #{self.class}" }
40
+
41
+ members = @uuids.map do |member|
42
+ { uuid: { id: member[:uuid] } }
43
+ end
44
+
45
+ body = Formatter.format_message({ delete: members }, @cipher_key, false)
46
+ response = send_request(body)
47
+
48
+ envelopes = fire_callbacks(handle(response, uri))
49
+ finalize_event(envelopes)
50
+ envelopes
51
+ end
52
+
53
+ private
54
+
55
+ def current_operation
56
+ Pubnub::Constants::OPERATION_REMOVE_CHANNEL_MEMBERS
57
+ end
58
+
59
+ def parameters(signature = false)
60
+ parameters = super(signature)
61
+ parameters[:limit] = @limit unless @limit.nil?
62
+ parameters[:sort] = @sort unless @sort.nil?
63
+ parameters[:filter] = @filter unless @filter.nil?
64
+ parameters[:start] = @start unless @start.nil?
65
+ parameters[:end] = @end if @end && !@start
66
+ parameters[:count] = @include_count unless @include_count.nil?
67
+ parameters[:include] = @include.sort.join(",") if @include && !@include.empty?
68
+
69
+ parameters
70
+ end
71
+
72
+ def path
73
+ '/' + [
74
+ 'v2',
75
+ 'objects',
76
+ @subscribe_key,
77
+ 'channels',
78
+ Formatter.channels_for_url(@channel),
79
+ 'uuids'
80
+ ].join('/')
81
+ end
82
+
83
+ def valid_envelope(parsed_response, req_res_objects)
84
+ Pubnub::Envelope.new(
85
+ event: @event,
86
+ event_options: @given_options,
87
+ timetoken: nil,
88
+
89
+ result: {
90
+ code: req_res_objects[:response].code,
91
+ operation: current_operation,
92
+ client_request: req_res_objects[:request],
93
+ server_response: req_res_objects[:response],
94
+ data: parsed_response
95
+ },
96
+
97
+ status: {
98
+ code: req_res_objects[:response].code,
99
+ operation: current_operation,
100
+ client_request: req_res_objects[:request],
101
+ server_response: req_res_objects[:response],
102
+ data: nil,
103
+ category: Pubnub::Constants::STATUS_ACK,
104
+ error: false,
105
+ auto_retried: false,
106
+
107
+ current_timetoken: nil,
108
+ last_timetoken: nil,
109
+ subscribed_channels: nil,
110
+ subscribed_channel_groups: nil,
111
+
112
+ config: get_config
113
+ }
114
+ )
115
+ end
116
+ end
117
+ end
@@ -2,20 +2,20 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Pubnub
5
- # Holds DeleteSpace functionality
6
- class DeleteSpace < SingleEvent
5
+ # Holds RemoveChannelMetadata functionality
6
+ class RemoveChannelMetadata < SingleEvent
7
7
  include Concurrent::Async
8
- include Pubnub::Validator::DeleteSpace
8
+ include Pubnub::Validator::RemoveChannelMetadata
9
9
 
10
10
  def initialize(options, app)
11
- @event = :delete_space
11
+ @event = :remove_channel_metadata
12
12
  @telemetry_name = :l_obj
13
- @space_id = options[:space_id]
13
+ @channel = options[:channel]
14
14
  super
15
15
  end
16
16
 
17
17
  def fire
18
- Pubnub.logger.debug('Pubnub::DeleteSpace') { "Fired event #{self.class}" }
18
+ Pubnub.logger.debug('Pubnub::RemoveChannelMetadata') { "Fired event #{self.class}" }
19
19
 
20
20
  body = Formatter.format_message(@data, @cipher_key, false)
21
21
  response = send_request(body)
@@ -28,16 +28,16 @@ module Pubnub
28
28
  private
29
29
 
30
30
  def current_operation
31
- Pubnub::Constants::OPERATION_DELETE_SPACE
31
+ Pubnub::Constants::OPERATION_REMOVE_CHANNEL_METADATA
32
32
  end
33
33
 
34
34
  def path
35
35
  '/' + [
36
- 'v1',
36
+ 'v2',
37
37
  'objects',
38
38
  @subscribe_key,
39
- 'spaces',
40
- @space_id
39
+ 'channels',
40
+ Formatter.channels_for_url(@channel)
41
41
  ].join('/')
42
42
  end
43
43
 
@@ -49,7 +49,7 @@ module Pubnub
49
49
 
50
50
  result: {
51
51
  code: req_res_objects[:response].code,
52
- operation: Pubnub::Constants::OPERATION_DELETE_SPACE,
52
+ operation: current_operation,
53
53
  client_request: req_res_objects[:request],
54
54
  server_response: req_res_objects[:response],
55
55
  data: parsed_response
@@ -57,7 +57,7 @@ module Pubnub
57
57
 
58
58
  status: {
59
59
  code: req_res_objects[:response].code,
60
- operation: Pubnub::Constants::OPERATION_DELETE_SPACE,
60
+ operation: current_operation,
61
61
  client_request: req_res_objects[:request],
62
62
  server_response: req_res_objects[:response],
63
63
  data: nil,