Skip to content

Instantly share code, notes, and snippets.

@kkestell
Last active November 1, 2016 23:14
Show Gist options
  • Save kkestell/b1ca76703f0d40543b91f7270b37672c to your computer and use it in GitHub Desktop.
Save kkestell/b1ca76703f0d40543b91f7270b37672c to your computer and use it in GitHub Desktop.
class PostsController < ApplicationController
get :index do
params do
param :limit, Integer, min: 1, max: 100, default: 10
param :offset, Integer, min: 0, default: 0
end
presenter PostPresenter
request do
present Post.limit(params[:limit]).offset(params[:offset])
end
end
get :show do
params do
param :id, Integer
end
presenter PostPresenter
request do
present Post.find(params[:id])
end
end
post :create do
form :post, PostForm
presenter PostPresenter
request do
authenticate!
present @form.with_user(current_user).save!
end
end
put :update do
form :post, PostForm
presenter PostPresenter
request do
authenticate!
present @form.save!
end
end
delete :destroy do
params do
param :id, Integer
end
request do
authenticate!
Post.destroy(params[:id])
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment