Skip to content

Instantly share code, notes, and snippets.

@z64
Last active June 21, 2017 02:45
Show Gist options
  • Save z64/20c7bef4e180fc07f1d11e14ccda5683 to your computer and use it in GitHub Desktop.
Save z64/20c7bef4e180fc07f1d11e14ccda5683 to your computer and use it in GitHub Desktop.
@[Flags]
enum Method
None
Get
Post
Put
Patch
Delete
end
class Scope
getter name : String
getter routes = Hash(String, Method).new(Method::None)
def initialize(@name)
end
def self.build(name)
scope = self.new(name)
with scope yield
scope
end
def add_route(path, method)
routes[path] = method
end
def [](path)
routes[path]
end
end
scope = Scope.build("test") do
add_route("/", Method::Get | Method::Post)
add_route("/test", Method::Post)
end
scope
scope["/"].get?
scope["/test"].post?
scope["/test"].get?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment