classes = {} methods = {} properties = {} params = {} events = {} exceptions = {} examples = {} returns = {} sees = {} {! var ownProperties = symbol.properties.filter(function($) { return $.memberOf == symbol.alias && !$.isNamespace; }); var ownMethods = symbol.methods.filter(function($) { return $.memberOf == symbol.alias && !$.isNamespace; }); var ownEvents = symbol.events.filter(function($) { return $.memberOf == symbol.alias && !$.isNamespace; }); !} project = Jsdoc::Project.where(:slug => {+ toRuby(data.projectSlug) +}).first if project.nil? project = Jsdoc::Project.create(:name => {+ toRuby(data.projectName) +}, :slug => {+ toRuby(data.projectSlug) +}) end version = project.versions.where(:version_number => {+ toRuby(data.versionNumber) +}).first if version.nil? version = project.versions.create(:version_number => {+ toRuby(data.versionNumber) +}) end # Class for {+ symbol.alias +} classes['{+ symbol.alias +}'] = version.symbols.create( 'name' => {+ toRuby(symbol.name) +}, 'alias' => {+ toRuby(symbol.alias) +}, 'member_of' => {+ toRuby(symbol.memberOf) +}, 'symbol_type' => {+ toRuby(symbol.symbolType) +}, 'version' => {+ toRuby(symbol.version) +}, 'extends' => {+ toRuby(symbol.extendsList) +}, 'description' => {+ toRuby(symbol.classDesc || symbol.desc) +}, 'defined_in' => {+ toRuby(symbol.srcFile) +}, 'since' => {+ toRuby(symbol.since) +}, 'is_deprecated' => {+ toRuby(!!symbol.deprecated) +}, 'deprecated_description' => {+ toRuby(symbol.deprecated) +} ) # Constructor for {+ symbol.alias +} methods['{+ symbol.alias +}'] = Jsdoc::Function.create( 'symbol_id' => classes['{+ symbol.alias +}'].id, 'name' => {+ toRuby(symbol.name) +}, 'alias' => {+ toRuby(symbol.alias) +}, 'member_of' => {+ toRuby(symbol.memberOf) +}, 'is_private' => {+ toRuby(symbol.isPrivate) +}, 'is_inner' => {+ toRuby(symbol.isInner) +}, 'is_static' => {+ toRuby(symbol.isStatic) +}, 'function_type' => "constructor", 'version' => {+ toRuby(symbol.version) +}, 'author' => {+ toRuby(symbol.author) +}, 'since' => {+ toRuby(symbol.since) +}, 'description' => {+ toRuby(symbol.desc) +} ) classes['{+ symbol.alias +}'].update_attribute('constructor_id', methods['{+ symbol.alias +}'].id) # Params for {+ symbol.alias +} constructor {! var i = 1; !} # Param {+ symbol.alias +}({+ item.name +}) params['{+ symbol.alias +}({+ item.name +})'] = Jsdoc::Param.create( 'function_id' => methods['{+ symbol.alias +}'].id, 'name' => {+ toRuby(item.name) +}, 'order' => {+ toRuby((i++)) +}, 'default' => {+ toRuby(item.defaultValue) +}, 'is_optional' => {+ toRuby(item.isOptional) +}, 'param_type' => {+ toRuby(item.type) +}, 'description' => {+ toRuby(item.desc) +} ) # Examples for {+ symbol.alias +} {! var i = 1; !} examples['{+ symbol.alias +}:{+ (i++) +})'] = Jsdoc::Example.create( 'example_for_id' => methods['{+ symbol.alias +}'].id, 'example_for_type' => 'Jsdoc::Function', 'code' => {+ toRuby(item.toString()) +} ) # Exceptions for {+ symbol.alias +} constructor {! var i = 1; !} # Exception {+ symbol.alias +}:{+ item.type +} exceptions['{+ symbol.alias +}:{+ (i++) +})'] = Jsdoc::Throw.create( 'function_id' => methods['{+ symbol.alias +}'].id, 'throw_type' => {+ toRuby(item.type) +}, 'description' => {+ toRuby(item.desc) +} ) # Requires for {+ symbol.alias +} {! var i = 1; !} # Require for {+ symbol.alias +} requires['{+ symbol.alias +}:{+ (i++) +})'] = Jsdoc::Require.create( 'function_id' => methods['{+ symbol.alias +}'].id, 'require' => {+ toRuby(item.toString()) +} ) # Sees for {+ symbol.alias +} {! var i = 1; !} # See for {+ symbol.alias +} sees['{+ symbol.alias +}:{+ (i++) +})'] = Jsdoc::See.create( 'see_for_id' => methods['{+ symbol.alias +}'].id, 'see_for_type' => 'Jsdoc::Function', 'description' => {+ toRuby(item.toString()) +} ) # Methods for {+ symbol.alias +} # Method {+ member.alias +} methods['{+ member.alias +}'] = Jsdoc::Function.create( 'symbol_id' => classes['{+ symbol.alias +}'].id, 'name' => {+ toRuby(member.name) +}, 'alias' => {+ toRuby(member.alias) +}, 'member_of' => {+ toRuby(member.memberOf) +}, 'is_private' => {+ toRuby(member.isPrivate) +}, 'is_inner' => {+ toRuby(member.isInner) +}, 'is_static' => {+ toRuby(member.isStatic) +}, 'function_type' => "method", 'version' => {+ toRuby(member.version) +}, 'author' => {+ toRuby(member.author) +}, 'since' => {+ toRuby(member.since) +}, 'description' => {+ toRuby(member.desc) +} ) # Params for {+ member.alias +} {! var i = 1; !} # Param {+ member.alias +}({+ item.name +}) params['{+ member.alias +}({+ item.name +})'] = Jsdoc::Param.create( 'function_id' => methods['{+ member.alias +}'].id, 'name' => {+ toRuby(item.name) +}, 'order' => {+ toRuby((i++)) +}, 'default' => {+ toRuby(item.defaultValue) +}, 'is_optional' => {+ toRuby(item.isOptional) +}, 'param_type' => {+ toRuby(item.type) +}, 'description' => {+ toRuby(item.desc) +} ) # Returns for {+ member.alias +} {! var i = 1; !} # Return {+ member.alias +}:{+ item.type +}) returns['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::Return.create( 'function_id' => methods['{+ member.alias +}'].id, 'return_type' => {+ toRuby(item.type) +}, 'description' => {+ toRuby(item.desc) +} ) # Examples for method {+ member.alias +} {! var i = 1; !} examples['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::Example.create( 'example_for_id' => methods['{+ member.alias +}'].id, 'example_for_type' => 'Jsdoc::Function', 'code' => {+ toRuby(item.toString()) +} ) # Exceptions for {+ member.alias +} {! var i = 1; !} # Exception {+ member.alias +}:{+ item.type +} exceptions['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::Throw.create( 'function_id' => methods['{+ member.alias +}'].id, 'throw_type' => {+ toRuby(item.type) +}, 'description' => {+ toRuby(item.desc) +} ) # Requires for {+ member.alias +} {! var i = 1; !} # Require for {+ member.alias +} requires['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::Require.create( 'function_id' => methods['{+ member.alias +}'].id, 'require' => {+ toRuby(item.toString()) +} ) # Sees for {+ member.alias +} {! var i = 1; !} # See for {+ member.alias +} sees['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::See.create( 'see_for_id' => methods['{+ member.alias +}'].id, 'see_for_type' => 'Jsdoc::Fuction', 'description' => {+ toRuby(item.toString()) +} ) # Properties for {+ symbol.alias +} properties['{+ member.alias +}'] = Jsdoc::Property.create( 'symbol_id' => classes['{+ symbol.alias +}'].id, 'name' => {+ toRuby(member.name) +}, 'alias' => {+ toRuby(member.alias) +}, 'member_of' => {+ toRuby(member.memberOf) +}, 'is_private' => {+ toRuby(member.isPrivate) +}, 'is_inner' => {+ toRuby(member.isInner) +}, 'is_static' => {+ toRuby(member.isStatic) +}, 'is_constant' => {+ toRuby(member.isConstant) +}, 'is_readable' => {+ toRuby(member.isReadable) +}, 'is_writable' => {+ toRuby(member.isWritable) +}, 'defined_in' => {+ toRuby(member.srcFile) +}, 'property_type' => {+ toRuby(member.type) +}, 'author' => {+ toRuby(member.author) +}, 'since' => {+ toRuby(member.since) +}, 'default' => {+ toRuby(member.defaultValue) +}, 'version' => {+ toRuby(member.version) +}, 'is_deprecated' => {+ toRuby(!!member.deprecated) +}, 'deprecated_description' => {+ toRuby(member.deprecated) +}, 'description' => {+ toRuby(member.desc) +} ) # Examples for property {+ member.alias +} {! var i = 1; !} examples['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::Example.create( 'example_for_id' => properties['{+ member.alias +}'].id, 'example_for_type' => 'Jsdoc::Property', 'code' => {+ toRuby(item.toString()) +} ) # Sees for {+ member.alias +} {! var i = 1; !} # See for {+ member.alias +} sees['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::See.create( 'see_for_id' => properties['{+ member.alias +}'].id, 'see_for_type' => 'Jsdoc::Property', 'description' => {+ toRuby(item.toString()) +} ) # Events for {+ symbol.alias +} # Event {+ member.alias +} events['{+ member.alias +}'] = Jsdoc::Function.create( 'symbol_id' => classes['{+ symbol.alias +}'].id, 'name' => {+ toRuby(member.name) +}, 'alias' => {+ toRuby(member.alias) +}, 'member_of' => {+ toRuby(member.memberOf) +}, 'is_private' => {+ toRuby(member.isPrivate) +}, 'is_inner' => {+ toRuby(member.isInner) +}, 'is_static' => {+ toRuby(member.isStatic) +}, 'function_type' => "event", 'version' => {+ toRuby(member.version) +}, 'author' => {+ toRuby(member.author) +}, 'since' => {+ toRuby(member.since) +}, 'description' => {+ toRuby(member.desc) +} ) # Params for {+ member.alias +} {! var i = 1; !} # Param {+ member.alias +}({+ item.name +}) params['{+ member.alias +}({+ item.name +})'] = Jsdoc::Param.create( 'function_id' => events['{+ member.alias +}'].id, 'name' => {+ toRuby(item.name) +}, 'order' => {+ toRuby((i++)) +}, 'default' => {+ toRuby(item.defaultValue) +}, 'is_optional' => {+ toRuby(item.isOptional) +}, 'param_type' => {+ toRuby(item.type) +}, 'description' => {+ toRuby(item.desc) +} ) # Returns for {+ member.alias +} {! var i = 1; !} # Return {+ member.alias +}:{+ item.type +}) returns['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::Return.create( 'function_id' => methods['{+ member.alias +}'].id, 'return_type' => {+ toRuby(item.type) +}, 'description' => {+ toRuby(item.desc) +} ) # Examples for event {+ member.alias +} {! var i = 1; !} examples['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::Example.create( 'example_for_id' => events['{+ member.alias +}'].id, 'example_for_type' => 'Jsdoc::Function', 'code' => {+ toRuby(item.toString()) +} ) # Exceptions for Event {+ member.alias +} {! var i = 1; !} # Exception {+ member.alias +}:{+ item.type +} exceptions['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::Throw.create( 'function_id' => events['{+ member.alias +}'].id, 'throw_type' => {+ toRuby(item.type) +}, 'description' => {+ toRuby(item.desc) +} ) # Requires for Event {+ member.alias +} {! var i = 1; !} # Require for {+ member.alias +} requires['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::Require.create( 'function_id' => events['{+ member.alias +}'].id, 'require' => {+ toRuby(item.toString()) +} ) # Sees for Event {+ member.alias +} {! var i = 1; !} # See for {+ member.alias +} sees['{+ member.alias +}:{+ (i++) +})'] = Jsdoc::See.create( 'see_for_id' => events['{+ member.alias +}'].id, 'see_for_type' => 'Jsdoc::Fuction', 'description' => {+ toRuby(item.toString()) +} ) {! var borrowedProperties = symbol.properties.filter(function($) { return $.memberOf != symbol.alias; }); var borrowedMethods = symbol.methods.filter(function($) { return $.memberOf != symbol.alias; }); var borrowedEvents = symbol.events.filter(function($) { return $.memberOf != symbol.alias; }); !} # Borrowed methods for {+ symbol.alias +} Jsdoc::BorrowedFunction.create( 'borrowed_to_id' => classes['{+ symbol.alias +}'].id, 'borrowed_from_id' => classes['{+ member.memberOf +}'].id, 'function_id' => methods['{+ member.alias +}'].id ) # Borrowed properties for {+ symbol.alias +} Jsdoc::BorrowedProperty.create( 'borrowed_to_id' => classes['{+ symbol.alias +}'].id, 'borrowed_from_id' => classes['{+ member.memberOf +}'].id, 'property_id' => properties['{+ member.alias +}'].id ) # Borrowed events for {+ symbol.alias +} Jsdoc::BorrowedFunction.create( 'borrowed_to_id' => classes['{+ symbol.alias +}'].id, 'borrowed_from_id' => classes['{+ member.memberOf +}'].id, 'function_id' => events['{+ member.alias +}'].id )