articles.rb
991 Bytes
module API
module V1
class Articles < Grape::API
resource :articles do
get do
first_update = DateTime.parse(params[:first_update]) if params[:first_update]
last_update = DateTime.parse(params[:last_update]) if params[:last_update]
if first_update.nil?
begin_date = Article.first.created_at
end_date = last_update.nil? ? DateTime.now : last_update
else
begin_date = first_update
end_date = DateTime.now
end
limit = params[:limit].to_i
limit = 20 if limit == 0
conditions = {}
conditions[:type] = params[:content_type] if params[:content_type] #FIXME validate type
conditions[:created_at] = begin_date...end_date
Article.find(:all, :conditions => conditions, :offset => (first_update.nil? ? 0 : 1), :limit => limit, :order => "created_at DESC")
end
get ':id' do
Article.find(params[:id])
end
end
end
end
end