Module:Article history/Category
< Module:Article history
Jump to navigation
Jump to search
Revision as of 00:38, 12 February 2015 by wiki>Mr. Stradivarius (Protected Module:Article history/Category: High-risk Lua module ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite)))
Documentation for this module may be created at Module:Article history/Category/doc
------------------------------------------------------------------------------- -- Category class -- This module makes a Category class for use in [[Module:Article history]]. -- It provides a unified interface for the creation of category links. With -- this class, categories can passed between objects without concerns about -- interoperability and still have their values and sort keys easily -- accessible. ------------------------------------------------------------------------------- local checkType = require('libraryUtil').checkType local CATEGORY_NS_TEXT = mw.site.namespaces[14].name local Category = {} Category.__index = Category function Category.new(category, sortKey) checkType('Category.new', 1, category, 'string') checkType('Category.new', 2, sortKey, 'string', true) local obj = setmetatable({}, Category) obj.category = category obj.sortKey = sortKey return obj end function Category:__tostring() if self.sortKey then return string.format( '[[%s:%s|%s]]', CATEGORY_NS_TEXT, self.category, self.sortKey ) else return string.format( '[[%s:%s]]', CATEGORY_NS_TEXT, self.category ) end end return Category