Parent

Methods

Class/Module Index [+]

Quicksearch

ChefZero::Endpoints::SearchEndpoint

/search/INDEX

Public Instance Methods

get(request) click to toggle source
# File lib/chef_zero/endpoints/search_endpoint.rb, line 12
def get(request)
  results = search(request)
  results['rows'] = results['rows'].map { |name,uri,value,search_value| value }
  json_response(200, results)
end
post(request) click to toggle source
# File lib/chef_zero/endpoints/search_endpoint.rb, line 18
def post(request)
  full_results = search(request)
  keys = JSON.parse(request.body, :create_additions => false)
  partial_results = full_results['rows'].map do |name, uri, doc, search_value|
    data = {}
    keys.each_pair do |key, path|
      if path.size > 0
        value = search_value
        path.each do |path_part|
          value = value[path_part] if !value.nil?
        end
        data[key] = value
      else
        data[key] = nil
      end
    end
    {
      'url' => uri,
      'data' => data
    }
  end
  json_response(200, {
    'rows' => partial_results,
    'start' => full_results['start'],
    'total' => full_results['total']
  })
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.