cb-api 6.1.1 → 6.2.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.
- data/lib/cb/clients/industry.rb +21 -0
- data/lib/cb/config.rb +3 -1
- data/lib/cb/convenience.rb +5 -1
- data/lib/cb/models/implementations/industry.rb +24 -0
- data/lib/cb/responses/industry/search.rb +48 -0
- data/lib/cb/version.rb +1 -1
- metadata +5 -2
@@ -0,0 +1,21 @@
|
|
1
|
+
require "json"
|
2
|
+
|
3
|
+
module Cb
|
4
|
+
module Clients
|
5
|
+
class Industry
|
6
|
+
class << self
|
7
|
+
|
8
|
+
def search
|
9
|
+
response = api_client.cb_get(Cb.configuration.uri_job_industry_search, :query => {:CountryCode => Cb.configuration.host_site})
|
10
|
+
Cb::Responses::Industry::Search.new(response)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def api_client
|
16
|
+
@api ||= Cb::Utils::Api.instance
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/cb/config.rb
CHANGED
@@ -2,7 +2,7 @@ module Cb
|
|
2
2
|
class Config
|
3
3
|
attr_accessor :dev_key, :base_uri, :debug_api, :time_out, :use_json, :host_site, :test_resources, :observers,
|
4
4
|
:uri_job_search, :uri_job_find,
|
5
|
-
:uri_company_find, :uri_job_category_search,
|
5
|
+
:uri_company_find, :uri_job_category_search, :uri_job_industry_search,
|
6
6
|
:uri_education_code, :uri_employee_types,
|
7
7
|
:uri_recommendation_for_job, :uri_recommendation_for_user,
|
8
8
|
:uri_recommendation_for_company,
|
@@ -28,6 +28,7 @@ module Cb
|
|
28
28
|
|
29
29
|
def set_default_api_uris
|
30
30
|
@uri_job_category_search ||= '/v1/categories'
|
31
|
+
@uri_job_industry_search ||= '/v1/industrycodes'
|
31
32
|
@uri_employee_types ||= '/v1/employeetypes'
|
32
33
|
@uri_company_find ||= '/Employer/CompanyDetails'
|
33
34
|
@uri_job_search ||= '/v1/JobSearch'
|
@@ -73,6 +74,7 @@ module Cb
|
|
73
74
|
def to_hash
|
74
75
|
{
|
75
76
|
:uri_job_category_search => @uri_job_category_search,
|
77
|
+
:uri_job_industry_search => @uri_job_industry_search,
|
76
78
|
:uri_employee_types => @uri_employee_types,
|
77
79
|
:dev_key => @dev_key,
|
78
80
|
:host_site => @host_site,
|
data/lib/cb/convenience.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Cb
|
2
|
+
module Models
|
3
|
+
class Industry < ApiResponseModel
|
4
|
+
|
5
|
+
attr_accessor :code, :name
|
6
|
+
|
7
|
+
def initialize(args={})
|
8
|
+
@api_response = args
|
9
|
+
@code = args["Code"] || String.new
|
10
|
+
@name = args["Name"]["#text"] || String.new
|
11
|
+
@language = args["Name"]["@language"] || String.new
|
12
|
+
|
13
|
+
validate_api_response
|
14
|
+
end
|
15
|
+
|
16
|
+
protected
|
17
|
+
|
18
|
+
def required_fields
|
19
|
+
%w(Code Name)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Cb
|
2
|
+
module Responses
|
3
|
+
module Industry
|
4
|
+
|
5
|
+
class Search < ApiResponse
|
6
|
+
|
7
|
+
protected
|
8
|
+
|
9
|
+
def extract_models
|
10
|
+
extracted_industries_data.map { |indy| Models::Industry.new(indy) }
|
11
|
+
end
|
12
|
+
|
13
|
+
def validate_api_hash
|
14
|
+
required_response_field(root_node, response)
|
15
|
+
required_response_field(outer_collection_node, response[root_node])
|
16
|
+
required_response_field(inner_collection_node, industry_data)
|
17
|
+
end
|
18
|
+
|
19
|
+
def hash_containing_metadata
|
20
|
+
response[root_node]
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def root_node
|
26
|
+
'ResponseIndustryCodes'
|
27
|
+
end
|
28
|
+
|
29
|
+
def outer_collection_node
|
30
|
+
'IndustryCodes'
|
31
|
+
end
|
32
|
+
|
33
|
+
def inner_collection_node
|
34
|
+
'IndustryCode'
|
35
|
+
end
|
36
|
+
|
37
|
+
def industry_data
|
38
|
+
response[root_node][outer_collection_node]
|
39
|
+
end
|
40
|
+
|
41
|
+
def extracted_industries_data
|
42
|
+
Utils::ResponseArrayExtractor.extract(response[root_node], outer_collection_node)
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/cb/version.rb
CHANGED
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: 6.
|
4
|
+
version: 6.2.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-04-
|
12
|
+
date: 2014-04-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
@@ -217,6 +217,7 @@ files:
|
|
217
217
|
- lib/cb/responses/job/search.rb
|
218
218
|
- lib/cb/responses/application/application_form.rb
|
219
219
|
- lib/cb/responses/spot/retrieve_response.rb
|
220
|
+
- lib/cb/responses/industry/search.rb
|
220
221
|
- lib/cb/responses/api_response.rb
|
221
222
|
- lib/cb/responses/user/check_existing.rb
|
222
223
|
- lib/cb/responses/user/temporary_password.rb
|
@@ -240,6 +241,7 @@ files:
|
|
240
241
|
- lib/cb/models/implementations/user.rb
|
241
242
|
- lib/cb/models/implementations/job_results.rb
|
242
243
|
- lib/cb/models/implementations/education.rb
|
244
|
+
- lib/cb/models/implementations/industry.rb
|
243
245
|
- lib/cb/models/implementations/application_external.rb
|
244
246
|
- lib/cb/models/implementations/saved_search.rb
|
245
247
|
- lib/cb/models/implementations/employee_type.rb
|
@@ -270,6 +272,7 @@ files:
|
|
270
272
|
- lib/cb/clients/job.rb
|
271
273
|
- lib/cb/clients/user.rb
|
272
274
|
- lib/cb/clients/education.rb
|
275
|
+
- lib/cb/clients/industry.rb
|
273
276
|
- lib/cb/clients/application_external.rb
|
274
277
|
- lib/cb/clients/saved_search.rb
|
275
278
|
- lib/cb/clients/company.rb
|