Sha256: 26db25a9ae2d158d06c4ae676e02fc309a00f4f186198c9a3b95c10f1236e832

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

require 'jsdoc-toolkit'
require 'pathname'

module JsDocToolkit
  class Generator
    DefaultOptions = {:recurse => "-r", :all => "-a", :template => %Q[-t=#{JsDocTemplatePath + "jsdoc"}]}
    
    def build(options)
      raise RuntimeError, "java was not found in your PATH." if `which java 2>/dev/null`.strip.empty?
      raise ArgumentError, ":src_dir was not specified" unless options[:src_dir]
      raise ArgumentError, ":doc_dir was not specified" unless options[:doc_dir]
      
      src_dir, doc_dir = Pathname(options[:src_dir]), Pathname(options[:doc_dir])
      raise ArgumentError, ":src_dir does not exist" unless src_dir.exist?
      raise ArgumentError, ":doc_dir does not exist" unless doc_dir.exist?
      run_jsdoc(src_dir, doc_dir)
    end
  
  private
  
    def run_jsdoc(src_dir, doc_dir)
      system("java", "-jar", JsDocJarPath, JsDocJsPath, %Q[-d=#{doc_dir.expand_path}], *merge_defaults_with_src(src_dir))
    end
    
    def merge_defaults_with_src(src_dir)
      DefaultOptions.values + [src_dir.expand_path.to_s]
    end
    
  end # Generator
end   # JsDocToolkit

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jsdoc-toolkit-0.1.3 lib/jsdoc-toolkit/generator.rb
jsdoc-toolkit-0.1.2 lib/jsdoc-toolkit/generator.rb
jsdoc-toolkit-0.1.1 lib/jsdoc-toolkit/generator.rb
jsdoc-toolkit-0.1.0 lib/jsdoc-toolkit/generator.rb