class JsDuck::BatchProcessor
Processes the parsing results into Relations
object.
Public Instance Methods
process(parsed_files, opts)
click to toggle source
Processes array of Source::File
objects from BatchParser
and returns instance of Relations
class.
# File lib/jsduck/batch_processor.rb, line 29 def process(parsed_files, opts) r = aggregate(parsed_files) r = pre_process(r, opts) r = to_class_objects(r, opts) return post_process(r, opts) end
Private Instance Methods
aggregate(parsed_files)
click to toggle source
Aggregates parsing results sequencially
# File lib/jsduck/batch_processor.rb, line 39 def aggregate(parsed_files) agr = Aggregator.new parsed_files.each do |file| Logger.log("Aggregating", file.filename) agr.aggregate(file) end agr.result end
post_process(relations, opts)
click to toggle source
Do all kinds of post-processing on Relations
object.
# File lib/jsduck/batch_processor.rb, line 69 def post_process(relations, opts) Process::CircularDeps.new(relations).process_all! Process::InheritDoc.new(relations).process_all! Process::Versions.new(relations, opts).process_all! Process::ReturnValues.new(relations).process_all! Process::Fires.new(relations).process_all! Process::Components.new(relations).process_all! Process::Lint.new(relations).process_all! Process::NoDoc.new(relations).process_all! relations end
pre_process(classes_hash, opts)
click to toggle source
Do all kinds of processing on the classes hash before turning it into Relations
object.
# File lib/jsduck/batch_processor.rb, line 50 def pre_process(classes_hash, opts) Process::IgnoredClasses.new(classes_hash).process_all! Process::GlobalMembers.new(classes_hash, opts).process_all! Process::Accessors.new(classes_hash).process_all! Process::Ext4Events.new(classes_hash, opts).process_all! Process::Enums.new(classes_hash).process_all! Process::Overrides.new(classes_hash, opts).process_all! classes_hash.values end
to_class_objects(docs, opts)
click to toggle source