rgcm 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 50ad8b8a68265daf27de38132b97c7974276b0c8
4
- data.tar.gz: 469a26eff7f8c36eaa1a4290399fc960de42cb6d
3
+ metadata.gz: 276471a1b8d92a01fb28e1e40653a58b3f0766d1
4
+ data.tar.gz: 341d7136f942fbd50b9f948175c0e826c9cf4f5f
5
5
  SHA512:
6
- metadata.gz: 6b0da80664bf797975ef787575dcc841253c8563cbd7a45951628f49a8c1e9009e4d425abf5e0ff875ac9d9482aa482438321f3e14c3732f36bb443ba51362c7
7
- data.tar.gz: d24bca2d2663a9f74faa6d34899e79bbd218eb9d4c3c7e5efb2f0cd4f6a00a1e9f81efa0b962b27284d979999f753c4825410c8e79a34d6691198162ed4b1208
6
+ metadata.gz: 071ba22fb749d6b039b67f9127dcf686f5941424b80bf79ab09aae1b8837b2c68364f7c6981112aace79aabf37cbcb468162e8f8fbc38c480f8c25beceb9732a
7
+ data.tar.gz: bfc4a47d903f23d39ad5b6af3c2b132be2ba1dcb7f91ccf61aa6bd0a2aba4cac522f58d37f469f6bf508ea9bf05202d1690be28a23890f895feb421e82cb89af
data/README.md CHANGED
@@ -30,14 +30,24 @@ Or install it yourself as:
30
30
  ## Usage
31
31
 
32
32
  ``` ruby
33
- collapse_key = '_GCM_COLLAPS_KEY_'
34
- data = { foo: 'bar' }
33
+ Rgcm::Message.new('_API_KEY_').post('_GCM_REGESTRATION_ID_', { foo: 'bar' }) # => Rgcm::Response
35
34
 
36
- Rgcm::Message.new('_API_KEY_').post('_GCM_REGESTRATION_ID_', collapse_key, data) # => Rgcm::Response
35
+ Rgcm::Message.new('_API_KEY_').post(['_GCM_REGESTRATION_ID_1_', '_GCM_REGESTRATION_ID_2_'], { foo: 'bar' }) # => Rgcm::Response
36
+ ```
37
+
38
+ With collapse_key:
37
39
 
38
- Rgcm::Message.new('_API_KEY_').post(['_GCM_REGESTRATION_ID_1_', '_GCM_REGESTRATION_ID_2_'], collapse_key, data) # => Rgcm::Response
40
+ ``` ruby
41
+ Rgcm::Message.new('_API_KEY_').post('_GCM_REGESTRATION_ID_', { foo: 'bar' }, {collapse_key: 'collapse_key'}) # => Rgcm::Response
39
42
  ```
40
43
 
44
+ With time_to_live:
45
+
46
+ ``` ruby
47
+ Rgcm::Message.new('_API_KEY_').post('_GCM_REGESTRATION_ID_', { foo: 'bar' }, {time_to_live: 3}) # => Rgcm::Response
48
+ ```
49
+
50
+
41
51
  With rails YML config file:
42
52
 
43
53
  ``` yml
@@ -52,12 +62,9 @@ production:
52
62
  ```
53
63
 
54
64
  ``` ruby
55
- collapse_key = '_GCM_COLLAPS_KEY_'
56
- data = { foo: 'bar' }
57
-
58
- Rgcm::Message.new.post('_GCM_REGESTRATION_ID_', collapse_key, data) # => Rgcm::Response
65
+ Rgcm::Message.new.post('_GCM_REGESTRATION_ID_', { foo: 'bar' }) # => Rgcm::Response
59
66
 
60
- Rgcm::Message.new.post(['_GCM_REGESTRATION_ID_1_', '_GCM_REGESTRATION_ID_2_'], collapse_key, data) # => Rgcm::Response
67
+ Rgcm::Message.new.post(['_GCM_REGESTRATION_ID_1_', '_GCM_REGESTRATION_ID_2_'], { foo: 'bar' }) # => Rgcm::Response
61
68
  ```
62
69
 
63
70
  Rgcm::Response methods:
@@ -75,7 +82,7 @@ Rgcm::Response methods:
75
82
  ```
76
83
 
77
84
  ``` ruby
78
- response = Rgcm::Message.new('_API_KEY_').post('_GCM_REGESTRATION_ID_', collapse_key, data)
85
+ response = Rgcm::Message.new('_API_KEY_').post('_GCM_REGESTRATION_ID_', { foo: 'bar' })
79
86
 
