Module: MediaShelfClassLevelInheritableAttributes::MSClassMethods

Defined in:
lib/util/class_level_inheritable_attributes.rb

Instance Method Summary collapse

Instance Method Details

#inherited(subclass) ⇒ Object



16
17
18
19
20
21
# File 'lib/util/class_level_inheritable_attributes.rb', line 16

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

#ms_inheritable_attributes(*args) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/util/class_level_inheritable_attributes.rb', line 6

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