class GdsApi::Rummager

def advanced_search(args)

def advanced_search(args)
  raise ArgumentError.new("Args cannot be blank") if args.nil? || args.empty?
  request_path = "#{base_url}/advanced_search?#{Rack::Utils.build_nested_query(args)}"
  get_json!(request_path)
end

def base_url

def base_url
  endpoint
end

def organisations

def organisations
  get_json!("#{base_url}/organisations")
end

def search(query, extra_params={})

def search(query, extra_params={})
  raise ArgumentError.new("Query cannot be blank") if query.nil? || query.strip.empty?
  get_json!(search_url(:search, query, extra_params))
end

def search_url(type, query, extra_params={})

def search_url(type, query, extra_params={})
  request_path = "#{base_url}/#{type}?q=#{CGI.escape(query)}"
  if extra_params
    request_path << "&"
    request_path << Rack::Utils.build_query(extra_params)
  end
  request_path
end

def unified_search(args)

def unified_search(args)
  request_url = "#{base_url}/unified_search.json?#{Rack::Utils.build_nested_query(args)}"
  get_json!(request_url)
end