grape_sorbet 0.0.5 → 0.0.6

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: 06c4417253642117e5cc111ec8c478d5c86b12abaff504778c0dc9ca031f0e45
4
- data.tar.gz: c93127be9f1ac682c30080c0e5614a37d9470168172cfcc64b44e25d61203fa9
3
+ metadata.gz: b090755b28d1fff8fb2de659c1196985f0904986ed09395964a636a0d8263645
4
+ data.tar.gz: a379078b3bad1bc4b16b67b5d0a417993b58d1302bf85656c6b1eb5a0d28eacd
5
5
  SHA512:
6
- metadata.gz: 7c85f6e88f351c4ff58e8fd922f025b41cd38b05d9f773c42c0647128ff2bb525ce359791b21e5462c1119db943e5cee88502b9903236ddd45ef3c06d39c62c5
7
- data.tar.gz: f504e9a4a9ee21cb7464802207cace234dfe270bd01e61f388eefc261ba39db8b96730f25d002f8fe4fc98daae75f22aaf678e0c594e16d138cf5eb10c0d0bb6
6
+ metadata.gz: e9c858df3843df3547fec4b9283a760704746d19d5fa79975dee8ca65204b5b8d3670a905c01ed123180be51eba01ed6fa73309209d58a97deb413a766c65e0e
7
+ data.tar.gz: f0e62315163f3d87326b6f967f7ecfe54c13005361e951549478acf12a313808c0a4424c061384fc2661a9b46f33e2a22a22e47f4d949d238f552611b91cd7f0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.0.6 (2024-06-25)
2
+
3
+ - Add support for `rescue_from`
4
+
1
5
  ## 0.0.5 (2024-06-24)
2
6
 
3
7
  - Ignore anonymous helpers
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- grape_sorbet (0.0.5)
4
+ grape_sorbet (0.0.6)
5
5
  activesupport
6
6
  grape (~> 2.0)
7
7
  sorbet-runtime (~> 0.5.10741)
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module GrapeSorbet
5
- VERSION = "0.0.5"
5
+ VERSION = "0.0.6"
6
6
  end
@@ -67,8 +67,10 @@ module Tapioca
67
67
  sig { override.void }
68
68
  def decorate
69
69
  create_classes_and_includes
70
- create_routing_methods
70
+
71
71
  create_callbacks_methods
72
+ create_request_response_methods
73
+ create_routing_methods
72
74
  end
73
75
 
74
76
  class << self
@@ -108,6 +110,14 @@ module Tapioca
108
110
  )
109
111
  end
110
112
 
113
+ sig { returns(RBI::Scope) }
114
+ def request_response_methods_module
115
+ @request_response_methods_module ||= T.let(
116
+ api.create_module(RequestResponseMethodsModuleName),
117
+ T.nilable(RBI::Scope),
118
+ )
119
+ end
120
+
111
121
  sig { returns(RBI::Scope) }
112
122
  def routing_methods_module
113
123
  @routing_methods_module ||= T.let(
@@ -119,6 +129,7 @@ module Tapioca
119
129
  sig { void }
120
130
  def create_classes_and_includes
121
131
  api.create_extend(CallbacksMethodsModuleName)
132
+ api.create_extend(RequestResponseMethodsModuleName)
122
133
  api.create_extend(RoutingMethodsModuleName)
123
134
  create_api_class
124
135
  create_endpoint_class
@@ -159,6 +170,21 @@ module Tapioca
159
170
  end
160
171
  end
161
172
 
173
+ sig { void }
174
+ def create_request_response_methods
175
+ request_response_methods_module.create_method(
176
+ "rescue_from",
177
+ parameters: [
178
+ create_rest_param("args", type: "T.untyped"),
179
+ create_block_param(
180
+ "block",
181
+ type: "T.nilable(T.proc.bind(#{EndpointClassName}).params(e: Exception).void)",
182
+ ),
183
+ ],
184
+ return_type: "void",
185
+ )
186
+ end
187
+
162
188
  sig { void }
163
189
  def create_routing_methods
164
190
  HTTP_VERB_METHODS.each do |verb|
@@ -8,6 +8,7 @@ module Tapioca
8
8
  extend T::Sig
9
9
 
10
10
  CallbacksMethodsModuleName = "GeneratedCallbacksMethods"
11
+ RequestResponseMethodsModuleName = "GeneratedRequestResponseMethods"
11
12
  RoutingMethodsModuleName = "GeneratedRoutingMethods"
12
13
 
13
14
  APIInstanceClassName = "PrivateAPIInstance"
data/rbi/grape.rbi CHANGED
@@ -31,7 +31,7 @@ module Grape
31
31
 
32
32
  module RequestResponse
33
33
  module ClassMethods
34
- sig { params(args: T.untyped, block: T.proc.bind(Grape::Endpoint).void).void }
34
+ sig { params(args: T.untyped, block: T.proc.bind(Grape::Endpoint).params(e: Exception).void).void }
35
35
  def rescue_from(*args, &block); end
36
36
  end
37
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape_sorbet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thatch Health, Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-24 00:00:00.000000000 Z
11
+ date: 2024-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport