expo-server-sdk 0.1.0 → 0.1.4

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
  SHA256:
3
- metadata.gz: '0870d677aad54e5517e91013161aedada958f24ad0437e9acda0b315b7746e80'
4
- data.tar.gz: cc9ef8fd683e4e386b028dd966b108ec5f242ed8985721858103b01f53974703
3
+ metadata.gz: 88fbd428de8ccf50c783cd846f236d259560fc6dc4eeed67f6bced8e1851dc8f
4
+ data.tar.gz: 6f720c4b67e2d19d75a72cce990deae055f55fecdac6d0e04fc10a3cfe6175b5
5
5
  SHA512:
6
- metadata.gz: a160681a4b6f96cc776d657a732ef104138da93f77bf9f3d4c6faf773b69deb5231d263202a04b4ddb858436ac1c62a8672de3afabff038714493bcda7f22bfc
7
- data.tar.gz: b0b47c52921e099ef1b0cf0f434e1c1454f2398b551d85c46058c35bd06269046d3591e9df1503f3e58bc4e12c241234d0468445707c9e7763b7936a6bb323e9
6
+ metadata.gz: a7bfc9795ac626e819cccc0dcb023cef728fa3d4e7721a6e4f2af67c79c7bd41d5744794f1eb29571cd957ea8eaa951692db0f6b18e3c70e2f8fb456d68d6375
7
+ data.tar.gz: 113707ebc856f9488cde8ac359cb0e02f329a12c238c8e0bab0b89eef83a43e51339e53d4be5a02f5b6db33006f31a924845465139677f2117184abbfffbbd93
data/.gitignore CHANGED
@@ -6,3 +6,5 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+
10
+ /expo-server-sdk-*.gem
data/CHANGELOG.md ADDED
@@ -0,0 +1,24 @@
1
+ # Changelog
2
+
3
+ ## 0.1.4
4
+
5
+ - Change `ruby` version requirement to major only (2.6+)
6
+
7
+ ## 0.1.3
8
+
9
+ - Fix typo in README.md
10
+ - Change `http` version requirement to be loose (4+)
11
+
12
+ ## 0.1.2
13
+
14
+ - Add CHANGELOG.md
15
+ - Add shields to README.md
16
+ - Fix failing outdated tests
17
+
18
+ ## 0.1.1
19
+
20
+ - Fix various release issues
21
+
22
+ ## 0.1.0
23
+
24
+ Initial release
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- expo-server-sdk (0.1.0)
4
+ expo-server-sdk (0.1.4)
5
5
  connection_pool (~> 2.2)
