BETAmodules.com is in beta — open to partnerships & joint ventures.Build with us

cleanroom

v1.0.0RubyGems· Ruby

Ruby is an excellent programming language for creating and managing custom DSLs, but how can you securely evaluate a DSL while explicitly controlling the methods exposed to the user? Our good friends instance_eval and instance_exec are great, but they expose all methods - public, protected, and private - to the user. Even worse, they expose the ability to accidentally or intentionally alter the behavior of the system! The cleanroom pattern is a safer, more convenient, Ruby-like approach for limiting the information exposed by a DSL while giving users the ability to write awesome code!

The verdict
Abandoned. Last published 11 years ago. No recent activity — look for a maintained alternative.
No recent activity — look for a maintained alternative.
Live from the RubyGems registry · derived rules, not AI
How it scores
MaintenanceAbandoned
PopularityRising
SecurityClean
LicensePermissive
DepsZero deps
Maintenance
Last published 11 years ago.
Popularity
15K downloads / week
Security
No known advisories for this version (OSV).
License
Apache-2.0
Dependencies
No runtime dependencies
Recent releases
  • 1.0.011 years ago
cleanroom — Ruby is an excellent programming language for creating and managing custom DSLs, but how can you securely evaluate a DSL while explicitly controlling the methods exposed to the user? Our good friends instance_eval and instance_exec are great, but they expose all methods - public, protected, and private - to the user. Even worse, they expose the ability to accidentally or intentionally alter the behavior of the system! The cleanroom pattern is a safer, more convenient, Ruby-like approach for limiting the information exposed by a DSL while giving users the ability to write awesome code! (Ruby / RubyGems) · Modules