Sorbet is 100% compatible with #ruby. It type checks normal method definitions, and introduces backwards-compatible syntax for method signatures: https://sorbet.org/
  
  
  
  
  
  #ruby on rails 6.0 release: https://weblog.rubyonrails.org/2019/8/15/Rails-6-0-final-release/
Interesting. I thought that ruby is dead...
  Interesting. I thought that ruby is dead...
dry-effects is a practical, production-oriented implementation of algebraic effects in #ruby.
https://dry-rb.org/gems/dry-effects/0.1/
  
  
  
  
  
  https://dry-rb.org/gems/dry-effects/0.1/
Great talk with a great name: "Ruby is Dead"
But. This talk is not about just some specific problems in #ruby on its own, it spreads an inportant idea: "Programmers want tools, not toys". Sadly, that's what #python started to do: shipping toys.
One more fun fact: this talk uses #php as an example of good language evolution. And I tend to agree.
  But. This talk is not about just some specific problems in #ruby on its own, it spreads an inportant idea: "Programmers want tools, not toys". Sadly, that's what #python started to do: shipping toys.
One more fun fact: this talk uses #php as an example of good language evolution. And I tend to agree.
Ma, a #ruby micro library: events as first class citizens. It also supports async events as well.
https://gitlab.com/kris.leech/ma
  
  
  
  
  
  https://gitlab.com/kris.leech/ma
> Every time I want to write format a date in Ruby using strftime I have to look up the symbols for month, year, etc.
> This tool lets you just write your desired outcome (e.g. "March 3rd, 2019") and it generates the right #ruby code for you
Date strings are compatible with some other languages as well.
http://strftimer.com/
  
  
  
  
  
  > This tool lets you just write your desired outcome (e.g. "March 3rd, 2019") and it generates the right #ruby code for you
Date strings are compatible with some other languages as well.
http://strftimer.com/
⚡Breaking news!
Introducing Hanami::API: It's a minimal, extremely fast, lightweight Ruby framework for HTTP APIs.
http://hanamirb.org/blog/2020/02/26/introducing-hanami-api.html
#ruby
  
  
  
  
  
  Introducing Hanami::API: It's a minimal, extremely fast, lightweight Ruby framework for HTTP APIs.
http://hanamirb.org/blog/2020/02/26/introducing-hanami-api.html
#ruby
Integrating new code quality tools into existing legacy is always hard.
Here's a good article about integrating RuboCop into existing #ruby code.
We are also working on adding a single command integration of
More tools and articles about this to come!
  
  Here's a good article about integrating RuboCop into existing #ruby code.
We are also working on adding a single command integration of
wemake-python-styleguide into an existing #python legacy. Currently it is a WIP, but you can already read about it here: https://github.com/wemake-services/wemake-python-styleguide/pull/1276/files#diff-a767531552fe775f5be950388425b154R28More tools and articles about this to come!
GitHub
  
  Adds --baseline by sobolevn · Pull Request #1276 · wemake-services/wemake-python-styleguide
  Closes #1274
  Artichoke is a #ruby made with #rust 
If Artichoke does not run Ruby source code in the same way that MRI does, it is a bug. MRI compatibility means supporting a C API, if possible.
Pack a Ruby VM, application source code, configuration, and native extensions into a single-file bundle. Easy distribution without requiring installation of a Ruby VM.
Artichoke also compiles to WebAssembly with Emscripten. We plan to support compiling for wasm32-unknown-unknown targets.
https://www.artichokeruby.org/
  
  
  
  
  
  If Artichoke does not run Ruby source code in the same way that MRI does, it is a bug. MRI compatibility means supporting a C API, if possible.
Pack a Ruby VM, application source code, configuration, and native extensions into a single-file bundle. Easy distribution without requiring installation of a Ruby VM.
Artichoke also compiles to WebAssembly with Emscripten. We plan to support compiling for wasm32-unknown-unknown targets.
https://www.artichokeruby.org/
Build reactive applications with the #ruby on Rails tooling you already know and love. 
You just discovered an exciting new way to build modern, reactive, real-time apps with Ruby on Rails. StimulusReflex eliminates the complexity imposed by full-stack frontend frameworks. And, it's fast.
Inspired by #elixir's LiveView feature.
https://github.com/hopsoft/stimulus_reflex
Personal opinion: one can better use Elixir and Phoenix if LiveView is required.
  
  You just discovered an exciting new way to build modern, reactive, real-time apps with Ruby on Rails. StimulusReflex eliminates the complexity imposed by full-stack frontend frameworks. And, it's fast.
