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 187
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 193
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 171
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