zeitwerk
knock
zeitwerk | knock | |
---|---|---|
9 | 3 | |
1,914 | 3,663 | |
- | - | |
7.4 | 6.1 | |
16 days ago | 9 days ago | |
Ruby | Python | |
MIT License | GNU General Public License v3.0 only |
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.
knock
-
Tools for Discovering Subdomains
Knock - https://github.com/guelfoweb/knock
- Rapid7 have decided to close public access to their Open Data internet research, a fantastic resource for passive domain reconnaissance/OSINT
-
Trouble git cloning
fatal: unable to access 'https://github.com/guelfoweb/knock.git/': Could not resolve proxy: 127.0.01
What are some alternatives?
jets - Ruby on Jets [Moved to: https://github.com/rubyonjets/jets]
example
JWT - A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.
Doorkeeper - Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape.
Karafka - Ruby and Rails efficient multithreaded Kafka processing framework
genkan - :door::running:Genkan is authentication engine for Rails
unholy - a ruby-to-pyc compiler
Sorcery - Magical Authentication
dry-system - Application framework with state management and built-in dependency injection support
Devise - Flexible authentication solution for Rails with Warden.
unholy - a ruby-to-pyc compiler - _why mirror