class Object
Public Instance Methods
@param verb [String] has to be a valid http verb, so a string uppercase @param url [String] if an url is provided, then it will be put in the hash
to have the same behavior as if it was specified in the what hash \\{url: URL}
@param what [Hash] has to contain the following keys:
- :url - :controller - :method
The method create a valid route, set in Nephos::Router::ROUTES it will call the method from the controller, based on the parameters if the client request match with the verb and the url provided.
Checkout the documentation about the parameters and API for more informations
# File lib/nephos-server/router/helpers.rb, line 20 def add_route(verb, option_url=nil, what) raise InvalidRoute, "what must be a hash" unless what.is_a? Hash what[:url] ||= option_url Array(what[:url]).each do |url| route = what.dup route[:url] = url route[:url] = File.expand_path File.join(route_prefix, route[:url]) Nephos::Router.check!(route) Nephos::Router.add_params!(route) Nephos::Router.add(route, verb) end end
An alias is an url which have the same proprieties than the previous route
# File lib/nephos-server/router/helpers.rb, line 66 def alias_route raise "Not implemented yet" end
@param url [String] see {#add_route} @param what [Hash] see {#add_route}
# File lib/nephos-server/router/helpers.rb, line 35 def get url=nil, what add_route "GET", url, what end
@param url [String] see {#add_route} @param what [Hash] see {#add_route}
# File lib/nephos-server/router/helpers.rb, line 41 def post url=nil, what add_route "POST", url, what end
@param url [String] see {#add_route} @param what [Hash] see {#add_route}
# File lib/nephos-server/router/helpers.rb, line 47 def put url=nil, what add_route "PUT", url, what end
@param name [String] @param block [Bloc]
Create a resource named based on the parameter name Every call of {#add_route} {#get} {#post} {#put} in the bloc will have a modified url, working with the following schema:
"/name/" + url
# File lib/nephos-server/router/helpers.rb, line 58 def resource(name, &block) @route_prefix ||= [] @route_prefix << name block.call @route_prefix.pop end
# File lib/nephos-server/router/helpers.rb, line 1 def route_prefix @route_prefix ||= [] File.join(["/"] + @route_prefix) end