cb-api 17.4.0 → 18.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,7 +1,16 @@
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 Responses
3
13
  class Recommendations < ApiResponse
4
-
5
14
  def validate_api_hash
6
15
  check_nonstandard_error_node(response)
7
16
  required_response_field(root_node, response)
@@ -1,7 +1,16 @@
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 Responses
3
13
  module AnonymousSavedSearch
4
-
5
14
  class Create < ApiResponse
6
15
  protected
7
16
 
@@ -30,7 +39,6 @@ module Cb
30
39
  'ExternalID'
31
40
  end
32
41
  end
33
-
34
42
  end
35
43
  end
36
44
  end
@@ -1,7 +1,16 @@
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 Responses
3
13
  module AnonymousSavedSearch
4
-
5
14
  class Delete < ApiResponse
6
15
  protected
7
16
 
@@ -17,7 +26,6 @@ module Cb
17
26
  Models::SavedSearch::Delete.new(response)
18
27
  end
19
28
  end
20
-
21
29
  end
22
30
  end
23
31
  end
@@ -1,8 +1,17 @@
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
  require 'forwardable'
2
12
 
3
13
  module Cb
4
14
  module Responses
5
-
6
15
  class ApiResponse
7
16
  extend Forwardable
8
17
  delegate [:timing, :errors] => :metadata
@@ -18,34 +27,36 @@ module Cb
18
27
  end
19
28
 
20
29
  protected
30
+
21
31
  attr_reader :metadata
22
32
 
23
33
  def extract_models
24
- raise NotImplementedError.new(__method__)
34
+ fail NotImplementedError.new(__method__)
25
35
  end
26
36
 
27
37
  def validate_api_hash
28
- raise NotImplementedError.new(__method__)
38
+ fail NotImplementedError.new(__method__)
29
39
  end
30
40
 
31
41
  def hash_containing_metadata
32
- raise NotImplementedError.new(__method__)
42
+ fail NotImplementedError.new(__method__)
33
43
  end
34
44
 
35
45
  def raise_on_timing_parse_error
36
46
  true
37
47
  end
48
+
38
49
  def required_response_field(field_name, parent_hash)
39
- raise ArgumentError.new("field_name can't be nil!") if field_name.nil?
40
- raise ArgumentError.new("parent_hash can't be nil!") if parent_hash.nil?
41
- raise ExpectedResponseFieldMissing.new(field_name) unless parent_hash.has_key?(field_name)
50
+ fail ArgumentError.new("field_name can't be nil!") if field_name.nil?
51
+ fail ArgumentError.new("parent_hash can't be nil!") if parent_hash.nil?
52
+ fail ExpectedResponseFieldMissing.new(field_name) unless parent_hash.key?(field_name)
42
53
  end
43
54
 
44
55
  private
45
56
 
46
57
  def set_response_variable(response_hash)
47
58
  should_raise = response_hash.nil? || response_hash.empty?
48
- raise ApiResponseError.new('Response is empty!') if should_raise
59
+ fail ApiResponseError.new('Response is empty!') if should_raise
49
60
  @response = response_hash
50
61
  end
51
62
 
@@ -58,6 +69,5 @@ module Cb
58
69
  extract_models
59
70
  end
60
71
  end
61
-
62
72
  end
63
73
  end
@@ -1,9 +1,18 @@
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
  require 'cb/responses/api_response'
2
12
 
3
13
  module Cb
4
14
  module Responses
5
15
  class Application < ApiResponse
6
-
7
16
  protected
8
17
 
9
18
  def hash_containing_metadata
@@ -17,7 +26,6 @@ module Cb
17
26
  def extract_models
18
27
  response['Results'].map { |application_data| Cb::Models::Application.new(application_data) }
19
28
  end
20
-
21
29
  end
22
30
  end
23
31
  end
@@ -1,9 +1,18 @@
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
  require 'cb/responses/api_response'
2
12
 
3
13
  module Cb
4
14
  module Responses
5
15
  class ApplicationForm < ApiResponse
6
-
7
16
  protected
8
17
 
9
18
  def hash_containing_metadata
@@ -17,7 +26,6 @@ module Cb
17
26
  def extract_models
18
27
  response['Results'].map { |app_form_data| Cb::Models::Application::Form.new(app_form_data) }
19
28
  end
20
-
21
29
  end
22
30
  end
23
31
  end
@@ -1,11 +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
  require 'cb/responses/api_response'
2
12
 
3
13
  module Cb
4
14
  module Responses
5
15
  module ApplicationExternal
6
16
  class SubmitApplication < ApiResponse
7
-
8
- class Model < Struct.new(:apply_url) ; end
17
+ class Model < Struct.new(:apply_url); end
9
18
 
10
19
  protected
11
20
 
