Sha256: 7c10a594d52b7cbf11a15ea68357eadcf035ce7b35bd67a6bf44569b0ecdbe6d
Contents?: true
Size: 1.3 KB
Versions: 9
Compression:
Stored size: 1.3 KB
Contents
require 'jsduck/util/stdout' require 'jsduck/exporter/full' require 'jsduck/exporter/examples' require 'jsduck/format/batch' require 'jsduck/class_writer' require 'jsduck/guide_writer' require 'fileutils' module JsDuck # Performs the export in one of the export formats. class ExportWriter def initialize(relations, assets, opts) @relations = relations @assets = assets @opts = opts end def write format_classes clean_output_dir unless @opts.output_dir == :stdout export_classes export_examples_in_guides if @opts.export == :examples Util::Stdout.flush if @opts.output_dir == :stdout end private def export_classes cw = ClassWriter.new(get_exporter, @relations, @opts) cw.write(@opts.output_dir, ".json") end def get_exporter exporters = { :full => Exporter::Full, :examples => Exporter::Examples, } exporters[@opts.export] end def export_examples_in_guides gw = GuideWriter.new(Exporter::Examples, @assets.guides, @opts) gw.write(@opts.output_dir, ".json") end # -- util routines -- def clean_output_dir FileUtils.rm_rf(@opts.output_dir) end def format_classes Format::Batch.format_all!(@relations, @assets, @opts) end end end
Version data entries
9 entries across 9 versions & 1 rubygems