cb-api 11.0.0 → 11.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/cb.rb CHANGED
@@ -22,7 +22,6 @@ module Cb
22
22
 
23
23
  def self.configuration
24
24
  @configuration ||= Cb::Config.new
25
- @configuration.set_default_api_uris
26
25
  @configuration
27
26
  end
28
27
  end
@@ -1,29 +1,46 @@
1
1
  module Cb
2
2
  class Config
3
- attr_accessor :dev_key, :base_uri, :debug_api, :time_out, :use_json, :host_site, :test_resources, :observers,
4
- :uri_job_search, :uri_job_find,
5
- :uri_company_find, :uri_job_category_search, :uri_job_industry_search,
6
- :uri_education_code, :uri_employee_types,
7
- :uri_recommendation_for_job, :uri_recommendation_for_user,
8
- :uri_recommendation_for_company,
9
- :uri_application, :uri_application_submit, :uri_application_form,
10
- :uri_application_external, :uri_application_create,
11
- :uri_application_registered, :uri_user_change_password, :uri_user_temp_password,
12
- :uri_user_delete, :uri_user_retrieve, :uri_user_check_existing,
13
- :uri_job_branding,
14
- :uri_saved_search_retrieve, :uri_saved_search_create, :uri_saved_search_update, :uri_saved_search_list, :uri_saved_search_delete,
15
- :uri_anon_saved_search_create, :uri_anon_saved_search_delete,
16
- :uri_saved_job_search_create,
17
- :uri_job_branding, :uri_tn_join_questions, :uri_tn_job_info, :uri_tn_join_form_geo,
18
- :uri_tn_join_form_branding, :uri_tn_member_create,
19
- :uri_subscription_retrieve, :uri_subscription_modify,
20
- :uri_spot_retrieve
21
3
 
22
4
  def initialize
23
5
  Cb::Utils::Country.inject_convenience_methods
24
6
  set_defaults
25
7
  end
26
8
 
9
+ def to_hash
10
+ hash = {}
11
+
12
+ instance_variables.each do |instance_variable|
13
+ attribute = instance_variable[1..-1].to_sym
14
+
15
+ hash[attribute] = send attribute
16
+ end
17
+
18
+ hash
19
+ end
20
+
21
+ def set_base_uri(uri)
22
+ @base_uri = uri
23
+ end
24
+
25
+ protected
26
+ #################################################################
27
+
28
+ def set_defaults
29
+ @dev_key = 'ruby-cb-api' # Get a developer key at http://api.careerbuilder.com
30
+ @base_uri = 'https://api.careerbuilder.com'
31
+ @debug_api = false
32
+ @time_out = 5
33
+ @use_json = true
34
+ @host_site = Cb.country.US
35
+ @test_resources = false
36
+ @observers = Array.new
37
+ set_default_api_uris
38
+ set_attr_accessors
39
+ end
40
+
41
+ private
42
+ #################################################################
43
+
27
44
  def set_default_api_uris
28
45
  @uri_job_category_search ||= '/v1/categories'
29
46
  @uri_job_industry_search ||= '/v1/industrycodes'
@@ -63,64 +80,12 @@ module Cb
63
80
  @uri_subscription_modify ||= '/v1/user/subscription?version=v2'
64
81
  @uri_saved_job_search_create ||= '/v2/savedsearch/create'
65
82
  @uri_spot_retrieve ||= '/v2/spot/load'
83
+ @uri_work_status_list ||= '/v1/resume/workstatuslist'
66
84
  end
67
85
 
68
- def to_hash
69
- {
70
- :uri_job_category_search => @uri_job_category_search,
71
- :uri_job_industry_search => @uri_job_industry_search,
72
- :uri_employee_types => @uri_employee_types,
73
- :dev_key => @dev_key,
74
- :host_site => @host_site,
75
- :time_out => @time_out,
76
- :use_json => @use_json,
77
- :uri_job_search => @uri_job_search,
78
- :uri_job_find => @uri_job_find,
79
- :uri_company_find => @uri_company_find,
80
- :uri_education_code => @uri_education_code,
81
- :uri_recommendation_for_job => @uri_recommendation_for_job,
82
- :uri_recommendation_for_user => @uri_recommendation_for_user,
83
- :uri_recommendation_for_company => @uri_recommendation_for_company,
84
- :uri_application => @uri_application,
85
- :uri_application_submit => @uri_application_submit,
86
- :uri_application_registered => @uri_application_registered,
87
- :uri_application_external => @uri_application_external,
88
- :uri_user_change_password => @uri_user_change_password,
89
- :uri_user_retrieve => @uri_user_retrieve,
90
- :uri_user_check_existing => @uri_user_check_existing,
91
- :uri_job_branding => @uri_job_branding,
92
- :uri_saved_search_retrieve => @uri_saved_search_retrieve,
93
- :uri_saved_search_create => @uri_saved_search_create,
94
- :uri_saved_search_update => @uri_saved_search_update,
95
- :uri_saved_search_delete => @uri_saved_search_delete,
96
- :uri_saved_search_list => @uri_saved_search_list,
97
- :uri_anon_saved_search_create => @uri_anon_saved_search_create,
98
- :uri_tn_join_questions => @uri_tn_join_questions,
99
- :uri_subscription_retrieve => @uri_subscription_retrieve,
100
- :uri_subscription_modify => @uri_subscription_modify,
101
- :uri_saved_job_search_create => @uri_saved_job_search_create,
102
- :uri_spot_retrieve => @uri_spot_retrieve
103
- }
86
+ def set_attr_accessors
87
+ instance_variables.each { |instance_variable| self.class.send :attr_accessor, instance_variable[1..-1].to_sym }
104
88
  end
