Module: RSS::Utils::InheritedReader
Class Method Summary
- .inherited_array_reader(constant_name) mod_func
- .inherited_hash_reader(constant_name) mod_func
- .inherited_reader(constant_name) mod_func
Class Method Details
.inherited_array_reader(constant_name) (mod_func)
[ GitHub ]# File 'lib/rss/utils.rb', line 169
def inherited_array_reader(constant_name) inherited_reader(constant_name) do |result, current| current + result end end
.inherited_hash_reader(constant_name) (mod_func)
[ GitHub ]# File 'lib/rss/utils.rb', line 175
def inherited_hash_reader(constant_name) inherited_reader(constant_name) do |result, current| result.merge(current) end end
.inherited_reader(constant_name) (mod_func)
[ GitHub ]# File 'lib/rss/utils.rb', line 153
def inherited_reader(constant_name) base_class = inherited_base result = base_class.const_get(constant_name) found_base_class = false ancestors.reverse_each do |klass| if found_base_class if klass.const_defined?(constant_name) result = yield(result, klass.const_get(constant_name)) end else found_base_class = klass == base_class end end result end