BSD Ports

devel/rubygem-zeitwerk 2.8.3 FreeBSD

Efficient and thread-safe code loader

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
7e2a924f6a
License
MIT
Categories
devel, rubygems
Package size
38.5 KiB, 142.3 KiB installed

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

SystemPortVersion
FreeBSDdevel/rubygem-zeitwerk2.8.3
DragonFlydevel/rubygem-zeitwerk2.6.18
MidnightBSDdevel/rubygem-zeitwerk2.6.18

Install

Binary package:

pkg install rubygem-zeitwerk

From the ports tree:

cd /usr/ports/devel/rubygem-zeitwerk/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	rubygem-zeitwerk>0:devel/rubygem-zeitwerk

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest2.8.32.8.32.6.62.6.182.8.3
FreeBSD:14:quarterly2.8.32.8.3n/a2.6.182.8.3
FreeBSD:15:latest2.8.32.8.3n/a2.6.182.6.18
FreeBSD:15:quarterly2.8.32.8.3n/an/an/a
FreeBSD:16:latest2.8.32.8.3n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

Build dependencies 6
Run dependencies 6
Required by 283

The first 100 are listed.

Configuration

No options to configure.

USES
gem
Service scripts
none

Files

distinfo 1
FileSizeSHA256
rubygem/zeitwerk-2.8.3.gem440322c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
Master sites 1
  • RG

Commit history 1

DateCommitCreditsLog message
7e2a924f6a Po-Chuan Hsieh devel/rubygem-zeitwerk: Update to 2.8.3
Changes: https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md