cb-api 17.4.0 → 18.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 (167) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -0
  3. data/CONTRIBUTING.md +18 -0
  4. data/LICENSE +202 -0
  5. data/README.md +3 -1
  6. data/lib/cb.rb +12 -2
  7. data/lib/cb/client.rb +10 -0
  8. data/lib/cb/clients/anon_saved_search.rb +12 -4
  9. data/lib/cb/clients/application.rb +10 -2
  10. data/lib/cb/clients/application_external.rb +13 -5
  11. data/lib/cb/clients/category.rb +16 -8
  12. data/lib/cb/clients/company.rb +16 -8
  13. data/lib/cb/clients/education.rb +17 -9
  14. data/lib/cb/clients/employee_types.rb +11 -3
  15. data/lib/cb/clients/industry.rb +12 -3
  16. data/lib/cb/clients/job.rb +10 -2
  17. data/lib/cb/clients/job_branding.rb +13 -5
  18. data/lib/cb/clients/recommendation.rb +27 -18
  19. data/lib/cb/clients/saved_search.rb +21 -15
  20. data/lib/cb/clients/talent_network.rb +20 -12
  21. data/lib/cb/clients/user.rb +22 -14
  22. data/lib/cb/config.rb +64 -54
  23. data/lib/cb/convenience.rb +22 -13
  24. data/lib/cb/criteria/application/cover_letter.rb +10 -0
  25. data/lib/cb/criteria/application/create.rb +11 -1
  26. data/lib/cb/criteria/application/get.rb +10 -0
  27. data/lib/cb/criteria/application/response.rb +10 -0
  28. data/lib/cb/criteria/application/resume.rb +10 -0
  29. data/lib/cb/criteria/application/update.rb +10 -0
  30. data/lib/cb/criteria/job/details.rb +11 -1
  31. data/lib/cb/criteria/resumes/get_by_hash.rb +12 -2
  32. data/lib/cb/criteria/user/change_password.rb +21 -11
  33. data/lib/cb/criteria/user/delete.rb +18 -11
  34. data/lib/cb/exceptions.rb +14 -4
  35. data/lib/cb/models/api_call_model.rb +10 -1
  36. data/lib/cb/models/api_response_model.rb +15 -7
  37. data/lib/cb/models/implementations/application.rb +10 -1
  38. data/lib/cb/models/implementations/application/cover_letter.rb +10 -1
  39. data/lib/cb/models/implementations/application/form.rb +13 -5
  40. data/lib/cb/models/implementations/application/response.rb +10 -1
  41. data/lib/cb/models/implementations/application/resume.rb +10 -1
  42. data/lib/cb/models/implementations/application_external.rb +12 -3
  43. data/lib/cb/models/implementations/branding/media.rb +10 -2
  44. data/lib/cb/models/implementations/branding/section.rb +10 -2
  45. data/lib/cb/models/implementations/branding/style.rb +10 -2
  46. data/lib/cb/models/implementations/branding/styles/base.rb +12 -4
  47. data/lib/cb/models/implementations/branding/styles/buttons.rb +10 -2
  48. data/lib/cb/models/implementations/branding/styles/company_info.rb +11 -3
  49. data/lib/cb/models/implementations/branding/styles/container.rb +11 -3
  50. data/lib/cb/models/implementations/branding/styles/content.rb +10 -2
  51. data/lib/cb/models/implementations/branding/styles/css_adapter.rb +10 -2
  52. data/lib/cb/models/implementations/branding/styles/headings.rb +10 -2
  53. data/lib/cb/models/implementations/branding/styles/job_details.rb +10 -2
  54. data/lib/cb/models/implementations/branding/styles/page.rb +10 -2
  55. data/lib/cb/models/implementations/branding/widget.rb +10 -2
  56. data/lib/cb/models/implementations/category.rb +17 -7
  57. data/lib/cb/models/implementations/collapsed_job_results.rb +10 -1
  58. data/lib/cb/models/implementations/collapsed_jobs.rb +10 -0
  59. data/lib/cb/models/implementations/company.rb +17 -10
  60. data/lib/cb/models/implementations/data_lists/resume_data_list.rb +11 -1
  61. data/lib/cb/models/implementations/education.rb +10 -0
  62. data/lib/cb/models/implementations/email_subscription.rb +10 -0
  63. data/lib/cb/models/implementations/employee_type.rb +14 -4
  64. data/lib/cb/models/implementations/industry.rb +14 -6
  65. data/lib/cb/models/implementations/job.rb +24 -20
  66. data/lib/cb/models/implementations/job_branding.rb +13 -5
  67. data/lib/cb/models/implementations/job_results.rb +10 -2
  68. data/lib/cb/models/implementations/job_results_v3.rb +11 -1
  69. data/lib/cb/models/implementations/recommended_job.rb +10 -0
  70. data/lib/cb/models/implementations/resume.rb +11 -1
  71. data/lib/cb/models/implementations/resume_document.rb +10 -0
  72. data/lib/cb/models/implementations/resume_listing.rb +11 -1
  73. data/lib/cb/models/implementations/resumes/country_code.rb +10 -0
  74. data/lib/cb/models/implementations/resumes/education.rb +11 -1
  75. data/lib/cb/models/implementations/resumes/government_and_military.rb +11 -1
  76. data/lib/cb/models/implementations/resumes/language_code.rb +12 -2
  77. data/lib/cb/models/implementations/resumes/relocation.rb +11 -1
  78. data/lib/cb/models/implementations/resumes/salary_information.rb +11 -2
  79. data/lib/cb/models/implementations/resumes/skills_and_qualifications.rb +10 -0
  80. data/lib/cb/models/implementations/resumes/work_experience.rb +11 -1
  81. data/lib/cb/models/implementations/saved_search.rb +83 -73
  82. data/lib/cb/models/implementations/state.rb +11 -2
  83. data/lib/cb/models/implementations/talent_network.rb +44 -36
  84. data/lib/cb/models/implementations/user.rb +12 -2
  85. data/lib/cb/models/implementations/work_status.rb +12 -3
  86. data/lib/cb/requests/anonymous_saved_search/create.rb +10 -2
  87. data/lib/cb/requests/anonymous_saved_search/delete.rb +10 -2
  88. data/lib/cb/requests/application/create.rb +10 -1
  89. data/lib/cb/requests/application/form.rb +10 -2
  90. data/lib/cb/requests/application/get.rb +10 -1
  91. data/lib/cb/requests/application/update.rb +10 -1
  92. data/lib/cb/requests/application/utils.rb +10 -1
  93. data/lib/cb/requests/application_external/submit_application.rb +10 -2
  94. data/lib/cb/requests/base.rb +13 -5
  95. data/lib/cb/requests/category/search.rb +10 -2
  96. data/lib/cb/requests/company/find.rb +12 -4
  97. data/lib/cb/requests/data_lists/countries.rb +10 -0
  98. data/lib/cb/requests/data_lists/data_list_base.rb +11 -1
  99. data/lib/cb/requests/data_lists/desired_job_type.rb +10 -0
  100. data/lib/cb/requests/data_lists/education_codes.rb +10 -0
  101. data/lib/cb/requests/data_lists/languages.rb +10 -0
  102. data/lib/cb/requests/data_lists/state.rb +12 -2
  103. data/lib/cb/requests/education/get.rb +10 -2
  104. data/lib/cb/requests/email_subscription/modify.rb +13 -5
  105. data/lib/cb/requests/email_subscription/retrieve.rb +10 -2
  106. data/lib/cb/requests/job_search/get.rb +12 -3
  107. data/lib/cb/requests/recommendations/resume_recs.rb +12 -4
  108. data/lib/cb/requests/resumes/delete.rb +10 -0
  109. data/lib/cb/requests/resumes/get.rb +10 -0
  110. data/lib/cb/requests/resumes/language_codes.rb +12 -2
  111. data/lib/cb/requests/resumes/list.rb +12 -2
  112. data/lib/cb/requests/resumes/post.rb +11 -1
  113. data/lib/cb/requests/resumes/put.rb +11 -3
  114. data/lib/cb/requests/user/change_password.rb +10 -2
  115. data/lib/cb/requests/user/check_existing.rb +10 -2
  116. data/lib/cb/requests/user/delete.rb +10 -2
  117. data/lib/cb/requests/user/retrieve.rb +10 -2
  118. data/lib/cb/requests/user/temporary_password.rb +11 -3
  119. data/lib/cb/requests/work_status/list.rb +10 -2
  120. data/lib/cb/responses/Recommendation/recommendations.rb +10 -1
  121. data/lib/cb/responses/anonymous_saved_search/create.rb +10 -2
  122. data/lib/cb/responses/anonymous_saved_search/delete.rb +10 -2
  123. data/lib/cb/responses/api_response.rb +19 -9
  124. data/lib/cb/responses/application.rb +10 -2
  125. data/lib/cb/responses/application/application_form.rb +10 -2
  126. data/lib/cb/responses/application_external/submit_application.rb +11 -2
  127. data/lib/cb/responses/category/search.rb +13 -4
  128. data/lib/cb/responses/company/find.rb +12 -3
  129. data/lib/cb/responses/data_list/state.rb +10 -1
  130. data/lib/cb/responses/data_lists/resume_data_list.rb +10 -1
  131. data/lib/cb/responses/education/get.rb +13 -4
  132. data/lib/cb/responses/email_subscription/response.rb +11 -2
  133. data/lib/cb/responses/employee_types/search.rb +10 -3
  134. data/lib/cb/responses/errors.rb +14 -5
  135. data/lib/cb/responses/industry/search.rb +11 -4
  136. data/lib/cb/responses/job/search.rb +10 -1
  137. data/lib/cb/responses/job/search_v3.rb +10 -1
  138. data/lib/cb/responses/job/singular.rb +13 -4
  139. data/lib/cb/responses/metadata.rb +11 -2
  140. data/lib/cb/responses/resumes/language_codes.rb +11 -0
  141. data/lib/cb/responses/resumes/resume.rb +10 -1
  142. data/lib/cb/responses/resumes/resume_document.rb +10 -0
  143. data/lib/cb/responses/resumes/resume_list.rb +10 -0
  144. data/lib/cb/responses/saved_search/delete.rb +11 -3
  145. data/lib/cb/responses/saved_search/list.rb +10 -2
  146. data/lib/cb/responses/saved_search/retrieve.rb +10 -2
  147. data/lib/cb/responses/saved_search/singular.rb +10 -2
  148. data/lib/cb/responses/saved_search/update.rb +11 -3
  149. data/lib/cb/responses/timing.rb +15 -6
  150. data/lib/cb/responses/user/change_password.rb +12 -4
  151. data/lib/cb/responses/user/check_existing.rb +11 -3
  152. data/lib/cb/responses/user/delete.rb +11 -3
  153. data/lib/cb/responses/user/retrieve.rb +10 -3
  154. data/lib/cb/responses/user/temporary_password.rb +10 -3
  155. data/lib/cb/responses/work_status/list.rb +12 -4
  156. data/lib/cb/utils/api.rb +22 -12
  157. data/lib/cb/utils/console_observer.rb +11 -2
  158. data/lib/cb/utils/country.rb +14 -4
  159. data/lib/cb/utils/fluid_attributes.rb +11 -4
  160. data/lib/cb/utils/meta_values.rb +10 -0
  161. data/lib/cb/utils/response_array_extractor.rb +14 -6
  162. data/lib/cb/utils/response_map.rb +12 -3
  163. data/lib/cb/utils/validator.rb +21 -19
  164. data/lib/cb/version.rb +11 -1
  165. data/lib/tasks/cb.rake +11 -1
  166. data/lib/tasks/doc.rake +15 -5
  167. metadata +5 -3
@@ -1,3 +1,13 @@
1
+ # Copyright 2015 CareerBuilder, LLC
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ #
6
+ # http://www.apache.org/licenses/LICENSE-2.0
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and limitations under the License.
1
11
  module Cb
2
12
  module Models
3
13
  class SavedSearch
@@ -8,21 +18,21 @@ module Cb
8
18
  :external_user_id, :job_search_url, :jrdid, :errors, :browser_id, :session_id, :test, :email_address,
9
19
  :country, :search_parameters, :did, :user_oauth_token, :email_delivery_day
10
20
 
11
- def initialize(args={})
12
- @host_site = args['HostSite'] || args[:host_site] || String.new
13
- @cobrand = args['Cobrand'] || args[:cobrand] || String.new
14
- @search_name = args['SearchName'] || args[:search_name] || String.new
15
- @site_id = args['SiteId'] || args[:site_id] || String.new
16
- @is_daily_email = args['IsDailyEmail'] || args[:is_daily_email] || false
17
- @email_delivery_day = args['EmailDeliveryDay'] || args[:email_delivery_day] || String.new
18
- @job_search_url = args['JobSearchUrl'] || args[:job_search_url] || String.new
19
- @external_id = args['ExternalID'] || args[:external_id] || String.new
20
- @external_user_id = args['ExternalUserID'] || args[:external_user_id] || String.new
21
- @browser_id = args['BrowserID'] || args[:browser_id] || nil
22
- @session_id = args['SessionID'] || args[:session_id] || String.new
23
- @email_address = args['EmailAddress'] || args[:email_address] || String.new
24
- @did = args['DID'] || args[:did] || String.new
25
- @user_oauth_token = args['userOAuthToken'] || args[:user_oauth_token] || String.new
21
+ def initialize(args = {})
22
+ @host_site = args['HostSite'] || args[:host_site] || ''
23
+ @cobrand = args['Cobrand'] || args[:cobrand] || ''
24
+ @search_name = args['SearchName'] || args[:search_name] || ''
25
+ @site_id = args['SiteId'] || args[:site_id] || ''
26
+ @is_daily_email = args['IsDailyEmail'] || args[:is_daily_email] || false
27
+ @email_delivery_day = args['EmailDeliveryDay'] || args[:email_delivery_day] || ''
28
+ @job_search_url = args['JobSearchUrl'] || args[:job_search_url] || ''
29
+ @external_id = args['ExternalID'] || args[:external_id] || ''
30
+ @external_user_id = args['ExternalUserID'] || args[:external_user_id] || ''
31
+ @browser_id = args['BrowserID'] || args[:browser_id] || nil
32
+ @session_id = args['SessionID'] || args[:session_id] || ''
33
+ @email_address = args['EmailAddress'] || args[:email_address] || ''
34
+ @did = args['DID'] || args[:did] || ''
35
+ @user_oauth_token = args['userOAuthToken'] || args[:user_oauth_token] || ''
26
36
  @search_parameters = SearchParameters.new(args['SavedSearchParameters'] || {})
