Date: Mon, 26 Aug 2019 11:51:37 +0000 (UTC) From: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r509938 - in head/devel: . rubygem-zeitwerk Message-ID: <201908261151.x7QBpbCg025010@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sunpoet Date: Mon Aug 26 11:51:37 2019 New Revision: 509938 URL: https://svnweb.freebsd.org/changeset/ports/509938 Log: Add rubygem-zeitwerk 2.1.9 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. WWW: https://github.com/fxn/zeitwerk Added: head/devel/rubygem-zeitwerk/ head/devel/rubygem-zeitwerk/Makefile (contents, props changed) head/devel/rubygem-zeitwerk/distinfo (contents, props changed) head/devel/rubygem-zeitwerk/pkg-descr (contents, props changed) Modified: head/devel/Makefile Modified: head/devel/Makefile ============================================================================== --- head/devel/Makefile Mon Aug 26 11:50:27 2019 (r509937) +++ head/devel/Makefile Mon Aug 26 11:51:37 2019 (r509938) @@ -6088,6 +6088,7 @@ SUBDIR += rubygem-xpath SUBDIR += rubygem-yajl-ruby SUBDIR += rubygem-yui-compressor + SUBDIR += rubygem-zeitwerk SUBDIR += rubygem-zentest SUBDIR += rudeconfig SUBDIR += rudiments Added: head/devel/rubygem-zeitwerk/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rubygem-zeitwerk/Makefile Mon Aug 26 11:51:37 2019 (r509938) @@ -0,0 +1,17 @@ +# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= zeitwerk +PORTVERSION= 2.1.9 +CATEGORIES= devel rubygems +MASTER_SITES= RG + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Efficient and thread-safe code loader + +LICENSE= MIT + +USES= gem +USE_RUBY= yes + +.include <bsd.port.mk> Added: head/devel/rubygem-zeitwerk/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rubygem-zeitwerk/distinfo Mon Aug 26 11:51:37 2019 (r509938) @@ -0,0 +1,3 @@ +TIMESTAMP = 1566809897 +SHA256 (rubygem/zeitwerk-2.1.9.gem) = fcdf5dd8ba6aab1867735dfd02730e1f92a08cbec4d677f16629c903c4c3513d +SIZE (rubygem/zeitwerk-2.1.9.gem) = 20992 Added: head/devel/rubygem-zeitwerk/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rubygem-zeitwerk/pkg-descr Mon Aug 26 11:51:37 2019 (r509938) @@ -0,0 +1,25 @@ +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. + +WWW: https://github.com/fxn/zeitwerk
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908261151.x7QBpbCg025010>