cb-api 1.1.4 → 1.1.5

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.
@@ -3,10 +3,10 @@ module Cb
3
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
- :keywords, :order_by, :order_direction, :radius, :pay_high, :pay_low, :posted_within,
6
+ :keywords, :order_by, :order_direction, :radius, :pay_high, :pay_low, :posted_within,
7
7
  :pay_info_only, :location, :job_category, :company, :city, :state, :is_daily_email, :external_id,
8
8
  :external_user_id, :dev_key, :job_search_url, :jrdid, :errors, :browser_id, :session_id, :test, :email_address,
9
- :saved_search_parameters
9
+ :saved_search_parameters, :country
10
10
 
11
11
  def initialize(args={})
12
12
  @hostsite = args['HostSite'] || ''
@@ -47,6 +47,7 @@ module Cb
47
47
  @session_id = args['SessionID'] || ''
48
48
  @test = args['Test'].to_s || false
49
49
  @email_address = args['EmailAddress'] || ''
50
+ @country = args['Country'] || ''
50
51
  if args.has_key?('SavedSearchParameters')
51
52
  unless args['SavedSearchParameters'].empty?
52
53
  @saved_search_parameters = CbSavedSearch.new(args['SavedSearchParameters'])
@@ -57,7 +58,8 @@ module Cb
57
58
  class CbSavedSearchParameters
58
59
  attr_accessor :boolean_operator, :category, :education_code, :emp_type, :exclude_company_names, :exclude_job_titles,
59
60
  :exclude_keywords, :exclude_national, :industry_codes, :job_title, :keywords, :location, :order_by,
60
- :order_direction, :pay_high, :pay_info_only, :pay_low, :posted_within, :radius, :specific_education
61
+ :order_direction, :pay_high, :pay_info_only, :pay_low, :posted_within, :radius, :specific_education,
62
+ :country
61
63
 
62
64
  def initialize(args = {})
63
65
  @boolean_operator = args['BooleanOperator'] || ''
@@ -80,6 +82,7 @@ module Cb
80
82
  @posted_within = args['PostedWithin'] || 30
81
83
  @radius = args['Radius'] || 30
82
84
  @specific_education = args['SpecificEducation'] || false
85
+ @country = args['Country'] || ''
83
86
  end
84
87
  end #CbSavedSearchParameters
85
88
 
@@ -111,6 +114,7 @@ module Cb
111
114
  ret += "<Company>#{@company}</Company>"
112
115
  ret += "<City>#{@city}</City>"
113
116
  ret += "<State>#{@state}</State>"
117
+ ret += "<Country>#{@country}</Country>"
114
118
  ret += "</SearchParameters>"
115
119
  ret += "<IsDailyEmail>#{@is_daily_email.upcase}</IsDailyEmail>"
116
120
  ret += "<ExternalUserID>#{@external_user_id}</ExternalUserID>"
@@ -152,6 +156,7 @@ module Cb
152
156
  ret += "<Company>#{@company}</Company>"
153
157
  ret += "<City>#{@city}</City>"
154
158
  ret += "<State>#{@state}</State>"
159
+ ret += "<Country>#{@country}</Country>"
155
160
  ret += "</SearchParameters>"
156
161
  ret += "<IsDailyEmail>#{@is_daily_email.upcase}</IsDailyEmail>"
157
162
  ret += "<DeveloperKey>#{@dev_key}</DeveloperKey>"
@@ -188,6 +193,7 @@ module Cb
188
193
  ret += "<Company>#{@company}</Company>"
189
194
  ret += "<City>#{@city}</City>"
190
195
  ret += "<State>#{@state}</State>"
196
+ ret += "<Country>#{@country}</Country>"
191
197
  ret += "</SearchParameters>"
192
198
  ret += "<IsDailyEmail>#{@is_daily_email}</IsDailyEmail>"
193
199
  ret += "<ExternalID>#{@external_id}</ExternalID>"
data/lib/cb/utils/api.rb CHANGED
@@ -20,8 +20,7 @@ module Cb
20
20
  response = self.class.get(*args, &block)
21
21
  validated_response = ResponseValidator.validate(response)
22
22
  set_api_error(validated_response)
23
-
24
- return validated_response
23
+ validated_response
25
24
  end
26
25
 
27
26
  def cb_post(*args, &block)
@@ -29,19 +28,14 @@ module Cb
29
28
  response = self.class.post(*args, &block)
30
29
  validated_response = ResponseValidator.validate(response)
31
30
  set_api_error(validated_response)
32
-
33
- return validated_response
31
+ validated_response
34
32
  end
35
33
 
36
34
  def append_api_responses(obj, resp)
37
- if obj.respond_to?('cb_response')
38
- meta_class = obj.cb_response
39
- else
40
- meta_class = Cb::Utils::MetaValues.new()
41
- end
35
+ meta_class = obj.respond_to?('cb_response') ? obj.cb_response : Cb::Utils::MetaValues.new
42
36
 
43
- resp.each do | api_key, api_value |
44
- meta_name = get_meta_name_for api_key
37
+ resp.each do |api_key, api_value|
38
+ meta_name = format_hash_key(api_key)
45
39
  unless meta_name.empty?
46
40
  if meta_name == 'errors' && api_value.is_a?(Hash)
47
41
  api_value = api_value.values
@@ -76,7 +70,7 @@ module Cb
76
70
  params["#{var_name_hash_safe}"] = criteria.instance_variable_get(var)
77
71
  end
78
72
  end
79
- return params
73
+ params
80
74
  end
81
75
 
82
76
  def self.is_numeric?(obj)
@@ -84,29 +78,20 @@ module Cb
84
78
  end
85
79
 
86
80
  private
87
- #############################################################################
81
+
88
82
  def self.camelize(input)
89
83
  input.sub!(/^[a-z\d]*/) { $&.capitalize }
90
84
  input.gsub(/(?:_|(\/))([a-z\d]*)/) { "#{$2.capitalize}" }.gsub('/', '::')
91
85
  end
92
86
 
93
87
  def set_api_error(validated_response)
94
- if validated_response.keys.any?
95
- @api_error = false
96
- else
97
- @api_error = true
98
- end
88
+ @api_error = validated_response.keys.empty?
99
89
  end
100
90
 
101
- def get_meta_name_for(api_key)
102
- key_map = {
103
- 'MinQualityLimit' => 'min_quality',
104
- 'RecommendationsAvailable' => 'recs_available',
105
- api_key => api_key.snakecase
106
- }
107
-
108
- key_map["#{api_key}"] ||= ''
91
+ def format_hash_key(api_hash_key)
92
+ return String.new unless api_hash_key.respond_to?(:snakecase)
93
+ api_hash_key.snakecase
109
94
  end
110
95
  end
111
96
  end
112
- end
97
+ end
data/lib/cb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cb
2
- VERSION = '1.1.4'
2
+ VERSION = '1.1.5'
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: 1.1.4
4
+ version: 1.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -19,7 +19,7 @@ authors:
19
19
  autorequire:
20
20
  bindir: bin
21
21
  cert_chain: []
22
- date: 2013-11-15 00:00:00.000000000 Z
22
+ date: 2013-11-25 00:00:00.000000000 Z
23
23
  dependencies:
24
24
  - !ruby/object:Gem::Dependency
25
25
  name: httparty
@@ -248,7 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
248
248
  version: '0'
249
249
  requirements: []
250
250
  rubyforge_project:
251
- rubygems_version: 1.8.25
251
+ rubygems_version: 1.8.24
252
252
  signing_key:
253
253
  specification_version: 3
254
254
  summary: Ruby wrapper around Careerbuilder Public API.