27
37
  end
28
38
 
@@ -59,18 +69,19 @@ module Cb
59
69
 
60
70
  def update_to_json
61
71
  hash = {
62
- "DID" => did,
63
- "SearchName" => search_name,
64
- "HostSite" => host_site,
65
- "SiteID" => site_id,
66
- "Cobrand" => cobrand,
67
- "IsDailyEmail" => is_daily_email,
68
- "userOAuthToken" => user_oauth_token,
69
- "SavedSearchParameters" => search_parameters.to_hash
72
+ 'DID' => did,
73
+ 'SearchName' => search_name,
74
+ 'HostSite' => host_site,
75
+ 'SiteID' => site_id,
76
+ 'Cobrand' => cobrand,
77
+ 'IsDailyEmail' => is_daily_email,
78
+ 'userOAuthToken' => user_oauth_token,
79
+ 'SavedSearchParameters' => search_parameters.to_hash
70
80
  }
71
- hash["EmailDeliveryDay"] = email_delivery_day unless is_daily_email
81
+ hash['EmailDeliveryDay'] = email_delivery_day unless is_daily_email
72
82
  hash.to_json
73
83
  end
84
+
74
85
  def delete_anon_to_xml
75
86
  <<-eos
76
87
  <Request>
@@ -97,35 +108,35 @@ module Cb
97
108
  :jc_position_level, :jc_location, :jc_advertiser_flags, :jc_job_nature
98
109
 
99
110
  def initialize(args = {})
100
- @boolean_operator = args['BooleanOperator'] || String.new
101
- @category = args['Category'] || String.new
102
- @job_category = args['JobCategory'] || String.new
103
- @education_code = args['EducationCode'] || String.new
104
- @emp_type = args['EmpType'] || String.new
105
- @exclude_company_names = args['ExcludeCompanyNames'] || String.new
106
- @exclude_job_titles = args['ExcludeJobTitles'] || String.new
107
- @exclude_keywords = args['ExcludeKeywords'] || String.new
108
- @exclude_national = args['ExcludeNational'].nil? ? false : args['ExcludeNational']
109
- @industry_codes = args['IndustryCodes'] || String.new
110
- @job_title = args['JobTitle'] || String.new
111
- @keywords = args['Keywords'] || String.new
112
- @location = args['Location'] || String.new
113
- @order_by = args['OrderBy'] || String.new
114
- @order_direction = args['OrderDirection'] || String.new
115
- @pay_high = args['PayHigh'] || 0
116
- @pay_low = args['PayLow'] || 0
117
- @pay_info_only = args['PayInfoOnly'].nil? ? false : args['PayInfoOnly']
118
- @posted_within = args['PostedWithin'] || 30
119
- @radius = args['Radius'] || 30
111
+ @boolean_operator = args['BooleanOperator'] || ''
112
+ @category = args['Category'] || ''
113
+ @job_category = args['JobCategory'] || ''
114
+ @education_code = args['EducationCode'] || ''
115
+ @emp_type = args['EmpType'] || ''
116
+ @exclude_company_names = args['ExcludeCompanyNames'] || ''
117
+ @exclude_job_titles = args['ExcludeJobTitles'] || ''
118
+ @exclude_keywords = args['ExcludeKeywords'] || ''
119
+ @exclude_national = args['ExcludeNational'].nil? ? false : args['ExcludeNational']
120
+ @industry_codes = args['IndustryCodes'] || ''
121
+ @job_title = args['JobTitle'] || ''
122
+ @keywords = args['Keywords'] || ''
123
+ @location = args['Location'] || ''
124
+ @order_by = args['OrderBy'] || ''
125
+ @order_direction = args['OrderDirection'] || ''
126
+ @pay_high = args['PayHigh'] || 0
127
+ @pay_low = args['PayLow'] || 0
128
+ @pay_info_only = args['PayInfoOnly'].nil? ? false : args['PayInfoOnly']
129
+ @posted_within = args['PostedWithin'] || 30
130
+ @radius = args['Radius'] || 30
120
131
  @specific_education = args['SpecificEducation'].nil? ? false : args['SpecificEducation']
121
- @city = args['City'] || String.new
122
- @state = args['State'] || String.new
123
- @country = args['Country'] || String.new
124
- @company = args['Company'] || String.new
125
- @jc_position_level = args['JCPositionLevel'] || String.new
126
- @jc_location = args['JCLocation'] || String.new
127
- @jc_advertiser_flags = args['JCAdvertiserFlags'] || String.new
128
- @jc_job_nature = args['JCJobNature'] || String.new
132
+ @city = args['City'] || ''
133
+ @state = args['State'] || ''
134
+ @country = args['Country'] || ''
135
+ @company = args['Company'] || ''
136
+ @jc_position_level = args['JCPositionLevel'] || ''
137
+ @jc_location = args['JCLocation'] || ''
138
+ @jc_advertiser_flags = args['JCAdvertiserFlags'] || ''
139
+ @jc_job_nature = args['JCJobNature'] || ''
129
140
  end
130
141
 
131
142
  def to_xml
@@ -158,30 +169,29 @@ module Cb
158
169
 
159
170
  def to_hash
160
171
  {
161
- "BooleanOperator" => boolean_operator,
162
- "JobCategory" => job_category,
163
- "EducationCode" => education_code,
164
- "EmpType" => emp_type,
165
- "ExcludeCompanyNames" => exclude_company_names,
166
- "ExcludeJobTitles" => exclude_job_titles,
167
- "Country" => country,
168
- "IndustryCodes" => industry_codes,
169
- "JobTitle" => job_title,
170
- "Keywords" => keywords,
171
- "Location" => location,
172
- "OrderBy" => order_by,
173
- "OrderDirection" => order_direction,
174
- "PayHigh" => pay_high,
175
- "PayLow" => pay_low,
176
- "PostedWithin" => posted_within,
177
- "Radius" => radius,
178
- "SpecificEducation" => specific_education,
179
- "ExcludeNational" => exclude_national,
180
- "PayInfoOnly" => pay_info_only
172
+ 'BooleanOperator' => boolean_operator,
173
+ 'JobCategory' => job_category,
174
+ 'EducationCode' => education_code,
175
+ 'EmpType' => emp_type,
176
+ 'ExcludeCompanyNames' => exclude_company_names,
177
+ 'ExcludeJobTitles' => exclude_job_titles,
178
+ 'Country' => country,
179
+ 'IndustryCodes' => industry_codes,
180
+ 'JobTitle' => job_title,
181
+ 'Keywords' => keywords,
182
+ 'Location' => location,
183
+ 'OrderBy' => order_by,
184
+ 'OrderDirection' => order_direction,
185
+ 'PayHigh' => pay_high,
186
+ 'PayLow' => pay_low,
187
+ 'PostedWithin' => posted_within,
188
+ 'Radius' => radius,
189
+ 'SpecificEducation' => specific_education,
190
+ 'ExcludeNational' => exclude_national,
191
+ 'PayInfoOnly' => pay_info_only
181
192
  }
