Skip to content
`Delegator` implementation for mruby
C Ruby
Branch: wip
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


(日本語で書かれた原文 / Written original README in Japanese)

Delegated object available on mruby.

I'm trying to mimic Delegate, which is a standard attachment library of CRuby.

Cautions and limitations

It is not an implementation similar to CRuby.

  • The immediate parent of the Delegator class is BasicObject, and customized Kernel objects do not include.
  • The Delegator instance does not define the method of the delegate object, but it will be called via the method_missing method. This is to save heap memory.
  • The DelegatorClass method defined in CRuby is undefined.
  • Some Delegator instance methods defined in CRuby are undefined.

How to install

Build mruby by adding it as a gem to build_config.rb. do |conf|
  conf.gem "mruby-delegate", github: "dearblue/mruby-delegate"

If you want to depend on the mruby gem package, write it in mrbgem.rake.

# mrbgem.rake"mruby-XXX") do |spec|
  spec.add_dependency "mruby-delegate", github: "dearblue/mruby-delegate"

How to use

Maybe it works as ... hopefully.


  • Package name: mruby-delegate
  • Version: 0.1
  • Product quality: CONCEPT
  • Author: dearblue
  • Project page:
  • Licensing: Creative Commons Zero License (CC0; likely Public Domain)
  • Required mruby version: 1.4.0 or later
  • Object code size: 2 Ki bytes on FreeBSD 12.0 AMD64 with clang
  • Heap usages per one delegate instance (on FreeBSD 12.0 AMD64):
    • 48 bytes: delegator object
    • 20×N bytes: delegated method table (N is count of string methods (probably more than 160))
    • about 3500 bytes: total
  • Dependency external mrbgems: (NONE)
  • Bundled C libraries (git-submodules): (NONE)
You can’t perform that action at this time.