cb-api 0.1.21 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +0 -0
  3. data/lib/cb.rb +8 -0
  4. data/lib/cb/clients/application_api.rb +0 -0
  5. data/lib/cb/clients/application_external_api.rb +0 -0
  6. data/lib/cb/clients/category_api.rb +0 -0
  7. data/lib/cb/clients/company_api.rb +0 -0
  8. data/lib/cb/clients/education_api.rb +0 -0
  9. data/lib/cb/clients/employee_types_api.rb +0 -0
  10. data/lib/cb/clients/job_api.rb +0 -0
  11. data/lib/cb/clients/job_branding_api.rb +0 -0
  12. data/lib/cb/clients/recommendation_api.rb +0 -0
  13. data/lib/cb/clients/saved_search_api.rb +96 -0
  14. data/lib/cb/clients/user_api.rb +0 -0
  15. data/lib/cb/config.rb +14 -1
  16. data/lib/cb/criteria/job_details_criteria.rb +0 -0
  17. data/lib/cb/criteria/job_search_criteria.rb +0 -0
  18. data/lib/cb/models/branding/media.rb +0 -0
  19. data/lib/cb/models/branding/section.rb +0 -0
  20. data/lib/cb/models/branding/style.rb +0 -0
  21. data/lib/cb/models/branding/styles/base.rb +0 -0
  22. data/lib/cb/models/branding/styles/buttons.rb +0 -0
  23. data/lib/cb/models/branding/styles/company_info.rb +0 -0
  24. data/lib/cb/models/branding/styles/container.rb +0 -0
  25. data/lib/cb/models/branding/styles/content.rb +0 -0
  26. data/lib/cb/models/branding/styles/css_adapter.rb +0 -0
  27. data/lib/cb/models/branding/styles/headings.rb +0 -0
  28. data/lib/cb/models/branding/styles/job_details.rb +0 -0
  29. data/lib/cb/models/branding/styles/page.rb +0 -0
  30. data/lib/cb/models/branding/widget.rb +0 -0
  31. data/lib/cb/models/cb_application.rb +0 -0
  32. data/lib/cb/models/cb_application_external.rb +0 -0
  33. data/lib/cb/models/cb_application_schema.rb +0 -0
  34. data/lib/cb/models/cb_category.rb +0 -0
  35. data/lib/cb/models/cb_company.rb +0 -0
  36. data/lib/cb/models/cb_education.rb +0 -0
  37. data/lib/cb/models/cb_employee_type.rb +0 -0
  38. data/lib/cb/models/cb_job.rb +0 -0
  39. data/lib/cb/models/cb_job_branding.rb +0 -0
  40. data/lib/cb/models/{cb_saved_job_search.rb → cb_saved_search.rb} +56 -5
  41. data/lib/cb/models/cb_user.rb +0 -0
  42. data/lib/cb/utils/api.rb +0 -0
  43. data/lib/cb/utils/country.rb +0 -0
  44. data/lib/cb/utils/fluid_attributes.rb +0 -0
  45. data/lib/cb/utils/meta_values.rb +0 -0
  46. data/lib/cb/utils/string.rb +0 -0
  47. data/lib/cb/version.rb +1 -1
  48. metadata +11 -16
  49. data/lib/cb/clients/cb_saved_job_search_api.rb +0 -14
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YzhlNjkzODYxM2U1MmU0ZjdkNTliM2VlZmIyNTFiZmYzOTMyNGFlOQ==
5
+ data.tar.gz: !binary |-
6
+ YjNkZTVhOGE0ZmRlMjk3YWM3MzljMTlkYjgwYmRhZWFiOWIzNTdhOA==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ODNhM2UzOTg3YTc2OGVkNDI4ZGRlZGZhY2Q0MDdmM2I3NDNlZWY4M2M0ZDE4
10
+ NDM1NmFiOTM1YTIyYzA2ODNiNTI2YTA4NDBkYjI0MjMyNWU3YjAxNjk3M2Jh
11
+ M2EzZTViNDRhYzQ0OTY2MDAxYzM5NzUxZTE1NzhjYTkxODA1OGE=
12
+ data.tar.gz: !binary |-
13
+ YzU0OGM5NzIyYmRiOGE5MDMxZGVkYmIxZjA4NGNjZjRkOTRjYTIyMzYxZWM2
14
+ MzFjMjJlNGUzZjY2NzVhNTJmZTc1OTE5MDk2MzY1NTk4MDIwNTk1NmRmMWQ3
15
+ ZmU4ODE2ZTc1ZjlmOTE5MTBlNzE4N2YyZTUwY2VlZDQ1NzcyMGM=
data/README.md CHANGED
File without changes
data/lib/cb.rb CHANGED
@@ -74,4 +74,12 @@ module Cb
74
74
  def self.email_subscription
75
75
  Cb::EmailSubscriptionApi
76
76
  end
77
+
78
+ def self.saved_job_search_api
79
+ Cb::SavedJobSearchApi
80
+ end
81
+
82
+ def self.saved_search_api
83
+ Cb::SavedSearchApi
84
+ end
77
85
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,96 @@
1
+ require 'json'
2
+
3
+ module Cb
4
+ class SavedSearchApi
5
+
6
+ #############################################################
7
+ ## Create a Saved Search
8
+ ##
9
+ ## For detailed information around this API please visit:
10
+ ## http://api.careerbuilder.com/savedsearchinfo.aspx
11
+ #############################################################
12
+ def self.create params
13
+ my_api = Cb::Utils::Api.new
14
+ cb_response = my_api.cb_post Cb.configuration.uri_saved_search_create, :body => CbSavedSearch.new(params).create_to_xml
15
+ json_hash = JSON.parse cb_response.response.body
16
+ saved_search = CbSavedSearch.new json_hash['SavedJobSearch']
17
+ my_api.append_api_responses saved_search, json_hash['SavedJobSearch']
18
+
19
+ return saved_search
20
+ end
21
+
22
+ #############################################################
23
+ ## Update a Saved Search
24
+ ##
25
+ ## For detailed information around this API please visit:
26
+ ## http://api.careerbuilder.com/savedsearchinfo.aspx
27
+ #############################################################
28
+ def self.update params
29
+ my_api = Cb::Utils::Api.new
30
+ cb_response = my_api.cb_post Cb.configuration.uri_saved_search_update, :body => CbSavedSearch.new(params).update_to_xml
31
+ json_hash = JSON.parse cb_response.response.body
32
+ saved_search = CbSavedSearch.new json_hash['SavedJobSearch']
33
+ my_api.append_api_responses saved_search, json_hash['SavedJobSearch']
34
+
35
+ return saved_search
36
+ end
37
+
38
+ #############################################################
39
+ ## Delete a Saved Search
40
+ ##
41
+ ## For detailed information around this API please visit:
42
+ ## http://api.careerbuilder.com/savedsearchinfo.aspx
43
+ #############################################################
44
+
45
+ def self.delete params
46
+ my_api = Cb::Utils::Api.new
47
+ cb_response = my_api.cb_post Cb.configuration.uri_saved_search_delete, :body=>CbSavedSearch.new(params).delete_to_xml
48
+ json_hash = JSON.parse cb_response.response.body
49
+ saved_search = CbSavedSearch.new json_hash
50
+ my_api.append_api_responses saved_search, json_hash
51
+
52
+ return saved_search
53
+ end
54
+
55
+ #############################################################
56
+ ## Retrieve a Saved Search
57
+ ##
58
+ ## external_id is the unique ID for the specific Saved Search
59
+ ## that is being requested from the API. This External_id is
60
+ ## found from running a SavedSearchApi.all call. This is a
61
+ ## 64 character long ID.
62
+ ##
63
+ ## HostSite (From Saved Search List) Required*
64
+ ## Developer Key of the owning site for the User is Required*
65
+ ##
66
+ ## For detailed information around this API please visit:
67
+ ## http://api.careerbuilder.com/savedsearchinfo.aspx
68
+ #############################################################
69
+ def self.retrieve developer_key, external_user_id, external_id, host_site
70
+ my_api = Cb::Utils::Api.new
71
+ cb_response = my_api.cb_get Cb.configuration.uri_saved_search_retrieve, :query => {:developerkey=> developer_key, :externaluserid=> external_user_id, :externalid=> external_id, :hostsite=> host_site}
72
+ json_hash = JSON.parse cb_response.response.body
73
+ saved_search = CbSavedSearch.new json_hash['SavedJobSearch']
74
+ my_api.append_api_responses saved_search, json_hash['SavedJobSearch']
75
+
76
+ return saved_search
77
+ end
78
+
79
+ #############################################################
80
+ ## List of Saved Search's
81
+ ##
82
+ ## For detailed information around this API please visit:
83
+ ## http://api.careerbuilder.com/savedsearchinfo.aspx
84
+ #############################################################
85
+ def self.list developer_key, external_user_id
86
+ my_api = Cb::Utils::Api.new
87
+ cb_response = my_api.cb_get Cb.configuration.uri_saved_search_list, :query => {:developerkey=>developer_key, :ExternalUserId=>external_user_id}
88
+ json_hash = JSON.parse cb_response.response.body
89
+ saved_search = CbSavedSearch.new json_hash['SavedJobSearches']
90
+ my_api.append_api_responses saved_search, json_hash['SavedJobSearches']
91
+
92
+ return json_hash
93
+ end
94
+
95
+ end
96
+ end
File without changes
@@ -10,7 +10,10 @@ module Cb
10
10
  :uri_application_external,
