cb-api 0.1.17 → 0.1.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZTBjZjg4Njg1MWJiZjJlOGYyMzk2OTAzNzAwODIzYTQ1MzE2NWNkZQ==
5
+ data.tar.gz: !binary |-
6
+ OTIwMzU4Y2Y4NDQ5NTdmZjk5NmFkM2M3ODM5YjJiYTAxMzc1YTYxZA==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ NzJlMzMwODNiZDk2ZTlhYThhNGQyMDI4ZTBiZDEyNWEwMzBhNTUyOWIxMTUy
10
+ OTA5Yjk3YmY1MjMyNjhlMDc1NGE4N2Y5ZTEyZmIwODE2YzBiMDc2NWM4MTQ5
11
+ ZWFmY2IwNGE3YTgzODc1OWUwZGU2YmNmOTNiNzk1MDM3NDhiYmY=
12
+ data.tar.gz: !binary |-
13
+ OGVkNzY2MGJjZGMyMDdiNDIwMDE1OTUzMjgzNjFiZDg4MGU4YzYwZWU0ZDA1
14
+ ZTZjYTUwODg4NTM2YzZmZTg0NWE2NDMyOWQ2MjAyYmY0MGU0MjFiYjNiOGU1
15
+ YWRiNTAwZTFiOTc5MzYxZmU2OGUwN2JhYmNkMTViYmIwZjFhMDc=
data/lib/cb.rb CHANGED
@@ -70,4 +70,8 @@ module Cb
70
70
  def self.job_branding
71
71
  Cb::JobBrandingApi
72
72
  end
73
+
74
+ def self.email_subscription
75
+ Cb::EmailSubscriptionApi
76
+ end
73
77
  end
@@ -0,0 +1,56 @@
1
+ require 'json'
2
+
3
+ module Cb
4
+ class EmailSubscriptionApi
5
+ #############################################################
6
+ ## Retrieve subscription values for a user
7
+ ##
8
+ ## For detailed information around this API please visit:
9
+ ## http://api.careerbuilder.com/usersubscriptionretrieve.aspx
10
+ #############################################################
11
+ def self.retrieve_by_did(did)
12
+ my_api = Cb::Utils::Api.new()
13
+ cb_response = my_api.cb_get(Cb.configuration.uri_subscription_retrieve, :query => {:ExternalID => did})
14
+ json_hash = JSON.parse(cb_response.response.body)
15
+ subscription = CbEmailSubscription.new(json_hash['SubscriptionValues'])
16
+
17
+ return subscription
18
+ end
19
+
20
+
21
+ #############################################################
22
+ ## Update subscription values for a user
23
+ ##
24
+ ## For detailed information around this API please visit:
25
+ ## http://api.careerbuilder.com/usersubscriptionretrieve.aspx
26
+ #############################################################
27
+ def self.modify_subscription ext_id, career_resources, product_sponsor_info, applicant_survey_invites, job_recs, unsubscribe_all
28
+ if unsubscribe_all
29
+ career_resources = product_sponsor_info = applicant_survey_invites = job_recs = false.to_s
30
+ end
31
+
32
+ my_api = Cb::Utils::Api.new()
33
+
34
+ xml_body = "<Request>"
35
+ xml_body += "<DeveloperKey>" + Cb.configuration.dev_key.to_s + "</DeveloperKey>"
36
+ xml_body += "<ExternalID>" + ext_id.to_s + "</ExternalID>"
37
+ xml_body += "<CareerResources>" + career_resources.to_s + "</CareerResources>"
38
+ xml_body += "<ProductSponsorInfo>" + product_sponsor_info.to_s + "</ProductSponsorInfo>"
39
+ xml_body += "<ApplicantSurveyInvites>" + applicant_survey_invites.to_s + "</ApplicantSurveyInvites>"
40
+ xml_body += "<JobRecs>" + job_recs.to_s + "</JobRecs>"
41
+ xml_body += "<UnsubscribeAll>" + unsubscribe_all.to_s + "</UnsubscribeAll>"
42
+ xml_body += "</Request>"
43
+
44
+
45
+ cb_response = my_api.cb_post(Cb.configuration.uri_subscription_modify,
46
+ :body => xml_body)
47
+
48
+ json_hash = JSON.parse(cb_response.response.body)
49
+
50
+ subscription = CbEmailSubscription.new(json_hash['SubscriptionValues'])
51
+
52
+ return subscription
53
+ end
54
+
55
+ end
56
+ end
@@ -10,7 +10,8 @@ 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_saved_job_search_create
13
+ :uri_job_branding, :uri_saved_job_search_create,
14
+ :uri_subscription_retrieve, :uri_subscription_modify
14
15
 
15
16
  def initialize
16
17
  Cb::Utils::Country.inject_convenience_methods
@@ -35,6 +36,8 @@ module Cb
35
36
  @uri_user_delete ||= '/v2/User/delete'
36
37
  @uri_user_retrieve ||= '/v2/user/retrieve'
37
38
  @uri_job_branding ||= '/branding'
39
+ @uri_subscription_retrieve ||= '/v1/user/subscription/retrieve'
40
+ @uri_subscription_modify ||= '/v1/user/subscription'
38
41
  @uri_saved_job_search_create ||= '/v2/savedsearch/create'
39
42
  end
40
43
 
@@ -59,6 +62,8 @@ module Cb
59
62
  :uri_user_change_password => @uri_user_change_password,
