zeitwerk
Next Rails
zeitwerk | Next Rails | |
---|---|---|
9 | 4 | |
1,914 | 449 | |
- | 1.6% | |
7.4 | 6.5 | |
17 days ago | 6 months ago | |
Ruby | Ruby | |
MIT License | 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.
zeitwerk
-
Enhancing development with REPLs - A practical guide
To setup it's pretty simple, you just need to create a file inside bin/console and require all the files you want to use on a REPL, most of the times we use gems like zeitwerk to provide the auto requiring, but if you want to do it manually, refer to the example below:
-
Performance e elegância! Escrevendo uma CLI CRUD utilizando ScyllaDB e Ruby
zeitwerk
-
How to Load Code in Ruby
Zeitwerk takes a directory and makes every file underneath it available to load. The convention is that every new sub-directory is a new module, and every file defines a class with the same name as the file.
-
To Ruby from Python
There is a gem that does that used by Rails and multiple other gems:
https://github.com/fxn/zeitwerk
It is pretty easy to set it up in any Ruby project.
-
PHP – The Right Way
I actually prefer auto-loading, which lets you iterate through a package manager much easier/faster - PHP iterated through PSR-0[0] before landing on PSR-4[1], and you can always build your own (which is what most frameworks pre-composer were doing).
With Rails 7 and Zeitwerk, the Ruby community has landed on a very similar auto-loading system as PHP now[2] with constants translating to paths by convention.
[0]: https://github.com/php-fig/fig-standards/blob/master/accepte...
[1]: https://www.php-fig.org/psr/psr-4/
[2]: https://github.com/fxn/zeitwerk#the-idea-file-paths-match-co...
-
One Class/Module per File Rules - Working With Nested Modules
If you're working on non-Rails apps and need to deal with loading code, zeitwerk can be used anywhere, unlike the old Rails autoloader. It's also really easy to set up.
-
Move models, views and controllers to non-standard folders
https://github.com/fxn/zeitwerk#collapsing-directories
-
Code Loaders in Ruby: Understanding Zeitwerk
Zeitwerk
-
Ruby on Rails + Auth0: Authenticating your API with an external authentication service
With a few modifications in the gem source code, we could easily integrate Auth0 into our Rails API, but that on Rails 5. Rails 6 brought Zeitwerk code loader together, which makes it harder to perform the alterations suggested in my previous post.
Next Rails
-
Update Rails 6.1 a Rails 7
Next Rails
-
How to upgrade a Ruby on Rails application?
Dual booting: https://github.com/fastruby/next_rails and https://github.com/shopify/bootboot
-
Upgrading a legacy Ruby and Rails application.
If you want to try doing it without all the steps - https://github.com/fastruby/next_rails is pretty helpful. Otherwise, like others have said, just step through and update along the way
-
To Ruby from Python
For each version there is an upgrade page. Eg:
- https://guides.rubyonrails.org/v4.1/upgrading_ruby_on_rails....
- https://guides.rubyonrails.org/v5.0/upgrading_ruby_on_rails....
- https://guides.rubyonrails.org/v5.1/upgrading_ruby_on_rails....
You might want to give a try to this gem: https://github.com/fastruby/next_rails. I did not used it so far but I would have a Rails 4 app I will probably try to use it.
What are some alternatives?
jets - Ruby on Jets [Moved to: https://github.com/rubyonjets/jets]
RatyRate Stars Rating Gem - :star: A Ruby Gem that wraps the functionality of jQuery Raty library, and provides optional IMDB style rating.
JWT - A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.
Plutus - A Ruby on Rails Engine which provides a double entry accounting system for your application
Karafka - Ruby and Rails efficient multithreaded Kafka processing framework
rolify - Role management library with resource scoping
unholy - a ruby-to-pyc compiler
banken - Simple and lightweight authorization library for Rails
dry-system - Application framework with state management and built-in dependency injection support
Authority
unholy - a ruby-to-pyc compiler - _why mirror
KittyPolicy - Kitty Policy Ruby Authorization Gem