@@ -2,29 +2,32 @@ module LinkedIn
22 module Api
33
44 module QueryHelpers
5+ REJECT_KEYS = [ :fields , :headers , :public , :id , :url , :email , :is_admin , :domain , :name ]
6+
57 private
68
79 def group_path ( options )
810 path = "groups"
9- if id = options . delete ( :id )
11+ if id = options [ :id ]
1012 path += "/#{ id } "
1113 end
1214 end
1315
1416 def simple_query ( path , options = { } )
15- fields = options . delete ( :fields ) || LinkedIn . default_profile_fields
17+ fields = options . fetch ( :fields , LinkedIn . default_profile_fields )
1618
17- if options . delete ( :public )
19+ if options [ :public ]
1820 path +=":public"
1921 elsif fields
2022 path +=":(#{ build_fields_params ( fields ) } )"
2123 end
2224
23- headers = options . delete ( :headers ) || { }
25+ headers = options . fetch ( :headers , { } )
2426 # params = to_query(options)
2527 # path += "#{path.include?("?") ? "&" : "?"}#{params}" if !params.empty?
2628
27- get ( path , options , headers )
29+ query = options . reject { |k , v | REJECT_KEYS . include? k . to_sym }
30+ get ( path , query , headers )
2831 end
2932
3033 def build_fields_params ( fields )
@@ -39,11 +42,11 @@ def build_fields_params(fields)
3942
4043 def person_path ( options )
4144 path = "people"
42- if id = options . delete ( :id )
45+ if id = options [ :id ]
4346 path += "/id=#{ id } "
44- elsif url = options . delete ( :url )
47+ elsif url = options [ :url ]
4548 path += "/url=#{ CGI . escape ( url ) } "
46- elsif email = options . delete ( :email )
49+ elsif email = options [ :email ]
4750 path += "::(#{ email } )"
4851 else
4952 path += "/~"
@@ -53,15 +56,16 @@ def person_path(options)
5356 def company_path ( options )
5457 path = "companies"
5558
56- if domain = options . delete ( :domain )
59+ if domain = options [ :domain ]
5760 path += "?email-domain=#{ CGI . escape ( domain ) } "
58- elsif id = options . delete ( :id )
61+
62+ elsif id = options [ :id ]
5963 path += "/#{ id } "
60- elsif url = options . delete ( :url )
64+ elsif url = options [ :url ]
6165 path += "/url=#{ CGI . escape ( url ) } "
62- elsif name = options . delete ( :name )
66+ elsif name = options [ :name ]
6367 path += "/universal-name=#{ CGI . escape ( name ) } "
64- elsif is_admin = options . delete ( :is_admin )
68+ elsif is_admin = options [ :is_admin ]
6569 path += "?is-company-admin=#{ CGI . escape ( is_admin ) } "
6670 else
6771 path += "/~"
@@ -75,7 +79,7 @@ def picture_urls_path(options)
7579
7680 def jobs_path ( options )
7781 path = "jobs"
78- if id = options . delete ( :id )
82+ if id = options [ :id ]
7983 path += "/id=#{ id } "
8084 else
8185 path += "/~"
0 commit comments