Class: Erlapi::Generator::SHtml

Inherits:
Object
  • Object
show all
Includes:
ERB::Util, Helpers, Templatable
Defined in:
lib/erlapi/generator/shtml.rb

Defined Under Namespace

Classes: FilesTree

Constant Summary collapse

GENERATOR_DIRS =
[File.join('erlapi', 'generator')]
TYPE_CLASS =

Used in js to reduce index sizes

1
TYPE_METHOD =
2
TYPE_FILE =
3
TREE_FILE =
File.join 'panel', 'tree.js'
SEARCH_INDEX_FILE =
File.join 'panel', 'search_index.js'
FILE_DIR =
'files'
CLASS_DIR =
'classes'
RESOURCES_DIR =
File.join('resources', '.')

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#each_letter_group

Methods included from Templatable

#eval_template, #include_template, #render_template

Constructor Details

#initialize(options) ⇒ SHtml

Returns a new instance of SHtml.



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/erlapi/generator/shtml.rb', line 69

def initialize(options)
@options = options
@options.diagram = false
  @github_url_cache = {}
  
template = @options.template || 'direct'

templ_dir = self.class.template_dir template

raise "Could not find template #{template.inspect}" unless
	templ_dir

@template_dir = Pathname.new File.expand_path(templ_dir)
@basedir = Pathname.pwd.expand_path
end

Instance Attribute Details

#basedirObject (readonly)

Returns the value of attribute basedir.



53
54
55
# File 'lib/erlapi/generator/shtml.rb', line 53

def basedir
  @basedir
end

Class Method Details

.for(options) ⇒ Object



55
56
57
# File 'lib/erlapi/generator/shtml.rb', line 55

def self.for(options)
  self.new(options)
end

.template_dir(template) ⇒ Object



59
60
61
62
63
64
65
66
67
# File 'lib/erlapi/generator/shtml.rb', line 59

def self.template_dir template
$LOAD_PATH.map do |path|
  GENERATOR_DIRS.map do |dir|
			File.join path, dir, 'template', template
   end
end.flatten.find do |dir|
	File.directory? dir
end
end

Instance Method Details

#class_dirObject



99
100
101
# File 'lib/erlapi/generator/shtml.rb', line 99

def class_dir
	CLASS_DIR
end

#file_dirObject



103
104
105
# File 'lib/erlapi/generator/shtml.rb', line 103

def file_dir
	FILE_DIR
end

#generate(top_levels) ⇒ Object



85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/erlapi/generator/shtml.rb', line 85

def generate( top_levels )
@outputdir = Pathname.new( @options.op_dir ).expand_path( @basedir )
@files = top_levels.sort
@classes = RDoc::TopLevel.all_classes_and_modules.sort

# Now actually write the output
  copy_resources
  # generate_class_tree
  generate_search_index
  # generate_file_files
  # generate_class_files
  # generate_index_file
end