statuses: nil) @writer = writer @from = from @till = till @statuses = statuses end def find return @query if @query @query = Article @query = @query.eager_load(:user).written_by(@writer) if @writer if @from && @till @query = @query.created_between(@from, @till) else @query = @query.created_after(@from) if @from @query = @query.created_before(@till) if @till end @query = @query.where(status: @statuses) if @statuses @query end end