module LinkedIn::Api::QueryHelpers
Private Instance Methods
build_fields_params(fields)
click to toggle source
# File lib/linked_in/api/query_helpers.rb, line 30 def build_fields_params(fields) if fields.is_a?(Hash) && !fields.empty? fields.map {|index,value| "#{index}:(#{build_fields_params(value)})" }.join(',') elsif fields.respond_to?(:each) fields.map {|field| build_fields_params(field) }.join(',') else fields.to_s.gsub("_", "-") end end
company_path(options)
click to toggle source
# File lib/linked_in/api/query_helpers.rb, line 53 def company_path(options) path = "/companies" if domain = options.delete(:domain) path += "?email-domain=#{CGI.escape(domain)}" elsif id = options.delete(:id) path += "/#{id}" elsif url = options.delete(:url) path += "/url=#{CGI.escape(url)}" elsif name = options.delete(:name) path += "/universal-name=#{CGI.escape(name)}" elsif is_admin = options.delete(:is_admin) path += "?is-company-admin=#{CGI.escape(is_admin)}" else path += "/~" end end
group_path(options)
click to toggle source
# File lib/linked_in/api/query_helpers.rb, line 7 def group_path(options) path = "/groups" if id = options.delete(:id) path += "/#{id}" end end
jobs_path(options)
click to toggle source
# File lib/linked_in/api/query_helpers.rb, line 76 def jobs_path(options) path = "/jobs" if id = options.delete(:id) path += "/id=#{id}" else path += "/~" end end
person_path(options)
click to toggle source
# File lib/linked_in/api/query_helpers.rb, line 40 def person_path(options) path = "/people" if id = options.delete(:id) path += "/id=#{id}" elsif url = options.delete(:url) path += "/url=#{CGI.escape(url)}" elsif email = options.delete(:email) path += "::(#{email})" else path += "/~" end end
picture_urls_path(options)
click to toggle source
# File lib/linked_in/api/query_helpers.rb, line 71 def picture_urls_path(options) path = person_path(options) path += "/picture-urls" end
simple_query(path, options={})
click to toggle source
# File lib/linked_in/api/query_helpers.rb, line 14 def simple_query(path, options={}) fields = options.delete(:fields) || LinkedIn.default_profile_fields if options.delete(:public) path +=":public" elsif fields path +=":(#{build_fields_params(fields)})" end headers = options.delete(:headers) || {} params = to_query(options) path += "#{path.include?("?") ? "&" : "?"}#{params}" if !params.empty? Mash.from_json(get(path, headers)) end