rbs
rubygems


rbs | rubygems | |
---|---|---|
22 | 224 | |
2,001 | 3,751 | |
1.0% | 0.8% | |
9.8 | 9.9 | |
5 days ago | 4 days ago | |
Ruby | Ruby | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
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.
rubygems
-
How to make sure you review your monkey patch when updating Ruby gems
# Source: https://github.com/rubygems/rubygems/blob/master/lib/rubygems/version.rb#L360 def <=>(other) return self <=> self.class.new(other) if (String === other) && self.class.correct?(other) return unless Gem::Version === other return 0 if @version == other.version || canonical_segments == other.canonical_segments lhsegments = canonical_segments rhsegments = other.canonical_segments lhsize = lhsegments.size rhsize = rhsegments.size limit = (lhsize > rhsize ? lhsize : rhsize) - 1 i = 0 while i <= limit lhs = lhsegments[i] || 0 rhs = rhsegments[i] || 0 i += 1 next if lhs == rhs return -1 if String === lhs && Numeric === rhs return 1 if Numeric === lhs && String === rhs return lhs <=> rhs end 0 end
-
How to detect classes contained in ruby gems in Tailwind 4
$ bundle install Fetching gem metadata from https://rubygems.org/.. Resolving dependencies... Fetching bundler-symlink 0.4.0 Installing bundler-symlink 0.4.0 Installed plugin bundler-symlink Symlinking bundled gems into /home/matous/projekty/nejremeslnici/web/.bundle/gems Bundle complete! ... $ ls -l .bundle/gems lrwxrwxrwx 1 matous users 51 Mar 5 21:32 actioncable-8.0.1 -> /home/matous/.gem/ruby/3.4.1/gems/actioncable-8.0.1/ lrwxrwxrwx 1 matous users 53 Mar 5 21:32 actionmailbox-8.0.1 -> /home/matous/.gem/ruby/3.4.1/gems/actionmailbox-8.0.1/ lrwxrwxrwx 1 matous users 52 Mar 5 21:32 actionmailer-8.0.1 -> /home/matous/.gem/ruby/3.4.1/gems/actionmailer-8.0.1/ lrwxrwxrwx 1 matous users 50 Mar 5 21:32 actionpack-8.0.1 -> /home/matous/.gem/ruby/3.4.1/gems/actionpack-8.0.1/ lrwxrwxrwx 1 matous users 50 Mar 5 21:32 actiontext-8.0.1 -> /home/matous/.gem/ruby/3.4.1/gems/actiontext-8.0.1/ lrwxrwxrwx 1 matous users 50 Mar 5 21:32 actionview-8.0.1 -> /home/matous/.gem/ruby/3.4.1/gems/actionview-8.0.1/ ...
-
How to build an API with Ruby and Sinatra
# Gemfile source 'https://rubygems.org' gem 'sinatra' gem 'mongoid' gem 'sinatra-contrib' gem 'rackup' gem 'puma' gem 'ostruct' gem 'json'
-
Some tips for making a ruby gem
All the things we've done for a gem are to release it on https://rubygems.org/. To release the gem, you need an account on https://rubygems.org/ first. So, sign up for one if you haven't done that yet. Then execute rake build to build a gem file under pkg, it should look like pkg/your_gem-0.0.1.gem. The version number 0.0.1 is defined in the lib/your_gem/version.rb. Finally, we call
- Fix Gem:SafeMarshal buffer overrun with lengths larger than fit into a byte
-
New Release: turkish_id v1.7.0
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
-
SSL verification error at depth 2 - Zscaler
gem install asciidoctor-pdf ERROR: SSL verification error at depth 2: unable to get local issuer certificate (20) ERROR: You must add /......../=Zscaler Root CA/[email protected] to your local trusted store ERROR: SSL verification error at depth 2: unable to get local issuer certificate (20) ERROR: You must add /......../=Zscaler Root CA/[email protected] to your local trusted store ERROR: SSL verification error at depth 2: unable to get local issuer certificate (20) ERROR: You must add /......../=Zscaler Root CA/[email protected] to your local trusted store ERROR: Could not find a valid gem 'asciidoctor-pdf' (>= 0), here is why: Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 peeraddr=151.101.1.227:443 state=error: certificate verify failed (unable to get local issuer certificate) (https://rubygems.org/specs.4.8.gz) ERROR: SSL verification error at depth 2: unable to get local issuer certificate (20) ERROR: You must add /......../=Zscaler Root CA/[email protected] to your local trusted store ERROR: SSL verification error at depth 2: unable to get local issuer certificate (20) ERROR: You must add /......../=Zscaler Root CA/[email protected] to your local trusted store
- Fundamentals of React Native App Development: Dependencies, Performance, Native Modules, and Publishing Guide
-
Ruby Debugging, VS Code, Gems, and Bundler!
source 'https://rubygems.org' gem 'fibonacci'
-
An Introduction to Nix for Ruby Developers
# From gemset.nix # actioncable = { dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver" "zeitwerk"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0ifiz4nd6a34z2n8lpdgvlgwziy2g364b0xzghiqd3inji0cwqp1"; type = "gem"; }; version = "7.1.3.2"; }; ## From Gemfile.lock # actioncable (7.1.3.2) actionpack (= 7.1.3.2) activesupport (= 7.1.3.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6)
What are some alternatives?
sorbet - A fast, powerful type checker designed for Ruby
dotenv - A Ruby gem to load environment variables from `.env`.
dry-validation - Validation library with type-safe schemas and rules
verdaccio - A lightweight Node.js private proxy registry
RubyGems - The Ruby community's gem hosting service.
rbenv - Manage your app's Ruby environment

