Etiketat
`labels.list`, `list_all`, `iterate`, `list_colors`, `get`, `create`, `update` dhe `delete`.
Çdo metodë
page = client.labels.list(limit: 50)every = client.labels.list_allcolors = client.labels.list_colorsputs page.items.size, every.size, colors.size client.labels.iterate do |row| puts "#{row[:name]} #{row[:threadCount]}"end created = client.labels.create( name: "Invoices", color: {backgroundColor: "gradient:sunset"}) client.labels.update(created[:id], name: "Invoices 2027")client.labels.update(created[:id], color: {backgroundColor: "#3B82F6"}) label = client.labels.get(created[:id])puts label[:name], label.dig(:color, :backgroundColor) client.labels.delete(created[:id])list kthen një OpenEmail::Page me etiketa të renditura sipas emrit, dhe list_all e iterate përshkojnë çdo faqe. list_all kthen një Array të vetëm, dhe iterate ia jep etiketat një nga një një blloku, ose kthen një Enumerator kur nuk ka bllok. Çdo etiketë është një Hash me çelësa Symbol që mban ngjyrën e saj, threadCount dhe kur u krijua e u ndryshua për herë të fundit. list_colors kthen paletën që ofron aplikacioni, katërmbëdhjetë ngjyra të plota dhe shtatë gradientë, si një Array të thjeshtë me Hash-e, pa faqosje. type është gjithmonë user. Id-ja vjen nga emri me të cilin u krijua etiketa, ndaj Invoices është USER_INVOICES, dhe nuk ndryshon kurrë.
Fushat e create dhe update janë argumente me fjalë kyçe ose një Hash i vetëm, dhe ruajnë emrat e API-së, ndaj një ngjyrë është color: {backgroundColor: "#3B82F6"}.
Një etiketë i përket hapësirës së punës, prandaj një riemërtim, një ringjyrosje ose një fshirje e ndryshon për çdo anëtar dhe çdo çelës. threads.update vendos dhe heq etiketa në një bisedë, dhe client.threads.list(folder: "USER_INVOICES") liston çdo bisedë që mban një të tillë. Faqja e thread-eve i trajton të dyja.
Parametrat: labels.create dhe labels.update
nameString- Emri i shfaqur i etiketës, i pastruar nga hapësirat anësore para se të matet, ndaj kufiri është 1 deri në 225 karaktere pas pastrimit. I detyrueshëm te `create` dhe opsional te `update`, ku lënia e tij jashtë e ruan emrin. Vetëm hapësira jep një 422. Një emër që e ka tashmë një etiketë tjetër, i krahasuar pa dallim shkronjash të mëdha a të vogla, jep një 409 `label_name_taken`, të ngritur si `OpenEmail::ConflictError`. `create` refuzon sapo hapësira e punës të mbajë 50 etiketa, me një 422 `label_limit_reached`, të ngritur si `OpenEmail::ValidationError`.
colorHash or nil- Opsional te të dyja thirrjet. Lënia jashtë te `update` e mban ngjyrën e ruajtur, dhe `color: nil` e pastron. Trupi është i rreptë, ndaj një çelës pothuajse i saktë si `colour:` jep një 422 dhe jo një veprim të heshtur pa efekt.
color.backgroundColorStringe detyrueshme- Një ngjyrë hex (`#RGB`, `#RGBA`, `#RRGGBB` ose `#RRGGBBAA`, e ruajtur me shkronja të mëdha) ose një token gradienti: `gradient:sunset`, `gradient:ember`, `gradient:meadow`, `gradient:lagoon`, `gradient:aurora`, `gradient:berry` ose `gradient:midnight`. Një varg bosh do të thotë pa ngjyrë, dhe çdo gjë tjetër është një 422 `invalid_parameter`.
color.textColorString- Pranohet dhe shpërfillet. Ngjyra e tekstit llogaritet nga `backgroundColor`, njësoj si në aplikacion.
Përgjigjja: një etiketë
Një etiketë është një Hash me çelësa Symbol, ndaj label[:threadCount] lexon numrin, dhe label.dig(:color, :backgroundColor) lexon ngjyrën dhe jep nil kur etiketa nuk ka ngjyrë.
objectString- Gjithmonë string-u `label`. `create` dhe `update` kthejnë të njëjtin Hash, të lexuar sërish ashtu siç është ruajtur.
idString- Id-ja e etiketës, dhe ajo që marrin `get`, `update`, `delete` dhe `threads.update`. Nuk ndryshon kurrë, as pas një riemërtimi.
nameString- Ajo që sheh përdoruesi.
typeString- Gjithmonë `user`. Etiketat e sistemit nuk shërbehen kurrë këtu, dhe një id sistemi te `get` jep një 404, të ngritur si `OpenEmail::NotFoundError`.
colorHash or nil- Është nil kur etiketa nuk ka ngjyrë.
color.backgroundColorString- Ngjyra e ruajtur: një vlerë hex ose një token gradienti. `list_colors` jep dy skajet e një gradienti.
color.textColorString- Ngjyra e tekstit që aplikacioni vizaton mbi ngjyrë, `#18181B` ose `#FFFFFF`, e llogaritur në server dhe jo e ruajtur.
threadCountInteger- Sa biseda e mbajnë etiketën tani. Për një çelës të kufizuar në adresa të caktuara, numërohen vetëm bisedat e dorëzuara te ato.
createdAtString or nil- Kur u krijua etiketa, si ISO 8601, ose nil për një etiketë të krijuar para se të regjistroheshin këto kohë.
updatedAtString or nil- Riemërtimi ose ringjyrosja e fundit, si ISO 8601, ose nil për një etiketë të krijuar para se të regjistroheshin këto kohë.
Përgjigjja: një mostër ngjyre (labels.list_colors)
kindString- Nëse mostra është një ngjyrë e vetme apo një gradient: `solid` ose `gradient`.
nameString- Emri i kampionit, si `red` ose `sunset`.
valueString- Çfarë të dërgohet si `color.backgroundColor` për të përdorur këtë kampion.
solidString- Një hex i vetëm për vendet ku nuk mund të vizatohet një gradient. I njëjtë me `value` te një ngjyrë e plotë.
fromString or nil- Ku nis një gradient, i vizatuar në 135 gradë. Është nil te një ngjyrë e plotë.
toString or nil- Ku mbaron një gradient. Është nil te një ngjyrë e plotë.
textColorString- Ngjyra e tekstit që aplikacioni vizaton mbi këtë kampion.