firebase_cloud_messenger 0.4.0 → 0.4.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
- 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: