calog/vendor/mruby/mrbgems/mruby-toplevel-ext/README.md
2026-07-04 20:25:00 -05:00

32 lines
935 B
Markdown
Vendored

# mruby-toplevel-ext
mruby-toplevel-ext is a gem that modifies the toplevel in mruby by making the `include` method private. This means modules must be included directly into `Object` (e.g., `Object.include MyModule`) rather than at the toplevel.
## Usage
After installing this gem, the `include` method at the toplevel (main) becomes private. This is the primary change provided by this gem.
Consider the following example:
```ruby
module MyModule
def my_method
puts "Hello from MyModule!"
end
end
# This will result in a NoMethodError because include is private:
# include MyModule
# my_method
# Instead, you must include the module directly into Object:
Object.include MyModule
my_method
# => Hello from MyModule!
```
This encourages a more explicit way of extending the global object space.
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).