Module | RSS::Utils::InheritedReader |
In: |
lib/rss/utils.rb
|
# File lib/rss/utils.rb, line 98 98: def inherited_array_reader(constant_name) 99: inherited_reader(constant_name) do |result, current| 100: current + result 101: end 102: end
# File lib/rss/utils.rb, line 104 104: def inherited_hash_reader(constant_name) 105: inherited_reader(constant_name) do |result, current| 106: result.merge(current) 107: end 108: end
# File lib/rss/utils.rb, line 82 82: def inherited_reader(constant_name) 83: base_class = inherited_base 84: result = base_class.const_get(constant_name) 85: found_base_class = false 86: ancestors.reverse_each do |klass| 87: if found_base_class 88: if klass.const_defined?(constant_name) 89: result = yield(result, klass.const_get(constant_name)) 90: end 91: else 92: found_base_class = klass == base_class 93: end 94: end 95: result 96: end