Skip to content

Instantly share code, notes, and snippets.

@alex-lairan
Created May 15, 2016 10:56
Show Gist options
  • Select an option

  • Save alex-lairan/ac8bbb75dd18a3d9a73c7e7712fcb638 to your computer and use it in GitHub Desktop.

Select an option

Save alex-lairan/ac8bbb75dd18a3d9a73c7e7712fcb638 to your computer and use it in GitHub Desktop.
crud.cr
require "kemal"
macro generic_create(name)
post "/{{name}}" do |env|
puts "create {{name}}"
end
end
macro generic_read(name)
get "/{{name}}" do |env|
puts "list all {{name}}"
end
get "/{{name}}/:id" do |env|
id = env.params.url["id"]
puts "list {{name}} id => #{id}"
end
end
macro generic_update(name)
put "/{{name}}/:id" do |env|
id = env.params.url["id"]
puts "update {{name}} id => #{id}"
end
end
macro generic_delete(name)
delete "/{{name}}/:id" do |env|
id = env.params.url["id"]
puts "delete {{name}} id => #{id}"
end
end
macro generic_crud(name)
generic_create {{name}}
generic_read {{name}}
generic_update {{name}}
generic_delete {{name}}
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment