cb-api 12.1.0 → 12.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -83,6 +83,7 @@ module Cb
83
83
  @uri_spot_retrieve ||= '/v2/spot/load'
84
84
  @uri_work_status_list ||= '/v1/resume/workstatuslist'
85
85
  @uri_resume_get ||= '/cbapi/resumes/:resume_hash'
86
+ @uri_resume_put ||= '/cbapi/resumes/:resume_hash'
86
87
  end
87
88
 
88
89
  def set_attr_accessors
@@ -0,0 +1,114 @@
1
+ require_relative '../base'
2
+
3
+ module Cb
4
+ module Requests
5
+ module Resumes
6
+ class Put < Base
7
+ def endpoint_uri
8
+ Cb.configuration.uri_resume_put.gsub(':resume_hash', args[:resume_hash].to_s)
9
+ end
10
+
11
+ def http_method
12
+ :put
13
+ end
14
+
15
+ def headers
16
+ {
17
+ 'DeveloperKey' => Cb.configuration.dev_key,
18
+ 'HostSite' => Cb.configuration.host_site,
19
+ 'Content-Type' => 'application/json'
20
+ }
21
+ end
22
+
23
+ def body
24
+ {
25
+ userIdentifier: args[:user_identifier],
26
+ resumeHash: args[:resume_hash],
27
+ desiredJobTitle: args[:desired_job_title],
28
+ privacySetting: args[:privacy_setting],
29
+ workExperience: extract_work_experience,
30
+ salaryInformation: extract_salary_information,
31
+ educations: extract_educations,
32
+ skillsAndQualifications: extract_skills_and_qualifications,
33
+ relocations: extract_relocations,
34
+ governmentAndMilitary: extract_government_and_military
35
+ }.to_json
36
+ end
37
+
38
+ private
39
+
40
+ def extract_work_experience
41
+ return [] if args[:work_experience].blank?
42
+ args[:work_experience].collect do |experience|
43
+ {
44
+ jobTitle: experience[:job_title],
45
+ companyName: experience[:company_name],
46
+ employmentType: experience[:employment_type],
47
+ startDate: experience[:start_date],
48
+ endDate: experience[:end_date],
49
+ currentlyEmployedHere: experience[:currently_employed_here]
50
+ }
51
+ end
52
+ end
53
+
54
+ def extract_salary_information
55
+ salary = args[:salary_information]
56
+ return {} if salary.blank?
57
+ {
58
+ mostRecentPayAmount: salary[:most_recent_pay_amount],
59
+ perHourOrPerYear: salary[:per_hour_or_per_year],
60
+ currencyCode: salary[:currency_code],
61
+ jobTitle: salary[:job_title],
62
+ annualBonus: salary[:annual_bonus],
63
+ annualCommission: salary[:annual_commission],
64
+ }
65
+ end
66
+
67
+ def extract_educations
68
+ return [] if args[:educations].blank?
69
+ args[:educations].collect do |education|
70
+ {
71
+ schoolName: education[:school_name],
72
+ majorOrProgram: education[:major],
73
+ degreeCode: education[:degree_code],
74
+ graduationDate: education[:graduation_date]
75
+ }
76
+ end
77
+ end
78
+
79
+ def extract_skills_and_qualifications
80
+ skills = args[:skills_and_qualifications]
81
+ return {} if skills.blank?
82
+ {
83
+ accreditationsAndCertifications: skills[:accreditations_and_certifications],
84
+ languagesSpoken: skills[:languages_spoken],
85
+ hasManagementExperience: skills[:has_management_experience],
86
+ sizeOfTeamManaged: skills[:size_of_team_managed]
87
+ }
88
+ end
89
+
90
+
91
+ def extract_relocations
92
+ return [] unless args[:relocations]
93
+ args[:relocations].collect do |relocate|
94
+ {
95
+ city: relocate[:city],
96
+ adminArea: relocate[:admin_area],
97
+ countryCode: relocate[:country_code]
98
+ }
99
+ end
100
+ end
101
+
102
+ def extract_government_and_military
103
+ government = args[:government_and_military]
104
+ return {} if government.blank?
105
+ {
106
+ hasSecurityClearance: government[:has_security_clearance],
107
+ militaryExperience: government[:military_experience]
108
+ }
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+
@@ -0,0 +1,22 @@
1
+ module Cb
2
+ module Responses
3
+ class Resume < ApiResponse
4
+ def validate_api_hash
5
+ required_response_field(root_node, response)
6
+ end
7
+
8
+ def extract_models
9
+ response[root_node].map { |resume| Models::Resume.new(resume) }
10
+ end
11
+
12
+ def hash_containing_metadata
13
+ response
14
+ end
15
+
16
+ def root_node
17
+ 'Results'
18
+ end
19
+
20
+ end
21
+ end
22
+ end
@@ -20,7 +20,8 @@ module Cb
20
20
 
21
21
  def response_hash
22
22
  {
23
- Cb::Requests::Resumes::Get => Cb::Responses::Resumes::Get,
23
+ Cb::Requests::Resumes::Get => Cb::Responses::Resume,
24
+ Cb::Requests::Resumes::Put => Cb::Responses::Resume,
24
25
 
25
26
  Cb::Requests::AnonymousSavedSearch::Create => Cb::Responses::AnonymousSavedSearch::Create,
26
27
  Cb::Requests::AnonymousSavedSearch::Delete => Cb::Responses::AnonymousSavedSearch::Delete,
@@ -1,3 +1,3 @@
1
1
  module Cb
2
- VERSION = '12.1.0'
2
+ VERSION = '12.2.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cb-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.1.0
4
+ version: 12.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-04 00:00:00.000000000 Z
12
+ date: 2014-09-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -257,7 +257,7 @@ files:
257
257
  - lib/cb/responses/employee_types/search.rb
258
258
  - lib/cb/responses/errors.rb
259
259
  - lib/cb/responses/company/find.rb
260
- - lib/cb/responses/resumes/get.rb
260
+ - lib/cb/responses/resumes/resume.rb
261
261
  - lib/cb/responses/education/get.rb
262
262
  - lib/cb/exceptions.rb
263
263
  - lib/cb/config.rb
@@ -325,6 +325,7 @@ files:
325
325
  - lib/cb/requests/category/search.rb
326
326
  - lib/cb/requests/application_external/submit_application.rb
327
327
  - lib/cb/requests/company/find.rb
328
+ - lib/cb/requests/resumes/put.rb
328
329
  - lib/cb/requests/resumes/get.rb
329
330
  - lib/cb/requests/education/get.rb
330
331
  - lib/cb/convenience.rb
@@ -1,24 +0,0 @@
1
- module Cb
2
- module Responses
3
- module Resumes
4
- class Get < ApiResponse
5
- def validate_api_hash
6
- required_response_field(root_node, response)
7
- end
8
-
9
- def extract_models
10
- response[root_node].map { |resume| Models::Resume.new(resume) }
11
- end
12
-
13
- def hash_containing_metadata
14
- response
15
- end
16
-
17
- def root_node
18
- 'Results'
19
- end
20
-
21
- end
22
- end
23
- end
24
- end