summaryrefslogtreecommitdiff
path: root/thing.lua
blob: 33a4bb176b5969005091d367c0d3ee527d865ab1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
local class = require'r.class'
-- author or channel or whatever
-- tuple of (pylon, pylon-specific-descriptor, optional displayname)

local Thing = class()
function Thing.make(cls, pylon, descriptor, displayname)
	displayname = displayname or descriptor
	return setmetatable({
		pylon=pylon,
		descriptor=descriptor,
		displayname=displayname,
	}, cls)
end
function Thing.__eq(self, other)
	return self.pylon == other.pylon and self.descriptor == other.descriptor
end
function Thing.__tostring(self)
	return self.pylon.name
		.. ':' .. self.descriptor
		.. (self.displayname == self.descriptor and '('..self.displayname..')' or '')
end
return Thing