Module:Sandbox/Mr. Stradivarius/sandbox3: Difference between revisions

Content deleted Content added
tweaks to dupe function (quick save)
error message tweaks
Line 1:
local dts = require( 'Module:User:Anomie/deepToString' ).deepToString -- for debugging
 
-- TODO:
-- define self.page
Line 60 ⟶ 62:
else
error( mw.ustring.format(
'errorError in argument #1 to addStringToArray: expected type "table" or "nil", got type "%s"',
type( array )
), 2 )
Line 411 ⟶ 413:
gradeObject = checkObject( gradeObject )
if gradeObject then
local gradeName = checkString( gradeObject:getGradeName() )
if not checkString( gradeName ) then
error( mw.ustring.format( 'Grade name not found (was type "%s"). Please set a grade name with the "setGradeName" method of the assessment grade object' , type( gradeName ) ), 2 )
else
self.grades = self.grades or {}
if self.grades[ gradeName ] then
error( mw.ustring.format( 'Attempted to add assessment grade %s, but assessment grade %s was already defined. Assessment grades can only be defined once.', gradeName, gradeName ), 2 )
else
self.grades[ gradeName ] = gradeObject
Line 465 ⟶ 469:
checkSelfAssessmentScale( self, 'checkForDuplicateTriggers' )
local grades = self:getGrades()
mw.log( dts( grades ) )
if type( grades ) ~= 'table' then return end
local exists = {}
Line 476 ⟶ 481:
if trigger then
if exists[ trigger ] then
error( mw.ustring.format( 'Duplicate trigger valuevalues "%s" detected in the assessment scale object', trigger ), 2 )
else
exists[ trigger ] = true
Line 725 ⟶ 730:
local fooGrade = qualityGrade:new()
fooGrade:addTrigger( 'fa' )
fooGrade:setGradeName( 'foo' )
myqs:addGrade( fooGrade )
myqs:checkForDuplicateTriggers()