Module:NYC bus link

require("strict");

local getArgs = require('Module:Arguments').getArgs

local p = {}

function p.getLink(frame)

local args = getArgs(frame);

local result = {};

local city;

args.city = args.city:lower();

if 'nyc' == args.city then

city = 'New York City bus';

elseif 'li' == args.city then

city = 'Long Island bus';

elseif 'nj' == args.city then

city = 'New Jersey bus';

elseif 'columbia' == args.city then

city = 'Columbia Transportation'

elseif 'princeton' == args.city then

city = 'Tiger Transit'

else

return table.concat ({'unexpected city: ', args.city, ''})

end

for _, name in ipairs (args) do

table.insert (result, table.concat ({'', name, ''}))

end

if ('yes' == args.prose) or ('y' == args.prose) then

return mw.text.listToText (result);

else

return table.concat (result, ', ');

end

end

return p;