gruf 2.20.1 → 2.21.0

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: 321dd6bdff2f6c704c6129569d694f921e29a894eea19a4fff05f46f8900ef5b
4
- data.tar.gz: 3a756651b5b4fce7212a0101edc86f9e83e3c95e559dc91587989ac1276bc368
3
+ metadata.gz: b50741eb3c556637beb4f7561de27d922e69ef71e7730e956651efe397fbb4cc
4
+ data.tar.gz: a2628665295d095507f7043ac996ae5aa054d3f12b94e40e27bb235ef4f8506e
5
5
  SHA512:
6
- metadata.gz: 454f4579f37b896b34a89d33902eb9c14ec33e94ea408fcffc918922d23e0f56c0bcc287bac5533322a9fd3897e21a64d51eadc9982c3a781b91f97067157e0e
7
- data.tar.gz: 3892aa18eecaa9aee049961cee2d3ba6695b3c695cc6f66e7eee03fae17de869043922e147d829e8f8b0d94058b99ce48abab2ed6ce00c0d5bba995ce7388a59
6
+ metadata.gz: 73a86e76db1a1287adb45eb1b5b05d7be83a79d8c26ca43618814f3e6641fd5bdc42f396e5f6721e831573bc0c4bc4784912cab5db3960dd0dcde7cc09b356ca
7
+ data.tar.gz: 7623b6481b4ad01f57bf1f088bad8af8d5ff44b54edf03b3140a64dd96d6639e2dbcc54e72200828209d926c3976cf8ddb234eea672cfe0b675035407bdf9a66
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@ Changelog for the gruf gem. This includes internal history before the gem was ma
2
2
 
3
3
  ### Pending release
4
4
 
5
+ ### 2.21.0
6
+
7
+ * [#221] Add support for Ruby 3.4
8
+
5
9
  ### 2.20.1
6
10
 
7
11
  * [#208] Fix rails `clear_active_connections!` deprecation warning
data/README.md CHANGED
@@ -17,7 +17,7 @@ up fast and efficiently at scale. Some of its features include:
17
17
  still preserving gRPC BadStatus codes
18
18
  * Server and client execution timings in responses
19
19
 
20
- gruf currently has active support for gRPC 1.10.x+. gruf is compatible and tested with Ruby 3.0-3.3.
20
+ gruf currently has active support for gRPC 1.10.x+. gruf is compatible and tested with Ruby 3.0-3.4.
21
21
  gruf is also not [Rails](https://github.com/rails/rails)-specific, and can be used in any Ruby framework
22
22
  (such as [Grape](https://github.com/ruby-grape/grape) or [dry-rb](https://dry-rb.org/), for instance).
23
23
 
data/gruf.gemspec CHANGED
@@ -32,7 +32,11 @@ Gem::Specification.new do |spec|
32
32
  spec.executables << 'gruf'
33
33
  spec.require_paths = ['lib']
34
34
 
35
- spec.required_ruby_version = '>= 3.0', '< 3.4'
35
+ # The range of supported Ruby major versions is intentionally capped to ensure that the latest Ruby major version is
36
+ # supported by grpc gem before bumping the maximum Ruby major version that this gem officially supports.
37
+ # grpc gem has a history of lagging behind the latest Ruby version support post-new-year every year.
38
+ # See: https://github.com/bigcommerce/gruf/pull/221#issuecomment-2573428792
39
+ spec.required_ruby_version = '>= 3.0', '< 3.5'
36
40
 
37
41
  spec.metadata = {
38
42
  'bug_tracker_uri' => 'https://github.com/bigcommerce/gruf/issues',
@@ -51,18 +51,18 @@ module Gruf
51
51
  #
52
52
  # @return [::Gruf::Controllers::Autoloader]
53
53
  #
54
- # rubocop:disable ThreadSafety/InstanceVariableInClassMethod
54
+ # rubocop:disable ThreadSafety/ClassInstanceVariable
55
55
  def controllers(controllers_path: nil)
56
56
  controllers_mutex do
57
57
  @controllers ||= ::Gruf::Controllers::Autoloader.new(path: controllers_path || ::Gruf.controllers_path)
58
58
  end
59
59
  end
60
- # rubocop:enable ThreadSafety/InstanceVariableInClassMethod
60
+ # rubocop:enable ThreadSafety/ClassInstanceVariable
61
61
 
62
62
  ##
63
63
  # Handle mutations to the controllers autoloader in a thread-safe manner
64
64
  #
65
- # rubocop:disable ThreadSafety/InstanceVariableInClassMethod
65
+ # rubocop:disable ThreadSafety/ClassInstanceVariable
66
66
  def controllers_mutex(&block)
67
67
  @controllers_mutex ||= begin
68
68
  require 'monitor'
@@ -70,7 +70,7 @@ module Gruf
70
70
  end
71
71
  @controllers_mutex.synchronize(&block)
72
72
  end
73
- # rubocop:enable ThreadSafety/InstanceVariableInClassMethod
73
+ # rubocop:enable ThreadSafety/ClassInstanceVariable
74
74
  end
75
75
  end
76
76
  end
@@ -66,9 +66,9 @@ module Gruf
66
66
  service_class = service.name.constantize
67
67
  ::Gruf.logger.debug "[gruf] Binding #{service_class} to #{name}"
68
68
  ::Gruf.services << service_class
69
- # rubocop:disable ThreadSafety/InstanceVariableInClassMethod
69
+ # rubocop:disable ThreadSafety/ClassInstanceVariable
70
70
  @bound_service = service_class
71
- # rubocop:enable ThreadSafety/InstanceVariableInClassMethod
71
+ # rubocop:enable ThreadSafety/ClassInstanceVariable
72
72
  ServiceBinder.bind!(service: service_class, controller: self)
73
73
  end
74
74
 
data/lib/gruf/version.rb CHANGED
@@ -16,5 +16,5 @@
16
16
  # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
17
  #
18
18
  module Gruf
19
- VERSION = '2.20.1'
19
+ VERSION = '2.21.0'
20
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gruf
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.20.1
4
+ version: 2.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shaun McCormick
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-22 00:00:00.000000000 Z
11
+ date: 2025-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -190,7 +190,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
190
  version: '3.0'
191
191
  - - "<"
192
192
  - !ruby/object:Gem::Version
193
- version: '3.4'
193
+ version: '3.5'
194
194
  required_rubygems_version: !ruby/object:Gem::Requirement
195
195
  requirements:
196
196
  - - ">="