boba 0.1.4 → 0.1.6

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: 4b383bf15723bcb22ff64226ea2c861fcaa3dfd128637f7b3076dbb1f5af6f67
4
- data.tar.gz: e3bb3c3d03305d092a841f0e6cb333cee55057c2d175ed47921537874c065d3c
3
+ metadata.gz: 5f4318cf7ffc1d6416c05aa506d447572a4760f3082c7e6d82f34ac1a123a71b
4
+ data.tar.gz: b5e6afe0009e6450b795ff13be20ca8f882b09985e07c64e0a2cfaf11325cd2d
5
5
  SHA512:
6
- metadata.gz: 57ea35cb2db75a06122ea8786fd75d26b04bc37303c5090b31a396f9ae6a25987e1ec9342e2ae2d287343733b71f4d203fd5410379920c91d4ae186905ff5192
7
- data.tar.gz: cf9d056fb50d9a088aac7222361dc905c5bba20fd28bee7ff229e8eb3ab3a4ed36615c0553a572239e49038dfbee95f3894b399fc0b0565efb7f154f6e829991
6
+ metadata.gz: ddfafab81ecde6062d8273dba438d0903f424cee18f1c588ff7839d44d443833417f5fb0b74946eb960f457819e9447f02cde4fd8dea03ce8df169aed6a2b824
7
+ data.tar.gz: 9b6802dc2acbff3c81a9c035dbd77484286bc9060eadc702aaf64d105558f976988189dcbaa4754656042a949268794e23450a65ba3d2cb6290ac098537b1f28
data/README.md CHANGED
@@ -68,6 +68,12 @@ def recent_posts_from_author(author)
68
68
  end