60
63
  :uri_user_retrieve => @uri_user_retrieve,
61
64
  :uri_job_branding => @uri_job_branding,
65
+ :uri_subscription_retrieve => @uri_subscription_retrieve,
66
+ :uri_subscription_modify => @uri_subscription_modify,
62
67
  :uri_saved_job_search_create => @uri_saved_job_search_create
63
68
  }
64
69
  end
@@ -0,0 +1,19 @@
1
+ module Cb
2
+ class CbEmailSubscription
3
+ attr_accessor :career_resources, :product_sponsor_info, :applicant_survey_invites,
4
+ :job_recs, :unsubscribe_all
5
+
6
+ def initialize(args = {})
7
+ return if args.nil?
8
+
9
+ @career_resources = args['CareerResources'].to_s || ''
10
+ @product_sponsor_info = args['ProductSponsorInfo'].to_s || ''
11
+ @applicant_survey_invites = args['ApplicantSurveyInvites'].to_s || ''
12
+ @job_recs = args['JobRecs'].to_s || ''
13
+
14
+
15
+
16
+ end
17
+
18
+ end
19
+ end
@@ -1,3 +1,3 @@
1
1
  module Cb
2
- VERSION = '0.1.17'
2
+ VERSION = '0.1.18'
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.17
5
- prerelease:
4
+ version: 0.1.18
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jesse Retchko
@@ -15,12 +14,11 @@ authors:
15
14
  autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
- date: 2013-07-22 00:00:00.000000000 Z
17
+ date: 2013-07-23 00:00:00.000000000 Z
19
18
  dependencies:
20
19
  - !ruby/object:Gem::Dependency
21
20
  name: httparty
22
21
  requirement: !ruby/object:Gem::Requirement
23
- none: false
24
22
  requirements:
25
23
  - - ~>
26
24
  - !ruby/object:Gem::Version
@@ -28,7 +26,6 @@ dependencies:
28
26
  type: :runtime
29
27
  prerelease: false
30
28
  version_requirements: !ruby/object:Gem::Requirement
31
- none: false
32
29
  requirements:
33
30
  - - ~>
34
31
  - !ruby/object:Gem::Version
@@ -36,7 +33,6 @@ dependencies:
36
33
  - !ruby/object:Gem::Dependency
37
34
  name: json
38
35
  requirement: !ruby/object:Gem::Requirement
39
- none: false
40
36
  requirements:
41
37
  - - ~>
42
38
  - !ruby/object:Gem::Version
@@ -44,7 +40,6 @@ dependencies:
44
40
  type: :runtime
45
41
  prerelease: false
46
42
  version_requirements: !ruby/object:Gem::Requirement
47
- none: false
48
43
  requirements:
49
44
  - - ~>
50
45
  - !ruby/object:Gem::Version
@@ -52,7 +47,6 @@ dependencies:
52
47
  - !ruby/object:Gem::Dependency
53
48
  name: nori
54
49
  requirement: !ruby/object:Gem::Requirement
55
- none: false
56
50
  requirements:
57
51
  - - ~>
58
52
  - !ruby/object:Gem::Version
@@ -60,7 +54,6 @@ dependencies:
60
54
  type: :runtime
61
55
  prerelease: false
62
56
  version_requirements: !ruby/object:Gem::Requirement
63
- none: false
64
57
  requirements:
65
58
  - - ~>
66
59
  - !ruby/object:Gem::Version
@@ -83,6 +76,7 @@ files:
83
76
  - lib/cb/clients/cb_saved_job_search_api.rb
84
77
  - lib/cb/clients/company_api.rb
85
78
  - lib/cb/clients/education_api.rb
79
+ - lib/cb/clients/email_subscription_api.rb
86
80
  - lib/cb/clients/employee_types_api.rb
87
81
  - lib/cb/clients/job_api.rb
88
82
  - lib/cb/clients/job_branding_api.rb
@@ -110,6 +104,7 @@ files:
110
104
  - lib/cb/models/cb_category.rb
111
105
  - lib/cb/models/cb_company.rb
112
106
  - lib/cb/models/cb_education.rb
107
+ - lib/cb/models/cb_email_subscription.rb
113
108
  - lib/cb/models/cb_employee_type.rb
114
109
  - lib/cb/models/cb_job.rb
115
110
  - lib/cb/models/cb_job_branding.rb
@@ -125,26 +120,25 @@ files:
125
120
  - README.md
126
121
  homepage: http://api.careerbuilder.com
127
122
  licenses: []
123
+ metadata: {}
128
124
  post_install_message:
129
125
  rdoc_options: []
130
126
  require_paths:
131
127
  - lib
132
128
  required_ruby_version: !ruby/object:Gem::Requirement
133
- none: false
134
129
  requirements:
135
130
  - - ! '>='
136
131
  - !ruby/object:Gem::Version
137
132
  version: '0'
138
133
  required_rubygems_version: !ruby/object:Gem::Requirement
139
- none: false
140
134
  requirements:
141
135
  - - ! '>='
142
136
  - !ruby/object:Gem::Version
143
137
  version: '0'
144
138
  requirements: []
145
139
  rubyforge_project:
146
- rubygems_version: 1.8.25
140
+ rubygems_version: 2.0.3
147
141
  signing_key:
148
- specification_version: 3
142
+ specification_version: 4
149
143
  summary: Ruby wrapper around Careerbuilder Public API.
150
144
  test_files: []