module RSS::Utils::InheritedReader
Public Instance Methods
inherited_array_reader(constant_name)
click to toggle source
# File lib/rss/utils.rb, line 98 def inherited_array_reader(constant_name) inherited_reader(constant_name) do |result, current| current + result end end
inherited_hash_reader(constant_name)
click to toggle source
# File lib/rss/utils.rb, line 104 def inherited_hash_reader(constant_name) inherited_reader(constant_name) do |result, current| result.merge(current) end end
inherited_reader(constant_name) { |result, const| ... }
click to toggle source
# File lib/rss/utils.rb, line 82 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