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
)