rbs
rbs copied to clipboard
Type Signature for Ruby
Currently, the `RHS` of `[T < RHS]` must be an interface, class or module, at least what RubyMine IDE identifies. Wynaut allow it to be anything? For the minumum, it...
rbs generates a definition that causes a syntax error if the file includes `'#$'`. ## Steps to reproduce ```console $ cat foo.rb class A X = '#$' end $ rbs...
The following outputs results that `rbs prototype rb` does not expect. ``` $ cat on_load.rb class MyClass; end # Include (lazy) MyClass in ActiveRecord::Base # ActiveSupport.on_load uses class_eval internally. #...
`AR::Base.scope` accepts lambdas, but the type of the lambdas is difficult to describe in RBS. ```rbs class AR::Base def self.scope: (Symbol, ^(*untyped, **untyped) -> void) -> void end ``` The...
Motivating example: ```rbs module SoftDeletable : ActiveRecord::Base module ClassMethods : singleton(ActiveRecord::Base) # New syntax! end end ``` Here, the implementation of `SoftDeletable` would use `ActiveRecord::Base` methods from `included` hook: ```rb...
I would like to change the RBS library to read RBS collection configuration at `RBS_COLLECTION_FILE` environment variable, like `BUNDLE_GEMFILE` in Bundler. This makes switching collection configurations easier. ```sh # Read...
## Small issues Thread#raise is incorrectly written as `def self?.raise` when it should just be `def raise` ## Big issues More fundamentally, the method signature for Kernel/Thread/Fiber#raise is flawed, even...
When using TCPServer.new("127.0.0.1", 8080), rbs will say the second arg 8080 was an unexpected positional arg
Currently, we model module/class themselves (as opposed to `instance`s) as `singleton(Klass)`, whereas the `Module`/`Class` classes can only represent the module/class of `untyped`. I suggest combining those two by giving `Module`...
(Originally a discussion, #1611, I think this is more apt as an issue). One of the lesser-known facts of ruby is you can also use `alias` to alias global variables...