182
193
  end
183
194
  end
184
195
  end
185
-
186
196
  end
187
197
  end
@@ -1,3 +1,13 @@
1
+ # Copyright 2015 CareerBuilder, LLC
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ #
6
+ # http://www.apache.org/licenses/LICENSE-2.0
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and limitations under the License.
1
11
  module Cb
2
12
  module Models
3
13
  class State < ApiResponseModel
@@ -6,11 +16,10 @@ module Cb
6
16
  def set_model_properties
7
17
  @key = api_response['StateId']
8
18
  @value = api_response['StateName']
9
-
10
19
  end
11
20
 
12
21
  def required_fields
13
- ['StateId', 'StateName']
22
+ %w(StateId StateName)
14
23
  end
15
24
  end
16
25
  end
@@ -1,10 +1,20 @@
1
+ # Copyright 2015 CareerBuilder, LLC
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ #
6
+ # http://www.apache.org/licenses/LICENSE-2.0
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and limitations under the License.
1
11
  module Cb
2
12
  module Models
3
13
  class TalentNetwork
4
14
  attr_accessor :join_form_questions
5
- def initialize(args={})
6
- @join_form_questions = Array.new
7
- if args.has_key?('JoinQuestions')
15
+ def initialize(args = {})
16
+ @join_form_questions = []
17
+ if args.key?('JoinQuestions')
8
18
  args['JoinQuestions'].each do |question|
9
19
  @join_form_questions << TalentNetwork::Questions.new(question)
10
20
  end
@@ -16,48 +26,47 @@ module Cb
16
26
  attr_accessor :dev_key, :tn_did, :preferred_language, :accept_privacy, :accept_terms, :resume_word_doc,
17
27
  :join_values
18
28
 
19
- def initialize(args={})
29
+ def initialize(args = {})
20
30
  @dev_key = args['DeveloperKey'] || Cb.configuration.dev_key
21
31
  @tn_did = args['TNDID'] || ''
22
32
  @preferred_language = args['PreferredLanguage'] || 'USEnglish'
23
33
  @accept_privacy = args['AcceptPrivacy'] || true
24
34
  @accept_terms = args['AcceptTerms'] || true
