return email.md5.to_lower
end
- # Return a full-featured link to a person
- fun to_html: String
- do
- var res = ""
- var e = name.html_escape
- var page = self.page
- if page != null then
- res += "<a href=\"{page.html_escape}\">"
- end
- var gravatar = self.gravatar
- if gravatar != null then
- res += "<img src=\"https://secure.gravatar.com/avatar/{gravatar}?size=20&default=retro\"> "
- end
- res += e
- if page != null then res += "</a>"
- return res
- end
-
# The standard representation of a person.
#
# ~~~
var contrib2proj = new MultiHashMap[Person, MPackage]
# Dependency between packages
- var deps = new POSet[MPackage]
+ fun deps: HashDigraph[MPackage] do return modelbuilder.model.mpackage_importation_graph
# Number of modules by package
var mmodules = new Counter[MPackage]
cat2proj[cat].add mpackage
score += tags.length.score
end
- if deps.has(mpackage) then
- score += deps[mpackage].greaters.length.score
- score += deps[mpackage].direct_greaters.length.score
- score += deps[mpackage].smallers.length.score
- score += deps[mpackage].direct_smallers.length.score
+ if deps.has_vertex(mpackage) then
+ score += deps.predecessors(mpackage).length.score
+ score += deps.get_all_predecessors(mpackage).length.score
+ score += deps.successors(mpackage).length.score
+ score += deps.get_all_successors(mpackage).length.score
end
var contributors = mpackage.metadata.contributors
# Number of line of codes
var loc = 0
+
+ # Return the stats as a Map associating each stat key to its value
+ fun to_map: Map[String, Int] do
+ var map = new HashMap[String, Int]
+ map["packages"] = packages
+ map["maintainers"] = maintainers
+ map["contributors"] = contributors
+ map["tags"] = tags
+ map["modules"] = modules
+ map["classes"] = classes
+ map["methods"] = methods
+ map["loc"] = loc
+ return map
+ end
end
# MPackage statistics for the catalog