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