80
87
  response.count_successes # => 1
81
88
  response.count_failures # => 0
@@ -22,17 +22,29 @@ module Rgcm
22
22
  self.count_failures > 0
23
23
  end
24
24
 
25
+ def count_canonical_ids
26
+ self.body[:canonical_ids]
27
+ end
28
+
29
+ def has_canonical_ids?
30
+ self.count_canonical_ids > 0
31
+ end
32
+
25
33
  def results
26
34
  self.body[:results]
27
35
  end
28
36
 
29
- def errors
37
+ def results_with_errors
30
38
  self.results.select { |result| result.key?(:error) }
31
39
  end
32
40
 
33
- def successes
41
+ def results_with_successes
34
42
  self.results.select { |result| !result.key?(:error) }
35
43
  end
36
44
 
45
+ def results_with_canonical_ids
46
+ self.results.select { |result| result.key?(:registration_id) }
47
+ end
48
+
37
49
  end
38
50
  end
@@ -1,3 +1,3 @@
1
1
  module Rgcm
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
@@ -0,0 +1,15 @@
1
+ {
2
+ "multicast_id":6612807694841069664,
3
+ "success":2,
4
+ "failure":0,
5
+ "canonical_ids":1,
6
+ "results":[
7
+ {
8
+ "message_id":"0:1403425286258916%62dfd0f6e116c072"
9
+ },
10
+ {
11
+ "registration_id" : "APA91bEEXJH2YMRhc3cQ2OF0N4BX4SfSlUjNYKsMhGWiaiqvJ4pSLB9mAvdMwt_UVOtAc7egxkFImkdfNLHJHkT-yRpaBuw4duDhoJa52YdzXw1dR05mb0R_mfdegzpfA5rEi1iSfHInxgaDoin0xlOdmsKoYU7YXw",
12
+ "message_id" : "0:1409742140784985%62dfd0f6f9fd7ecd"
13
+ }
14
+ ]
15
+ }
@@ -34,7 +34,7 @@ describe Rgcm::Response do
34
34
  expect(response.count_failures).to eql(1)
35
35
  end
36
36
  it '#errors' do
37
- expect(response.errors.size).to eql(1)
37
+ expect(response.results_with_errors.size).to eql(1)
38
38
  end
39
39
  end
40
40
 
@@ -53,10 +53,24 @@ describe Rgcm::Response do
53
53
  expect(response.count_failures).to eql(11)
54
54
  end
55
55
  it '#errors' do
56
- expect(response.errors.size).to eql(11)
56
+ expect(response.results_with_errors.size).to eql(11)
57
57
  end
58
58
  it '#successes' do
59
- expect(response.successes.size).to eql(3)
59
+ expect(response.results_with_successes.size).to eql(3)
60
+ end
61
+ end
62
+
63
+ context 'with canonical_ids' do
64
+ let(:json) { File.open("#{FIXTURES_PATH}/responses/with_cannonical_ids.json").read }
65
+
66
+ it '#has_canonical_ids?' do
67
+ expect(response.has_canonical_ids?).to be true
68
+ end
69
+ it '#count_canonical_ids' do
70
+ expect(response.count_canonical_ids).to eql(1)
71
+ end
72
+ it '#canonical_ids' do
73
+ expect(response.results_with_canonical_ids.size).to eql(1)
60
74
  end
61
75
  end
62
76
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rgcm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Klaiber
@@ -105,6 +105,7 @@ files:
105
105
  - spec/fixtures/responses/failure.json
106
106
  - spec/fixtures/responses/multi.json
107
107
  - spec/fixtures/responses/successfully.json
108
+ - spec/fixtures/responses/with_cannonical_ids.json
108
109
  - spec/rgcm/message_spec.rb
109
110
  - spec/rgcm/request_builder_spec.rb
110
111
  - spec/rgcm/response_spec.rb
@@ -138,6 +139,7 @@ test_files:
138
139
  - spec/fixtures/responses/failure.json
139
140
  - spec/fixtures/responses/multi.json
140
141
  - spec/fixtures/responses/successfully.json
142
+ - spec/fixtures/responses/with_cannonical_ids.json
141
143
  - spec/rgcm/message_spec.rb
142
144
  - spec/rgcm/request_builder_spec.rb
143
145
  - spec/rgcm/response_spec.rb