module RequestLogAnalyzer::ClassLevelInheritableAttributes

Public Instance Methods

inheritable_attributes(*args) click to toggle source
   # File lib/request_log_analyzer/class_level_inheritable_attributes.rb
 3 def inheritable_attributes(*args)
 4   @inheritable_attributes ||= [:inheritable_attributes]
 5   @inheritable_attributes += args
 6   args.each do |arg|
 7     class_eval %(
 8       class << self; attr_accessor :#{arg} end
 9     )
10   end
11   @inheritable_attributes
12 end
inherited(subclass) click to toggle source
Calls superclass method
   # File lib/request_log_analyzer/class_level_inheritable_attributes.rb
14 def inherited(subclass)
15   @inheritable_attributes.each do |inheritable_attribute|
16     instance_var = "@#{inheritable_attribute}"
17     subclass.instance_variable_set(instance_var, instance_variable_get(instance_var))
18   end
19 
20   super
21 end