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
# 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[:parentMixins], "Inherited mixins"),
    render_dependencies(cls[:requires], "Requires"),
    render_dependencies(cls[:subclasses], "Subclasses"),
    render_dependencies(cls[:mixedInto], "Mixed into"),
    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