BSD Ports

devel/rubygem-zeitwerk-gitlab 2.6.18 FreeBSD

Efficient and thread-safe code loader

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Port added
Last update
Commit
0114d45273
License
MIT
Categories
devel, rubygems
Package size
34.8 KiB, 127.5 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-zeitwerk-gitlab2.6.18
HardenedBSDdevel/rubygem-zeitwerk-gitlab2.6.18

Install

Binary package:

pkg install rubygem-zeitwerk-gitlab

From the ports tree:

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

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

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

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.6.182.6.18--2.6.18
FreeBSD:14:quarterly2.6.182.6.18n/a-2.6.18
FreeBSD:15:latest2.6.182.6.18n/a--
FreeBSD:15:quarterly2.6.182.6.18n/an/an/a
FreeBSD:16:latest2.6.182.6.18n/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

Configuration

No options to configure.

USES
gem
Service scripts
none

Files

distinfo 1
FileSizeSHA256
rubygem/zeitwerk-2.6.18.gem40448bd2d213996ff7b3b364cd342a585fbee9797dbc1c0c6d868dc4150cc75739781
Master sites 1
  • RG

Commit history 1

DateCommitCreditsLog message
0114d45273 Po-Chuan Hsieh devel/rubygem-zeitwerk-gitlab: Add rubygem-zeitwerk-gitlab 2.6.18 (copied from rubygem-zeitwerk)