cb-api 0.0.8 → 0.0.9

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.
data/lib/cb.rb CHANGED
@@ -46,8 +46,8 @@ module Cb
46
46
  Cb::RecommendationApi
47
47
  end
48
48
 
49
- def self.job_application
50
- Cb::JobApplicationApi
49
+ def self.application
50
+ Cb::ApplicationApi
51
51
  end
52
52
 
53
53
  def self.country
@@ -0,0 +1,61 @@
1
+ require 'json'
2
+ require 'nokogiri'
3
+
4
+ module Cb
5
+ class ApplicationApi
6
+ #############################################################
7
+ ## Get an application for a job
8
+ ##
9
+ ## For detailed information around this API please visit:
10
+ ## http://api.careerbuilder.com/ApplicationInfo.aspx
11
+ #############################################################
12
+ def self.for_job(did)
13
+ my_api = Cb::Utils::Api.new()
14
+ cb_response = my_api.cb_get(Cb.configuration.uri_application, :query => {:JobDID => did})
15
+ json_hash = JSON.parse(cb_response.response.body)
16
+ app_info = CbApp.new(json_hash['ResponseBlankApplication']['BlankApplication']['Questions'])
17
+ my_api.append_api_responses(app_info, json_hash['ResponseBlankApplication'])
18
+ return {:json_hash => json_hash, :app_info => app_info}
19
+ end
20
+
21
+ #############################################################
22
+ ## Submit a job application for a registered user
23
+ ##
24
+ ## For detailed information around this API please visit:
25
+ ## http://api.careerbuilder.com/ApplicationInfo.aspx
26
+ #############################################################
27
+
28
+ def self.submit_registered_app(request_xml)
29
+ my_api = Cb::Utils::Api.new()
30
+ cb_response = my_api.cb_post(Cb.configuration.uri_application_registered, :body => request_xml)
31
+
32
+ json_hash = JSON.parse(cb_response.response.body)
33
+ status = false
34
+ begin
35
+ json_hash = JSON.parse(cb_response.response.body)
36
+ if json_hash.empty? == false
37
+ status = json_hash['ResponseApplication']['ApplicationStatus'] == 'Complete (Test)'
38
+ end
39
+ rescue
40
+ status = false
41
+ end
42
+
43
+ return status
44
+ end
45
+
46
+ #############################################################
47
+ ## Submit a job application
48
+ ##
49
+ ## For detailed information around this API please visit:
50
+ ## http://api.careerbuilder.com/ApplicationInfo.aspx
51
+ #############################################################
52
+
53
+ def self.submit_app(request_xml)
54
+ my_api = Cb::Utils::Api.new()
55
+ cb_response = my_api.cb_post(Cb.configuration.uri_application_submit, :body => request_xml)
56
+ json_hash = cb_response.parsed_response
57
+ status = json_hash['ResponseApplication']['ApplicationStatus'] == 'Complete (Test)'
58
+
59
+ end
60
+ end
61
+ end
data/lib/cb/config.rb CHANGED
@@ -6,8 +6,8 @@ module Cb
6
6
  :uri_education_code, :uri_employee_types,
7
7
  :uri_recommendation_for_job, :uri_recommendation_for_user,
8
8
  :uri_recommendation_for_company,
9
- :uri_job_application
10
- #:uri_job_application_submit
9
+ :uri_application, :uri_application_submit,
10
+ :uri_application_registered, :job_did
11
11
 
12
12
  def initialize
13
13
  Cb::Utils::Country.inject_convenience_methods
@@ -24,8 +24,9 @@ module Cb
24
24
  @uri_recommendation_for_job ||= '/v1/Recommendations/ForJob'
25
25
  @uri_recommendation_for_user ||= '/v1/Recommendations/ForUser'
26
26
  @uri_recommendation_for_company ||= '/Employer/JobRecommendation'
27
- @uri_job_application ||= '/v1/application/blank'
28
- #@uri_job_application_submit ||= '/v1/application/submit'
27
+ @uri_application ||= '/v1/application/blank'
28
+ @uri_application_submit ||= '/v1/Application/submit'
29
+ @uri_application_registered ||= '/v3/Application/registered'
29
30
  end
30
31
 
31
32
  def to_hash
@@ -43,8 +44,10 @@ module Cb
43
44
  :uri_recommendation_for_job => @uri_recommendation_for_job,
44
45
  :uri_recommendation_for_user => @uri_recommendation_for_user,
45
46
  :uri_recommendation_for_company => @uri_recommendation_for_company,
46
- :uri_job_application => @uri_job_application
47
- # :uri_job_application_submit => @uri_job_application_submit
47
+ :uri_application => @uri_application,
48
+ :uri_application_submit => @uri_application_submit,
49
+ :uri_application_registered => @uri_application_registered,
50
+ :job_did => @job_did
48
51
  }
49
52
  end
50
53
 
@@ -0,0 +1,39 @@
1
+ module Cb
2
+ class CbApp
3
+ attr_accessor :response_blank_app, :blank_app, :did, :submit_service_url,
4
+ :apply_url, :title,
5
+ :total_questions, :total_required_questions,
6
+ :question_id, :is_required, :question_type, :expected_response_format,
7
+ :question_text
8
+ #################################################################
9
+ ## This general purpose object stores anything having to do with
10
+ ## an application. The API objects dealing with application,
11
+ ## will populate one or many of this object.
12
+ #################################################################
13
+
14
+ def initialize(args = {})
15
+
16
+ # App related
17
+ @response_blank_app = args['ResponseBlankApplication'] || ''
18
+ @blank_app = args['BlankApplication'] || ''
19
+
20
+ # Job Info related
21
+ @did = args['DID'] || args['JobDID'] || ''
22
+ @title = args['JobTitle'] || ''
23
+
24
+ # Job Details related
25
+ @submit_service_url = args['ApplicationSubmitServiceURL'] || ''
26
+ @apply_url = args['ApplyURL'] || ''
27
+
28
+
29
+ # Question related
30
+ @total_questions = args['TotalQuestions'] || ''
31
+ @total_required_questions = args['TotalRequiredQuestions'] || ''
32
+ @question_id = args['QuestionID'] || ''
33
+ @is_required = args['IsRequired'] || ''
34
+ @question_type = args['QuestionType'] || ''
35
+ @question_text = args['QuestionText'] || ''
36
+ @expected_response_format = args['ExpectedResponseFormat'] || ''
37
+ end
38
+ end
39
+ end
data/lib/cb/utils/api.rb CHANGED
@@ -17,6 +17,11 @@ module Cb::Utils
17
17
  self.class.get(*args, &block)
18
18
  end
19
19
 
20
+ def cb_post(*args, &block)
21
+ self.class.base_uri 'https://api.careerbuilder.com'
22
+ self.class.post(*args, &block)
23
+ end
24
+
20
25
  def append_api_responses(obj, resp)
21
26
  if obj.respond_to?('cb_response')
22
27
  meta_class = obj.cb_response
data/lib/cb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cb
2
- VERSION = '0.0.8'
2
+ VERSION = '0.0.9'
3
3
  end
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cb-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jesse Retchko
9
9
  - Chris Little
10
+ - Miriam Williams
10
11
  autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2013-05-03 00:00:00.000000000 Z
14
+ date: 2013-05-07 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: httparty
@@ -48,19 +49,21 @@ description: Ruby wrapper for Careerbuilder Public API.
48
49
  email:
49
50
  - Jesse.Retchko@Careerbuilder.com
50
51
  - Chris.Little@Careerbuilder.com
52
+ - MiriamDeana@gmail.com
51
53
  executables: []
52
54
  extensions: []
53
55
  extra_rdoc_files: []
54
56
  files:
57
+ - lib/cb/clients/application_api.rb
55
58
  - lib/cb/clients/category_api.rb
56
59
  - lib/cb/clients/company_api.rb
57
60
  - lib/cb/clients/education_api.rb
58
61
  - lib/cb/clients/employee_types_api.rb
59
62
  - lib/cb/clients/job_api.rb
60
- - lib/cb/clients/job_application_api.rb
61
63
  - lib/cb/clients/recommendation_api.rb
62
64
  - lib/cb/config.rb
63
65
  - lib/cb/job_search_criteria.rb
66
+ - lib/cb/models/cb_app.rb
64
67
  - lib/cb/models/cb_category.rb
65
68
  - lib/cb/models/cb_company.rb
66
69
  - lib/cb/models/cb_education.rb
@@ -1,35 +0,0 @@
1
- require 'json'
2
-
3
- module Cb
4
- class JobApplicationApi
5
- #############################################################
6
- ## Get job application information
7
- ##
8
- ## For detailed information around this API please visit:
9
- ## http://api.careerbuilder.com/ApplicationInfo.aspx
10
- #############################################################
11
-
12
- def self.get_for(job_did, site_id = '', co_brand = '')
13
- my_api = Cb::Utils::Api.new()
14
- cb_response = my_api.cb_get(Cb.configuration.uri_job_application, :query => {:JobDID => job_did, :SiteID => site_id, :CoBrand => co_brand})
15
- json_hash = JSON.parse(cb_response.response.body)
16
-
17
- job_application = CbJobApplication.new(json_hash['ResponseBlankApplication']['BlankApplication'])
18
- my_api.append_api_responses(job_application, json_hash['ResponseBlankApplication'])
19
-
20
- return job_application
21
- end
22
-
23
- #############################################################
24
- ## Submit a job application
25
- ##
26
- ## For detailed information around this API please visit:
27
- ## http://api.careerbuilder.com/ApplicationInfo.aspx
28
- #############################################################
29
-
30
- # def self.submit(did)
31
-
32
- # end
33
-
34
- end # JobApplicationApi
35
- end # Cb