rails-on-sorbet 0.3.6 → 0.4.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: 3c69ce8e6ba929ec4b1b32e4c95a67a8ae725df81e960e0cccceb05472c114e5
4
- data.tar.gz: b5736376c29c5a0d82275a5a82eb48743401293a4ed0cad2343d063abc9e1803
3
+ metadata.gz: c535a249d20ba0cdc051763834fdb0cba1acd23604a50fe1c184464ad73601a4
4
+ data.tar.gz: 2c9dcd2c8be375b2a1525c418ae78836884c84dda8dfbb0b415f86a77a10dec4
5
5
  SHA512:
6
- metadata.gz: cd4ac3dc4916298efbee9e558750f52d848b438d9b89f0c0f4e5844d2ce0296e58608c4749b7efbe3fb870cd2783daa7a58dc5f878168aef2703aed62bb4c8f9
7
- data.tar.gz: '0419b6a41c67225f443ab3b2575eee9d66009fc3f51fd2b41fcdcaa697118a8197db9fc6eeaa24803e7e2574e4e9a104d27f0f5cdef04a44992fd5fbc2da0bd3'
6
+ metadata.gz: d7a2a72bf40838fdb2b08c356c3bdbe62bd52f9a425726e457e50ece570fbad492753482d026b572a30a9a6b1f7a9424c7c453d4a8e8a028c487b98a4b1d920e
7
+ data.tar.gz: 2af8a564330d23d2da659885cef8f6a8c1b19a24939975f7266cb49c24c04f65d3c22cc8b623e576b1fd097b9f05b33ca677aa080c3335e825c473974166f6fa
data/CHANGELOG.md CHANGED
@@ -12,6 +12,13 @@ Add changes in new features here. Do not change the gem's version in pull/merge
12
12
  ### Changes
13
13
  -
14
14
 
15
+ ## [0.4.0] - 22.10.2025
16
+
17
+ [Diff](https://github.com/espago/rails-on-sorbet/compare/v0.3.6...v0.4.0)
18
+
19
+ ### Changes
20
+ - Add `Map::Params` alias for `Map[String | Symbol, untyped]`
21
+
15
22
  ## [0.3.6] - 21.10.2025
16
23
 
17
24
  [Diff](https://github.com/espago/rails-on-sorbet/compare/v0.3.5...v0.3.6)
data/README.md CHANGED
@@ -85,6 +85,9 @@ m = Map(params) #=> Map[String, untyped]
85
85
  foo(m) # OK
86
86
  ```
87
87
 
88
+ There is a `Map::Params` alias for the result of converting `ActionController::Parameters` and
89
+ `ActiveSupport::HashWithIndifferentAccess` to `Map`: `Map[String | Symbol, untyped]`.
90
+
88
91
  ### TypedRelation
89
92
 
90
93
  Sorbet lacks proper generic handling of `ActiveRecord::Relation`.
@@ -4,7 +4,7 @@
4
4
  require 'action_controller'
5
5
  require 'active_support'
6
6
 
7
- module Map
7
+ module Map # rubocop:disable Style/Documentation
8
8
  extend T::Generic
9
9
 
10
10
  # Map type for API params.
@@ -3,7 +3,7 @@
3
3
  module Rails
4
4
  module On
5
5
  module Sorbet
6
- VERSION = '0.3.6'
6
+ VERSION = '0.4.0'
7
7
  end
8
8
  end
9
9
  end
@@ -21,18 +21,18 @@ module Tapioca
21
21
  def decorate
22
22
  root.create_path(constant) do |klass|
23
23
  constant._sorbet_serializer_definitions.sort.each do |name, definition|
24
- return_type = definition.return_type || definition.coder.try(:return_type) || T.untyped # rubocop:disable Sorbet/ForbidTUntyped
24
+ return_type = definition.return_type || definition.coder.try(:return_type) || T.untyped
25
25
  setter_type = definition.setter_type || definition.coder.try(:setter_type) || return_type
26
26
 
27
27
  return_type_string =
28
- if return_type == T.unsafe(T.untyped) # rubocop:disable Sorbet/ForbidTUnsafe,Sorbet/ForbidTUntyped
28
+ if return_type == T.unsafe(T.untyped)
29
29
  return_type.to_s
30
30
  else
31
31
  "T.nilable(#{return_type})"
32
32
  end
33
33
 
34
34
  setter_type_string =
35
- if setter_type == T.unsafe(T.untyped) # rubocop:disable Sorbet/ForbidTUnsafe,Sorbet/ForbidTUntyped
35
+ if setter_type == T.unsafe(T.untyped)
36
36
  setter_type.to_s
37
37
  else
38
38
  "T.nilable(#{setter_type})"
data/rbi/map.rbi CHANGED
@@ -36,6 +36,8 @@ def Map(val); end
36
36
  module Map
37
37
  extend T::Generic
38
38
 
39
+ Params = T.type_alias { Map[T.any(String, Symbol), T.untyped] }
40
+
39
41
  # Returns a new array populated with the keys from this hash. See also
40
42
  # [`Hash#values`](https://docs.ruby-lang.org/en/2.7.0/Hash.html#method-i-values).
41
43
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-on-sorbet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mateusz Drewniak