Skip to content

Commit

Permalink
Merge pull request hexgnu#96 from alexdowad/master
Browse files Browse the repository at this point in the history
Api::QueryMethods#simple_query should respect optional request parameters

Clean implementation to accept additional parameters. Doesn't include test coverage but I have been using this fork for a week and getting good results.
  • Loading branch information
Andrew Dixon committed Mar 20, 2012
2 parents 78b7087 + ae0eb85 commit 994e552
Showing 1 changed file with 20 additions and 16 deletions.
36 changes: 20 additions & 16 deletions lib/linked_in/api/query_methods.rb
Expand Up @@ -26,38 +26,42 @@ 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
end

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
Expand All @@ -66,4 +70,4 @@ def company_path(options)
end

end
end
end

0 comments on commit 994e552

Please sign in to comment.