@@ -1,10 +1,19 @@
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
  require 'cb/responses/api_response'
2
12
 
3
13
  module Cb
4
14
  module Responses
5
15
  module Category
6
16
  class Search < ApiResponse
7
-
8
17
  protected
9
18
 
10
19
  def hash_containing_metadata
@@ -24,15 +33,15 @@ module Cb
24
33
  private
25
34
 
26
35
  def response_node
27
- "ResponseCategories"
36
+ 'ResponseCategories'
28
37
  end
29
38
 
30
39
  def categories_node
31
- "Categories"
40
+ 'Categories'
32
41
  end
33
42
 
34
43
  def category_node
35
- "Category"
44
+ 'Category'
36
45
  end
37
46
 
38
47
  def model_array
@@ -1,10 +1,19 @@
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
  require 'cb/responses/api_response'
2
12
 
3
13
  module Cb
4
14
  module Responses
5
15
  module Company
6
16
  class Find < ApiResponse
7
-
8
17
  protected
9
18
 
10
19
  def hash_containing_metadata
@@ -23,11 +32,11 @@ module Cb
23
32
  private
24
33
 
25
34
  def results_node
26
- "Results"
35
+ 'Results'
27
36
  end
28
37
 
29
38
  def company_profile_node
30
- "CompanyProfileDetail"
39
+ 'CompanyProfileDetail'
31
40
  end
32
41
 
33
42
  def company
@@ -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 Responses
3
13
  class State < ApiResponse
@@ -16,7 +26,6 @@ module Cb
16
26
  def root_node
17
27
  'Results'
18
28
  end
19
-
20
29
  end
21
30
  end
22
31
  end
@@ -1,7 +1,16 @@
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 Responses
3
13
  class ResumeDataList < ApiResponse
4
-
5
14
  protected
6
15
 
7
16
  def validate_api_hash
@@ -1,10 +1,19 @@
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
  require 'cb/responses/api_response'
2
12
 
3
13
  module Cb
4
14
  module Responses
5
15
  module Education
6
16
  class Get < ApiResponse
7
-
8
17
  protected
9
18
 
10
19
  def hash_containing_metadata
@@ -24,15 +33,15 @@ module Cb
24
33
  private
25
34
 
26
35
  def response_node
27
- "ResponseEducationCodes"
36
+ 'ResponseEducationCodes'
28
37
  end
29
38
 
30
39
  def education_codes_node
31
- "EducationCodes"
40
+ 'EducationCodes'
32
41
  end
33
42
 
34
43
  def education_array_node
35
- "Education"
44
+ 'Education'
36
45
  end
37
46
 
38
47
  def model_array
@@ -1,10 +1,19 @@
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
  require 'cb/responses/api_response'
2
12
 
3
13
  module Cb
4
14
  module Responses
5
15
  module EmailSubscription
6
16
  class Response < ApiResponse
7
-
8
17
  protected
9
18
 
10
19
  def hash_containing_metadata
@@ -22,7 +31,7 @@ module Cb
22
31
  private
23
32
 
24
33
  def response_node
25
- "SubscriptionValues"
34
+ 'SubscriptionValues'
26
35
  end
27
36
 
28
37
  def model_hash
@@ -1,7 +1,16 @@
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 Responses
3
13
  module EmployeeTypes
4
-
5
14
  class Search < ApiResponse
6
15
  protected
7
16
 
@@ -41,8 +50,6 @@ module Cb
41
50
  Utils::ResponseArrayExtractor.extract(response[root_node], outer_collection_node)
42
51
  end
43
52
  end
44
-
45
53
  end
46
54
  end
47
55
  end
48
-
@@ -1,6 +1,15 @@
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 Responses
3
-
4
13
  class Errors
5
14
  attr_reader :parsed
6
15
 
@@ -11,12 +20,13 @@ module Cb
11
20
  end
12
21
 
13
22
  private
23
+
14
24
  attr_reader :response, :should_raise
15
25
 
16
26
  def parsed_errors
17
- return Array.new unless response.respond_to?(:map)
27
+ return [] unless response.respond_to?(:map)
18
28
  errors = response.map { |key, value| parsed_error(key, value) }.flatten
19
- raise ApiResponseError.new(errors.join(',')) if errors.any? && should_raise
29
+ fail ApiResponseError.new(errors.join(',')) if errors.any? && should_raise
20
30
  errors
21
31
  end
22
32
 
@@ -26,7 +36,7 @@ module Cb
26
36
  elsif error_array?(key, value)
27
37
  value
28
38
  else
29
- Array.new
39
+ []
30
40
  end
31
41
  end
32
42
 
@@ -42,6 +52,5 @@ module Cb
42
52
  parsed.send(method, *args, &block)
43
53
  end
44
54
  end
45
-
46
55
  end
47
56
  end