rbs VS dry-validation

Compare rbs vs dry-validation and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
rbs dry-validation
20 4
1,871 1,314
1.0% 0.3%
9.7 6.0
3 days ago 7 months ago
Ruby Ruby
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of rbs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-21.
  • A decent VS Code and Ruby on Rails setup
    8 projects | news.ycombinator.com | 21 Feb 2024
    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
    3 projects | news.ycombinator.com | 11 Feb 2024
    I don't know what you mean by "Static typing is not webscale".

    > https://news.ycombinator.com/item?id=39159481

    Bugs exist in all code written in all programming languages and you will find bugs in programs written in statically typed languages too as you know. Programming languages are rarely chosen for the absense of bugs alone though or we'd all be using SPARK Ada or something.

    > spitting out code as fast as your keyboard works, or is is not having features do weirdo things

    This is a straw man. No-one has suggested that "spitting out code as fast as your keyboard works" is what Rails allows you to do, or that Ruby code results in features that "do weirdo things".

    In reality engineer productivity is important and Rails enables it in a web environment.

    > I have more than once tried to contribute fixes to GitLab's codebase, and every time I open the thing in RubyMine it hurpdurps having no earthly idea where symbols come from or what completions are legal in any given context.

    Yes, I prefer writing statically typed languages and I would /greatly/ prefer Ruby to be statically typed for a number of reasons, but it will likely never be so in a way I consider to be usable (see https://github.com/ruby/rbs). Not being able to definitively tell what a method returns or where one is defined is a total PITA, but it's one of the array of up and downsides to Ruby, with each language having a different set.

    > I trust JetBrains analysis deeply, so if they can't deduce what's going on, then it must take an impressive amount of glucose to memorize every single surface area one needs to implement a feature.

    You don't need to know how all of Rails works to write a Rails app, as I'm sure you know, so this seems like another mis-representation of the truth, just as you don't need to know how the compiler or CPUs work to do a lot of (most?) programming.

    > That or, hear me out, maybe "it works on my machine" is a close to correct as the language is going to get without explicit type hints as a pseudo static typing

    You seem to be suggesting that Ruby on Rails applications behave unpredictably on a machine to machine basis but that's not really how Ruby works in practice, or matching on my experience.

  • InfoQ Interview: Rich Kilmer on the Power of Ruby
    1 project | news.ycombinator.com | 15 Jun 2023
    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
    11 projects | news.ycombinator.com | 7 Apr 2023
  • Ruby 3.2’s YJIT is Production-Ready
    8 projects | news.ycombinator.com | 17 Jan 2023
    Ruby does have optional type annotations, if you want them:

    https://github.com/ruby/rbs

  • Crystal for Rubyists
    9 projects | news.ycombinator.com | 28 Nov 2022
  • Is anyone using RBS?
    3 projects | /r/ruby | 8 Mar 2022
    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
    2 projects | dev.to | 25 Dec 2021
    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.
  • Catching up on things
    7 projects | /r/ruby | 19 Dec 2021
    Here is link number 1 - Previous text "RBS"
  • The future of rbs collection
    9 projects | dev.to | 28 Sep 2021
    Partial clone reduces the impact, but it just procrastinates the problems.

dry-validation

Posts with mentions or reviews of dry-validation. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-02.
  • Payload and parameters validation in Rails
    1 project | dev.to | 9 Mar 2024
    Luckily, there is a large pool of community wisdom around and outside of Rails which may help us a lot here. Instead of inventing our own wheel for now we will use one invented before us by others. Pretty much sure you have seen this magic used outside of Hogwarts before: https://dry-rb.org/gems/dry-validation.
  • Leveraging complexity of service objects with dry libraries
    3 projects | dev.to | 2 Sep 2021
    ➡️ First, we need to upgrade the validation process. For this will be used the gem dry-validation. It adds validations that are expressed through contract objects.
  • How to express this data type in Ruby?
    2 projects | /r/ruby | 13 Feb 2021
    I wouldn't add any type validations in my first version. Should they be needed I would use https://github.com/dry-rb/dry-validation.

What are some alternatives?

When comparing rbs and dry-validation you can also consider the following projects:

sorbet - A fast, powerful type checker designed for Ruby

Ruby JSON Schema Validator - Ruby JSON Schema Validator

typeprof - An experimental type-level Ruby interpreter for testing and understanding Ruby code

activerecord-validations-helpers

steep - Static type checker for Ruby

rails_or - Cleaner syntax for writing OR Query in Rails 5, 6. And also add #or support to Rails 3 and 4.

rubygems - Library packaging and distribution for Ruby.

activerecord_json_validator - 🔩 ActiveRecord::JSONValidator makes it easy to validate JSON attributes against a JSON schema.

Ruby on Rails - Ruby on Rails

Ryakuzu - :heart_eyes_cat: Interface for schema.rb

RubyGems - The Ruby community's gem hosting service.

FindWithOrder - Provides a simple way to find records in the same order of input array. Has better performance than manually sorting. (Support both PostgreSQL and MySQL)