devel/rubygem-cow_proxy 0.3.3 FreeBSD
Copy-on-write proxy for frozen Ruby objects
- System
- FreeBSD
- Repository
- FreeBSD ports
- Maintainer
- [email protected]
- License
- MIT
- Categories
- devel, rubygems
- Package size
- 9.0 KiB, 25.2 KiB installed
Description
This is a copy-on-write proxy for frozen Ruby objects, so duplicating frozen object is delayed until a method tries to change frozen object.
CowProxy classes for array, hash, string and struct are provided. Objects from other classes will be proxied without copy-on-write, you have to create a CowProxy class for them to enable copy-on-write. Also you have to create CowProxy class for each object which have any getter method with arguments, because default CowProxy won't wrap returned value. Immutable classes such as Integer or TrueClass doesn't need copy-on-write proxy because they can't be changed.
You can wrap every object in a proxy. Proxy will always send method calls to wrapped object, and wrap returned value with a CowProxy class if method has no argument, so a proxy will always return proxy objects for getters without arguments. When a method tries to change a frozen object, if proxy has copy-on-write enabled, it will duplicate frozen object and will send next method calls to duplicated object, in other case an exception is raised.
In the other systems
| System | Port | Version |
|---|---|---|
| FreeBSD | devel/rubygem-cow_proxy | 0.3.3 |
| DragonFly | devel/rubygem-cow_proxy | 0.3.3 |
Install
Binary package:
pkg install rubygem-cow_proxy
From the ports tree:
cd /usr/ports/devel/rubygem-cow_proxy/ && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= rubygem-cow_proxy>0:devel/rubygem-cow_proxy
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 0.3.3 | 0.3.3 | 0.3.3 | 0.3.3 | 0.3.3 |
| FreeBSD:14:quarterly | 0.3.3 | 0.3.3 | n/a | 0.3.3 | 0.3.3 |
| FreeBSD:15:latest | 0.3.3 | 0.3.3 | n/a | 0.3.3 | 0.3.3 |
| FreeBSD:15:quarterly | 0.3.3 | 0.3.3 | n/a | n/a | n/a |
| FreeBSD:16:latest | 0.3.3 | 0.3.3 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/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 1
Configuration
No options to configure.
- USES
- gem
- Service scripts
- none
Files
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| rubygem/cow_proxy-0.3.3.gem | 11264 | 705b307b714005366a64ce3ec15d5219cdfae0966a46fa4cf075d011bcc8618c |
Master sites 1
- RG
Commit history 0
No commits in the history this site was built from.