firebase_cloud_messenger 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f2731e80fb8627396036238f8744658dbdc7ee44
4
- data.tar.gz: 1a2ce30d4a7bd3860452254ce976a0ec7d381414
2
+ SHA256:
3
+ metadata.gz: fd6ce382aa380be1398e85c27237bf8356020e3b0241e0a3c3dffb98fe49231b
4
+ data.tar.gz: 1a069df4fde4acb977b5d20f24049769d3a24d03e6b142075414d6b8c5d5c346
5
5
  SHA512:
6
- metadata.gz: 002f306c18d749ae32177eef766672c6bb78283287fd6e89f03c42d274a78a64ac8feceabd7fffb6e1461e282a98905a940bd5ee0b8c84659337df061ea8a20e
7
- data.tar.gz: 4cad82f1e561f52f83796341d5097ee932cb7b9d14bc60739d276fa425047e0a9b7b657e972a6bb3219c6a7efbea486cae36bd7584a97a8ba1fc8ae9ecb14b8b
6
+ metadata.gz: 97d71bf6be767715f458ccfa15e1acf9121fdf095c13d937e6e97439d46742c88d314df15097fc7c4be478480fc255d53a2a8e62cd6bf4c2c12cd2dd7b2d8f86
7
+ data.tar.gz: e5f3935b481656f06bfe3cfd4aff07f7697eddf8e4043d39df5d0e0227d4e2fd997e0bb1c47b07a9eae59c42d883f736aa98927e31bf25f398f7b72a1632fd32
@@ -1,3 +1,6 @@
1
+ ## Version 0.4.1 - March 12, 2019
2
+ * Reorganizes exception hierarchy
3
+
1
4
  ## Version 0.4.0 - April 30, 2018
2
5
  * Adds support for rich notifications in iOS by allowing the mutable-content aps dict key
3
6
  * Fixes bug that mutated the hash argument `::new` in subclasses of `FirebaseObject`
data/README.md CHANGED
@@ -67,7 +67,7 @@ initializer or via writer methods:
67
67
  ```ruby
68
68
  android_notification = FirebaseCloudMessenger::Android::Notification.new(title: "title")
69
69
  android_config = FirebaseCloudMessenger::Android::Config.new(notification: android_notification)
70
- message = FirebaseCloudMessenger::Message.new(android: android_config, token "a_device_token")
70
+ message = FirebaseCloudMessenger::Message.new(android: android_config, token: "a_device_token")
71
71
 
72
72
  FirebaseCloudMessenger.send(message: message) # => { "name" => "name_from_fcm" }
73
73
 
@@ -118,8 +118,8 @@ begin
118
118
  FirebaseCloudMessenger.send(message: message)
119
119
  rescue FirebaseCloudMessenger::Error => e
120
120
  e.class # => FirebaseCloudMessenger::BadRequest
121
- e.message # => A message from fcm about what's wrong with the request
122
- e.status # => 400
121
+ e.short_message # => A message from fcm about what's wrong with the request
122
+ e.response_status # => 400
123
123
  e.details # => An array of error details from fcm
124
124
  end
125
125
  ```
@@ -16,6 +16,10 @@ module FirebaseCloudMessenger
16
16
 
17
17
  def fetch_access_token_info
18
18
  authorizer.fetch_access_token!
19
+ rescue Faraday::ConnectionFailed
20
+ raise ConnectTimeout
21
+ rescue Faraday::TimeoutError
22
+ raise ReadTimeout
19
23
  end
20
24
 
21
25
  private
@@ -88,6 +88,10 @@ module FirebaseCloudMessenger
88
88
  conn.post(send_url.path,
89
89
  request_body(message, validate_only),
90
90
  request_headers)
91
+ rescue Net::OpenTimeout
92
+ raise ConnectTimeout
93
+ rescue Net::ReadTimeout
94
+ raise ReadTimeout
91
95
  end
92
96
 
93
97
  def message_from_response(response)
@@ -1,7 +1,8 @@
1
1
  module FirebaseCloudMessenger
2
- class SetupError < StandardError; end
2
+ class BaseError < StandardError; end
3
+ class SetupError < BaseError; end
3
4
 
4
- class Error < StandardError
5
+ class Error < BaseError
5
6
  attr_reader :response
6
7
 
7
8
  def self.from_response(response)
@@ -65,4 +66,8 @@ Details: #{details}
65
66
  class Unauthorized < Error; end
66
67
  class Forbidden < Error; end
67
68
  class NotFound < Error; end
69
+
70
+ class Timeout < BaseError; end
71
+ class ConnectTimeout < Timeout; end
72
+ class ReadTimeout < Timeout; end
68
73
  end
@@ -9,7 +9,7 @@ module FirebaseCloudMessenger
9
9
  end
10
10
 
11
11
  if data.any?
12
- raise ArgumentError, "Keys must be one on #{fields.inspect}"
12
+ raise ArgumentError, "Keys must be one of #{fields.inspect}"
13
13
  end
14
14
  end
15
15
 
@@ -28,17 +28,18 @@ module FirebaseCloudMessenger
28
28
  "android_notification" => {
29
29
  "type" => "object",
30
30
  "properties" => {
31
- "title" => { "type" => "string" },
32
- "body" => { "type" => "string" },
33
- "icon" => { "type" => "string" },
34
- "color" => { "type" => "string" },
35
- "sound" => { "type" => "string" },
36
- "tag" => { "type" => "string" },
37
- "click_action" => { "type" => "string" },
38
- "body_loc_key" => { "type" => "string" },
39
- "body_loc_args" => { "type" => "array", "items" => { "type" => "string" } },
40
- "title_loc_key" => { "type" => "string" },
41
- "title_loc_args" => { "type" => "array", "items" => { "type" => "string" } }
31
+ "title" => { "type" => "string" },
32
+ "body" => { "type" => "string" },
33
+ "channel_id" => { "type" => "string" },
34
+ "icon" => { "type" => "string" },
35
+ "color" => { "type" => "string" },
36
+ "sound" => { "type" => "string" },
37
+ "tag" => { "type" => "string" },
38
+ "click_action" => { "type" => "string" },
39
+ "body_loc_key" => { "type" => "string" },
40
+ "body_loc_args" => { "type" => "array", "items" => { "type" => "string" } },
41
+ "title_loc_key" => { "type" => "string" },
42
+ "title_loc_args" => { "type" => "array", "items" => { "type" => "string" } }
42
43
  },
43
44
  "additionalProperties" => false
44
45
  },
@@ -1,3 +1,3 @@
1
1
  module FirebaseCloudMessenger
2
- VERSION = "0.4.0"
2
+ VERSION = '0.4.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firebase_cloud_messenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince DeVendra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-30 00:00:00.000000000 Z
11
+ date: 2019-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: googleauth
@@ -149,9 +149,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  version: '0'
150
150
  requirements: []
151
151
  rubyforge_project:
152
- rubygems_version: 2.6.13
152
+ rubygems_version: 2.7.7
153
153
  signing_key:
154
154
  specification_version: 4
155
155
  summary: A ruby api wrapper for the FirebaseCloudMesenger API
156
156
  test_files: []
157
- has_rdoc: