https://d226lax1qjow5r.cloudfront.net/blog/blogposts/nexmo-ruby-v7-0-0-release-dr/image.png

Nexmo Ruby v7.0.0 Veröffentlichung

Zuletzt aktualisiert am May 18, 2021

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']}"
end

Jetzt 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:

https://a.storyblok.com/f/270183/384x384/e5480d2945/ben-greenberg.png
Ben GreenbergVonage Ehemalige

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.