motion-weakattr

A zeroing attr_accessor replacement using WeakRef:

class MyClass
  weak_attr :delegate
end

@obj = MyClass.new
autorelease_pool {
  @obj.delegate = MyDelegate.new # wraps `delegate` in a WeakRef
  @obj.delegate
# => #<MyDelegate:0x123123>
}
@obj.delegate # after deallocation
# => nil

Installation

Add this line to your application's Gemfile:

gem 'motion-weakattr'

And then execute:

$ bundle

Or install it yourself as:

$ gem install motion-weakattr

Contact

Clay Allsopp [email protected]