class WADL::RequestFormat

Public Instance Methods

uri(resource, args = {}) click to toggle source

Returns a URI and a set of HTTP headers for this request.

# File lib/wadl/request_format.rb, line 39
def uri(resource, args = {})
  uri = resource.uri(args)

  query_values  = args[:query]   || {}
  header_values = args[:headers] || {}

  params.each { |param|
    name = param.name

    if param.style == 'header'
      value = header_values[name] || header_values[name.to_sym]
      value = param % value

      uri.headers[name] = value if value
    else
      value = query_values[name] || query_values[name.to_sym]
      value = param.format(value, nil, 'query')

      uri.query << value if value && !value.empty?
    end
  }

  uri
end