Class: JsDuck::Render::Sidebar

Inherits:
Object
  • Object
show all
Defined in:
lib/jsduck/render/sidebar.rb

Overview

Generates HTML for the class hierarchy sidebar inside class documentation.

Instance Method Summary collapse

Constructor Details

#initialize(opts) ⇒ Sidebar

Returns a new instance of Sidebar.



7
8
9
# File 'lib/jsduck/render/sidebar.rb', line 7

def initialize(opts)
  @opts = opts
end

Instance Method Details

#render(cls) ⇒ Object

Renders a sidebar for given class. Returns Array of HTML or nil.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/jsduck/render/sidebar.rb', line 13

def render(cls)
  items = [
    render_alternate_class_names(cls[:alternateClassNames]),
    render_tree(cls),
    render_dependencies(cls[:mixins], "Mixins"),
    render_dependencies(cls[:implements], "Implements"),
    render_dependencies(cls[:parentMixins], "Inherited mixins"),
    render_dependencies(cls[:requires], "Requires"),
    render_dependencies(cls[:subclasses], "Subclasses"),
    render_dependencies(cls[:mixedInto], "Mixed into"),
    render_dependencies(cls[:implementedBy], "Implemented By"),
    render_dependencies(cls[:uses], "Uses"),
    render_files(cls[:files])
  ]

  if items.compact.length > 0
    return ['<pre class="hierarchy">', items, '</pre>']
  else
    return nil
  end
end