Class: Object

Inherits:
BasicObject
Defined in:
lib/defrost.rb

Instance Method Summary collapse

Instance Method Details

#defrostObject

Make your Ruby object fun again by defrosting them! The defrost method unfreezes your objects so you can mutate your objects with reckless abandon. Bring excitement and unpredictability back to your programs by making you objects mutable again.



10
11
12
13
14
15
16
17
# File 'lib/defrost.rb', line 10

def defrost
  addr = Fiddle.dlwrap self
  ptr = Fiddle::Pointer.new addr
  flags = ptr[0, Fiddle::SIZEOF_INT].unpack1("I")
  flags &= ~(1 << 11)
  ptr[0, Fiddle::SIZEOF_INT] = [flags].pack("I")
  self
end