module RSS::Utils::InheritedReader - rss: Ruby Standard Library Documentation

# module RSS::Utils::InheritedReader

### Public Instance Methods

inherited_array_reader(constant_name) click to toggle source

    # File rss-0.3.1/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) click to toggle source

    # File rss-0.3.1/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) { |result, const| ... } click to toggle source

    # File rss-0.3.1/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