11
11
  :uri_application_registered, :uri_user_change_password,
12
12
  :uri_user_delete, :uri_user_retrieve,
13
- :uri_job_branding, :uri_tn_join_questions, :uri_saved_job_search_create,
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_saved_job_search_create,
16
+ :uri_job_branding, :uri_tn_join_questions,
14
17
  :uri_subscription_retrieve, :uri_subscription_modify
15
18
 
16
19
  def initialize
@@ -36,6 +39,11 @@ module Cb
36
39
  @uri_user_delete ||= '/v2/User/delete'
37
40
  @uri_user_retrieve ||= '/v2/user/retrieve'
38
41
  @uri_job_branding ||= '/branding'
42
+ @uri_saved_search_retrieve ||= '/v1/savedsearch/retrieve'
43
+ @uri_saved_search_create ||= '/v2/savedsearch/create'
44
+ @uri_saved_search_update ||= '/v2/savedsearch/update'
45
+ @uri_saved_search_delete ||= '/v1/savedsearch/delete'
46
+ @uri_saved_search_list ||= '/v1/savedsearch/list'
39
47
  @uri_tn_join_questions ||= '/talentnetwork/config/join/questions'
40
48
  @uri_subscription_retrieve ||= '/v1/user/subscription/retrieve'
41
49
  @uri_subscription_modify ||= '/v1/user/subscription'
@@ -63,6 +71,11 @@ module Cb
63
71
  :uri_user_change_password => @uri_user_change_password,
64
72
  :uri_user_retrieve => @uri_user_retrieve,
65
73
  :uri_job_branding => @uri_job_branding,
74
+ :uri_saved_search_retrieve => @uri_saved_search_retrieve,
75
+ :uri_saved_search_create => @uri_saved_search_create,
76
+ :uri_saved_search_update => @uri_saved_search_update,
77
+ :uri_saved_search_delete => @uri_saved_search_delete,
78
+ :uri_saved_search_list => @uri_saved_search_list,
66
79
  :uri_tn_join_questions => @uri_tn_join_questions,
67
80
  :uri_subscription_retrieve => @uri_subscription_retrieve,
68
81
  :uri_subscription_modify => @uri_subscription_modify,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,11 +1,11 @@
1
1
  require 'nokogiri'
2
2
  module Cb
3
- class CbSavedJobSearch
3
+ class CbSavedSearch
4
4
  attr_accessor :hostsite, :cobrand, :site_id, :search_name, :boolean_operator, :category, :education_code, :specific_education,
5
5
  :emp_type, :exclude_company_names, :exclude_job_titles, :exclude_national, :industry_codes,
6
6
  :keywords, :order_by, :order_direction, :radius, :pay_high, :pay_low, :posted_within,
7
- :pay_info_only, :location, :job_category, :company, :city, :state, :is_daily_email, :external_user_id,
8
- :dev_key
7
+ :pay_info_only, :location, :job_category, :company, :city, :state, :is_daily_email, :external_id,
8
+ :external_user_id, :dev_key
9
9
 
10
10
  def initialize(args={})
11
11
  @hostsite = args[:HostSite] || ''
@@ -35,11 +35,12 @@ module Cb
35
35
  @city = args[:City] || ''
36
36
  @state = args[:State] || ''
37
37
  @is_daily_email = args[:IsDailyEmail] || ''
38
- @external_user_id = args[:ExternalUserId] || ''
38
+ @external_id = args[:ExternalID] || ''
39
+ @external_user_id = args[:ExternalUserID] || ''
39
40
  @dev_key = args[:DeveloperKey] || "#{Cb.configuration.dev_key}"
40
41
  end
41
42
 
42
- def to_xml
43
+ def create_to_xml
43
44
  ret = "<Request>"
44
45
  ret += "<HostSite>#{@hostsite}</HostSite>"
45
46
  ret += "<Cobrand>#{@cobrand}</Cobrand>"
@@ -75,5 +76,55 @@ module Cb
75
76
 
76
77
  ret
77
78
  end
79
+
80
+ def update_to_xml
81
+ ret = "<Request>"
82
+ ret += "<HostSite>#{@hostsite}</HostSite>"
83
+ ret += "<Cobrand>#{@cobrand}</Cobrand>"
84
+ ret += "<SearchName>#{@search_name}</SearchName>"
85
+ ret += "<SearchParameters>"
86
+ ret += "<BooleanOperator>#{@boolean_operator}</BooleanOperator>"
87
+ ret += "<Category>#{@category}</Category>"
88
+ ret += "<EducationCode>#{@education_code}</EducationCode>"
89
+ ret += "<SpecificEducation>#{@specific_education}</SpecificEducation>"
90
+ ret += "<EmpType>#{@emp_type}</EmpType>"
91
+ ret += "<ExcludeCompanyNames>#{@exclude_company_names}</ExcludeCompanyNames>"
92
+ ret += "<ExcludeJobTitles>#{@exclude_job_titles}</ExcludeJobTitles>"
93
+ ret += "<ExcludeNational>#{@exclude_national}</ExcludeNational>"
94
+ ret += "<IndustryCodes>#{@industry_codes}</IndustryCodes>"
95
+ ret += "<Keywords>#{@keywords}</Keywords>"
96
+ ret += "<OrderBy>#{@order_by}</OrderBy>"
97
+ ret += "<OrderDirection>#{@order_direction}</OrderDirection>"
98
+ ret += "<Radius>#{@radius}</Radius>"
99
+ ret += "<PayHigh>#{@pay_high}</PayHigh>"
100
+ ret += "<PayLow>#{@pay_high}</PayLow>"
101
+ ret += "<PostedWithin>#{@posted_within}</PostedWithin>"
102
+ ret += "<PayInfoOnly>#{@pay_info_only}</PayInfoOnly>"
103
+ ret += "<Location>#{@location}</Location>"
104
+ ret += "<JobCategory>#{@job_category}</JobCategory>"
105
+ ret += "<Company>#{@company}</Company>"
106
+ ret += "<City>#{@city}</City>"
107
+ ret += "<State>#{@state}</State>"
108
+ ret += "</SearchParameters>"
109
+ ret += "<IsDailyEmail>#{@is_daily_email}</IsDailyEmail>"
110
+ ret += "<ExternalID>#{@external_id}</ExternalID>"
111
+ ret += "<ExternalUserID>#{@external_user_id}</ExternalUserID>"
112
+ ret += "<DeveloperKey>#{@dev_key}</DeveloperKey>"
113
+ ret += "</Request>"
114
+
115
+ ret
116
+ end
117
+
118
+ def delete_to_xml
119
+ ret = "<Request>"
120
+ ret += "<HostSite>#{@hostsite}</HostSite>"
121
+ ret += "<ExternalID>#{@external_id}</ExternalID>"
122
+ ret += "<ExternalUserID>#{@external_user_id}</ExternalUserID>"
123
+ ret += "<DeveloperKey>#{@dev_key}</DeveloperKey>"
124
+ ret += "</Request>"
125
+
126
+ ret
127
+ end
128
+
78
129
  end
79
130
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,3 +1,3 @@
1
1
  module Cb
2
- VERSION = '0.1.21'
2
+ VERSION = '0.2.0'
3
3
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cb-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.21
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jesse Retchko
@@ -11,16 +10,16 @@ authors:
11
10
  - Miriam Williams
12
11
  - David Posey
13
12
  - Kyle Bumpus
13
+ - Jon Molinaro
14
14
  - Ben Schmaltz
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2013-07-25 00:00:00.000000000 Z
18
+ date: 2013-07-31 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: httparty
22
22
  requirement: !ruby/object:Gem::Requirement
23
- none: false
24
23
  requirements:
25
24
  - - ~>
26
25
  - !ruby/object:Gem::Version
@@ -28,7 +27,6 @@ dependencies:
28
27
  type: :runtime
29
28
  prerelease: false
30
29
  version_requirements: !ruby/object:Gem::Requirement
31
- none: false
32
30
  requirements:
33
31
  - - ~>
34
32
  - !ruby/object:Gem::Version
@@ -36,7 +34,6 @@ dependencies:
36
34
  - !ruby/object:Gem::Dependency
37
35
  name: json
38
36
  requirement: !ruby/object:Gem::Requirement
39
- none: false
40
37
  requirements:
41
38
  - - ~>
42
39
  - !ruby/object:Gem::Version
@@ -44,7 +41,6 @@ dependencies:
44
41
  type: :runtime
