Skip to content

Instantly share code, notes, and snippets.

@ELLIOTTCABLE
Created September 23, 2008 16:51
Show Gist options
  • Save ELLIOTTCABLE/12333 to your computer and use it in GitHub Desktop.
Save ELLIOTTCABLE/12333 to your computer and use it in GitHub Desktop.
class Foo
def self.inherited klass
klass.send :class_variable_set, :@@attribute_initializations, []
klass.send :define_method, :bar do
self.class.send :class_variable_get, :@@attribute_initializations
end
end
end
class A < Foo
@@attribute_initializations << :a
p @@attribute_initializations
end
class B < Foo
@@attribute_initializations << :b
p @@attribute_initializations
end
p A.new.bar
p B.new.bar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment