Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module AnimalMixin
- class << self
- def included(base)
- base.extend ClassMethods
- end
- end
- module ClassMethods
- def inheritable_attributes(*args)
- @inheritable_attributes ||= [:inheritable_attributes]
- @inheritable_attributes += args
- args.each do |arg|
- class_eval %(
- class << self; attr_accessor:#{arg} end
- ), __FILE__, __LINE__ - 2
- end
- @inheritable_attributes
- end
- def inherited(subclass)
- @inheritable_attributes.each do |inheritable_attribute|
- instance_var = "@#{inheritable_attribute}"
- subclass.instance_variable_set(instance_var, instance_variable_get(instance_var))
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement