cb-api 12.1.0 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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