Railscasts のTwitter の項目通りに書いてると since_id parameter is invalid. のエラーでつまづきました。

どうやらTwitterAPI1.1からの変更で since_id に `` を指定できなくなったのが原因のようです。

もちろんレコードにすでにつぶやきが入ってれば問題ないんですが初回の何も入ってない時にこけてしまうわけです。

対策

user.twitter.list_timeline(list_id, since_id: [maximum(:tweet_id),"1"].max)

と返り値に最低でも1が入るようにしておけばOKです。文字列にしてるのは twitter_idを文字列で保持してるからです。

参考

[API v1.1 statuses/user_timeline since_id parameter is invalid | Twitter Developers][1]