Class: BitClust::LibraryScreen

Inherits:
EntryBoundScreen show all
Defined in:
lib/bitclust/screen.rb

Constant Summary

Constants included from NameUtils

NameUtils::CHAR_TO_MARK, NameUtils::CHAR_TO_NAME, NameUtils::CLASS_NAME_RE, NameUtils::CLASS_PATH_RE, NameUtils::CONST_PATH_RE, NameUtils::CONST_RE, NameUtils::GVAR_RE, NameUtils::LIBNAME_RE, NameUtils::MARK_TO_CHAR, NameUtils::MARK_TO_NAME, NameUtils::METHOD_NAME_RE, NameUtils::METHOD_SPEC_RE, NameUtils::MID, NameUtils::NAME_TO_CHAR, NameUtils::NAME_TO_MARK, NameUtils::TYPEMARK_RE

Instance Method Summary collapse

Methods inherited from EntryBoundScreen

#encoding, #initialize

Methods inherited from TemplateScreen

#content_type, #encoding, #google_tag_manager, #initialize, #meta_description, #meta_robots, #ruby_version

Methods included from NameUtils

build_method_id, classid2name, classname2id, classname?, decodeid, decodename_fs, decodename_url, encodeid, encodename_fs, encodename_rdocurl, encodename_url, functionname?, gvarname?, html_filename, libid2name, libname2id, libname?, method_spec?, methodid2classid, methodid2libid, methodid2mname, methodid2specparts, methodid2specstring, methodid2typechar, methodid2typemark, methodid2typename, methodname?, split_method_id, split_method_spec, typechar2mark, typechar2name, typechar?, typemark2char, typemark2name, typemark?, typename2char, typename2mark, typename?

Methods inherited from Screen

for_entry, #response, #status

Constructor Details

This class inherits a constructor from BitClust::EntryBoundScreen

Instance Method Details

#bodyObject



537
538
539
# File 'lib/bitclust/screen.rb', line 537

def body
  run_template('library')
end

#current_urlObject



555
556
557
# File 'lib/bitclust/screen.rb', line 555

def current_url
  @urlmapper.library_url(@entry.name)
end

#draw_tree(cs, &block) ⇒ Object



541
542
543
544
545
546
547
548
549
550
551
552
553
# File 'lib/bitclust/screen.rb', line 541

def draw_tree(cs, &block)
  return if cs.empty?
  if cs.first.class?
    tree = cs.group_by{|c| c.superclass }
    tree.each {|key, list| list.sort_by!{|c| c ? c.name : "" } }
    roots = tree.keys.select{|c| !c || !cs.include?(c) }
    roots.map!{|c| tree[c] }.flatten!
  else
    tree = {}
    roots = cs
  end
  draw_treed_entries(roots, tree, &block)
end