Class: MarkdownRubyDocumentation::Summary
- Inherits:
-
Object
- Object
- MarkdownRubyDocumentation::Summary
- Defined in:
- lib/markdown_ruby_documentation/summary.rb
Instance Attribute Summary collapse
-
#erb_methods_class ⇒ Object
readonly
Returns the value of attribute erb_methods_class.
-
#subject ⇒ Object
readonly
Returns the value of attribute subject.
Instance Method Summary collapse
-
#initialize(subject:, erb_methods_class:) ⇒ Summary
constructor
A new instance of Summary.
- #summary ⇒ Object
- #title ⇒ Object
Constructor Details
#initialize(subject:, erb_methods_class:) ⇒ Summary
Returns a new instance of Summary.
5 6 7 8 |
# File 'lib/markdown_ruby_documentation/summary.rb', line 5 def initialize(subject:, erb_methods_class:) @subject = subject @erb_methods_class = erb_methods_class end |
Instance Attribute Details
#erb_methods_class ⇒ Object (readonly)
Returns the value of attribute erb_methods_class.
3 4 5 |
# File 'lib/markdown_ruby_documentation/summary.rb', line 3 def erb_methods_class @erb_methods_class end |
#subject ⇒ Object (readonly)
Returns the value of attribute subject.
3 4 5 |
# File 'lib/markdown_ruby_documentation/summary.rb', line 3 def subject @subject end |
Instance Method Details
#summary ⇒ Object
17 18 19 20 21 22 |
# File 'lib/markdown_ruby_documentation/summary.rb', line 17 def summary descendants = ObjectSpace.each_object(Class).select { |klass| klass < subject && !klass.name.include?("InstanceToClassMethods") }.sort_by { |klass| klass.name } descendants_links = descendants.map { |d| create_link(d) }.join(", ") "Descendants: #{descendants_links}" if descendants.count >= 1 end |
#title ⇒ Object
10 11 12 13 14 15 |
# File 'lib/markdown_ruby_documentation/summary.rb', line 10 def title ancestors = subject.ancestors.select do |klass| klass.is_a?(Class) && ![BasicObject, Object, subject].include?(klass) end.sort_by { |klass| klass.name } [format_class(subject), *ancestors.map { |a| create_link(a) }].join(" < ") end |