devel/rubygem-zeitwerk 2.6.18 MidnightBSD
Efficient and thread-safe code loader
- System
- MidnightBSD
- Repository
- mports
- Maintainer
- [email protected]
- License
- mit
- Categories
- devel, rubygems
Description
Zeitwerk is an efficient and thread-safe code loader for Ruby.
Given a conventional file structure, Zeitwerk is able to load your project's classes and modules on demand (autoloading), or upfront (eager loading). You don't need to write require calls for your own files, rather, you can streamline your programming knowing that your classes and modules are available everywhere. This feature is efficient, thread-safe, and matches Ruby's semantics for constants.
Zeitwerk is also able to reload code, which may be handy while developing web applications. Coordination is needed to reload in a thread-safe manner. The documentation below explains how to do this.
The gem is designed so that any project, gem dependency, application, etc. can have their own independent loader, coexisting in the same process, managing their own project trees, and independent of each other. Each loader has its own configuration, inflector, and optional logger.
Internally, Zeitwerk issues require calls exclusively using absolute file names, so there are no costly file system lookups in $LOAD_PATH. Technically, the directories managed by Zeitwerk do not even need to be in $LOAD_PATH. Furthermore, Zeitwerk does only one single scan of the project tree, and it descends into subdirectories lazily, only if their namespaces are used.
In the other systems
| System | Port | Version |
|---|---|---|
| MidnightBSD | devel/rubygem-zeitwerk | 2.6.18 |
| FreeBSD | devel/rubygem-zeitwerk | 2.8.3 |
| DragonFly | devel/rubygem-zeitwerk | 2.6.18 |
| HardenedBSD | devel/rubygem-zeitwerk | 2.8.3 |
| GhostBSD | devel/rubygem-zeitwerk | 2.6.18 |
Install
Binary package:
mport install zeitwerk
From mports:
cd /usr/mports/devel/rubygem-zeitwerk && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= zeitwerk>0:devel/rubygem-zeitwerk
Dependencies
Required by 12
- devel/rubygem-activesupport60
- devel/rubygem-activesupport61
- devel/rubygem-dry-core-gitlab
- devel/rubygem-dry-logic-gitlab
- devel/rubygem-dry-types-gitlab
- devel/rubygem-vite_ruby-gitlab
- www/rubygem-actioncable-gitlab
- www/rubygem-actioncable72
- www/rubygem-actioncable80
- www/rubygem-railties-gitlab
- www/rubygem-railties72
- www/rubygem-railties80
Configuration
No options to configure.
- USES
- gem
- Service scripts
- none
Files
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| rubygem/zeitwerk-2.6.18.gem | 40448 | bd2d213996ff7b3b364cd342a585fbee9797dbc1c0c6d868dc4150cc75739781 |
Master sites 1
- RG