Module: RSS::Utils::InheritedReader
- Included in:
- Element, Maker::Base
- Defined in:
- lib/rss/utils.rb
Instance Method Summary collapse
- #inherited_array_reader(constant_name) ⇒ Object
- #inherited_hash_reader(constant_name) ⇒ Object
- #inherited_reader(constant_name) ⇒ Object
Instance Method Details
#inherited_array_reader(constant_name) ⇒ Object
98 99 100 101 102 |
# 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) ⇒ Object
104 105 106 107 108 |
# 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) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# 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 |