Class: JsDuck::FullExporter

Inherits:
Object
  • Object
show all
Defined in:
lib/jsduck/full_exporter.rb

Overview

Exporter for all the class docs.

Direct Known Subclasses

AppExporter

Instance Method Summary collapse

Constructor Details

#initialize(relations) ⇒ FullExporter

Returns a new instance of FullExporter.



7
8
9
# File 'lib/jsduck/full_exporter.rb', line 7

def initialize(relations)
  @relations = relations
end

Instance Method Details

#export(cls) ⇒ Object

Returns all data in Class object as hash.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/jsduck/full_exporter.rb', line 12

def export(cls)
  h = cls.to_hash
  h[:members] = {}
  Class.default_members_hash.each_key do |key|
    h[:members][key] = cls.members(key)
    h[:statics][key] = cls.members(key, :statics)
  end
  h[:component] = cls.inherits_from?("Ext.Component")
  h[:superclasses] = cls.superclasses.collect {|c| c.full_name }
  h[:subclasses] = @relations.subclasses(cls).collect {|c| c.full_name }
  h[:mixedInto] = @relations.mixed_into(cls).collect {|c| c.full_name }

  h[:mixins] = cls.deps(:mixins).collect {|c| c.full_name }
  h[:parentMixins] = cls.parent_deps(:mixins).collect {|c| c.full_name }
  h[:requires] = cls.deps(:requires).collect {|c| c.full_name }
  h[:uses] = cls.deps(:uses).collect {|c| c.full_name }

  h
end