Repository navigation
Meta PR 2: fixes from running roundhouse over a large internal Rails codebase #503
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
121 commits
Select commit
Hold shift + click to select a range
8d6e43f
Model Rails.event, Rails.error and Process.clock_gettime
tobi 610eb02
Type controller `params` as ActionController::Parameters
tobi cab8256
Abstract sig stubs are declarations, not spliced methods
tobi 5d33e8a
Do not splice abstract sig methods into includers; carry sigs onto sp…
tobi e6403a7
Keep the type a T.let or a trailing `#: Type` declares
tobi c1a2c2f
Resolve declared class names lexically and read a bare Hash as a hash
tobi 4d5e2bf
Read a sorbet sig that returns a generic class
tobi ce8bf20
Bind multi-class rescues as a union and resolve qualified nested clas…
tobi fc472f9
Resolve a bare class read lexically before falling back to suffix search
tobi bee42af
Type `session` as a Session object, not a Hash[String, String]
tobi 1363891
Add ActiveSupport's Hash core_ext to the Hash method table
tobi b7a0b13
Add Regexp's class-side escape, quote, last_match and union
tobi 7f4926f
Keep session reads nilable and add Rack request accessors
tobi c9420bf
Read a zero-argument `order` on a model as the association reader
tobi 293e20e
Limit the zero-argument association reader to relation-builder names
tobi 1397cf2
A top-level class beats a same-named constant declared in another class
tobi 9f857ce
Read Klass[...] sig types as the class
tobi 573917f
Pin bare class constants resolving through the lexical nesting first
tobi af81584
Type `new` in a class-side method as an instance of the receiving class
tobi 0351948
Return untyped from an abstract `raise NotImplementedError` hook
tobi 1533fb1
Fold an extended module's instance methods onto the class side
tobi e89dd2d
Link a model to its app-defined base model for method lookup
tobi 5d7be18
Type serialize-d columns as the coder's object, not the storage text
tobi e5c7c32
Bind a model to the table its self.table_name names
tobi 31b9ab8
Honor a model's own self.table_name_prefix
tobi 1d9b5d3
Leave class-owned, Time and mixed-array operators to Ruby
tobi c07e7ea
Type [a, b].min/.max on an array literal as an element, not T?
tobi 0cc7d2e
Narrow a local on present?/blank? guards
tobi 8fe0958
Dispatch on a class-side new's instance as the defining class
tobi 21ff53f
Read T.unsafe and receiver-line `#: as untyped` as untyped assertions
tobi 8368555
Register the schema-reflection class methods every model inherits
tobi a54e322
Answer the Object and Module protocol for any explicit receiver
tobi 602e62e
Bind a rescued gem error as itself and type the Exception surface
tobi 26e7cce
Give Integer the Comparable, Numeric and Integer methods it inherits
tobi 37a8309
Register the AbstractAdapter surface on the connection
tobi 0afece6
Type a params element read as String | Array | Parameters | nil
tobi 55dd4bc
Answer String#to_date/to_d/in_time_zone and as_json on String, Array,…
tobi f2e1229
Read Parameters as a Hash of param values, not of Strings
tobi a0a0a72
Answer Array#intersect? and Hash#all?
tobi f412798
Answer the String methods the catalog was missing
tobi 47520ab
Add UploadedFile to the params value union and Parameters class config
tobi bb52f55
Keep Parameters class config off the Hash fallback
tobi 8f98a7c
Model the routes DSL that composes routes: draw/load, concerns, app s…
tobi 2d328d4
Recognize `self.include(routes.url_helpers)` as the route-helper surface
tobi bd19a45
Dispatch an unknown class-side call through the class's method_missing
tobi e3b12b4
Register helpers generated from a YAML table by a factory
tobi 432a68a
Carry mixins an app adds to a framework class into its surface
tobi 58449cf
Add the Request readers the app reaches for: key_generator, cookie salts
tobi 25b3c09
Resolve a controller's or module's relative include through its nesting
tobi 7b46010
Ingest a non-controller class under app/controllers as a plain class
tobi 17929e8
Observe the inline-signature providers through a controller subclass
tobi 0d8bb45
Type the constants Ruby defines on Float as Floats
tobi 28ca49b
Accept any two numbers in arithmetic, not only Integer with Float
tobi e551923
Compare points in time across Time, Date and DateTime
tobi 89f8b02
Answer self[:column] and read_attribute with the column's type
tobi e6c6f8b
Trust a parameter a signature declares untyped
tobi 236baf1
Do not widen an ivar initialize assigns with nil
tobi e08bc75
Narrow a self attribute reader on a guard like a local
tobi 1de29bc
Let a fully declared parameter type beat what one caller passed
tobi f895e20
Read singleton, bot, top, type variables, intersections and literals …
tobi beae990
Read the rest of Sorbet's sig type grammar
tobi 106b15d
Read `T.proc` types and a sig's block parameter
tobi 9b5e1f8
Read a trailing `#: as T` / `#: as !nil` on any expression
tobi 49e9a92
Read `T.must` and `T.must_because` as `not_nil!`
tobi 5af6789
Bind a declared block's parameter to its type, not to the block's sig…
tobi 143d10f
Drop a signature that would apply to both sides of a shared name
tobi e20bbce
Match a declared parameter by name, else by position among positionals
tobi 3e6fe8f
Expand enum declarations whose labels or values are constants
tobi a0b2285
Ingest `...` argument forwarding as a splatted rest and a passed block
tobi 460d0de
Accept constants as multiple-assignment targets
tobi b6f2c3f
Carry any defined? operand into the marker call
tobi 91864c8
Treat index_by(&:to_sym) over a label list as the identity mapping
tobi 95a9e2b
Read locked gems' Tapioca RBIs as a typed boundary to their classes
tobi 7723192
Stop a bare constant reaching app classes by last segment alone
tobi cde4571
Stop calling in-repo components and stdlib constants unmodelled gems
tobi ce77930
Merge a gem RBI's methods into classes the registry already knows
tobi abd7428
Attribute a constant to a gem only if its RBI accounts for it
tobi 9b574b7
Read every statement of a model's `class << self` instead of aborting…
tobi a50058f
Skip synthesized nodes in the unresolved-type warning
tobi 9c9698a
Give controllers a class side: `class << self` and `def self.x`
tobi ca690d0
Ingest `class << self` at expression position
tobi 141edd0
Reach a bare constant through every ancestor and a mixin's own namespace
tobi d1d08e6
Type session deletion like a nilable session read
tobi 5a398e1
Report unclaimed model class-body setters
tobi 930bf0f
Enforce Rubydex source identity and executable constant boundaries
tobi 1897780
Preserve Rails enum aliases and refuse unmodeled raw assignment reads
tobi 4cbd478
Retain literal framework load-hook mixins and report remaining gaps
tobi d536945
Reconcile inference and ingest with current main APIs
tobi b2570ed
Exercise inherited gem attribution through a real unresolved source call
tobi e92e8ec
Pin repeated Concern include precedence in emitted Ruby
tobi 88d78f3
Reconcile branch invariants with current main APIs
tobi ec9a28d
Align source lifecycle and constant resolution with main
tobi a57f2b4
Keep generated GraphQL constant provenance when borrowing field spans
tobi 0e78903
Preserve main's defined? operands with emitted execution coverage
tobi 06e0cfe
Preserve named refusals for unimplemented nil assertions
tobi 843fccf
Withdraw registry-only APIs without executable runtime support
tobi 23a3fca
Require receiver identity and modeled ownership before admitting calls
tobi a1c2391
Pin load-hook macro execution together with carried instance methods
tobi bba9531
Respect an overridden class-side `new` in shared Concern factories
tobi 8615c0c
Pin emitted execution and ledger coverage for recently merged behavior
tobi 87df588
Merge main into internal fixes
tobi 113eb5f
Fix extra-language emit for HeaderStore typing
cursoragent b9ecec0
Coalesce String? into typed String lists for Kotlin/C#
cursoragent be18f8a
Fix remaining extra-language compare emit failures
cursoragent d5a5c9b
Fix kotlin form_with dup and elixir FORGERY_SLOT emit
cursoragent 9aa3414
Fix elixir found carry, go CSRF call, CodeRabbit emit nits
cursoragent 0980b8c
Fix extras native compile: elixir ?__loop, go Performed, AC imports
cursoragent a722336
Classify @ivar << as record mutation for Elixir rewrite
cursoragent bdfbf4a
Fix extras CSRF fail-closed and elixir unused attrs
cursoragent 8b8d339
Merge upstream/main into contrib/internal-fixes
cursoragent 654bafc
Address CodeRabbit review on PR 503; land analyzer CI fixes
cursoragent b85b0f6
Merge upstream/main into contrib/internal-fixes (#495 CSRF/extras)
cursoragent c94ccc4
Elixir emit: Hash int-key Map.put; const-array << / clear via Process
cursoragent e691b24
Guide: say Roundhouse, not "the fork", for enum refuse
cursoragent cff15ca
Preserve Module#< for class Consts after test lower retype
cursoragent 98d54b3
Defer INDEX when it reads Sound::BUILTIN (qualified)
cursoragent 315af3a
Fix CodeRabbit: temporal_kind docs and ascription claim Drop guard
cursoragent b62c010
Keep spliced DnsTestHelper consts bare through Value qualify
cursoragent d66278d
Seed class constants when retyping lowered test methods
cursoragent 1219a5c
Keep foreign spliced consts bare; still qualify same-class Values
cursoragent 9e0c71c
Don't strip qualified consts on leaf-name collision
cursoragent File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.