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

Nexmo Ruby v7.0.0 リリース

最終更新日 May 18, 2021

所要時間:1 分

Nexmo Ruby SDKは先日、v7.0.0というメジャーバージョンのリリースを行いました。 この新しいバージョンでは、APIエラー処理のサポートが改善され、既存のクラス名が他のNexmo SDKと同じ名前に変更され、静的型付けが追加されました。

APIのエラー処理

この新しいリリースで最も重要な変更は、SDKが初期のレガシーAPIからのエラーを処理する方法です。例えばSMS APIのように、NexmoのAPIの中にはHTTPステータスとエラーコードを返すものがあります。 200 OKHTTPステータスとエラーコードを返すものがあります。

以前のSDKでは、APIレスポンスのうち 200 OKを返すすべての API レスポンスを成功として扱い、レスポンスのボディをユーザーに渡していました。そのため、開発者はコード内でエラーコードを条件付きでチェックする必要がありました。 200 OKレスポンス内にエラーコードがあるかどうかを、開発者はコード内で条件付きチェックする必要があった。以前Ruby SDKで行われていた典型的な例を以下に示す:

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

これで、SDKがあなたに代わって非ゼロのステータス・コードをチェックし、ステータス・コードが非ゼロの場合は、あなたのコードで自動的に例外を発生させます。これにより、アプリケーション内で上記のような条件付きチェックを作成する必要がなくなります。代わりに、より凝縮されたバージョンが動作するようになりました:

response = client.sms.send(
  from: 'Acme Inc',
  to: TO_NUMBER,
  text: 'A text message sent using the Nexmo SMS API'
)

問題が発生した場合、SDKは例外を発生させ error-textstatusを報告します。その情報は、APIリファレンスで詳細を調べるために使用できます。例えば、SMS API内の各エラーコードは、APIリファレンスの APIリファレンスを参照してください。

クラス名

Nexmo SDKチームは、すべてのSDKが弊社の サーバーライブラリ仕様.この作業については、サーバーSDKイニシアチブのリーダーであるChris Tankersleyが、Nexmoブログの投稿で紹介しています。 Nexmoブログ.

Ruby SDK Auditの一環として、あるクラスが他のSDKと異なる名前であることがわかりました。私たちは、多くの開発者が1つの言語だけで仕事をしているわけではないことを知っており、私たちのSDKの使用体験が言語間で可能な限り一貫性を保つことが重要であると考えています。違いがある場合、それは各言語の特殊性の結果であり、特異な区別は最小限に抑えるべきです。

そのため Callsクラス名を Voice.これは大きな変更ですので、v7.0.0にアップグレードする際にはご注意ください。

静的型付け

Ruby SDKには、バージョン6.3.0リリースで静的型付けが導入されました。 バージョン6.3.0リリース.その理由については リリースのブログ記事をご覧ください。 YouTubeシリーズ.

私たちは、新しいリリースのたびに、より多くのメソッド・シグネチャを徐々に導入していくことにしている。今回のリリースでは、静的型チェックを Accountクラスと Alertsクラスに静的型チェックを導入しました。これらは、以前に型チェックされた SMSクラスに加わり、静的型付けされたクラスが増えています。

次はどうする?

Ruby SDKについては、さらにエキサイティングな開発が進行中です。その中には 会話, メッセージそして ディスパッチAPIがベータ版から一般提供版に移行したら、その時点で。

SDKのコードベースは以下のサイトで公開されている。 GitHubで公開されています。GitHub での会話に参加するか、または NexmoコミュニティSlack.

シェア:

https://a.storyblok.com/f/270183/384x384/e5480d2945/ben-greenberg.png
Ben Greenbergヴォネージの卒業生

ベンはセカンドキャリアの開発者で、以前は成人教育、コミュニティ組織化、非営利団体運営の分野で10年を過ごした。彼はVonageの開発者支援者として働いていた。コミュニティ開発とテクノロジーの交差点について定期的に執筆している。南カリフォルニア出身で、長年ニューヨークに住んでいたが、現在はイスラエルのテルアビブ近郊に在住。