25
35
  @resume_word_doc = args['ResumeWordDoc'] || ''
26
- @join_values = args['JoinValues'] || Array.new
36
+ @join_values = args['JoinValues'] || []
27
37
  end
28
38
 
29
39
  def to_xml
30
- ret = "<Request>"
40
+ ret = '<Request>'
31
41
  ret += "<DeveloperKey>#{@dev_key}</DeveloperKey>"
32
42
  ret += "<TalentNetworkDID>#{@tn_did}</TalentNetworkDID>"
33
43
  ret += "<PreferredLanguage>#{@preferred_language}</PreferredLanguage>"
34
44
  ret += "<AcceptPrivacy>#{@accept_privacy}</AcceptPrivacy>"
35
45
  ret += "<AcceptTerms>#{@accept_terms}</AcceptTerms>"
36
46
  ret += "<ResumeWordDoc>#{@resume_word_doc}</ResumeWordDoc>"
37
- ret += "<JoinValues>"
38
- @join_values.each { | k,v |
39
- ret += "<JoinValue>"
47
+ ret += '<JoinValues>'
48
+ @join_values.each do |k, v|
49
+ ret += '<JoinValue>'
40
50
  ret += "<Key>#{k}</Key>"
41
51
  ret += "<Value>#{v}</Value>"
42
- ret += "</JoinValue>"
43
- }
44
- ret += "</JoinValues>"
45
- ret += "</Request>"
52
+ ret += '</JoinValue>'
53
+ end
54
+ ret += '</JoinValues>'
55
+ ret += '</Request>'
46
56
  end
47
57
  end
48
58
 
49
-
50
59
  class TalentNetwork::Questions
51
60
  attr_accessor :text, :form_value, :option_display_type, :order, :required, :options
52
61
 
53
- def initialize(args={})
62
+ def initialize(args = {})
54
63
  @text = args['Text'] || ''
55
64
  @form_value = args['FormValue'] || ''
56
65
  @option_display_type = args['OptionDisplayType'] || ''
57
66
  @order = args['Order'] || ''
58
67
  @required = args['Required'].to_s || ''
59
- @options = Array.new
60
- if args.has_key?('Options')
68
+ @options = []
69
+ if args.key?('Options')
61
70
  args['Options'].each do |option_values|
62
71
  @options << TalentNetwork::Options.new(option_values)
63
72
  end
@@ -68,7 +77,7 @@ module Cb
68
77
  class TalentNetwork::Options
69
78
  attr_accessor :value, :order, :display_text
70
79
 
71
- def initialize(args={})
80
+ def initialize(args = {})
72
81
  @value = args['Value'] || ''
73
82
  @order = args['Order'] || ''
74
83
  @display_text = args['DisplayText'] || ''
@@ -78,7 +87,7 @@ module Cb
78
87
  class TalentNetwork::JobInfo
79
88
  attr_accessor :join_form_url, :tn_did, :join_form_intercept_enabled
80
89
 
81
- def initialize(args={})
90
+ def initialize(args = {})
82
91
  @join_form_url = args['JoinFormUrl'] || ''
83
92
  @tn_did = args['sTNDID'] || ''
84
93
  @join_form_intercept_enabled = args['JoinFormInterceptEnabled'].to_s || ''
@@ -88,52 +97,52 @@ module Cb
88
97
  class TalentNetwork::JoinFormGeo
89
98
  attr_accessor :countries, :states
90
99
 
91
- def initialize(args={})
92
- @countries = Hash.new
93
- @states = Hash.new
100
+ def initialize(args = {})
101
+ @countries = {}
102
+ @states = {}
94
103
 
95
- if args.has_key?('Countries')
104
+ if args.key?('Countries')
96
105
  @countries = TalentNetwork::JoinFormGeoLocation.new(args['Countries'])
97
106
  end
98
107
 
99
- if args.has_key?('States')
108
+ if args.key?('States')
100
109
  @states = TalentNetwork::JoinFormGeoLocation.new(args['States'])
101
110
  end
102
-
103
111
  end
104
112
  end
105
113
 