105
89
 
106
- def set_base_uri (uri)
107
- @base_uri = uri
108
- end
109
-
110
- protected
111
- #################################################################
112
-
113
- def set_defaults
114
-
115
- @dev_key = 'ruby-cb-api' # Get a developer key at http://api.careerbuilder.com
116
- @base_uri = 'https://api.careerbuilder.com'
117
- @debug_api = false
118
- @time_out = 5
119
- @use_json = true
120
- @host_site = Cb.country.US
121
- @test_resources = false
122
- @observers = Array.new
123
- set_default_api_uris
124
- end
125
90
  end
126
91
  end
@@ -0,0 +1,24 @@
1
+ module Cb
2
+ module Models
3
+ class WorkStatus
4
+ attr_accessor :key, :translations
5
+
6
+ def initialize(args = {})
7
+ return if args.nil?
8
+ @key = args['Key'] || ''
9
+ @translations = [ args['Description'] ].flatten.map { |translation| Translation.new translation }
10
+ end
11
+
12
+ class Translation
13
+ attr_accessor :language, :value
14
+
15
+ def initialize(args = {})
16
+ return if args.nil?
17
+ @language = args['Language'] || ''
18
+ @value = args['Value'] || ''
19
+ end
20
+ end
21
+
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,25 @@
1
+ require_relative '../base'
2
+
3
+ module Cb
4
+ module Requests
5
+ module WorkStatus
6
+ class List < Base
7
+
8
+ def endpoint_uri
9
+ Cb.configuration.uri_work_status_list
10
+ end
11
+
12
+ def http_method
13
+ :get
14
+ end
15
+
16
+ def query
17
+ {
18
+ HostSite: @args[:host_site]
19
+ }
20
+ end
21
+
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,35 @@
1
+ require 'cb/responses/api_response'
2
+
3
+ module Cb
4
+ module Responses
5
+ module WorkStatus
6
+ class List < ApiResponse
7
+
8
+ protected
9
+
10
+ def hash_containing_metadata
11
+ response
12
+ end
13
+
14
+ def validate_api_hash
15
+ required_response_field(work_statuses_node, response)
16
+ end
17
+
18
+ def extract_models
19
+ [ model_array ].flatten.map { |work_status| Cb::Models::WorkStatus.new work_status }
20
+ end
21
+
22
+ private
23
+
24
+ def work_statuses_node
25
+ "WorkStatuses"
26
+ end
27
+
28
+ def model_array
29
+ response[work_statuses_node]
30
+ end
31
+
32
+ end
33
+ end
34
+ end
35
+ end
@@ -43,7 +43,9 @@ module Cb
43
43
  Cb::Requests::User::CheckExisting => Cb::Responses::User::CheckExisting,
44
44
  Cb::Requests::User::Delete => Cb::Responses::User::Delete,
45
45
  Cb::Requests::User::Retrieve => Cb::Responses::User::Retrieve,
46
- Cb::Requests::User::TemporaryPassword => Cb::Responses::User::TemporaryPassword
46
+ Cb::Requests::User::TemporaryPassword => Cb::Responses::User::TemporaryPassword,
47
+
48
+ Cb::Requests::WorkStatus::List => Cb::Responses::WorkStatus::List
47
49
  }.merge response_hash_extension
48
50
  end
49
51
 
@@ -1,3 +1,3 @@
1
1
  module Cb
2
- VERSION = '11.0.0'
2
+ VERSION = '11.1.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cb-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.0.0
4
+ version: 11.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-07-21 00:00:00.000000000 Z
12
+ date: 2014-07-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -243,6 +243,7 @@ files:
243
243
  - lib/cb/responses/user/change_password.rb
244
244
  - lib/cb/responses/user/temporary_password.rb
245
245
  - lib/cb/responses/user/retrieve.rb
246
+ - lib/cb/responses/work_status/list.rb
246
247
  - lib/cb/responses/timing.rb
247
248
  - lib/cb/responses/category/search.rb
248
249
  - lib/cb/responses/application_external/submit_application.rb
@@ -287,6 +288,7 @@ files:
287
288
  - lib/cb/models/implementations/branding/media.rb
288
289
  - lib/cb/models/implementations/branding/widget.rb
289
290
  - lib/cb/models/implementations/company.rb
291
+ - lib/cb/models/implementations/work_status.rb
290
292
  - lib/cb/models/implementations/category.rb
291
293
  - lib/cb/models/implementations/talent_network.rb
292
294
  - lib/cb/models/implementations/spot.rb
@@ -308,6 +310,7 @@ files:
308
310
  - lib/cb/requests/user/temporary_password.rb
309
311
  - lib/cb/requests/user/retrieve.rb
310
312
  - lib/cb/requests/base.rb
313
+ - lib/cb/requests/work_status/list.rb
311
314
  - lib/cb/requests/category/search.rb
312
315
  - lib/cb/requests/application_external/submit_application.rb
313
316
  - lib/cb/requests/company/find.rb