zeitwerk
HTTP
zeitwerk | HTTP | |
---|---|---|
9 | 6 | |
1,914 | 2,989 | |
- | 0.3% | |
7.4 | 5.9 | |
16 days ago | about 1 month 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.
HTTP
-
Best Ruby HTTP Clients in 2023
Where's http.rb?
-
Pattern Matching Interfaces in Ruby
I had submitted a PR against this repo, but I believe the two most interesting types to match against are responses and requests:
-
My project: railstart app
http
-
7 Ruby Standard libraries you should get to grips with
In the past I have opted to use the HTTP.rb gem, but for simple tasks it’s really useful to learn Net/http or even open-uri for simple GET requests.
-
The Best Ruby HTTP clients for 2021
I actually like HTTP.rb's API more, but they still can't make a decision about "base URL" API, which is quite valuable for API wrappers, e.g. @client = HTTPLibrary.new('https://api.base.com/v2/') and then @client.get('/foo').
-
Ruby on Rails + Auth0: Authenticating your API with an external authentication service
Everything will be created under the class Auth0, and it'll be using HTTP gem to perform the quests, but feel free to decide over your code organization and tools.
What are some alternatives?
jets - Ruby on Jets [Moved to: https://github.com/rubyonjets/jets]
Faraday - Simple, but flexible HTTP client library, with support for multiple backends.
JWT - A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.
httparty - :tada: Makes http fun again!
Karafka - Ruby and Rails efficient multithreaded Kafka processing framework
Typhoeus - Typhoeus wraps libcurl in order to make fast and reliable requests.
unholy - a ruby-to-pyc compiler
excon - Usable, fast, simple HTTP 1.1 for Ruby
dry-system - Application framework with state management and built-in dependency injection support
Unirest - Unirest in Ruby: Simplified, lightweight HTTP client library.
unholy - a ruby-to-pyc compiler - _why mirror
XSR - XSR - eXtremely Simple REST client