と呼ばれるアクションがupdate_mobile
あり、その中でRABLJSONリクエストで使用する大量のインスタンス変数を準備しています。リクエストにparams[:last_updated]
パラメータが含まれている場合、それ以降に更新されたモデルのみを取得することがわかります。これは「FatModels、SkinnyControllers」の方法に従わないようです。このメソッドをリファクタリングするにはどうすればよいですか?
def update_mobile
@last_updated = params[:last_updated]
if @last_updated.nil?
@buddies = @user.friends
@courses = @user.courses
@friendly_schools = @user.friendly_schools
@documents = @user.all_notes
@instructors = @user.current_instructors
@friendships = @user.friendships
@questions = @user.current_questions
@answers = @user.current_answers
@comments = @user.current_comments
else
@buddies = @user.friends.select{ |user| user.updated_at > @last_updated }
@courses = @user.courses.select{ |course| course.updated_at > @last_updated }
@friendly_schools = @user.friendly_schools.select{ |school| school.updated_at > @last_updated }
@documents = @user.all_notes.select{ |note| note.updated_at > @last_updated }
@instructors = @user.current_instructors.select{ |instructor| instructor.updated_at > @last_updated }
@friendships = @user.friendships.select{ |friendship| friendship.updated_at > @last_updated }
@questions = @user.current_questions.select{ |question| question.updated_at > @last_updated }
@answers = @user.current_answers.select{ |answer| answer.updated_at > @last_updated }
@comments = @user.current_comments.select{ |comment| comment.updated_at > @last_updated }
end
end