45
42
  prerelease: false
46
43
  version_requirements: !ruby/object:Gem::Requirement
47
- none: false
48
44
  requirements:
49
45
  - - ~>
50
46
  - !ruby/object:Gem::Version
@@ -52,7 +48,6 @@ dependencies:
52
48
  - !ruby/object:Gem::Dependency
53
49
  name: nori
54
50
  requirement: !ruby/object:Gem::Requirement
55
- none: false
56
51
  requirements:
57
52
  - - ~>
58
53
  - !ruby/object:Gem::Version
@@ -60,7 +55,6 @@ dependencies:
60
55
  type: :runtime
61
56
  prerelease: false
62
57
  version_requirements: !ruby/object:Gem::Requirement
63
- none: false
64
58
  requirements:
65
59
  - - ~>
66
60
  - !ruby/object:Gem::Version
@@ -69,7 +63,9 @@ description: Ruby wrapper for Careerbuilder Public API.
69
63
  email:
70
64
  - Jesse.Retchko@Careerbuilder.com
71
65
  - Chris.Little@Careerbuilder.com
72
- - Matt.Moldavan@Careerbuilder.comMiriamDeana@gmail.com
66
+ - Matt.Moldavan@Careerbuilder.com
67
+ - Jon.Molinaro@careerbuilder.com
68
+ - MiriamDeana@gmail.com
73
69
  - David.Posey@Careerbuilder.com
74
70
  - Kyle.Bumpus@Careerbuilder.com
75
71
  - Ben.Schmaltz@Careerbuilder.com
@@ -80,7 +76,6 @@ files:
80
76
  - lib/cb/clients/application_api.rb
81
77
  - lib/cb/clients/application_external_api.rb
82
78
  - lib/cb/clients/category_api.rb
83
- - lib/cb/clients/cb_saved_job_search_api.rb
84
79
  - lib/cb/clients/company_api.rb
85
80
  - lib/cb/clients/education_api.rb
86
81
  - lib/cb/clients/email_subscription_api.rb
@@ -88,6 +83,7 @@ files:
88
83
  - lib/cb/clients/job_api.rb
89
84
  - lib/cb/clients/job_branding_api.rb
90
85
  - lib/cb/clients/recommendation_api.rb
86
+ - lib/cb/clients/saved_search_api.rb
91
87
  - lib/cb/clients/talent_network_api.rb
92
88
  - lib/cb/clients/user_api.rb
93
89
  - lib/cb/config.rb
@@ -116,7 +112,7 @@ files:
116
112
  - lib/cb/models/cb_employee_type.rb
117
113
  - lib/cb/models/cb_job.rb
118
114
  - lib/cb/models/cb_job_branding.rb
119
- - lib/cb/models/cb_saved_job_search.rb
115
+ - lib/cb/models/cb_saved_search.rb
120
116
  - lib/cb/models/cb_user.rb
121
117
  - lib/cb/utils/api.rb
122
118
  - lib/cb/utils/country.rb
@@ -128,26 +124,25 @@ files:
128
124
  - README.md
129
125
  homepage: http://api.careerbuilder.com
130
126
  licenses: []
127
+ metadata: {}
131
128
  post_install_message:
132
129
  rdoc_options: []
133
130
  require_paths:
134
131
  - lib
135
132
  required_ruby_version: !ruby/object:Gem::Requirement
136
- none: false
137
133
  requirements:
138
134
  - - ! '>='
139
135
  - !ruby/object:Gem::Version
140
136
  version: '0'
141
137
  required_rubygems_version: !ruby/object:Gem::Requirement
142
- none: false
143
138
  requirements:
144
139
  - - ! '>='
145
140
  - !ruby/object:Gem::Version
146
141
  version: '0'
147
142
  requirements: []
148
143
  rubyforge_project:
149
- rubygems_version: 1.8.25
144
+ rubygems_version: 2.0.3
150
145
  signing_key:
151
- specification_version: 3
146
+ specification_version: 4
152
147
  summary: Ruby wrapper around Careerbuilder Public API.
153
148
  test_files: []
@@ -1,14 +0,0 @@
1
- require "json"
2
- require "nokogiri"
3
-
4
- module Cb
5
- class SavedJobSearchApi
6
-
7
- def create_saved_search(search)
8
- my_api = Cb::Utils::Api.new()
9
- saved_search = my_api.cb_post(Cb.configuration.uri_saved_job_search_create,
10
- :body => search.to_xml)
11
- end
12
-
13
- end
14
- end