69
69
  ```
70
70
 
71
+ ### A Note on Tapioca Dependencies
72
+
73
+ The core `ActiveRecordAssociationsPersisted` and `ActiveRecordColumnsPersisted` compilers are extensions of Tapioca's corresponding compilers, and depend on monkey patching internal methods. As such, Boba's dependent Tapioca version must be restricted to known good versions and cannot use the more lenient pessimistic version pinning (`~>`), since even minor or patch versions of Tapioca can introduce breaking changes that would be frustrating or difficult for consumers.
74
+
75
+ We try to stay as up-to-date with Tapioca versions as possible, but can sometimes fall behind. Please submit an issue or pull request (including any needed updates) if we miss a Tapioca version you'd like to upgrade to, and we will address it as soon as possible.
76
+
71
77
  ## Contributing
72
78
 
73
79
  Bugs and feature requests are welcome and should be [filed as issues on github](https://github.com/angellist/boba/issues).
@@ -81,3 +87,9 @@ Since Boba is intended to be used alongside Tapioca and the compilers provided b
81
87
  Contributed compilers should be well documented, and named after and include a link or reference to the Gem, DSL, or other module they implement RBIs for.
82
88
 
83
89
  Compilers for Gems, DSLs, or modules that are not publicly available will not be accepted.
90
+
91
+ ### Releasing
92
+
93
+ 1. Bump the version in `lib/boba/version.rb`, and commit.
94
+ 2. Add a new tag: `git tag vX.Y.Z`.
95
+ 3. Then push `git push origin head vX.Y.Z`.
data/lib/boba/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Boba
5
- VERSION = "0.1.4"
5
+ VERSION = "0.1.6"
6
6
  end
@@ -56,7 +56,7 @@ module Tapioca
56
56
  class << self
57
57
  extend T::Sig
58
58
 
59
- sig { override.returns(T::Enumerable[Module]) }
59
+ sig { override.returns(T::Enumerable[T::Module[T.anything]]) }
60
60
  def gather_constants
61
61
  Tapioca::Dsl::Compilers::ActiveRecordRelations.gather_constants
62
62
  end
@@ -57,7 +57,7 @@ module Tapioca
57
57
  class << self
58
58
  extend T::Sig
59
59
 
60
- sig { override.returns(T::Enumerable[Module]) }
60
+ sig { override.returns(T::Enumerable[T::Module[T.anything]]) }
61
61
  def gather_constants
62
62
  all_classes.select { |c| c < ::FlagShihTzu }
63
63
  end
@@ -60,7 +60,7 @@ module Tapioca
60
60
  class << self
61
61
  extend T::Sig
62
62
 
63
- sig { override.returns(T::Enumerable[Module]) }
63
+ sig { override.returns(T::Enumerable[T::Module[T.anything]]) }
64
64
  def gather_constants
65
65
  descendants_of(::ActiveRecord::Base).reject(&:abstract_class?)
66
66
  end
@@ -60,7 +60,7 @@ module Tapioca
60
60
  class << self
61
61
  extend T::Sig
62
62
 
63
- sig { override.returns(T::Enumerable[Module]) }
63
+ sig { override.returns(T::Enumerable[T::Module[T.anything]]) }
64
64
  def gather_constants
65
65
  all_classes.select { |c| c < ::MoneyRails::ActiveRecord::Monetizable }
66
66
  end
@@ -43,7 +43,7 @@ module Tapioca
43
43
  class << self
44
44
  extend T::Sig
45
45
 
46
- sig { override.returns(T::Enumerable[Module]) }
46
+ sig { override.returns(T::Enumerable[T::Module[T.anything]]) }
47
47
  def gather_constants
48
48
  all_classes.select { |c| c < ::Paperclip::Glue }
49
49
  end
@@ -119,7 +119,7 @@ module Tapioca
119
119
  "GeneratedAssociationRelationMethods",
120
120
  ].freeze
121
121
 
122
- ConstantType = type_member { { fixed: T.all(Module, ::StateMachines::ClassMethods) } }
122
+ ConstantType = type_member { { fixed: T.all(T::Module[T.anything], ::StateMachines::ClassMethods) } }
123
123
 
124
124
  sig { override.void }
125
125
  def decorate
@@ -168,7 +168,7 @@ module Tapioca
168
168
  class << self
169
169
  extend T::Sig
170
170
 
171
- sig { override.returns(T::Enumerable[Module]) }
171
+ sig { override.returns(T::Enumerable[T::Module[T.anything]]) }
172
172
  def gather_constants
173
173
  all_classes.select { |mod| ::StateMachines::InstanceMethods > mod }
174
174
  end
@@ -176,7 +176,7 @@ module Tapioca
176
176
 
177
177
  private
178
178
 
179
- sig { params(constant: Module).returns(T::Boolean) }
179
+ sig { params(constant: T::Module[T.anything]).returns(T::Boolean) }
180
180
  def uses_active_record_integration?(constant)
181
181
  ::StateMachines::Integrations.match(constant)&.integration_name == :active_record
182
182
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boba
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Angellist
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-06-19 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: sorbet-static-and-runtime
@@ -29,14 +29,14 @@ dependencies:
29
29
  requirements:
30
30
  - - "<="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.17.4
32
+ version: 0.17.9
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "<="
38
38
  - !ruby/object:Gem::Version
39
- version: 0.17.4
39
+ version: 0.17.9
40
40
  email:
41
41
  - alex.stathis@angellist.com
42
42
  executables: []
@@ -65,9 +65,9 @@ licenses:
65
65
  - MIT
66
66
  metadata:
67
67
  bug_tracker_uri: https://github.com/angellist/boba/issues
68
- changelog_uri: https://github.com/angellist/boba/blob/0.1.4/History.md
68
+ changelog_uri: https://github.com/angellist/boba/blob/0.1.6/History.md
69
69
  homepage_uri: https://github.com/angellist/boba
70
- source_code_uri: https://github.com/angellist/boba/tree/0.1.4
70
+ source_code_uri: https://github.com/angellist/boba/tree/0.1.6
71
71
  rubygems_mfa_required: 'true'
72
72
  rdoc_options: []
73
73
  require_paths:
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  requirements: []
86
- rubygems_version: 3.6.2
86
+ rubygems_version: 3.6.9
87
87
  specification_version: 4
88
88
  summary: Custom Tapioca compilers
89
89
  test_files: []