Skip to content

camertron/transfigure

Repository files navigation

transfigure

An experimental Ruby native extension that allows changing an object's class at runtime.

Installation

gem install transfigure

Usage

require 'transfigure'

The transfigure gem adds the transfigure_into! method onto Ruby's Object class. Pass it another class to switch out the object's current class to another one:

class Foo
end

class Bar
end

obj = Foo.new
obj.is_a?(Foo) # => true
obj.transfigure_into!(Bar)
obj.is_a?(Foo) # => false
obj.is_a?(Bar) # => true

Requirements

The code has only been tested on MRI (cruby) 3.1 and will definitely not work on other Ruby engines like JRuby or TruffleRuby.

Running Tests

bundle exec rspec

Authors

About

An experimental Ruby native extension that allows changing an object's class at runtime.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published