contracts.ruby
rbs_rails | contracts.ruby | |
---|---|---|
1 | 6 | |
285 | 1,443 | |
- | - | |
6.1 | 6.7 | |
17 days ago | 6 days ago | |
Ruby | Ruby | |
Apache License 2.0 | BSD 2-clause "Simplified" 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_rails
-
Why I Stopped Using Sorbet in All My Ruby Projects
I haven't used rbs in the context of rails, but a quick googling leads me to https://github.com/pocke/rbs_rails , which includes some rake tasks to generate rbs files for models. There are also some libs to do the same for protobuf and json-schema (which I haven't tried yet as well).
contracts.ruby
-
Ask HN: Is Ruby/RoR Dead?
https://github.com/egonSchiele/contracts.ruby?tab=readme-ov-...
-
A few words on Ruby's type annotations state
I had written a code contracts library for Ruby about 10 years ago [1]. I stopped working on it, mainly because it only provided runtime type checking, and I wanted static type checking. Nowadays my main language is typescript. I miss ruby, but can't give up the static typing that typescript provides. I really wish Ruby had a type system with the same level of support. VSCode has phenomenal TS support, and there's a community adding types to projects [2]. This is something I'd like for Ruby also.
> An integral part of this informality is relying on Matz’s taste and intuition for everything that affects the language’s core.
I think a more defined process would mean a better future for Ruby and Ruby developers.
- [1] https://github.com/egonschiele/contracts.ruby
- [2] https://github.com/DefinitelyTyped/DefinitelyTyped
-
Why I Stopped Using Sorbet in All My Ruby Projects
Contracts gem can be a nice middle-ground. It has a fairly readably syntax and only checks method inputs and outputs at runtime. We use it to annotate important core methods, while leaving the rest type-free.
-
Should gems support old Ruby versions like 2.4?
For example contracts gem needs to have a separate version/branch for ruby 3.x due to the breaking change above
-
Cells - Introduction
This gives me access to input values as long as I defined them via attr_reader. Oh what's the Contract XXX above attr_reader? They are from contracts.ruby and completely optional and won't be explained in this post. You can safely ignore those and maybe study that gem later.
What are some alternatives?
spylls - Pure Python spell-checker, (almost) full port of Hunspell
Fundamental Ruby - :books: Fundamental programming with ruby examples and references. It covers threads, SOLID principles, design patterns, data structures, algorithms. Books for reading. Repo for website https://github.com/khusnetdinov/betterdocs
rbi-central
Ruby style guide - A community-driven Ruby coding style guide
Money - A Ruby Library for dealing with money and currency conversion.
Rails style guide - A community-driven Ruby on Rails style guide
fast-ruby - :dash: Writing Fast Ruby :heart_eyes: -- Collect Common Ruby idioms.
RSpec style guide - RSpec Best Practices
Best-Ruby - Ruby Tricks, Idiomatic Ruby, Refactoring and Best Practices
Functional Ruby
ContractedValue - Library for creating contracted immutable(by default) value objects
dd-trace-rb - Datadog Tracing Ruby Client