rbs
gem_rbs_collection
rbs | gem_rbs_collection | |
---|---|---|
22 | 5 | |
1,984 | 269 | |
0.6% | 1.1% | |
9.8 | 9.5 | |
7 days ago | 3 days ago | |
Ruby | Ruby | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rbs
-
Implementing a simple object system from scratch in Ruby
You are correct technically, but the implication that you must sacrifice speed or static typing is practically incorrect: faster on startup than .NET [0]. You can get benefits similar to static typing in for a while now [1].
[0] tested locally on a Linux environment
[1] https://github.com/ruby/rbs#readme
-
Rewrite It in Rails
https://github.com/ruby/rbs
is the "officially supported" one. It's terrible, as is Sorbet. No offense to anyone involved with either of the projects, they just miss the mark in pretty fundamental ways.
-
A decent VS Code and Ruby on Rails setup
I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!
You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?
RBS: https://github.com/ruby/rbs
RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection
Steep: https://github.com/soutaro/steep
VS Code: https://github.com/soutaro/steep-vscode
Sublime Text: https://github.com/sublimelsp/LSP
Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671
- What it was like working for Gitlab
-
InfoQ Interview: Rich Kilmer on the Power of Ruby
Are you familiar with rbs (https://github.com/ruby/rbs)? If so, what issues do you see with using that over TypeScript?
- Building GitHub with Ruby on Rails
-
Ruby 3.2’s YJIT is Production-Ready
Ruby does have optional type annotations, if you want them:
https://github.com/ruby/rbs
- Crystal for Rubyists
-
Is anyone using RBS?
Is anyone using RBS? Or, is it still half-baked? I haven't seen any recent posts about it this year. Though, I see the repo has some recent activity.
-
RBS introduced manifest.yaml
Currently rbs collection resolves stdlib dependencies, but rbs -r LIB option doesn't resolve them unfortunately. For instance, logger depends on monitor, but rbs -r logger doesn't load monitor.
gem_rbs_collection
-
A decent VS Code and Ruby on Rails setup
I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!
You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?
RBS: https://github.com/ruby/rbs
RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection
Steep: https://github.com/soutaro/steep
VS Code: https://github.com/soutaro/steep-vscode
Sublime Text: https://github.com/sublimelsp/LSP
Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671
-
Is anyone using RBS?
For now there's a ruby/gem_rbs_collection repo now that's been started to grow a collection of signatures that RBS can pull from.
-
RBS introduced manifest.yaml
rbs collection detects the dependencies from Gemfile.lock. For example, if your Gemfile has an entry, gem 'rails', rbs collection finds dependencies gems, such as activesupport, railties, nokogiri and so on, from Gemfile.lock. Then it installs RBSs from ruby/gem_rbs_collection repository.
-
The future of rbs collection
Currently, rbs collection downloads RBSs with git clone from ruby/gem_rbs_collection GitHub repository.
-
rbs collection was released!
# Download sources sources: - name: ruby/gem_rbs_collection remote: https://github.com/ruby/gem_rbs_collection.git revision: main repo_dir: gems # A directory to install the downloaded RBSs path: .gem_rbs_collection gems: # Skip loading rbs gem's RBS. # It's unnecessary if you don't use rbs as a library. - name: rbs ignore: true # 👮👮👮 Add the following lines - name: pathname - name: logger - name: mutex_m - name: date - name: monitor - name: singleton - name: tsort - name: time - name: set
What are some alternatives?
dry-validation - Validation library with type-safe schemas and rules
typeprof - An experimental type-level Ruby interpreter for testing and understanding Ruby code
sorbet - A fast, powerful type checker designed for Ruby
typings - *DEPRECATED* The TypeScript Definition Manager
RubyGems - The Ruby community's gem hosting service.
tsd - [DEPRECATED] TypeScript Definition manager for DefinitelyTyped
DefinitelyTyped - The repository for high quality TypeScript type definitions.
rubygems - Library packaging and distribution for Ruby.
steep - Static type checker for Ruby
rubykaigi-2021