cb-api 1.3.6 → 2.0.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.
Files changed (98) hide show
  1. data/lib/cb.rb +7 -99
  2. data/lib/cb/clients/anon_saved_search.rb +42 -0
  3. data/lib/cb/clients/application.rb +53 -0
  4. data/lib/cb/clients/application_external.rb +24 -0
  5. data/lib/cb/clients/category.rb +49 -0
  6. data/lib/cb/clients/company.rb +34 -0
  7. data/lib/cb/clients/education.rb +28 -0
  8. data/lib/cb/clients/email_subscription.rb +55 -0
  9. data/lib/cb/clients/employee_types.rb +31 -0
  10. data/lib/cb/clients/job.rb +57 -0
  11. data/lib/cb/clients/job_branding.rb +21 -0
  12. data/lib/cb/clients/recommendation.rb +76 -0
  13. data/lib/cb/clients/saved_search.rb +66 -0
  14. data/lib/cb/clients/spot.rb +27 -0
  15. data/lib/cb/clients/talent_network.rb +51 -0
  16. data/lib/cb/clients/user.rb +94 -0
  17. data/lib/cb/convenience.rb +83 -0
  18. data/lib/cb/criteria/job/details.rb +11 -0
  19. data/lib/cb/criteria/job/search.rb +25 -0
  20. data/lib/cb/criteria/spot/retrieve.rb +12 -0
  21. data/lib/cb/exceptions.rb +2 -1
  22. data/lib/cb/models/implementations/application.rb +92 -0
  23. data/lib/cb/models/implementations/application_external.rb +28 -0
  24. data/lib/cb/models/implementations/application_schema.rb +75 -0
  25. data/lib/cb/models/implementations/branding/media.rb +14 -14
  26. data/lib/cb/models/implementations/branding/section.rb +14 -15
  27. data/lib/cb/models/implementations/branding/style.rb +10 -10
  28. data/lib/cb/models/implementations/branding/styles/base.rb +12 -10
  29. data/lib/cb/models/implementations/branding/styles/buttons.rb +7 -6
  30. data/lib/cb/models/implementations/branding/styles/company_info.rb +14 -12
  31. data/lib/cb/models/implementations/branding/styles/container.rb +7 -6
  32. data/lib/cb/models/implementations/branding/styles/content.rb +7 -5
  33. data/lib/cb/models/implementations/branding/styles/css_adapter.rb +39 -41
  34. data/lib/cb/models/implementations/branding/styles/headings.rb +7 -5
  35. data/lib/cb/models/implementations/branding/styles/job_details.rb +12 -11
  36. data/lib/cb/models/implementations/branding/styles/page.rb +7 -5
  37. data/lib/cb/models/implementations/branding/widget.rb +9 -7
  38. data/lib/cb/models/implementations/category.rb +24 -0
  39. data/lib/cb/models/implementations/company.rb +135 -0
  40. data/lib/cb/models/implementations/education.rb +17 -0
  41. data/lib/cb/models/implementations/email_subscription.rb +17 -0
  42. data/lib/cb/models/implementations/employee_type.rb +13 -0
  43. data/lib/cb/models/implementations/job.rb +167 -0
  44. data/lib/cb/models/implementations/job_branding.rb +34 -0
  45. data/lib/cb/models/implementations/saved_search.rb +159 -0
  46. data/lib/cb/models/implementations/spot.rb +30 -0
  47. data/lib/cb/models/implementations/talent_network.rb +156 -0
  48. data/lib/cb/models/implementations/user.rb +58 -0
  49. data/lib/cb/responses/anonymous_saved_search/create.rb +36 -0
  50. data/lib/cb/responses/anonymous_saved_search/delete.rb +23 -0
  51. data/lib/cb/responses/api_response.rb +64 -0
  52. data/lib/cb/responses/employee_types/search.rb +48 -0
  53. data/lib/cb/responses/errors.rb +47 -0
  54. data/lib/cb/responses/metadata.rb +27 -0
  55. data/lib/cb/responses/saved_search/delete.rb +28 -0
  56. data/lib/cb/responses/saved_search/list.rb +43 -0
  57. data/lib/cb/responses/saved_search/singular.rb +50 -0
  58. data/lib/cb/responses/spot/retrieve_response.rb +31 -20
  59. data/lib/cb/responses/timing.rb +37 -0
  60. data/lib/cb/utils/api.rb +2 -2
  61. data/lib/cb/utils/response_array_extractor.rb +14 -4
  62. data/lib/cb/version.rb +1 -1
  63. metadata +114 -69
  64. data/lib/cb/clients/anon_saved_search_api.rb +0 -41
  65. data/lib/cb/clients/application_api.rb +0 -78
  66. data/lib/cb/clients/application_external_api.rb +0 -30
  67. data/lib/cb/clients/category_api.rb +0 -51
  68. data/lib/cb/clients/company_api.rb +0 -39
  69. data/lib/cb/clients/education_api.rb +0 -37
  70. data/lib/cb/clients/email_subscription_api.rb +0 -68
  71. data/lib/cb/clients/employee_types_api.rb +0 -48
  72. data/lib/cb/clients/job_api.rb +0 -70
  73. data/lib/cb/clients/job_branding_api.rb +0 -24
  74. data/lib/cb/clients/recommendation_api.rb +0 -98
  75. data/lib/cb/clients/resume_api.rb +0 -185
  76. data/lib/cb/clients/saved_search_api.rb +0 -139
  77. data/lib/cb/clients/spot_api.rb +0 -25
  78. data/lib/cb/clients/talent_network_api.rb +0 -70
  79. data/lib/cb/clients/user_api.rb +0 -118
  80. data/lib/cb/criteria/job_details_criteria.rb +0 -11
  81. data/lib/cb/criteria/job_search_criteria.rb +0 -29
  82. data/lib/cb/criteria/spot_retrieve_criteria.rb +0 -12
  83. data/lib/cb/models/implementations/cb_application.rb +0 -91
  84. data/lib/cb/models/implementations/cb_application_external.rb +0 -31
  85. data/lib/cb/models/implementations/cb_application_schema.rb +0 -78
  86. data/lib/cb/models/implementations/cb_category.rb +0 -22
  87. data/lib/cb/models/implementations/cb_company.rb +0 -133
  88. data/lib/cb/models/implementations/cb_education.rb +0 -25
  89. data/lib/cb/models/implementations/cb_email_subscription.rb +0 -19
  90. data/lib/cb/models/implementations/cb_employee_type.rb +0 -12
  91. data/lib/cb/models/implementations/cb_job.rb +0 -175
  92. data/lib/cb/models/implementations/cb_job_branding.rb +0 -33
  93. data/lib/cb/models/implementations/cb_resume.rb +0 -221
  94. data/lib/cb/models/implementations/cb_saved_search.rb +0 -228
  95. data/lib/cb/models/implementations/cb_spot.rb +0 -32
  96. data/lib/cb/models/implementations/cb_talent_network.rb +0 -155
  97. data/lib/cb/models/implementations/cb_user.rb +0 -56
  98. data/lib/cb/responses/raw_api_response.rb +0 -34
@@ -1,31 +0,0 @@
1
- module Cb
2
- class CbApplicationExternal
3
- # API Request parameters
4
- attr_accessor :job_did, :email, :site_id, :ipath
5
-
6
- # Response from External Application API
7
- # Populated after application submission.
8
- attr_accessor :apply_url
9
-
10
- def initialize(args = {})
11
- @job_did = args[:job_did] || ''
12
- @email = args[:email] || ''
13
- @site_id = args[:site_id] || 'cbnsv'
14
- @ipath = args[:ipath] || ''
15
- @apply_url = ''
16
- end
17
-
18
- def to_xml
19
- ret = "<Request>"
20
- ret += "<DeveloperKey>#{Cb.configuration.dev_key}</DeveloperKey>"
21
- ret += "<EmailAddress>#{@email}</EmailAddress>"
22
- ret += "<JobDID>#{@job_did}</JobDID>"
23
- ret += "<SiteID>#{@site_id}</SiteID>"
24
- ret += "<IPath>#{@ipath}</IPath>"
25
- ret += "<IsExternalLinkApply>false</IsExternalLinkApply>"
26
- ret += "<HostSite>#{Cb.configuration.host_site}</HostSite>"
27
- ret += "</Request>"
28
- ret
29
- end # to_xml
30
- end # CbApplicationExternal
31
- end # Cb
@@ -1,78 +0,0 @@
1
- module Cb
2
- #################################################################
3
- ## This general purpose object stores anything having to do with
4
- ## an application. The API objects dealing with application,
5
- ## will populate one or many of this object.
6
- #################################################################
7
- class CbApplicationSchema
8
- attr_accessor :did, :title, :requirements,
9
- :apply_url, :submit_service_url, :is_shared_apply,
10
- :total_questions, :total_required_questions, :questions
11
-
12
- def initialize(args = {})
13
- return if args.nil?
14
-
15
- # Job Info related
16
- @did = args['JobDID'] || ''
17
- @title = args['JobTitle'] || ''
18
- @requirements = args['Requirements'] || ''
19
-
20
- # Apply URL related
21
- @submit_service_url = args['ApplicationSubmitServiceURL'] || ''
22
- @apply_url = args['ApplyURL'] || ''
23
- @is_shared_apply = (args['IsSharedApply'].downcase == 'true')
24
-
25
- # Question related
26
- @total_questions = args['TotalQuestions'] || ''
27
- @total_required_questions = args['TotalRequiredQuestions'] || ''
28
- @total_questions = @total_questions.to_i if Cb::Utils::Api.is_numeric? @total_questions
29
- @total_required_questions = @total_required_questions.to_i if Cb::Utils::Api.is_numeric? @total_required_questions
30
-
31
- @questions = []
32
- if args.has_key?('Questions')
33
- unless args['Questions'].empty?
34
- args['Questions']['Question'].each do | qq |
35
- @questions << CbApplicationSchema::CbQuestionSchema.new(qq)
36
- end
37
- end
38
- end
39
- end # Initialize
40
- end # CbApplicationSchema
41
-
42
- #################################################################
43
- class CbApplicationSchema::CbQuestionSchema
44
- attr_accessor :id, :type, :required, :format, :text, :answers
45
-
46
- def initialize(args = {})
47
- return if args.nil?
48
-
49
- @id = args['QuestionID'] || ''
50
- @type = args['QuestionType'] || ''
51
- @required = (args['IsRequired'].downcase == 'true')
52
- @format = args['ExpectedResponseFormat'] || ''
53
- @text = args['QuestionText'] || ''
54
-
55
- @answers = []
56
- if args.has_key?('Answers')
57
- unless args['Answers'].empty?
58
- args['Answers']['Answer'].each do | aa |
59
- @answers << CbApplicationSchema::CbAnswerSchema.new(aa)
60
- end
61
- end
62
- end
63
- end
64
- end # CbQuestionSchema
65
-
66
- #################################################################
67
- class CbApplicationSchema::CbAnswerSchema
68
- attr_accessor :question_id, :id, :text
69
-
70
- def initialize(args = {})
71
- return if args.nil?
72
-
73
- @question_id = args['QuestionID']
74
- @id = args['AnswerID']
75
- @text = args['AnswerText']
76
- end
77
- end # CbAnswerSchema
78
- end
@@ -1,22 +0,0 @@
1
- module Cb
2
- class CbCategory
3
- attr_accessor :code, :name, :language
4
- def initialize(args={})
5
- @code = args["Code"] || String.new
6
- @name = args["Name"]["#text"] || String.new
7
- @language = args["Name"]["@language"] || String.new
8
- end
9
-
10
- def CategoryName()
11
- @name unless @name.nil?
12
- end
13
-
14
- def CategoryCode()
15
- @code unless @code.nil?
16
- end
17
-
18
- def CategoryLanguage()
19
- @language unless @language.nil?
20
- end
21
- end
22
- end
@@ -1,133 +0,0 @@
1
- module Cb
2
- class CbCompany
3
- attr_accessor :did, :name, :hh_name, :url, :size, :type, :year_founded,
4
- :news_feed, :overview, :total_jobs, :headquarters, :host_sites, :s_drive,
5
- :industry,
6
-
7
- :image_file, :header_image, :footer_image, :logo, :photos, :my_photos,
8
- :bright_cove_video,
9
-
10
- :twitter_url, :linked_in_url, :facebook_url, :facebook_widget,
11
- :linked_in_widget, :twitter_widget,
12
-
13
- :benefits, :benefits_label, :history, :contact, :contact_label, :links,
14
- :vision, :vision_label, :products, :products_label, :career_opps, :career_opps_label,
15
- :culture, :culture_label, :addresses, :bulletin_board, :testimonials,
16
- :college, :college_label, :diversity, :diversity_label, :people, :people_label,
17
-
18
- :extra_custom_tab, :tab_header_bg_color, :tab_header_text_color, :tab_header_hover_color,
19
- :side_bar_header_color, :button_color, :button_text_color, :gutter_bg_color,
20
- :my_content_tabs, :info_tabs, :is_enhance, :is_military, :is_premium
21
-
22
- def initialize(args = {})
23
- return if args.nil?
24
-
25
- # General
26
- ################################################################
27
- @did = args['CompanyDID'] || ''
28
- @name = args['CompanyName'] || ''
29
- @hh_name = args['HHName'] || ''
30
- @url = args['URL'] || ''
31
- @size = args['CompanySize'] || ''
32
- @type = args['CompanyType'] || ''
33
- @year_founded = args['YearFounded'] || ''
34
- @news_feed = args['NewsFeed'] || ''
35
- @overview = args['Overview'] || ''
36
- @total_jobs = args['TotalNumberJobs'] || ''
37
- @headquarters = args['Headquarter'] || ''
38
- @host_sites = args['HostSites'] || ''
39
- @s_drive = args['SDrive'] || ''
40
- @industry = args['IndustryType'] || ''
41
-
42
- # Images
43
- ################################################################
44
- @logo = args['CompanyLogo'] || ''
45
- @header_image = args['HeaderImage'] || ''
46
- @footer_image = args['FooterImage'] || ''
47
- @image_file = args['ImageFile'] || ''
48
-
49
- @photos = args['CompanyPhotos']['PhotoList'] || ''
50
- @my_photos = args['MyPhotos'] || ''
51
-
52
- # Videos
53
- ################################################################
54
- @bright_cove_video = args['BrightcoveVideo'] || ''
55
-
56
- # Social sites
57
- ################################################################
58
- @facebook_url = args['FBPageURL'] || args['FacebookURL'] || ''
59
- @facebook_widget = args['FacebookWidget'] || ''
60
- @twitter_url = args['TwitterURL'] || ''
61
- @twitter_widget = args['TwitterWidget'] || ''
62
- @linked_in_url = args['LinkedURL'] || ''
63
- @linked_in_widget = args['LinkedInWidget'] || ''
64
-
65
- # Detailed information (blobs)
66
- ################################################################
67
- @history = args['HistoryBody'] || ''
68
- @people = args['PeopleBody'] || ''
69
- @people_label = args['PeopleLabel'] || ''
70
- @contact = args['ContactBody'] || ''
71
- @contact_label = args['ContactLabel'] || ''
72
- @benefits = args['BenefitsBody'] || ''
73
- @benefits_label = args['BenefitsLabel'] || ''
74
- @vision = args['VisionBody'] || ''
75
- @vision_label = args['VisionLabel'] || ''
76
- @products = args['ProductsBody'] || ''
77
- @products_label = args['ProductsLabel'] || ''
78
- @career_opps = args['CareerOpportunitiesBody'] || ''
79
- @career_opps_label = args['CareerOpportunitiesLabel'] || ''
80
- @culture = args['CultureBody'] || ''
81
- @culture_label = args['CultureLabel'] || ''
82
- @bulletin_board = args['CompanyBulletinBoard']['bulletinboards'] || ''
83
- @testimonials = args['Testimonials']['Testimonials'] || ''
84
- @addresses = []
85
- if args.has_key?('CompanyAddress')
86
- unless args['CompanyAddress'].empty? || args['CompanyAddress']['AddressList'].nil?
87
- args['CompanyAddress']['AddressList']['Address'].each do |cur_addr|
88
- @addresses << CbCompany::CbAddress.new(cur_addr)
89
- end
90
- end
91
- end
92
- @college = args['CollegeBody'] || ''
93
- @college_label = args['CollegeLabel'] || ''
94
- @diversity = args['DiversityBody'] || ''
95
- @diversity_label = args['DiversityLabel'] || ''
96
- @links = args['CompanyLinksCollection']['companylinks'] || ''
97
-
98
- # tabs, colors, buttons, headers, etc
99
- ################################################################
100
- @extra_custom_tab = args['ExtraCustomTab'] || ''
101
- @tab_header_bg_color = args['TabHeaderBGColor'] || ''
102
- @tab_header_text_color = args['TabHeaderTextColor'] || ''
103
- @tab_header_hover_color = args['TabHeaderHoverColor'] || ''
104
- @side_bar_header_color = args['SidebarHeaderColor'] || ''
105
- @button_color = args['ButtonColor'] || ''
106
- @button_text_color = args['ButtonTextColor'] || ''
107
- @gutter_bg_color = args['GutterBGColor'] || ''
108
- @my_content_tabs = args['MyContent']['MyContentTabs'] || ''
109
- @info_tabs = args['InfoTabs']['InfoTabs'] || ''
110
- @is_enhance = args['isEnhance'] || ''
111
- @is_military = args['MilitaryIcon'] || ''
112
- @is_premium = args['PremiumProfile'] || ''
113
- end
114
-
115
- # CbAddress # CbCompany has a collection of these
116
- ################################################################
117
- class CbAddress
118
- attr_accessor :street, :city, :state, :country, :zip
119
-
120
- def initialize(args = {})
121
- begin
122
- @street = args['Street'] || ''
123
- @city = args['City'] || ''
124
- @state = args['State'] || ''
125
- @country = args['Country'] || ''
126
- @zip = args['ZIPCode'] || ''
127
- rescue
128
- # failed to load address
129
- end
130
- end
131
- end #CbAddress
132
- end #CbCompany
133
- end #Cb
@@ -1,25 +0,0 @@
1
- module Cb
2
- class CbEducation
3
- attr_accessor :code, :text, :language
4
-
5
- ##############################################################
6
- ## This object stores Education Codes having to do with a
7
- ## country. The API objects dealing with job, will populate
8
- ## one or many of this object.
9
- ##
10
- ## For more information, please visit:
11
- ## http://api.careerbuilder.com/v1/educationcodes
12
- ##############################################################
13
- def initialize(args = {})
14
- return if args.nil?
15
-
16
- @code = args['Code'] || ''
17
- @language = args['Name']['@language'] unless args['Name'].nil?
18
- @text = args['Name']['#text'] unless args['Name'].nil?
19
-
20
- # I have got to find a better way to do this
21
- @language ||= ''
22
- @text ||= ''
23
- end
24
- end
25
- end
@@ -1,19 +0,0 @@
1
- module Cb
2
- class CbEmailSubscription
3
- attr_accessor :career_resources, :product_sponsor_info, :applicant_survey_invites,
4
- :job_recs, :unsubscribe_all
5
-
6
- def initialize(args = {})
7
- return if args.nil?
8
-
9
- @career_resources = args['CareerResources'].to_s || ''
10
- @product_sponsor_info = args['ProductSponsorInfo'].to_s || ''
11
- @applicant_survey_invites = args['ApplicantSurveyInvites'].to_s || ''
12
- @job_recs = args['JobRecs'].to_s || ''
13
-
14
-
15
-
16
- end
17
-
18
- end
19
- end
@@ -1,12 +0,0 @@
1
- module Cb
2
- class CbEmployeeType
3
-
4
- attr_accessor :code, :name, :language
5
-
6
- def initialize(args={})
7
- @code ||= args['Code'] || ''
8
- @name ||= args['Name']["#text"] || ''
9
- @language ||= args['Name']["@language"] || ''
10
- end
11
- end
12
- end
@@ -1,175 +0,0 @@
1
- module Cb
2
- class CbJob
3
- attr_accessor :did, :title, :job_skin, :job_skin_did, :job_branding, :pay, :pay_per, :commission, :bonus, :pay_other,
4
- :categories, :category_codes, :degree_required, :experience_required, :travel_required,
5
- :industry_codes, :manages_others_code,
6
- :contact_email_url, :contact_fax, :contact_name, :contact_phone,
7
- :company_name, :company_did, :company_details_url, :company_image_url, :company,
8
- :description_teaser, :external_apply_url, :job_tracking_url, :location, :distance, :latitude, :longitude, :location_formatted,
9
- :description, :requirements, :employment_type,
10
- :details_url, :service_url, :similar_jobs_url, :apply_url,
11
- :begin_date, :end_date, :posted_date,
12
- :relevancy, :state, :city, :zip,
13
- :can_be_quick_applied, :apply_requirements, :custom_apply_type,
14
- :divison, :industry, :location_street_1, :relocation_options, :location_street_2, :display_job_id,
15
- :manages_others_string,
16
- :degree_required_code, :travel_required_code, :employment_type_code
17
-
18
- attr_writer :external_application, :is_screener_apply,
19
- :is_shared_job,
20
- :relocation_covered, :manages_others
21
-
22
- ##############################################################
23
- ## This general purpose object stores anything having to do
24
- ## with a job. The API objects dealing with job, will populate
25
- ## one or many of this object.
26
- ##############################################################
27
- def initialize(args = {})
28
- return if args.nil?
29
-
30
- # General
31
- @did = args['DID'] || args['JobDID'] || ''
32
- @title = args['JobTitle'] || args['Title'] || ''
33
- @employment_type = args['EmploymentType'] || ''
34
- @employment_type_code = args['EmploymentTypeCode'] || ''
35
- @latitude = args['LocationLatitude'] || ''
36
- @longitude = args['LocationLongitude'] || ''
37
- @location_street_1 = args['LocationStreet1'] || ''
38
- @location_street_2 = args['LocationStreet2'] || ''
39
- @location_formatted = args['LocationFormatted'] || ''
40
-
41
- # Job Skin Related
42
- @job_skin = args.has_key?("JobSkin") && !args["JobSkin"].nil? ? args['JobSkin']['#cdata-section'] : ''
43
- @job_skin_did = args['JobSkinDID'] || ''
44
- @job_branding = @job_skin_did.blank? ? '' : Cb.job_branding.find_by_id(job_skin_did)
45
- @job_tracking_url = args['JobTrackingURL'] || ''
46
- @display_job_id = args['DisplayJobID'] || ''
47
-
48
- # Compensation
49
- @pay = args['PayHighLowFormatted'] || ''
50
- @pay_per = args['PayPer'] || ''
51
- @commission = args.has_key?("PayCommission") && !args["PayCommission"].nil? ? args['PayCommission']['Money']['FormattedAmount'] : ''
52
- @bonus = args.has_key?("PayBonus") && !args["PayBonus"].nil? ? args['PayBonus']['Money']['FormattedAmount'] : ''
53
- @pay_other = args.has_key?("PayOther") && !args["PayOther"].nil? ? args['PayOther'] : ''
54
-
55
- # Job Search related
56
- @description_teaser = args['DescriptionTeaser'] || ''
57
- @posted_date = args['PostedDate'] || ''
58
- @distance = args['Distance'] || ''
59
- @details_url = args['JobDetailsURL'] || ''
60
- @service_url = args['JobServiceURL'] || ''
61
- @location = args['Location'] || ''
62
- @similar_jobs_url = args['SimilarJobsURL'] || ''
63
-
64
- # Summary
65
- @categories = args['Categories'] || ''
66
- @category_codes = args['CategoriesCodes'] || ''
67
- @degree_required = args['DegreeRequired'] || ''
68
- @degree_required_code = args['DegreeRequiredCode'] || ''
69
- @experience_required = args['ExperienceRequired'] || ''
70
- @experience_required_code = args['ExperienceRequiredCode'] || ''
71
- @travel_required = args['TravelRequired'] || ''
72
- @travel_required_code = args['TravelRequiredCode'] || ''
73
- @relocation_covered = args['RelocationCovered'] || ''
74
- @relocation_options = args['RelocationOptions'] || ''
75
- @division = args['Division'] || ''
76
- @industry = args['Industry'] || ''
77
- @industry_codes = args['IndustryCodes'] || ''
78
- @manages_others = args['ManagesOthers'] || ''
79
- @manages_others_code = args['ManagesOthersCode'] || ''
80
- @manages_others_string = args['ManagesOthersString'] || ''
81
-
82
- # Contact Info
83
- @contact_email_url = args['ContactInfoEmailURL'] || ''
84
- @contact_fax = args['ContactInfoFax'] || ''
85
- @contact_name = args['ContactInfoName'] || ''
86
- @contact_phone = args['ContactInfoPhone'] || ''
87
-
88
- # Job Details related
89
- @description = args['Description'] || args['JobDescription'] || ''
90
- @requirements = args['JobRequirements'] || ''
91
- @begin_date = args['BeginDate'] || ''
92
- @end_date = args['EndDate'] || ''
93
-
94
- # Application
95
- @apply_url = args['ApplyURL'] || ''
96
- @external_apply_url = args['ExternalApplyURL'] || ''
97
- @external_application = args['ExternalApplication'] || ''
98
- @is_screener_apply = args['IsScreenerApply'] || ''
99
- @is_shared_job = args['IsSharedJob'] || ''
100
- @can_be_quick_applied = args['CanBeQuickApplied'] || ''
101
- @custom_apply_type = args['CustomApplyType'] || ''
102
- @apply_requirements = Cb::Utils::ResponseArrayExtractor.extract(args, 'ApplyRequirements')
103
-
104
- # Company related
105
- @company_name = args['Company'] || ''
106
- @company_did = args['CompanyDID'] || ''
107
- @company_details_url = args['CompanyDetailsURL'] || ''
108
- @company_image_url = args['CompanyImageURL'] || ''
109
-
110
- # Recommendations related
111
- @relevancy = args['Relevancy'] || ''
112
- @state = args['LocationState'] || ''
113
- @city = args['LocationCity'] || ''
114
- @zip = args['LocationPostalCode'] || ''
115
- @company_name = args['Company']['CompanyName'] unless args['Company'].nil? || args['Company']['CompanyName'].nil?
116
- @company_details_url = args['Company']['CompanyDetailsURL'] unless args['Company'].nil? || args['Company']['CompanyDetailsURL'].nil?
117
-
118
-
119
- end
120
-
121
- def find_company
122
- if @company
123
- return @company
124
- else
125
- @company = Cb::CompanyApi.find_for self
126
-
127
- return @company
128
- end
129
- end
130
-
131
- def external_application?
132
- @external_application.downcase == 'true'
133
- end
134
-
135
- def relocation_covered?
136
- @relocation_covered.downcase == 'true'
137
- end
138
-
139
- def manages_others?
140
- @manages_others.downcase == 'true'
141
- end
142
-
143
- def screener_apply?
144
- @is_screener_apply.downcase == 'true'
145
- end
146
-
147
- def skip_resume?
148
- @custom_apply_type.downcase == 'caskipresume'
149
- end
150
-
151
- def shared_job?
152
- @is_shared_job.downcase == 'true'
153
- end
154
-
155
- def can_be_quick_applied?
156
- @can_be_quick_applied.downcase == 'true'
157
- end
158
-
159
- def city
160
- if @city.empty?
161
- return @location['City']
162
- else
163
- return @city
164
- end
165
- end
166
-
167
- def state
168
- if @state.empty?
169
- return @location['State']
170
- else
171
- return @state
172
- end
173
- end
174
- end
175
- end