現在LinkedinAPIを解析していますが、さまざまなフィールドとその値をリクエストできます。ユーザーがフィールドの値を持っている場合もあれば、持っていない場合もあります。
たとえば、ユーザーが電話番号を入力しなかった場合、Linkedinは電話番号フィールドを返しません。
Linkedinへのリクエストの例
email, firstName, lastName, phoneNumber
Linkedinからの応答例:
{"email"=>"test@example.com", "firstName"=>"Brian", "lastName"=>"Weinreich"}
だから、私は4つのものを要求します:email, firstName, lastName, phoneNumber
そしてそれは3つのものだけを返します。これらの値が存在するかどうかに応じて、これらの値に等しい変数を設定するためのより迅速で効率的な方法があるかどうか疑問に思いました。
これが私がやっていることです...しかし、それは冗長なようです。
@user.email = profile['emailAddress'] ? profile['emailAddress'] : ""
@user.phone_number = profile['phoneNumber'] ? profile['phoneNumber'] : ""
@user.first_name = profile['firstName'] ? profile['firstName'] : ""
@user.last_name = profile['lastName'] ? profile['lastName'] : ""