ffccmmx 0.2.0 → 0.3.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
2
  SHA256:
3
- metadata.gz: '09626f45c71c010b2ce077e7d157fb44303f4a6ae4d665495777fd5e55a3db8c'
4
- data.tar.gz: 869d953e07906287046ae010af36b28e829c0ded358866eccd794c9ef77436c3
3
+ metadata.gz: 0f08b11a326292c0a4d75ade2fa476ec1d2559cfc09239b229fbc217c13ba1a3
4
+ data.tar.gz: 4e28cdc4350bdaf26ead776f97b4b04824e90a6f132fbc851a29c349102ad4bb
5
5
  SHA512:
6
- metadata.gz: f4117c3bf719196e8eeaa9b63b08c289d4f1404f351c5470558ad0b22cdc9f75959ca033d3dd559121a363597d899fac8b86fd2a8f95ad587d1429c46d0f337e
7
- data.tar.gz: '0956a194ad06f27940b5e50d06b7d72e48004fbe9d7fbc51efcc62474fef1c7b1cc1164b3bb23f6da568791a3e65ca6094248ea5d971e986cbe5f8510370f998'
6
+ metadata.gz: b4a4905862814f50d16972719eaec408fb9199d3a33cce0e37790551c5f6d29ed887deb8fd72ae44abcbbc35d732e8d9bab6a588b3c01b472bb2cf7cc8536897
7
+ data.tar.gz: d52da620fd12b31d3cc7cfe171dd2d02c13f71d7b817c3b97f932be9b45c60e18a36e63105ceea3f8e6db0d8ed4e1b28c36c26b3a8a41359b9395eb085e569ac
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.1] - 2025/07/31
4
+
5
+ - Fix: `#concurrent_xxx` method fails when handling a single request.
6
+
7
+
8
+ ## [0.3.0] - 2025-07-23
9
+
10
+ - Add #response at HTTPXErrpr
11
+
3
12
  ## [0.2.0] - 2025-07-18
4
13
 
5
14
  - Add HTTPXRetryableError
@@ -143,13 +143,13 @@ module Ffccmmx
143
143
  raise Ffccmmx::HTTPXRetryableError, response: e.response, cause: e
144
144
  end
145
145
 
146
- raise Ffccmmx::HTTPXError, cause: e
146
+ raise Ffccmmx::HTTPXError, response: e.response, cause: e
147
147
  rescue StandardError => e
148
148
  raise Ffccmmx::Error, cause: e
149
149
  end
150
150
 
151
151
  def send_concurrent_post_request(requests)
152
- httpx.bearer_auth(access_token).request(requests).map { |response| Ffccmmx::Response.new(response) }
152
+ Array(httpx.bearer_auth(access_token).request(requests)).map { |response| Ffccmmx::Response.new(response) }
153
153
  end
154
154
 
155
155
  def access_token_refresh
@@ -3,11 +3,16 @@
3
3
  module Ffccmmx
4
4
  class Error < StandardError; end
5
5
 
6
- class HTTPXError < Error; end
7
-
8
- class HTTPXRetryableError < HTTPXError
6
+ class HTTPXError < Error
9
7
  attr_reader :response
10
8
 
9
+ def initialize(response)
10
+ @response = response
11
+ super()
12
+ end
13
+ end
14
+
15
+ class HTTPXRetryableError < HTTPXError
11
16
  RETRYABLE_STATUS_CODES = [408, 429, 500, 502, 503, 504].freeze
12
17
  private_constant :RETRYABLE_STATUS_CODES
13
18
  def self.retryable_error?(error)
@@ -17,11 +22,6 @@ module Ffccmmx
17
22
  RETRYABLE_STATUS_CODES.include?(error.response.status)
18
23
  end
19
24
 
20
- def initialize(response)
21
- @response = response
22
- super()
23
- end
24
-
25
25
  def retry_time(count: 1)
26
26
  retry_seconds = response.headers["retry-after"] ? response.headers["retry-after"].to_i : 2**count
27
27
  Time.now + retry_seconds
@@ -15,7 +15,7 @@ module Ffccmmx
15
15
  raise Ffccmmx::HTTPXRetryableError, response: e.response, cause: e
16
16
  end
17
17
 
18
- raise Ffccmmx::HTTPXError, cause: e
18
+ raise Ffccmmx::HTTPXError, response: e.response, cause: e
19
19
  rescue StandardError => e
20
20
  raise Ffccmmx::Error, cause: e
21
21
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ffccmmx
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.1"
5
5
  end
@@ -1,5 +1,8 @@
1
1
  module Ffccmmx
2
- class HTTPXRetryableError < HTTPX::Error
2
+ class HTTPXError
3
+ attr_reader response: HTTPX::Response
4
+ end
5
+ class HTTPXRetryableError
3
6
  attr_reader response: HTTPX::Response
4
7
 
5
8
  def self.retryable_error?:(HTTPX::Error) -> bool
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffccmmx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - anatofuz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 1980-01-01 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: google-apis-identitytoolkit_v3
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  - !ruby/object:Gem::Version
113
113
  version: '0'
114
114
  requirements: []
115
- rubygems_version: 3.6.7
115
+ rubygems_version: 3.6.9
116
116
  specification_version: 4
117
117
  summary: Firebase Cloud Messaging API wrapper for ruby, supports HTTP/2 using httpx
118
118
  gem, based fcmpush