cb-api 1.3.6 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/cb.rb +7 -99
- data/lib/cb/clients/anon_saved_search.rb +42 -0
- data/lib/cb/clients/application.rb +53 -0
- data/lib/cb/clients/application_external.rb +24 -0
- data/lib/cb/clients/category.rb +49 -0
- data/lib/cb/clients/company.rb +34 -0
- data/lib/cb/clients/education.rb +28 -0
- data/lib/cb/clients/email_subscription.rb +55 -0
- data/lib/cb/clients/employee_types.rb +31 -0
- data/lib/cb/clients/job.rb +57 -0
- data/lib/cb/clients/job_branding.rb +21 -0
- data/lib/cb/clients/recommendation.rb +76 -0
- data/lib/cb/clients/saved_search.rb +66 -0
- data/lib/cb/clients/spot.rb +27 -0
- data/lib/cb/clients/talent_network.rb +51 -0
- data/lib/cb/clients/user.rb +94 -0
- data/lib/cb/convenience.rb +83 -0
- data/lib/cb/criteria/job/details.rb +11 -0
- data/lib/cb/criteria/job/search.rb +25 -0
- data/lib/cb/criteria/spot/retrieve.rb +12 -0
- data/lib/cb/exceptions.rb +2 -1
- data/lib/cb/models/implementations/application.rb +92 -0
- data/lib/cb/models/implementations/application_external.rb +28 -0
- data/lib/cb/models/implementations/application_schema.rb +75 -0
- data/lib/cb/models/implementations/branding/media.rb +14 -14
- data/lib/cb/models/implementations/branding/section.rb +14 -15
- data/lib/cb/models/implementations/branding/style.rb +10 -10
- data/lib/cb/models/implementations/branding/styles/base.rb +12 -10
- data/lib/cb/models/implementations/branding/styles/buttons.rb +7 -6
- data/lib/cb/models/implementations/branding/styles/company_info.rb +14 -12
- data/lib/cb/models/implementations/branding/styles/container.rb +7 -6
- data/lib/cb/models/implementations/branding/styles/content.rb +7 -5
- data/lib/cb/models/implementations/branding/styles/css_adapter.rb +39 -41
- data/lib/cb/models/implementations/branding/styles/headings.rb +7 -5
- data/lib/cb/models/implementations/branding/styles/job_details.rb +12 -11
- data/lib/cb/models/implementations/branding/styles/page.rb +7 -5
- data/lib/cb/models/implementations/branding/widget.rb +9 -7
- data/lib/cb/models/implementations/category.rb +24 -0
- data/lib/cb/models/implementations/company.rb +135 -0
- data/lib/cb/models/implementations/education.rb +17 -0
- data/lib/cb/models/implementations/email_subscription.rb +17 -0
- data/lib/cb/models/implementations/employee_type.rb +13 -0
- data/lib/cb/models/implementations/job.rb +167 -0
- data/lib/cb/models/implementations/job_branding.rb +34 -0
- data/lib/cb/models/implementations/saved_search.rb +159 -0
- data/lib/cb/models/implementations/spot.rb +30 -0
- data/lib/cb/models/implementations/talent_network.rb +156 -0
- data/lib/cb/models/implementations/user.rb +58 -0
- data/lib/cb/responses/anonymous_saved_search/create.rb +36 -0
- data/lib/cb/responses/anonymous_saved_search/delete.rb +23 -0
- data/lib/cb/responses/api_response.rb +64 -0
- data/lib/cb/responses/employee_types/search.rb +48 -0
- data/lib/cb/responses/errors.rb +47 -0
- data/lib/cb/responses/metadata.rb +27 -0
- data/lib/cb/responses/saved_search/delete.rb +28 -0
- data/lib/cb/responses/saved_search/list.rb +43 -0
- data/lib/cb/responses/saved_search/singular.rb +50 -0
- data/lib/cb/responses/spot/retrieve_response.rb +31 -20
- data/lib/cb/responses/timing.rb +37 -0
- data/lib/cb/utils/api.rb +2 -2
- data/lib/cb/utils/response_array_extractor.rb +14 -4
- data/lib/cb/version.rb +1 -1
- metadata +114 -69
- data/lib/cb/clients/anon_saved_search_api.rb +0 -41
- data/lib/cb/clients/application_api.rb +0 -78
- data/lib/cb/clients/application_external_api.rb +0 -30
- data/lib/cb/clients/category_api.rb +0 -51
- data/lib/cb/clients/company_api.rb +0 -39
- data/lib/cb/clients/education_api.rb +0 -37
- data/lib/cb/clients/email_subscription_api.rb +0 -68
- data/lib/cb/clients/employee_types_api.rb +0 -48
- data/lib/cb/clients/job_api.rb +0 -70
- data/lib/cb/clients/job_branding_api.rb +0 -24
- data/lib/cb/clients/recommendation_api.rb +0 -98
- data/lib/cb/clients/resume_api.rb +0 -185
- data/lib/cb/clients/saved_search_api.rb +0 -139
- data/lib/cb/clients/spot_api.rb +0 -25
- data/lib/cb/clients/talent_network_api.rb +0 -70
- data/lib/cb/clients/user_api.rb +0 -118
- data/lib/cb/criteria/job_details_criteria.rb +0 -11
- data/lib/cb/criteria/job_search_criteria.rb +0 -29
- data/lib/cb/criteria/spot_retrieve_criteria.rb +0 -12
- data/lib/cb/models/implementations/cb_application.rb +0 -91
- data/lib/cb/models/implementations/cb_application_external.rb +0 -31
- data/lib/cb/models/implementations/cb_application_schema.rb +0 -78
- data/lib/cb/models/implementations/cb_category.rb +0 -22
- data/lib/cb/models/implementations/cb_company.rb +0 -133
- data/lib/cb/models/implementations/cb_education.rb +0 -25
- data/lib/cb/models/implementations/cb_email_subscription.rb +0 -19
- data/lib/cb/models/implementations/cb_employee_type.rb +0 -12
- data/lib/cb/models/implementations/cb_job.rb +0 -175
- data/lib/cb/models/implementations/cb_job_branding.rb +0 -33
- data/lib/cb/models/implementations/cb_resume.rb +0 -221
- data/lib/cb/models/implementations/cb_saved_search.rb +0 -228
- data/lib/cb/models/implementations/cb_spot.rb +0 -32
- data/lib/cb/models/implementations/cb_talent_network.rb +0 -155
- data/lib/cb/models/implementations/cb_user.rb +0 -56
- data/lib/cb/responses/raw_api_response.rb +0 -34
@@ -1,139 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
|
3
|
-
module Cb
|
4
|
-
class SavedSearchApi
|
5
|
-
|
6
|
-
#############################################################
|
7
|
-
## Create a Saved Search
|
8
|
-
##
|
9
|
-
## For detailed information around this API please visit:
|
10
|
-
## http://api.careerbuilder.com/savedsearchinfo.aspx
|
11
|
-
#############################################################
|
12
|
-
def self.create *args
|
13
|
-
args = args[0] if args.is_a?(Array) && args.count == 1
|
14
|
-
my_api = Cb::Utils::Api.new
|
15
|
-
json_hash = my_api.cb_post Cb.configuration.uri_saved_search_create, :body => CbSavedSearch.new(args).create_to_xml
|
16
|
-
|
17
|
-
if json_hash.has_key? 'SavedJobSearch'
|
18
|
-
if json_hash['SavedJobSearch'].has_key? 'SavedSearch'
|
19
|
-
saved_search = CbSavedSearch.new json_hash['SavedJobSearch']['SavedSearch']
|
20
|
-
else
|
21
|
-
saved_search = CbSavedSearch.new json_hash['SavedJobSearch']
|
22
|
-
end
|
23
|
-
my_api.append_api_responses saved_search, json_hash['SavedJobSearch']
|
24
|
-
end
|
25
|
-
|
26
|
-
my_api.append_api_responses saved_search, json_hash
|
27
|
-
|
28
|
-
return saved_search
|
29
|
-
end
|
30
|
-
|
31
|
-
#############################################################
|
32
|
-
## Update a Saved Search
|
33
|
-
##
|
34
|
-
## For detailed information around this API please visit:
|
35
|
-
## http://api.careerbuilder.com/savedsearchinfo.aspx
|
36
|
-
#############################################################
|
37
|
-
def self.update *args
|
38
|
-
args = args[0] if args.is_a?(Array) && args.count == 1
|
39
|
-
my_api = Cb::Utils::Api.new
|
40
|
-
json_hash = my_api.cb_post Cb.configuration.uri_saved_search_update, :body => CbSavedSearch.new(args).update_to_xml
|
41
|
-
|
42
|
-
if json_hash.has_key?('SavedJobSearch')
|
43
|
-
saved_search = CbSavedSearch.new json_hash['SavedJobSearch']
|
44
|
-
my_api.append_api_responses saved_search, json_hash['SavedJobSearch']
|
45
|
-
end
|
46
|
-
|
47
|
-
my_api.append_api_responses saved_search, json_hash
|
48
|
-
|
49
|
-
return saved_search
|
50
|
-
end
|
51
|
-
|
52
|
-
#############################################################
|
53
|
-
## Delete a Saved Search
|
54
|
-
##
|
55
|
-
## For detailed information around this API please visit:
|
56
|
-
## http://api.careerbuilder.com/savedsearchinfo.aspx
|
57
|
-
#############################################################
|
58
|
-
|
59
|
-
def self.delete *args
|
60
|
-
args = args[0] if args.is_a?(Array) && args.count == 1
|
61
|
-
my_api = Cb::Utils::Api.new
|
62
|
-
json_hash = my_api.cb_post Cb.configuration.uri_saved_search_delete, :body=>CbSavedSearch.new(args).delete_to_xml
|
63
|
-
|
64
|
-
if json_hash.has_key?('Request')
|
65
|
-
saved_search = CbSavedSearch.new json_hash['Request']
|
66
|
-
my_api.append_api_responses(saved_search, json_hash['Request'])
|
67
|
-
end
|
68
|
-
|
69
|
-
my_api.append_api_responses(saved_search, json_hash)
|
70
|
-
|
71
|
-
return saved_search
|
72
|
-
end
|
73
|
-
|
74
|
-
#############################################################
|
75
|
-
## Retrieve a Saved Search
|
76
|
-
##
|
77
|
-
## external_id is the unique ID for the specific Saved Search
|
78
|
-
## that is being requested from the API. This External_id is
|
79
|
-
## found from running a SavedSearchApi.all call. This is a
|
80
|
-
## 64 character long ID.
|
81
|
-
##
|
82
|
-
## HostSite (From Saved Search List) Required*
|
83
|
-
## Developer Key of the owning site for the User is Required*
|
84
|
-
##
|
85
|
-
## For detailed information around this API please visit:
|
86
|
-
## http://api.careerbuilder.com/savedsearchinfo.aspx
|
87
|
-
#############################################################
|
88
|
-
def self.retrieve developer_key, external_user_id, external_id, host_site
|
89
|
-
my_api = Cb::Utils::Api.new
|
90
|
-
json_hash = my_api.cb_get Cb.configuration.uri_saved_search_retrieve, :query => {:developerkey=> developer_key, :externaluserid=> external_user_id, :externalid=> external_id, :hostsite=> host_site}
|
91
|
-
|
92
|
-
if json_hash.has_key?('SavedJobSearch')
|
93
|
-
|
94
|
-
if json_hash['SavedJobSearch'].has_key?('SavedSearch')
|
95
|
-
saved_search = CbSavedSearch.new json_hash['SavedJobSearch']['SavedSearch']
|
96
|
-
my_api.append_api_responses saved_search, json_hash['SavedJobSearch']['SavedSearch']
|
97
|
-
end
|
98
|
-
|
99
|
-
my_api.append_api_responses saved_search, json_hash['SavedJobSearch']
|
100
|
-
end
|
101
|
-
|
102
|
-
my_api.append_api_responses saved_search, json_hash
|
103
|
-
|
104
|
-
return saved_search
|
105
|
-
end
|
106
|
-
|
107
|
-
#############################################################
|
108
|
-
## List of Saved Search's
|
109
|
-
##
|
110
|
-
## For detailed information around this API please visit:
|
111
|
-
## http://api.careerbuilder.com/savedsearchinfo.aspx
|
112
|
-
#############################################################
|
113
|
-
def self.list developer_key, external_user_id, host_site
|
114
|
-
my_api = Cb::Utils::Api.new
|
115
|
-
json_hash = my_api.cb_get Cb.configuration.uri_saved_search_list, :query => {:developerkey=>developer_key, :ExternalUserId=>external_user_id, :hostsite=> host_site}
|
116
|
-
saved_searches = []
|
117
|
-
if json_hash.has_key?('SavedJobSearches') && json_hash['SavedJobSearches'].has_key?('SavedSearches')
|
118
|
-
saved_search_hash = json_hash['SavedJobSearches']['SavedSearches']
|
119
|
-
|
120
|
-
unless saved_search_hash.nil?
|
121
|
-
if saved_search_hash['SavedSearch'].is_a?(Array)
|
122
|
-
saved_search_hash['SavedSearch'].each do |saved_search|
|
123
|
-
saved_searches << CbSavedSearch.new(saved_search)
|
124
|
-
end
|
125
|
-
elsif saved_search_hash['SavedSearch'].is_a?(Hash) && json_hash.length < 2
|
126
|
-
saved_searches << CbSavedSearch.new(saved_search_hash['SavedSearch'])
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
my_api.append_api_responses saved_searches, json_hash['SavedJobSearches']
|
131
|
-
end
|
132
|
-
|
133
|
-
my_api.append_api_responses(saved_searches, json_hash)
|
134
|
-
|
135
|
-
return saved_searches
|
136
|
-
end
|
137
|
-
|
138
|
-
end
|
139
|
-
end
|
data/lib/cb/clients/spot_api.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
|
3
|
-
module Cb::ApiClients
|
4
|
-
class Spot
|
5
|
-
class << self
|
6
|
-
|
7
|
-
def retrieve(criteria)
|
8
|
-
response = retrieve_api_response criteria
|
9
|
-
Cb::Responses::Spot::Retrieve.extract_models response
|
10
|
-
end
|
11
|
-
|
12
|
-
private
|
13
|
-
|
14
|
-
def retrieve_api_response(criteria)
|
15
|
-
params = api_client.class.criteria_to_hash criteria
|
16
|
-
api_client.cb_get(Cb.configuration.uri_spot_retrieve, :query => params)
|
17
|
-
end
|
18
|
-
|
19
|
-
def api_client
|
20
|
-
@api ||= Cb::Utils::Api.new
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,70 +0,0 @@
|
|
1
|
-
module Cb
|
2
|
-
class TalentNetworkApi
|
3
|
-
####################################################
|
4
|
-
## Documentation:
|
5
|
-
## http://api.careerbuilder.com/TalentNetwork.aspx
|
6
|
-
####################################################
|
7
|
-
|
8
|
-
def self.join_form_questions(tndid)
|
9
|
-
## Load the join form questions for a TalentNetworkDID
|
10
|
-
my_api = Cb::Utils::Api.new()
|
11
|
-
json_hash = my_api.cb_get("#{Cb.configuration.uri_tn_join_questions}/#{tndid}/json")
|
12
|
-
|
13
|
-
tn_questions_collection = TalentNetwork.new(json_hash)
|
14
|
-
my_api.append_api_responses(tn_questions_collection, json_hash)
|
15
|
-
|
16
|
-
return tn_questions_collection
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.join_form_branding(tndid)
|
20
|
-
## Gets branding information (stylesheets, copytext, etc...) for the join form.
|
21
|
-
my_api = Cb::Utils::Api.new
|
22
|
-
|
23
|
-
json_hash = my_api.cb_get("#{Cb.configuration.uri_tn_join_form_branding}/#{tndid}/json")
|
24
|
-
|
25
|
-
if json_hash.has_key? 'Branding'
|
26
|
-
tn_join_form_branding = TalentNetwork::JoinFormBranding.new(json_hash['Branding'])
|
27
|
-
end
|
28
|
-
|
29
|
-
my_api.append_api_responses(tn_join_form_branding, json_hash)
|
30
|
-
|
31
|
-
return tn_join_form_branding
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.join_form_geography(tnlanguage="USEnglish")
|
36
|
-
## Gets locations needed to fill the Geography question from the Join Form Question API
|
37
|
-
my_api = Cb::Utils::Api.new
|
38
|
-
json_hash = my_api.cb_get("#{Cb.configuration.uri_tn_join_form_geo}", :query=>{:TNLanguage=>"#{tnlanguage}"})
|
39
|
-
|
40
|
-
geo_dropdown = TalentNetwork::JoinFormGeo.new(json_hash)
|
41
|
-
my_api.append_api_responses(geo_dropdown, json_hash)
|
42
|
-
|
43
|
-
return geo_dropdown
|
44
|
-
end
|
45
|
-
|
46
|
-
def self.member_create(args={})
|
47
|
-
## Creates a member based on the form built with the Join Form Questions API call
|
48
|
-
my_api = Cb::Utils::Api.new
|
49
|
-
tn_member = TalentNetwork::Member.new(args)
|
50
|
-
json_hash = my_api.cb_post("#{Cb.configuration.uri_tn_member_create}/json", :body => tn_member.to_xml )
|
51
|
-
my_api.append_api_responses(json_hash, json_hash)
|
52
|
-
|
53
|
-
return json_hash
|
54
|
-
end
|
55
|
-
|
56
|
-
def self.tn_job_information(job_did, join_form_intercept="true")
|
57
|
-
my_api = Cb::Utils::Api.new
|
58
|
-
json_hash = my_api.cb_get("#{Cb.configuration.uri_tn_job_info}/#{job_did}/json", :query=> {
|
59
|
-
:RequestJoinFormIntercept=>join_form_intercept})
|
60
|
-
|
61
|
-
if json_hash.has_key? 'Response'
|
62
|
-
tn_job_info = TalentNetwork::JobInfo.new(json_hash['Response'])
|
63
|
-
end
|
64
|
-
|
65
|
-
my_api.append_api_responses(tn_job_info, json_hash)
|
66
|
-
|
67
|
-
return tn_job_info
|
68
|
-
end
|
69
|
-
end #TalentNetworkJoinQuestions
|
70
|
-
end #module
|
data/lib/cb/clients/user_api.rb
DELETED
@@ -1,118 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
require 'nokogiri'
|
3
|
-
|
4
|
-
module Cb
|
5
|
-
class UserApi
|
6
|
-
#############################################################
|
7
|
-
## Retrieve a user
|
8
|
-
##
|
9
|
-
## For detailed information around this API please visit:
|
10
|
-
## http://www.careerbuilder.com/api/UserInfo.aspx
|
11
|
-
#############################################################
|
12
|
-
def self.retrieve external_id, test_mode = false
|
13
|
-
my_api = Cb::Utils::Api.new
|
14
|
-
|
15
|
-
json_hash = my_api.cb_post Cb.configuration.uri_user_retrieve, :body => build_retrieve_request(external_id, true)
|
16
|
-
|
17
|
-
if json_hash.has_key? 'ResponseUserInfo'
|
18
|
-
if json_hash['ResponseUserInfo'].has_key? 'UserInfo'
|
19
|
-
user = CbUser.new json_hash['ResponseUserInfo']['UserInfo']
|
20
|
-
end
|
21
|
-
my_api.append_api_responses user, json_hash['ResponseUserInfo']
|
22
|
-
end
|
23
|
-
|
24
|
-
my_api.append_api_responses user, json_hash
|
25
|
-
|
26
|
-
return user
|
27
|
-
end
|
28
|
-
|
29
|
-
#############################################################
|
30
|
-
## Change a user's password
|
31
|
-
##
|
32
|
-
## For detailed information around this API please visit:
|
33
|
-
## http://www.careerbuilder.com/api/UserInfo.aspx
|
34
|
-
#############################################################
|
35
|
-
def self.change_password external_id, old_password, new_password, test_mode = false
|
36
|
-
result = false
|
37
|
-
|
38
|
-
my_api = Cb::Utils::Api.new
|
39
|
-
json_hash = my_api.cb_post Cb.configuration.uri_user_change_password, :body => build_change_password_request(external_id, old_password, new_password, test_mode)
|
40
|
-
|
41
|
-
if json_hash.has_key? 'ResponseUserChangePW'
|
42
|
-
if json_hash['ResponseUserChangePW'].has_key?('Status') && json_hash['ResponseUserChangePW']['Status'].include?('Success')
|
43
|
-
result = true
|
44
|
-
end
|
45
|
-
my_api.append_api_responses result, json_hash['ResponseUserChangePW']
|
46
|
-
end
|
47
|
-
|
48
|
-
my_api.append_api_responses result, json_hash
|
49
|
-
|
50
|
-
result
|
51
|
-
end
|
52
|
-
|
53
|
-
#############################################################
|
54
|
-
## De-activate a user
|
55
|
-
##
|
56
|
-
## For detailed information around this API please visit:
|
57
|
-
## http://www.careerbuilder.com/api/UserInfo.aspx
|
58
|
-
#############################################################
|
59
|
-
def self.delete external_id, password, test_mode = false
|
60
|
-
result = false
|
61
|
-
|
62
|
-
my_api = Cb::Utils::Api.new
|
63
|
-
json_hash = my_api.cb_post Cb.configuration.uri_user_delete, :body => build_delete_request(external_id, password, test_mode)
|
64
|
-
|
65
|
-
if json_hash.has_key? 'ResponseUserDelete'
|
66
|
-
if json_hash['ResponseUserDelete'].has_key?('Status') && json_hash['ResponseUserDelete']['Status'].include?('Success')
|
67
|
-
result = true
|
68
|
-
end
|
69
|
-
my_api.append_api_responses result, json_hash['ResponseUserDelete']
|
70
|
-
end
|
71
|
-
|
72
|
-
my_api.append_api_responses result, json_hash
|
73
|
-
|
74
|
-
result
|
75
|
-
end
|
76
|
-
|
77
|
-
private
|
78
|
-
def self.build_retrieve_request external_id, test_mode
|
79
|
-
builder = Nokogiri::XML::Builder.new do
|
80
|
-
Request {
|
81
|
-
ExternalID_ external_id
|
82
|
-
Test_ test_mode.to_s
|
83
|
-
DeveloperKey_ Cb.configuration.dev_key
|
84
|
-
}
|
85
|
-
end
|
86
|
-
|
87
|
-
builder.to_xml
|
88
|
-
end
|
89
|
-
|
90
|
-
def self.build_change_password_request external_id, old_password, new_password, test_mode
|
91
|
-
builder = Nokogiri::XML::Builder.new do
|
92
|
-
Request {
|
93
|
-
ExternalID_ external_id
|
94
|
-
OldPassword_ old_password
|
95
|
-
NewPassword_ new_password
|
96
|
-
Test_ test_mode.to_s
|
97
|
-
DeveloperKey_ Cb.configuration.dev_key
|
98
|
-
}
|
99
|
-
end
|
100
|
-
|
101
|
-
builder.to_xml
|
102
|
-
end
|
103
|
-
|
104
|
-
def self.build_delete_request external_id, password, test_mode
|
105
|
-
builder = Nokogiri::XML::Builder.new do
|
106
|
-
Request {
|
107
|
-
ExternalID_ external_id
|
108
|
-
Password_ password
|
109
|
-
Test_ test_mode.to_s
|
110
|
-
DeveloperKey_ Cb.configuration.dev_key
|
111
|
-
}
|
112
|
-
end
|
113
|
-
|
114
|
-
builder.to_xml
|
115
|
-
end
|
116
|
-
|
117
|
-
end
|
118
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Cb
|
2
|
-
# Trying to simplify the large number of inputs our job search api accepts
|
3
|
-
# For indepth information around all of the different inputs, please visit:
|
4
|
-
# http://api.careerbuilder.com/JobSearchInfo.aspx
|
5
|
-
####################################################################################
|
6
|
-
class JobSearchCriteria
|
7
|
-
extend Cb::Utils::FluidAttributes
|
8
|
-
|
9
|
-
fluid_attr_accessor :advanced_grouping_mode, :boolean_operator, :category, :co_brand, :company_did,
|
10
|
-
:company_did_csv, :company_name, :company_name_boost_params, :country_code,
|
11
|
-
:education_code, :emp_type, :enable_company_collapse, :exclude_company_names,
|
12
|
-
:exclude_job_titles, :exclude_keywords, :exclude_national, :exclude_non_traditional_jobs,
|
13
|
-
:exclude_product_id, :facet_category, :facet_company, :facet_city, :facet_state,
|
14
|
-
:facet_city_state, :facet_pay, :facet_normalized_company_did, :host_site,
|
15
|
-
:include_company_children, :industry_codes, :job_title, :keywords, :location,
|
16
|
-
:normalized_company_did, :normalized_company_did_boost_params,
|
17
|
-
:normalized_company_name, :onet_code, :order_by, :order_direction, :page_number,
|
18
|
-
:partner_id, :pay_high, :pay_info_only, :pay_low, :per_page, :posted_within,
|
19
|
-
:product_id, :radius, :records_per_group, :relocate_jobs, :soc_code, :school_site_id,
|
20
|
-
:search_all_countries, :search_view, :show_categories, :show_apply_requirements,
|
21
|
-
:apply_requirements, :exclude_apply_requirements, :single_onet_search, :site_entity, :site_id, :skills, :specific_education,
|
22
|
-
:spoken_language, :tags, :talent_network_did, :url_compression_service, :use_facets,
|
23
|
-
:str_crit
|
24
|
-
|
25
|
-
def search
|
26
|
-
Cb::JobApi.search(Cb::Utils::Api.criteria_to_hash(self))
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module Cb::Criteria
|
2
|
-
class SpotRetrieve
|
3
|
-
extend Cb::Utils::FluidAttributes
|
4
|
-
|
5
|
-
fluid_attr_accessor :contenttype, :language, :sortfield, :sortdirection, :maxitems
|
6
|
-
(1..8).each { |num| fluid_attr_accessor "field#{num.to_s}".to_sym }
|
7
|
-
|
8
|
-
def retrieve
|
9
|
-
Cb::ApiClients::Spot.retrieve self
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,91 +0,0 @@
|
|
1
|
-
module Cb
|
2
|
-
class CbApplication
|
3
|
-
#request params
|
4
|
-
attr_accessor :job_did, :site_id, :ipath, :co_brand, :test,
|
5
|
-
:resume_file_name, :resume,
|
6
|
-
:user_external_id, :user_external_resume_id,
|
7
|
-
:answers
|
8
|
-
|
9
|
-
#response params
|
10
|
-
#redirect_url is returned from the api for shared apply applications.
|
11
|
-
attr_accessor :redirect_url
|
12
|
-
|
13
|
-
def initialize(args = {})
|
14
|
-
@job_did = args[:job_did]
|
15
|
-
@site_id = args[:site_id] || 'cbnsv'
|
16
|
-
@ipath = args[:ipath] || ''
|
17
|
-
@co_brand = args[:co_brand] || ''
|
18
|
-
@test = args[:test] || 'false'
|
19
|
-
@resume_file_name = args[:resume_file_name] || ''
|
20
|
-
@resume = args[:resume] || ''
|
21
|
-
@user_external_id = args[:user_external_id] || ''
|
22
|
-
@user_external_resume_id = args[:user_external_resume_id] || ''
|
23
|
-
@answers = []
|
24
|
-
@redirect_url = ''
|
25
|
-
end
|
26
|
-
|
27
|
-
def submit
|
28
|
-
if is_registered?
|
29
|
-
Cb.application.submit_registered_app(self)
|
30
|
-
else
|
31
|
-
Cb.application.submit_app(self)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def is_registered?
|
36
|
-
!@user_external_id.blank? && @resume.blank?
|
37
|
-
end
|
38
|
-
|
39
|
-
def is_unregistered?
|
40
|
-
!is_registered?
|
41
|
-
end
|
42
|
-
|
43
|
-
def complete?
|
44
|
-
cb_response.application_status == 'Complete' || cb_response.application_status == 'Complete (Test)'
|
45
|
-
end
|
46
|
-
|
47
|
-
def add_answer(id, text)
|
48
|
-
@answers << CbApplication::CbAnswer.new(id, text)
|
49
|
-
end
|
50
|
-
|
51
|
-
def to_xml
|
52
|
-
ret = '<RequestApplication>'
|
53
|
-
|
54
|
-
ret = "#{ret}<DeveloperKey>#{Cb.configuration.dev_key}</DeveloperKey>"
|
55
|
-
ret = "#{ret}<JobDID>#{@job_did}</JobDID>"
|
56
|
-
ret = "#{ret}<Test>#{@test}</Test>" unless @test.blank?
|
57
|
-
ret = "#{ret}<SiteID>#{@site_id}</SiteID>" unless @site_id.blank?
|
58
|
-
#ret = "#{ret}<IPath>#{@ipath}</IPath>" unless @ipath.blank? #this has to be passed by query string because the api is lame.
|
59
|
-
ret = "#{ret}<CoBrand>#{@co_brand}</CoBrand>" unless @co_brand.blank?
|
60
|
-
ret = "#{ret}<HostSite>#{Cb.configuration.host_site}</HostSite>"
|
61
|
-
ret = "#{ret}<Resume><ResumeFileName>#{@resume_file_name}</ResumeFileName><ResumeData>#{@resume}</ResumeData></Resume>" if is_unregistered?
|
62
|
-
|
63
|
-
unless @answers.count == 0
|
64
|
-
ret = "#{ret}<Responses>"
|
65
|
-
@answers.each do | ans |
|
66
|
-
ret = "#{ret}#{ans.to_xml}"
|
67
|
-
end
|
68
|
-
ret = "#{ret}</Responses>"
|
69
|
-
end
|
70
|
-
|
71
|
-
ret = "#{ret}<ExternalUserID>#{@user_external_id}</ExternalUserID>" if is_registered?
|
72
|
-
ret = "#{ret}<ExternalResumeID>#{@user_external_resume_id}</ExternalResumeID>" if is_registered?
|
73
|
-
|
74
|
-
"#{ret}</RequestApplication>"
|
75
|
-
end # to_xml
|
76
|
-
end # CbApplication
|
77
|
-
|
78
|
-
############################################################
|
79
|
-
class CbApplication::CbAnswer
|
80
|
-
attr_accessor :id, :text
|
81
|
-
|
82
|
-
def initialize(id, text)
|
83
|
-
@id = id
|
84
|
-
@text = text
|
85
|
-
end
|
86
|
-
|
87
|
-
def to_xml
|
88
|
-
"<Response><QuestionID>#{@id}</QuestionID><ResponseText>#{@text}</ResponseText></Response>"
|
89
|
-
end
|
90
|
-
end # CbAnswer
|
91
|
-
end # Cb
|