
Teilen Sie:
Ben ist ein Entwickler im zweiten Beruf, der zuvor ein Jahrzehnt in den Bereichen Erwachsenenbildung, Community-Organisation und Non-Profit-Management tätig war. Er arbeitete als Anwalt für Entwickler bei Vonage. Er schreibt regelmäßig über die Überschneidung von Gemeindeentwicklung und Technologie. Ursprünglich aus Südkalifornien stammend und lange Zeit in New York City ansässig, wohnt Ben jetzt in der Nähe von Tel Aviv, Israel.
Nexmo Ruby v7.0.0 Veröffentlichung
Lesedauer: 2 Minuten
Das Nexmo Ruby SDK hat vor kurzem eine neue Version, v7.0.0, veröffentlicht. Diese neue Version hat eine verbesserte Unterstützung für die API-Fehlerbehandlung eingeführt, einen bestehenden Klassennamen umbenannt, um mit dem Rest des Nexmo SDKs übereinzustimmen, und mehr statische Typisierung hinzugefügt.
API-Fehlerbehandlung
Die wichtigste Änderung in dieser neuen Version ist die Art und Weise, wie das SDK mit Fehlern aus unseren frühesten Legacy-APIs umgeht. Es gibt einige Nexmo-APIs, wie zum Beispiel die SMS API, die einen 200 OK HTTP-Status zusammen mit einem Fehlercode zurück, um zu melden, dass etwas schief gelaufen ist.
Zuvor behandelte das SDK alle API-Antworten, die ein 200 OK zurückgaben, als Erfolg behandelt und den Text der Antwort an den Benutzer weitergegeben. Daher mussten die Entwickler in ihrem Code bedingte Prüfungen auf einen Fehlercode in der 200 OK Antwort prüfen, um zu wissen, ob etwas falsch war. Ein klassisches Beispiel dafür, wie dies früher mit dem Ruby SDK gemacht wurde, ist das folgende:
response = client.sms.send(
from: 'Acme Inc',
to: TO_NUMBER,
text: 'A text message sent using the Nexmo SMS API'
)
if response['messages'].first['status'] == 0
puts 'Success'
else
puts "Error Code #{response['messages'].first['status']}: #{response['messages'].first['error-text']}"
endJetzt prüft das SDK für Sie, ob ein Statuscode ungleich Null ist, und löst automatisch eine Ausnahme in Ihrem Code aus, wenn der Statuscode ungleich Null ist. Damit entfällt die Notwendigkeit, bedingte Prüfungen wie die obige in Ihrer Anwendung zu erstellen. Stattdessen funktioniert jetzt eine verkürzte Version:
response = client.sms.send(
from: 'Acme Inc',
to: TO_NUMBER,
text: 'A text message sent using the Nexmo SMS API'
)Wenn es ein Problem gibt, löst das SDK eine Ausnahme aus und meldet die error-text und status von der API an Sie. Diese Informationen können verwendet werden, um weitere Details in der API-Referenz nachzuschlagen. Zum Beispiel kann jeder entsprechende Fehlercode innerhalb der SMS API in der API-Referenz mit weiteren Details zu seiner Bedeutung.
Benennung der Klasse
Das Nexmo SDK Team hat sich darum gekümmert, dass alle unsere SDKs mit unserer Spezifikation der Server-Bibliothek. Wir haben die Spezifikation kürzlich überarbeitet - Sie können über diese Arbeit in einem Beitrag des Leiters der Server-SDK-Initiative, Chris Tankersley, auf dem Nexmo-Blog.
Im Rahmen des Ruby SDK Audits haben wir festgestellt, dass eine unserer Klassen einen Namen hatte, der sich vom Rest unserer SDKs unterschied. Wir wissen, dass viele Entwickler nicht nur in einer Sprache arbeiten, und es ist uns wichtig, dass die Erfahrung bei der Verwendung unserer SDKs über die verschiedenen Sprachen hinweg so konsistent wie möglich bleibt. Wenn es Unterschiede gibt, sollten diese auf die Besonderheiten der einzelnen Sprachen zurückzuführen sein, und idiosynkratische Unterscheidungen sollten minimiert werden.
Daher haben wir die Klasse Calls Klasse in Voice. Dies ist eine einschneidende Änderung, die Sie bitte beachten sollten, wenn Sie sich für ein Upgrade auf die Version 7.0.0 entscheiden.
Statische Typisierung
Wir haben die statische Typisierung in das Ruby SDK in der Version 6.3.0 veröffentlicht. Die Gründe dafür können Sie in unserem Blogbeitrag zur Veröffentlichung nachlesen und einige der ersten Schritte der Einführung in unserer YouTube-Serie.
Wir haben uns vorgenommen, in jeder neuen Version schrittweise mehr Methodensignaturen einzuführen. In dieser Version haben wir eine statische Typüberprüfung für die Methoden Account und Alerts Klassen eingeführt. Sie schließen sich der zuvor typgeprüften SMS in unserer wachsenden Liste statisch typisierter Klassen.
Was kommt als Nächstes?
Wir haben weitere spannende Entwicklungen für das Ruby SDK in der Pipeline. Dazu gehört das Hinzufügen der Unterhaltungen, Nachrichten und Versenden APIs, sobald sie aus der Beta-Phase in die allgemeine Verfügbarkeit übergehen.
Die SDK-Codebasis ist öffentlich zugänglich auf GitHubund wir begrüßen Beiträge und Beteiligung. Beteiligen Sie sich an der Diskussion auf GitHub oder verbinden Sie sich mit uns auf dem Nexmo Gemeinschaft Slack.
Teilen Sie:
Ben ist ein Entwickler im zweiten Beruf, der zuvor ein Jahrzehnt in den Bereichen Erwachsenenbildung, Community-Organisation und Non-Profit-Management tätig war. Er arbeitete als Anwalt für Entwickler bei Vonage. Er schreibt regelmäßig über die Überschneidung von Gemeindeentwicklung und Technologie. Ursprünglich aus Südkalifornien stammend und lange Zeit in New York City ansässig, wohnt Ben jetzt in der Nähe von Tel Aviv, Israel.