結論
標題の通りなので、たとえばデータベースにユーザデータを格納しようとする際に name
に NOT NULL
制約をかけていたりバリデーションをかけていたりすると、エラーになります。
対処法の一つとしては Twitter::NullObject
のときは例外として特定の文字列に置き換えることでしょうか。ただし注意することがあり、このオブジェクトは以下のような評価になるということです。ここで obj
を Twitter::NullObject
のオブジェクトとします。
obj.nil? #=> true obj == true #=> false obj == false #=> false obj || 'hoge' #=>(空っぽ。何も表示されない) (obj || 'hoge').class #=> Twitter::NullObject
obj || 'hoge'
で hoge
が返ってこないことには注意が必要です。