tapioca icon indicating copy to clipboard operation
tapioca copied to clipboard

The swiss army knife of RBI generation

Results 187 tapioca issues
Sort by recently updated
recently updated
newest added

Reliance of `Thor::Error` and [`exit_on_failure?`](https://github.com/rails/thor/blob/3178667e1727504bf4fb693bf4ac74a5ca6c691e/lib/thor/base.rb#L587) is growing and is being used by Tapioca internals. Instead we can use our own exception and have more control over how to handle it.

good-first-issue

### Motivation Now that we migrated all signatures these extends are not necessary anymore. ### Implementation ### Tests

chore

The [gem RBI check](https://github.com/Shopify/tapioca/blob/main/lib/ruby_lsp/tapioca/run_gem_rbi_check.rb) always assumes that the directory will be present, but that's not guaranteed - especially if someone is just setting up their repo with Tapioca. If the...

bug

CI times have crept back up again. It'd be useful to profile and see if we can improve it

In favour of the CODEOWNERS file https://github.com/Shopify/tapioca/pull/2289#issuecomment-2910635701

chore

I have the following class (whole content): ```rb # app/models/vacancy.rb # typed: true # frozen_string_literal: true class Vacancy < ApplicationRecord attribute :startlatest, :datetime end ``` I generates the DSL to...

question

Take the follow code, which defines a `myParent.child` relation: ```rb class MyParent < Versions::VersionedApplicationRecord VALID_CHILD_TYPES = T.let([MyChild1.polymorphic_name, MyChild2.polymorphic_name].freeze, T::Array[String]) has_one :child, polymorphic: true validates :child_type, presence: true, inclusion: { in:...

enhancement
help-wanted

We use a lot of class restrictions like: ```rb class ProcessingJob < ApplicationJob PROCESSORS = [ ProcessorFoo, ProcessorBar, ] attribute :processor, :class validates :processor, presence: true, inclusion: { in: PROCESSORS...

hola 👋, Stripe just released their v14 of their SDK, and it ships with generated RBI definitions https://github.com/stripe/stripe-ruby/tree/master/rbi/stripe But there is a problem: when you run `bundle exec tapioca gem...

help-wanted

I wrote a compiler for Kaminari that returns the following: ```ruby sig { T.all(PrivateRelation, Kaminari::PageScopeMethods, Kaminari::ActiveRecordRelationMethods) } def page(num = nil); end ``` This type is accurate, since `.page` uses...

help-wanted