class Object

Public Instance Methods

add_route(verb, option_url=nil, what) click to toggle source

@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
alias_route() click to toggle source

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
get(url=nil, what) click to toggle source

@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
post(url=nil, what) click to toggle source

@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
put(url=nil, what) click to toggle source

@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
resource(name, &block) click to toggle source

@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
route_prefix() click to toggle source
# File lib/nephos-server/router/helpers.rb, line 1
def route_prefix
  @route_prefix ||= []
  File.join(["/"] + @route_prefix)
end