Tapioca does not properly attribute prepended methods
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
Research direction
The issue names no files or tests. Start by reproducing the foo/bar prepend example in Tapioca and trace how gem RBI ownership is attributed during RBI generation. Done means the prepended foo method is attributed only to bar's gem RBI, while foo's original method remains in foo's RBI.
Written by the indexing model from the issue text.
Description
I haven't verified this yet, but @paracycle told me that if one gem defines a method, and another gem overrides that method via a prepend, the prepended method will be incorrectly written to both gem RBIs.
Example:
# in gem foo
class Foo
def foo; end
end
# in gem bar
module Bar
def foo; end
end
Foo.prepend(Bar)
Tapioca will write bar's foo method to foo's gem RBIs, which is fine if they have the same signature, but not great if the prepend changes the method signature.
- Dominant language
- Ruby
- Stars
- 873
- Forks
- 164
- Avg merge
- 4d 27m
- Merged PRs (30d)
- 9
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Shopify/tapioca
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
bug
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 58/100
Similar issues
-
user-reported
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Kong/developer.konghq.com#7316 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
TheOdinProject/curriculum#31408 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
notch8/utk_knapsack#148 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Homebrew/homebrew-cask#288729 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100