Sha256: 069b2019fef8690db0e6c9d0acee099771c850736551e26b40c200887a29bdb1
Contents?: true
Size: 671 Bytes
Versions: 44
Compression:
Stored size: 671 Bytes
Contents
module MediaShelfClassLevelInheritableAttributes def self.included(base) base.extend(MSClassMethods) end module MSClassMethods def ms_inheritable_attributes(*args) @ms_inheritable_attributes ||=[:ms_inheritable_attributes] @ms_inheritable_attributes+=args args.each do |arg| class_eval %( class <<self;attr_accessor :#{arg} end ) end @ms_inheritable_attributes end def inherited(subclass) @ms_inheritable_attributes.each do |attrib| instance_var = "@#{attrib}" subclass.instance_variable_set(instance_var, instance_variable_get(instance_var)) end end end end
Version data entries
44 entries across 44 versions & 2 rubygems