Commit 81a5e0f1 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Merge branch 'master' into doc-tags

parents 02c3ae67 62ff5327
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -173,6 +173,7 @@ Katherine Chu,
[vjetteam](https://github.com/vjetteam),
[Chris Westbrook](https://github.com/cnstaging),
[Scott Whittaker](https://github.com/scottrobertwhittaker),
[Timo Tijhof](https://github.com/Krinkle),
and many-many others who reported bugs, submitted patches, and
provided a lot of useful input.

+3 −3
Original line number Diff line number Diff line
@@ -2,8 +2,8 @@ Gem::Specification.new do |s|
  s.required_rubygems_version = ">= 1.3.5"

  s.name = 'jsduck'
  s.version = '4.5.1'
  s.date = '2012-12-07'
  s.version = '4.6.0'
  s.date = '2013-01-09'
  s.summary = "Simple JavaScript Duckumentation generator"
  s.description = "Documentation generator for Sencha JS frameworks"
  s.homepage = "https://github.com/senchalabs/jsduck"
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
  s.add_dependency 'rdiscount'
  s.add_dependency 'json'
  s.add_dependency 'parallel'
  s.add_dependency 'therubyracer', '<= 0.11.0beta8'
  s.add_dependency 'therubyracer', '>= 0.10.0', '< 0.11.0'

  s.add_development_dependency 'rspec'
  s.add_development_dependency 'rake'
+2 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ require 'jsduck/inherit_doc'
require 'jsduck/importer'
require 'jsduck/return_values'
require 'jsduck/lint'
require 'jsduck/circular_deps'

module JsDuck

@@ -95,6 +96,7 @@ module JsDuck

    # Do all kinds of post-processing on relations.
    def apply_extra_processing
      CircularDeps.new(@relations).check_all
      InheritDoc.new(@relations).resolve_all
      Importer.import(@opts.imports, @relations, @opts.new_since)
      ReturnValues.auto_detect(@relations)
+17 −0
Original line number Diff line number Diff line
require 'jsduck/logger'

module JsDuck

  # Checks for circular dependencies
  class CircularDeps
    def initialize(classes)
      @classes = classes
    end

    # Checks all classes for circular dependencies.
    #
    # When found, exits with a fatal error message.
    def check_all
      @classes.each do |cls|
        if chain = check(cls)
          Logger.fatal("Class #{cls[:name]} has a circular dependency: #{chain}")
          exit 1
        end
      end
    end

    # Checks class for circular dependencies.
    #
+2 −1
Original line number Diff line number Diff line
@@ -208,9 +208,10 @@ module JsDuck
    end

    def detect_return(doc_map)
      has_return_tag = !!extract(doc_map, :return)
      ret = extract(doc_map, :return) || {}
      return {
        :type => ret[:type] || "undefined",
        :type => ret[:type] || (has_return_tag ? "Object" : "undefined"),
        :name => ret[:name] || "return",
        :doc => ret[:doc] || "",
        :properties => doc_map[:return] ? detect_subproperties(:return, doc_map[:return]) : []
Loading