Class: GCM::CanonicalIdConnection

Inherits:
Object
  • Object
show all
Includes:
TokenSerializer
Defined in:
lib/mercurius/testing/gcm/canonical_id_connection.rb

Instance Method Summary collapse

Methods included from TokenSerializer

#canonical_token_json, #invalid_token_json, #valid_token_json

Constructor Details

#initialize(canonical_ids_map) ⇒ CanonicalIdConnection

Returns a new instance of CanonicalIdConnection.



5
6
7
# File 'lib/mercurius/testing/gcm/canonical_id_connection.rb', line 5

def initialize(canonical_ids_map)
  @canonical_ids_map = canonical_ids_map
end

Instance Method Details

#write(json) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/mercurius/testing/gcm/canonical_id_connection.rb', line 9

def write(json)
  tokens = json[:registration_ids] || Array(json[:to])

  json = {
    'multicast_id' => '123',
    'success' => tokens.size,
    'failure' => 0,
    'canonical_ids' => number_of_tokens_mapped_to_canonical_ids(tokens),
    'results' => canonical_token_json(tokens, @canonical_ids_map)
  }.to_json

  Mercurius::FakeResponse.new body: json, status: 200
end