Sha256: 435456acfb613088e0308bab9fe53ed2129a3db38341c77927f8c61c32fedff2
Contents?: true
Size: 613 Bytes
Versions: 396
Compression:
Stored size: 613 Bytes
Contents
local PhoneNumber = {} function PhoneNumber:new(string_or_number) self.__index = self local n = string.gsub(string_or_number, '%D', '') n = n:match'^1?(%d%d%d%d%d%d%d%d%d%d)$' or '0000000000' return setmetatable({ number = n }, self) end function PhoneNumber:areaCode(symbol) return self.number:sub(1, 3) end function PhoneNumber:__tostring() local phone_format = '(%d) %d-%d' local area_code, central_office_code, station_number = self:areaCode(), self.number:sub(4, 6), self.number:sub(7, 10) return phone_format:format(area_code, central_office_code, station_number) end return PhoneNumber
Version data entries
396 entries across 396 versions & 1 rubygems