6
- http (~> 5.0)
6
+ http (>= 4.0, < 6.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -14,7 +14,7 @@ GEM
14
14
  connection_pool (2.2.5)
15
15
  domain_name (0.5.20190701)
16
16
  unf (>= 0.0.5, < 1.0.0)
17
- ffi (1.15.0-x64-mingw32)
17
+ ffi (1.15.4-x64-mingw32)
18
18
  ffi-compiler (1.0.1)
19
19
  ffi (>= 1.0.0)
20
20
  rake
@@ -23,37 +23,37 @@ GEM
23
23
  http-cookie (~> 1.0)
24
24
  http-form_data (~> 2.2)
25
25
  llhttp-ffi (~> 0.4.0)
26
- http-cookie (1.0.3)
26
+ http-cookie (1.0.4)
27
27
  domain_name (~> 0.5)
28
28
  http-form_data (2.3.0)
29
29
  llhttp-ffi (0.4.0)
30
30
  ffi-compiler (~> 1.0)
31
31
  rake (~> 13.0)
32
32
  minitest (5.14.4)
33
- parallel (1.20.1)
34
- parser (3.0.1.1)
33
+ parallel (1.21.0)
34
+ parser (3.0.2.0)
35
35
  ast (~> 2.4.1)
36
36
  public_suffix (4.0.6)
37
37
  rainbow (3.0.0)
38
- rake (13.0.3)
39
- regexp_parser (1.8.2)
38
+ rake (13.0.6)
39
+ regexp_parser (2.1.1)
40
40
  rexml (3.2.5)
41
- rubocop (1.9.1)
41
+ rubocop (1.22.3)
42
42
  parallel (~> 1.10)
43
43
  parser (>= 3.0.0.0)
44
44
  rainbow (>= 2.2.2, < 4.0)
45
45
  regexp_parser (>= 1.8, < 3.0)
46
46
  rexml
47
- rubocop-ast (>= 1.2.0, < 2.0)
47
+ rubocop-ast (>= 1.12.0, < 2.0)
48
48
  ruby-progressbar (~> 1.7)
49
49
  unicode-display_width (>= 1.4.0, < 3.0)
50
- rubocop-ast (1.5.0)
50
+ rubocop-ast (1.13.0)
51
51
  parser (>= 3.0.1.1)
52
52
  ruby-progressbar (1.11.0)
53
53
  unf (0.1.4)
54
54
  unf_ext
55
- unf_ext (0.0.7.7-x64-mingw32)
56
- unicode-display_width (2.0.0)
55
+ unf_ext (0.0.8-x64-mingw32)
56
+ unicode-display_width (2.1.0)
57
57
 
58
58
  PLATFORMS
59
59
  x64-mingw32
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Expo::Server::SDK
2
2
 
3
+ [![Build status](https://github.com/SleeplessByte/expo-server-sdk-ruby/actions/workflows/main.yml/badge.svg)](https://github.com/SleeplessByte/expo-server-sdk-ruby/actions/workflows/main.yml) [![Gem version](https://img.shields.io/gem/v/expo-server-sdk?label=gem)](https://rubygems.org/gems/expo-server-sdk)
4
+
3
5
  This gem was written because of the relatively little attention and improvement [expo-server-sdk-ruby](https://github.com/expo-community/expo-server-sdk-ruby) receives.
4
6
 
5
7
  It does **not** work in the same way, so you'll want to read the documentation carefully if you intend to migrate.
@@ -14,11 +16,15 @@ gem 'expo-server-sdk'
14
16
 
15
17
  And then execute:
16
18
 
17
- $ bundle install
19
+ ```shell
20
+ bundle install
21
+ ```
18
22
 
19
23
  Or install it yourself as:
20
24
 
21
- $ gem install expo-server-sdk
25
+ ```shell
26
+ gem install expo-server-sdk
27
+ ```
22
28
 
23
29
  ## Usage
24
30
 
@@ -62,7 +68,7 @@ some_push_tokens.each do |push_token|
62
68
  # - #category_id
63
69
  #
64
70
  messages << client.notification
65
- .to(pushToken)
71
+ .to(push_token)
66
72
  .sound('default')
67
73
  .body('This is a test notification')
68
74
  .data({ withSome: 'data' })
@@ -88,10 +94,7 @@ tickets = client.send!(messages)
88
94
  # a batch contains failed errors, or completely failed pages:
89
95
  #
90
96
  tickets.each_error do |error|
91
- if error.is_a?(Error)
92
- puts error.message
93
- # => "This indicates the entire request had an error"
94
- else
97
+ if error.respond_to?(:explain)
95
98
  puts error.explain
96
99
  # => "The device cannot receive push notifications anymore and you should
97
100
  # stop sending messages to the corresponding Expo push token."
@@ -105,7 +108,10 @@ tickets.each_error do |error|
105
108
 
106
109
  error.original_push_token
107
110
  # => ExpoPushToken[xxxxxxxxxxxxxxxxxxxxxx]
108
- end
111
+ else
112
+ puts error.message
113
+ # => "This indicates the entire request had an error"
114
+ else
109
115
  end
110
116
 
111
117
  # Later, after the Expo push notification service has delivered the
@@ -227,13 +233,17 @@ client = Expo::Push::Client.new(
227
233
 
228
234
  ## Development
229
235
 
230
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
236
+ After checking out the repo, run `bin/setup` to install dependencies.
237
+ Then, run `rake test` to run the tests.
238
+ You can also run `bin/console` for an interactive prompt that will allow you to experiment.
231
239
 
232
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
240
+ To install this gem onto your local machine, run `bundle exec rake install`.
241
+ To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
233
242
 
234
243
  ## Contributing
235
244
 
236
- Bug reports and pull requests are welcome on GitHub at https://github.com/SleeplessByte/expo-server-sdk. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/SleeplessByte/expo-server-sdk/blob/master/CODE_OF_CONDUCT.md).
245
+ Bug reports and pull requests are welcome on GitHub at <https://github.com/SleeplessByte/expo-server-sdk-ruby>.
246
+ This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/SleeplessByte/expo-server-sdk-ruby/blob/main/CODE_OF_CONDUCT.md).
237
247
 
238
248
  ## License
239
249
 
@@ -241,12 +251,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
241
251
 
242
252
  ## Code of Conduct
243
253
 
244
- Everyone interacting in the `Expo::Server::SDK` project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/SleeplessByte/expo-server-sdk/blob/master/CODE_OF_CONDUCT.md).
245
-
246
- ```
247
-
248
- ```
249
-
250
- ```
251
-
252
- ```
254
+ Everyone interacting in the `Expo::Server::SDK` project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/SleeplessByte/expo-server-sdk/blob/main/CODE_OF_CONDUCT.md).
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  'has many outstanding issues and open pull requests.'
14
14
  spec.homepage = 'https://github.com/sleeplessbyte/expo-server-sdk-ruby'
15
15
  spec.license = 'MIT'
16
- spec.required_ruby_version = Gem::Requirement.new('>= 2.6.8')
16
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.6.0')
17
17
 
18
18
  # spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
19
19
 
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
34
34
  # Uncomment to register a new dependency of your gem
35
35
  # spec.add_dependency "example-gem", "~> 1.0"
36
36
  spec.add_dependency 'connection_pool', '~> 2.2'
37
- spec.add_dependency 'http', '~> 5.0'
37
+ spec.add_dependency 'http', '>= 4.0', '< 6.0'
38
38
 
39
39
  # For more information and examples about making a new gem, checkout our
40
40
  # guide at: https://bundler.io/guides/creating_gem.html
@@ -3,7 +3,7 @@
3
3
  module Expo
4
4
  module Server
5
5
  module SDK
6
- VERSION = '0.1.0'
6
+ VERSION = '0.1.4'
7
7
  end
8
8
  end
9
9
 
data/lib/push/client.rb CHANGED
@@ -209,8 +209,8 @@ module Expo
209
209
 
210
210
  def send!(notifications)
211
211
  send(notifications).tap do |result|
212
- result.each_error do |error| # rubocop:disable Lint/UnreachableLoop
213
- raise error
212
+ result.each_error do |error|
213
+ raise error if error.is_a?(Error)
214
214
  end
215
215
  end
216
216
  end
@@ -228,12 +228,13 @@ module Expo
228
228
  end
229
229
 
230
230
  errors = parsed_response['errors']
231
+ data = parsed_response['data']
231
232
 
232
233
  if errors&.length&.positive?
233
234
  ReceiptsWithErrors.new(data: parsed_response, errors: errors)
234
235
  else
235
- results = parsed_response.map do |receipt_id, data|
236
- Receipt.new(data: data, receipt_id: receipt_id)
236
+ results = data.map do |receipt_id, receipt_value|
237
+ Receipt.new(data: receipt_value, receipt_id: receipt_id)
237
238
  end
238
239
 
239
240
  Receipts.new(results: results, requested_ids: receipt_ids)
data/lib/push/receipts.rb CHANGED
@@ -70,7 +70,7 @@ module Expo
70
70
  end
71
71
 
72
72
  def each
73
- receipts.each do |receipt|
73
+ results.each do |receipt|
74
74
  next unless receipt.ok?
75
75
 
76
76
  yield receipt
@@ -87,7 +87,7 @@ module Expo
87
87
  end
88
88
 
89
89
  def unresolved_ids
90
- requested_ids - results.keys
90
+ requested_ids - results.map(&:receipt_id)
91
91
  end
92
92
 
93
93
  private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expo-server-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derk-Jan Karrenbeld
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-25 00:00:00.000000000 Z
11
+ date: 2021-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool
@@ -28,16 +28,22 @@ dependencies:
28
28
  name: http
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '4.0'
34
+ - - "<"
32
35
  - !ruby/object:Gem::Version
33
- version: '5.0'
36
+ version: '6.0'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '4.0'
44
+ - - "<"
39
45
  - !ruby/object:Gem::Version
40
- version: '5.0'
46
+ version: '6.0'
41
47
  description: This gem has been written to fix shortcomings with the current community
42
48
  provided gem, which has many outstanding issues and open pull requests.
43
49
  email:
@@ -50,6 +56,7 @@ files:
50
56
  - ".github/workflows/main.yml"
51
57
  - ".gitignore"
52
58
  - ".rubocop.yml"
59
+ - CHANGELOG.md
53
60
  - CODE_OF_CONDUCT.md
54
61
  - Gemfile
55
62
  - Gemfile.lock
@@ -82,7 +89,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
82
89
  requirements:
83
90
  - - ">="
84
91
  - !ruby/object:Gem::Version
85
- version: 2.6.8
92
+ version: 2.6.0
86
93
  required_rubygems_version: !ruby/object:Gem::Requirement
87
94
  requirements:
88
95
  - - ">="