106
114
  class TalentNetwork::JoinFormGeoLocation
107
115
  attr_accessor :geo_hash
108
116
 
109
- def initialize(args={})
110
- value = Array.new
111
- display_val = Array.new
112
- @geo_hash = Hash.new
117
+ def initialize(args = {})
118
+ value = []
119
+ display_val = []
120
+ @geo_hash = {}
113
121
 
114
- if args.has_key?('Value')
122
+ if args.key?('Value')
115
123
  args['Value'].each do |val|
116
124
  value << val
117
125
  end
118
126
  end
119
127
 
120
- if args.has_key?('Display')
128
+ if args.key?('Display')
121
129
  args['Display'].each do |display|
122
130
  display_val << display
123
131
  end
124
132
  end
125
133
 
126
134
  unless value.nil? || display_val.nil?
127
- @geo_hash = convert_to_hash(display_val,value)
135
+ @geo_hash = convert_to_hash(display_val, value)
128
136
  end
129
137
  end
130
138
 
131
139
  private
140
+
132
141
  def convert_to_hash(keys, values)
133
- geo_hash = Hash.new
142
+ geo_hash = {}
134
143
  geo_hash = Hash[keys.zip(values)]
135
144
 
136
- return geo_hash
145
+ geo_hash
137
146
  end
138
147
  end
139
148
 
@@ -141,7 +150,7 @@ module Cb
141
150
  attr_accessor :stylesheet_url, :join_logo_image_url, :join_custom_msg_html, :button_color,
142
151
  :mobile_logo_image_url, :nav_color, :site_path
143
152
 
144
- def initialize(args={})
153
+ def initialize(args = {})
145
154
  @stylesheet_url = args['StylesheetURL'] || ''
146
155
  @join_logo_image_url = args['JoinLogoImageURL'] || ''
147
156
  @join_custom_msg_html = args['JoinCustomMsgHTML'] || ''
@@ -151,6 +160,5 @@ module Cb
151
160
  @site_path = args['SitePath'] || ''
152
161
  end
153
162
  end
154
-
155
163
  end
156
164
  end
@@ -1,3 +1,13 @@
1
+ # Copyright 2015 CareerBuilder, LLC
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ #
6
+ # http://www.apache.org/licenses/LICENSE-2.0
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and limitations under the License.
1
11
  module Cb
2
12
  module Models
3
13
  class User
@@ -41,7 +51,7 @@ module Cb
41
51
  @work_status = args['WorkStatus'] || ''
42
52
  end
43
53
 
44
- def custom_value custom_value_key
54
+ def custom_value(custom_value_key)
45
55
  custom_value = nil
46
56
 
47
57
  if @custom_values['CustomValue'].is_a? Array
@@ -52,7 +62,7 @@ module Cb
52
62
  custom_value = @custom_values['CustomValue']['Value'] if @custom_values['CustomValue']['Key'] == custom_value_key
53
63
  end
54
64
 
55
- return custom_value
65
+ custom_value
56
66
  end
57
67
  end
58
68
  end
@@ -1,3 +1,13 @@
1
+ # Copyright 2015 CareerBuilder, LLC
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ #
6
+ # http://www.apache.org/licenses/LICENSE-2.0
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and limitations under the License.
1
11
  module Cb
2
12
  module Models
3
13
  class WorkStatus
@@ -6,7 +16,7 @@ module Cb
6
16
  def initialize(args = {})
7
17
  return if args.nil?
8
18
  @key = args['Key'] || ''
9
- @translations = [ args['Description'] ].flatten.map { |translation| Translation.new translation }
19
+ @translations = [args['Description']].flatten.map { |translation| Translation.new translation }
10
20
  end
11
21
 
12
22
  class Translation
@@ -15,10 +25,9 @@ module Cb
15
25
  def initialize(args = {})
16
26
  return if args.nil?
17
27
  @language = args['Language'] || ''
18
- @value = args['Value'] || ''
28
+ @value = args['Value'] || ''
19
29
  end
20
30
  end
21
-
22
31
  end
23
32
  end
24
33
  end