Inspired by #elixir's LiveView feature.
https://github.com/hopsoft/stimulus_reflex
Personal opinion: one can better use Elixir and Phoenix if LiveView is required.
YouTube
  
  Build a Twitter clone in 10 minutes with Rails, CableReady, and StimulusReflex
  Real time reactive applications made simple. 
- https://docs.stimulusreflex.com
- https://cableready.stimulusreflex.com
- https://rubyonrails.org
- https://codefund.io
- https://gitcoin.co
- https://github.com/hopsoft/chatter - repo of project created in…
  - https://docs.stimulusreflex.com
- https://cableready.stimulusreflex.com
- https://rubyonrails.org
- https://codefund.io
- https://gitcoin.co
- https://github.com/hopsoft/chatter - repo of project created in…
⚡ Breaking news!
#ruby 3.0.0 Released!
Ruby 3.0.0 covers those goals by:
- Performance: MJIT
- Concurrency: Ractor and Fiber Scheduler
- Typing (Static Analysis): RBS, TypeProf
https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
  
  
  
  
  
  #ruby 3.0.0 Released!
Ruby 3.0.0 covers those goals by:
- Performance: MJIT
- Concurrency: Ractor and Fiber Scheduler
- Typing (Static Analysis): RBS, TypeProf
https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
TODOs you cannot forget! 
In the Bad Old Days™, if you had a bit of code you knew you needed to change later, you might leave yourself a code comment to remind yourself to change it. For example, here's the real world code comment that inspired this method:
This was bad. The comment did nothing to remind myself or anyone else to actually delete the code. Because no one was working on this part of the system for a while, the continued existence of the redirect eventually resulted in an actual support incident (long story).
To use it, try replacing one of your TODO comments with something like this:
Nothing will happen at all until February 4th, at which point the gem will raise an error whenever this class is loaded until someone deals with it.
#ruby: https://github.com/searls/todo_or_die
#rust: https://github.com/davidpdrsn/todo-or-die
  
  
  
  
  
  In the Bad Old Days™, if you had a bit of code you knew you needed to change later, you might leave yourself a code comment to remind yourself to change it. For example, here's the real world code comment that inspired this method:
class UsersController < ApiController
# TODO: remember to delete after JS app has propagated
def show
redirect_to root_path
end
end
This was bad. The comment did nothing to remind myself or anyone else to actually delete the code. Because no one was working on this part of the system for a while, the continued existence of the redirect eventually resulted in an actual support incident (long story).
To use it, try replacing one of your TODO comments with something like this:
class UsersController < ApiController
TodoOrDie("delete after JS app has propagated", by: "2019-02-04")
def show
redirect_to root_path
end
end
Nothing will happen at all until February 4th, at which point the gem will raise an error whenever this class is loaded until someone deals with it.
#ruby: https://github.com/searls/todo_or_die
#rust: https://github.com/davidpdrsn/todo-or-die
Bash command line framework and CLI generator. Create feature-rich bash scripts using simple YAML configuration.
Bashly is a command line application (written in Ruby) that lets you generate feature-rich bash command line tools.
Bashly lets you focus on your specific code, without worrying about command line argument parsing, usage texts, error messages and other functions that are usually handled by a framework in any other programming language.
https://github.com/DannyBen/bashly
#ruby #shell
  
  
  Bashly is a command line application (written in Ruby) that lets you generate feature-rich bash command line tools.
Bashly lets you focus on your specific code, without worrying about command line argument parsing, usage texts, error messages and other functions that are usually handled by a framework in any other programming language.
https://github.com/DannyBen/bashly
#ruby #shell
KDL is a document language with xml-like semantics that looks like you're invoking a bunch of CLI commands! It's meant to be used both as a serialization format and a configuration language, much like JSON, YAML, or XML.
Features:
- Node-based, you won't have to mess with identation to make it work
- Type annotations
- Implementations in different languages: #python, #elixir, #rust, #java, #js, #ruby, #php, etc
https://kdl.dev/
  
  
  
  
  
  Features:
- Node-based, you won't have to mess with identation to make it work
- Type annotations
- Implementations in different languages: #python, #elixir, #rust, #java, #js, #ruby, #php, etc
https://kdl.dev/