tapioca
tapioca copied to clipboard
The swiss army knife of RBI generation
When using `field` in GraphQL object types, new methods are created in the class dynamically. In certain occasions, like in batch loading, we need to be able to refer to...
# Motivation > In Tapioca, we've always defaulted to generating reader/writer methods instead of `attr_xxx` declarations, because it is harder to figure out if a reader/writer method was defined via...
I have a setup involving a model with a has_many that points to itself ``` class Group < ApplicationRecord has_many :sub_groups, class_name: "Group", primary_key: "id", foreign_key: "parent_id" end ``` each...
sorbet version: 0.5.11332 tapioca version: 0.13.1 ruby version: 3.2.2 I encountered an issue when using Tapioca to generate RBI files for a gem dependency. The generated RBI file contains an...
Trying to update tapioca from 0.12.0 to 0.13.1 results in this error: ``` path/to/file.rb:32: Method page does not exist on Model::PrivateAssociationRelation https://srb.help/7003 32 | @records = Model.all.page(params[:page]).per(25) ``` ## Investigation...
We are using [custom ID types](https://api.rubyonrails.org/classes/ActiveRecord/Attributes/ClassMethods.html#method-i-attribute) for our primary keys: ```ruby class MyModel < ApplicationRecord attribute :id, MyModelId.new end MyModel.find(MyModelId.new("123")) ``` With 0.13.0 this results in type errors when regenerating...
### Motivation Currently, each file save triggers DSL generation, even when there are no code changes. This leads to unnecessary processing. This PR addresses the issue by optimizing the save...
Closes #2016 Closes #2048 ### Motivation Currently, Tapioca is incorrectly attributing mixins performed by the `ActiveSupport.on_load` hooks. A quick summary of how things currently work: whenever a mixin (`include`, `extend`,...
We are trying to update from Rails 7.2.1 to 7.2.1.1. Sorbet is failing: ``` $ bundle exec typecheck --did-you-mean=false --no-error-sections sorbet/rbi/gems/[email protected]:42784: Unable to resolve constant GeneratedRelationMethods https://srb.help/5002 42784 | include...
### Motivation I was working on porting a small gem to use Sorbet, with sigs on all of the methods defined within the gem. I noticed that the generated RBI...