diff --git a/lib/linked_in/api/query_methods.rb b/lib/linked_in/api/query_methods.rb index bccfd16b..3e3002c8 100644 --- a/lib/linked_in/api/query_methods.rb +++ b/lib/linked_in/api/query_methods.rb @@ -26,23 +26,27 @@ def company(options = {}) private def simple_query(path, options={}) - fields = options[:fields] || LinkedIn.default_profile_fields + fields = options.delete(:fields) || LinkedIn.default_profile_fields - if options[:public] + if options.delete(:public) path +=":public" elsif fields path +=":(#{fields.map{ |f| f.to_s.gsub("_","-") }.join(',')})" end - headers = options[:headers] || {} + + headers = options.delete(:headers) || {} + params = options.map { |k,v| "#{k}=#{v}" }.join("&") + path += "?#{params}" if not params.empty? + Mash.from_json(get(path, headers)) end def person_path(options) path = "/people/" - if options[:id] - path += "id=#{options[:id]}" - elsif options[:url] - path += "url=#{CGI.escape(options[:url])}" + if id = options.delete(:id) + path += "id=#{id}" + elsif url = options.delete(:url) + path += "url=#{CGI.escape(url)}" else path += "~" end @@ -50,14 +54,14 @@ def person_path(options) def company_path(options) path = "/companies/" - if options[:id] - path += "id=#{options[:id]}" - elsif options[:url] - path += "url=#{CGI.escape(options[:url])}" - elsif options[:name] - path += "universal-name=#{CGI.escape(options[:name])}" - elsif options[:domain] - path += "email-domain=#{CGI.escape(options[:domain])}" + if id = options.delete(:id) + path += "id=#{id}" + elsif url = options.delete(:url) + path += "url=#{CGI.escape(url)}" + elsif name = options.delete(:name) + path += "universal-name=#{CGI.escape(name)}" + elsif domain = options.delete(:domain) + path += "email-domain=#{CGI.escape(domain)}" else path += "~" end @@ -66,4 +70,4 @@ def company_path(options) end end -end \ No newline at end of file +end