cb-api 0.4.0 → 0.4.6

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.
Files changed (43) hide show
  1. data/lib/cb.rb +18 -16
  2. data/lib/cb/clients/application_api.rb +4 -4
  3. data/lib/cb/clients/job_api.rb +1 -0
  4. data/lib/cb/clients/spot_api.rb +25 -0
  5. data/lib/cb/config.rb +6 -3
  6. data/lib/cb/criteria/spot_retrieve_criteria.rb +12 -0
  7. data/lib/cb/exceptions.rb +4 -0
  8. data/lib/cb/models/api_response_model.rb +34 -0
  9. data/lib/cb/models/{branding → implementations/branding}/media.rb +0 -0
  10. data/lib/cb/models/{branding → implementations/branding}/section.rb +0 -0
  11. data/lib/cb/models/{branding → implementations/branding}/style.rb +0 -0
  12. data/lib/cb/models/{branding → implementations/branding}/styles/base.rb +0 -0
  13. data/lib/cb/models/{branding → implementations/branding}/styles/buttons.rb +0 -0
  14. data/lib/cb/models/{branding → implementations/branding}/styles/company_info.rb +0 -0
  15. data/lib/cb/models/{branding → implementations/branding}/styles/container.rb +0 -0
  16. data/lib/cb/models/{branding → implementations/branding}/styles/content.rb +0 -0
  17. data/lib/cb/models/{branding → implementations/branding}/styles/css_adapter.rb +0 -0
  18. data/lib/cb/models/{branding → implementations/branding}/styles/headings.rb +0 -0
  19. data/lib/cb/models/{branding → implementations/branding}/styles/job_details.rb +0 -0
  20. data/lib/cb/models/{branding → implementations/branding}/styles/page.rb +0 -0
  21. data/lib/cb/models/{branding → implementations/branding}/widget.rb +0 -0
  22. data/lib/cb/models/{cb_application.rb → implementations/cb_application.rb} +0 -0
  23. data/lib/cb/models/{cb_application_external.rb → implementations/cb_application_external.rb} +0 -0
  24. data/lib/cb/models/{cb_application_schema.rb → implementations/cb_application_schema.rb} +0 -0
  25. data/lib/cb/models/{cb_category.rb → implementations/cb_category.rb} +0 -0
  26. data/lib/cb/models/{cb_company.rb → implementations/cb_company.rb} +0 -0
  27. data/lib/cb/models/{cb_education.rb → implementations/cb_education.rb} +0 -0
  28. data/lib/cb/models/{cb_email_subscription.rb → implementations/cb_email_subscription.rb} +0 -0
  29. data/lib/cb/models/{cb_employee_type.rb → implementations/cb_employee_type.rb} +0 -0
  30. data/lib/cb/models/{cb_job.rb → implementations/cb_job.rb} +0 -0
  31. data/lib/cb/models/{cb_job_branding.rb → implementations/cb_job_branding.rb} +0 -0
  32. data/lib/cb/models/{cb_resume.rb → implementations/cb_resume.rb} +0 -0
  33. data/lib/cb/models/{cb_saved_search.rb → implementations/cb_saved_search.rb} +0 -0
  34. data/lib/cb/models/implementations/cb_spot.rb +32 -0
  35. data/lib/cb/models/{cb_talent_network.rb → implementations/cb_talent_network.rb} +0 -0
  36. data/lib/cb/models/{cb_user.rb → implementations/cb_user.rb} +0 -0
  37. data/lib/cb/responses/raw_api_response.rb +34 -0
  38. data/lib/cb/responses/spot/retrieve_response.rb +28 -0
  39. data/lib/cb/utils/api.rb +4 -18
  40. data/lib/cb/utils/fluid_attributes.rb +2 -2
  41. data/lib/cb/version.rb +1 -1
  42. metadata +167 -37
  43. checksums.yaml +0 -7
data/lib/cb.rb CHANGED
@@ -1,15 +1,17 @@
1
1
  require 'cb/config'
2
- Dir[File.dirname(__FILE__) + '/cb/utils/*.rb'].each {| file| require file }
3
- Dir[File.dirname(__FILE__) + '/cb/clients/*.rb'].each {| file| require file }
4
- Dir[File.dirname(__FILE__) + '/cb/criteria/*.rb'].each {| file| require file }
5
- Dir[File.dirname(__FILE__) + '/cb/models/*.rb'].each {| file| require file }
6
- require 'cb/models/branding/styles/base'
7
- require 'cb/models/branding/styles/css_adapter'
8
- Dir[File.dirname(__FILE__) + '/cb/models/**/*.rb'].each {| file| require file }
2
+ require 'cb/models/implementations/branding/styles/base'
3
+ require 'cb/models/implementations/branding/styles/css_adapter'
4
+ require 'cb/exceptions'
9
5
 
10
- module Cb
11
- class IncomingParamIsWrongTypeException < StandardError; end
6
+ def require_directory(relative_path)
7
+ Dir[File.dirname(__FILE__) + relative_path].each { |file| require file }
8
+ end
9
+
10
+ required_paths = %w(/cb/utils/*.rb /cb/clients/*.rb /cb/criteria/*.rb /cb/models/*.rb
11
+ /cb/models/**/*.rb /cb/responses/*.rb /cb/responses/**/*.rb)
12
+ required_paths.each { |path| require_directory path }
12
13
 
14
+ module Cb
13
15
  def self.configure
14
16
  yield configuration
15
17
  end
@@ -28,11 +30,11 @@ module Cb
28
30
  end
29
31
 
30
32
  def self.job_search_criteria
31
- Cb::JobSearchCriteria.new()
33
+ Cb::JobSearchCriteria.new
32
34
  end
33
35
 
34
36
  def self.job_detail_criteria
35
- Cb::JobApi::DetailsCriteria.new()
37
+ Cb::JobDetailsCriteria.new
36
38
  end
37
39
 
38
40
  def self.category
@@ -79,10 +81,6 @@ module Cb
79
81
  Cb::EmailSubscriptionApi
80
82
  end
81
83
 
82
- def self.saved_job_search_api
83
- Cb::SavedJobSearchApi
84
- end
85
-
86
84
  def self.saved_search_api
87
85
  Cb::SavedSearchApi
88
86
  end
@@ -94,4 +92,8 @@ module Cb
94
92
  def self.anon_saved_search_api
95
93
  Cb::AnonSavedSearchApi
96
94
  end
97
- end
95
+
96
+ def self.spot
97
+ Cb::ApiClients::Spot
98
+ end
99
+ end
@@ -17,11 +17,11 @@ module Cb
17
17
  json_hash = my_api.cb_get(Cb.configuration.uri_application, :query => {:JobDID => did})
18
18
 
19
19
  if json_hash.has_key?('ResponseBlankApplication')
20
- if json_hash['ResponseBlankApplication'].has_key?('BlankApplication')
21
- app = Cb::CbApplicationSchema.new(json_hash['ResponseBlankApplication']['BlankApplication'])
22
- end
20
+ if json_hash['ResponseBlankApplication'].has_key?('BlankApplication')
21
+ app = Cb::CbApplicationSchema.new(json_hash['ResponseBlankApplication']['BlankApplication'])
22
+ end
23
23
 
24
- my_api.append_api_responses(app, json_hash['ResponseBlankApplication'])
24
+ my_api.append_api_responses(app, json_hash['ResponseBlankApplication'])
25
25
  end
26
26
 
27
27
  my_api.append_api_responses(app, json_hash)
@@ -24,6 +24,7 @@ module Cb
24
24
  end
25
25
  end
26
26
  my_api.append_api_responses(jobs, json_hash['ResponseJobSearch'])
27
+ my_api.append_api_responses(jobs, json_hash['ResponseJobSearch']['SearchMetaData']['SearchLocations']['SearchLocation'])
27
28
  end
28
29
 
29
30
  my_api.append_api_responses(jobs, json_hash)
@@ -0,0 +1,25 @@
1
+ require 'json'
2
+
3
+ module Cb::ApiClients
4
+ class Spot
5
+ class << self
6
+
7
+ def retrieve(criteria)
8
+ response = retrieve_api_response criteria
9
+ Cb::Responses::Spot::Retrieve.extract_models response
10
+ end
11
+
12
+ private
13
+
14
+ def retrieve_api_response(criteria)
15
+ params = api_client.class.criteria_to_hash criteria
16
+ api_client.cb_get(Cb.configuration.uri_spot_retrieve, :query => params)
17
+ end
18
+
19
+ def api_client
20
+ @api ||= Cb::Utils::Api.new
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -18,7 +18,8 @@ module Cb
18
18
  :uri_saved_job_search_create,
19
19
  :uri_job_branding, :uri_tn_join_questions, :uri_tn_job_info, :uri_tn_join_form_geo,
20
20
  :uri_tn_join_form_branding, :uri_tn_member_create,
21
- :uri_subscription_retrieve, :uri_subscription_modify
21
+ :uri_subscription_retrieve, :uri_subscription_modify,
22
+ :uri_spot_retrieve
22
23
 
23
24
  def initialize
24
25
  Cb::Utils::Country.inject_convenience_methods
@@ -63,6 +64,7 @@ module Cb
63
64
  @uri_subscription_retrieve ||= '/v1/user/subscription/retrieve'
64
65
  @uri_subscription_modify ||= '/v1/user/subscription'
65
66
  @uri_saved_job_search_create ||= '/v2/savedsearch/create'
67
+ @uri_spot_retrieve ||= '/v2/spot/load'
66
68
  end
67
69
 
68
70
  def to_hash
@@ -101,11 +103,12 @@ module Cb
101
103
  :uri_tn_join_questions => @uri_tn_join_questions,
102
104
  :uri_subscription_retrieve => @uri_subscription_retrieve,
103
105
  :uri_subscription_modify => @uri_subscription_modify,
104
- :uri_saved_job_search_create => @uri_saved_job_search_create
106
+ :uri_saved_job_search_create => @uri_saved_job_search_create,
107
+ :uri_spot_retrieve => @uri_spot_retrieve
105
108
  }
106
109
  end
107
110
 
108
- private
111
+ protected
109
112
  #################################################################
110
113
 
111
114
  def set_defaults
@@ -0,0 +1,12 @@
1
+ module Cb::Criteria
2
+ class SpotRetrieve
3
+ extend Cb::Utils::FluidAttributes
4
+
5
+ fluid_attr_accessor :contenttype, :language, :sortfield, :sortdirection, :maxitems
6
+ (1..8).each { |num| fluid_attr_accessor "field#{num.to_s}".to_sym }
7
+
8
+ def retrieve
9
+ Cb::ApiClients::Spot.retrieve self
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,4 @@
1
+ module Cb
2
+ class IncomingParamIsWrongTypeException < StandardError; end
3
+ class ExpectedResponseFieldMissing < StandardError; end
4
+ end
@@ -0,0 +1,34 @@
1
+ module Cb
2
+ module Models
3
+ class ApiResponseModel
4
+
5
+ attr_accessor :api_response
6
+
7
+ def initialize(response={})
8
+ @api_response = response
9
+ validate_api_response
10
+ set_model_properties
11
+ end
12
+
13
+ protected
14
+
15
+ def required_fields
16
+ # return an array of hash keys to check for in your api hash
17
+ raise NotImplementedError.new(__method__)
18
+ end
19
+
20
+ def set_model_properties
21
+ # do whatever work you need to do to set up the attributes on your model
22
+ raise NotImplementedError.new(__method__)
23
+ end
24
+
25
+ private
26
+
27
+ def validate_api_response
28
+ missing_fields = required_fields.map { |field| field unless @api_response.has_key?(field) }.compact
29
+ raise ExpectedResponseFieldMissing.new(missing_fields.join(' ')) unless missing_fields.empty?
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,32 @@
1
+ module Cb::Models
2
+ class Spot < ApiResponseModel
3
+
4
+ attr_accessor :content_type, :start_date, :end_date, :sequence, :language, :experiment_weight_custom_column,
5
+ :field_1, :field_2, :field_3, :field_4, :field_5, :field_6, :field_7, :field_8,
6
+ :text_1, :text_2, :text_3, :text_4
7
+
8
+ def initialize(response={})
9
+ super(response)
10
+ end
11
+
12
+ private
13
+
14
+ def required_fields
15
+ %w(ContentType StartDate EndDate Sequence Language)
16
+ end
17
+
18
+ def set_model_properties
19
+ @content_type = api_response['ContentType'] || String.new
20
+ @start_date = api_response['StartDate'] || String.new
21
+ @end_date = api_response['EndDate'] || String.new
22
+ @sequence = api_response['Sequence'] || String.new
23
+ @language = api_response['Language'] || String.new
24
+ @experiment_weight_custom_value = api_response['ExperimentWeightCustomValue'] || String.new
25
+
26
+ # meta programming the @field_# and @text_# variables => ruby swag
27
+ (1..8).each { |num| instance_variable_set("@field_#{num.to_s}", api_response["Field#{num.to_s}"] || String.new) }
28
+ (1..4).each { |num| instance_variable_set("@text_#{num.to_s}", api_response["Text#{num.to_s}"] || String.new) }
29
+ end
30
+
31
+ end
32
+ end
@@ -0,0 +1,34 @@
1
+ module Cb
2
+ module Responses
3
+ class RawApiResponse
4
+
5
+ attr_accessor :raw_api_hash
6
+
7
+ def initialize(raw_api_response={})
8
+ @raw_api_hash = raw_api_response
9
+ validate_raw_api_response
10
+ end
11
+
12
+ def validate_raw_api_response
13
+ # call #required_response_field in here for each node that you know you'll need - stuff like the root node
14
+ # or the node that contains the data from which your model is built.
15
+ raise NotImplementedError.new(__method__)
16
+ end
17
+
18
+ def extract_models
19
+ # your api hash is considered valid at this point - grab the data you need and turn it into model(s)
20
+ raise NotImplementedError.new(__method__)
21
+ end
22
+
23
+ protected
24
+
25
+ def required_response_field(field_name, parent_hash)
26
+ [field_name, parent_hash].each do |arg|
27
+ raise ArgumentError.new("No nils! field_name nil?: #{field_name.nil?} parent_hash nil?: #{parent_hash.nil?}") if arg.nil?
28
+ end
29
+ raise ExpectedResponseFieldMissing.new(field_name) unless parent_hash.has_key? field_name
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,28 @@
1
+ module Cb::Responses::Spot
2
+ class Retrieve < Cb::Responses::RawApiResponse
3
+
4
+ ROOT_NODE = 'ResponseRetrieve'
5
+ SPOT_COLLECTION = 'SpotData'
6
+
7
+ class << self
8
+ def extract_models(raw_api_response)
9
+ new(raw_api_response).extract_models
10
+ end
11
+ end
12
+
13
+ def initialize(raw_api_response={})
14
+ super(raw_api_response)
15
+ end
16
+
17
+ def validate_raw_api_response
18
+ required_response_field ROOT_NODE, raw_api_hash
19
+ required_response_field SPOT_COLLECTION, raw_api_hash[ROOT_NODE]
20
+ end
21
+
22
+ def extract_models
23
+ spot_models = raw_api_hash[ROOT_NODE][SPOT_COLLECTION].map { |spot_data| Cb::Models::Spot.new(spot_data) }
24
+ Cb::Utils::Api.new.append_api_responses(spot_models, raw_api_hash[ROOT_NODE])
25
+ end
26
+
27
+ end
28
+ end
@@ -51,7 +51,6 @@ module Cb
51
51
 
52
52
  resp.each do | api_key, api_value |
53
53
  meta_name = get_meta_name_for api_key
54
-
55
54
  unless meta_name.empty?
56
55
  if meta_name == 'errors' && api_value.is_a?(Hash)
57
56
  api_value = api_value.values
@@ -73,6 +72,7 @@ module Cb
73
72
 
74
73
  obj.class.send(:attr_reader, 'cb_response')
75
74
  obj.instance_variable_set(:@cb_response, meta_class)
75
+ obj
76
76
  end
77
77
 
78
78
  def self.criteria_to_hash(criteria)
@@ -109,23 +109,9 @@ module Cb
109
109
 
110
110
  def get_meta_name_for(api_key)
111
111
  key_map = {
112
- 'Errors' => 'errors',
113
- 'Error' => 'error',
114
- 'TimeResponseSent' => 'time_sent',
115
- 'TimeElapsed' => 'time_elapsed',
116
- 'TotalPages' => 'total_pages',
117
- 'TotalCount' => 'total_count',
118
- 'FirstItemIndex' => 'first_item_index',
119
- 'LastItemIndex' => 'last_item_index',
120
- 'CountryCode' => 'country_code',
121
- 'DeveloperKey' => 'developer_key',
122
- 'SiteID' => 'site_id',
123
- 'CoBrand' => 'co_brand',
124
- 'CountLimit' => 'count_limit',
125
- 'MinQualityLimit' => 'min_quality',
126
- 'RecommendationsAvailable' => 'recs_available',
127
- 'ApplicationStatus' => 'application_status',
128
- 'Status' => 'status'
112
+ 'MinQualityLimit' => 'min_quality',
113
+ 'RecommendationsAvailable' => 'recs_available',
114
+ api_key => api_key.snakecase
129
115
  }
130
116
 
131
117
  key_map["#{api_key}"] ||= ''
@@ -19,10 +19,10 @@ module Cb
19
19
  define_method :"#{name}=" do |*args|
20
20
  instance_variable_set(:"@#{name}", args[0]) if args.length == 1
21
21
  return self
22
- raise ArgumentError, "Wrong number of arguments (#{args.length} for 1)"
23
22
  end
24
23
  end
25
24
  end
25
+
26
26
  end
27
27
  end
28
- end
28
+ end
@@ -1,3 +1,3 @@
1
1
  module Cb
2
- VERSION = '0.4.0'
2
+ VERSION = '0.4.6'
3
3
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cb-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.6
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Jesse Retchko
@@ -18,11 +19,12 @@ authors:
18
19
  autorequire:
19
20
  bindir: bin
20
21
  cert_chain: []
21
- date: 2013-10-03 00:00:00.000000000 Z
22
+ date: 2013-10-20 00:00:00.000000000 Z
22
23
  dependencies:
23
24
  - !ruby/object:Gem::Dependency
24
25
  name: httparty
25
26
  requirement: !ruby/object:Gem::Requirement
27
+ none: false
26
28
  requirements:
27
29
  - - ~>
28
30
  - !ruby/object:Gem::Version
@@ -30,6 +32,7 @@ dependencies:
30
32
  type: :runtime
31
33
  prerelease: false
32
34
  version_requirements: !ruby/object:Gem::Requirement
35
+ none: false
33
36
  requirements:
34
37
  - - ~>
35
38
  - !ruby/object:Gem::Version
@@ -37,20 +40,23 @@ dependencies:
37
40
  - !ruby/object:Gem::Dependency
38
41
  name: json
39
42
  requirement: !ruby/object:Gem::Requirement
43
+ none: false
40
44
  requirements:
41
45
  - - ~>
42
46
  - !ruby/object:Gem::Version
43
- version: 1.7.6
47
+ version: 1.7.7
44
48
  type: :runtime
45
49
  prerelease: false
46
50
  version_requirements: !ruby/object:Gem::Requirement
51
+ none: false
47
52
  requirements:
48
53
  - - ~>
49
54
  - !ruby/object:Gem::Version
50
- version: 1.7.6
55
+ version: 1.7.7
51
56
  - !ruby/object:Gem::Dependency
52
57
  name: nori
53
58
  requirement: !ruby/object:Gem::Requirement
59
+ none: false
54
60
  requirements:
55
61
  - - ~>
56
62
  - !ruby/object:Gem::Version
@@ -58,6 +64,7 @@ dependencies:
58
64
  type: :runtime
59
65
  prerelease: false
60
66
  version_requirements: !ruby/object:Gem::Requirement
67
+ none: false
61
68
  requirements:
62
69
  - - ~>
63
70
  - !ruby/object:Gem::Version
@@ -65,6 +72,7 @@ dependencies:
65
72
  - !ruby/object:Gem::Dependency
66
73
  name: nokogiri
67
74
  requirement: !ruby/object:Gem::Requirement
75
+ none: false
68
76
  requirements:
69
77
  - - ~>
70
78
  - !ruby/object:Gem::Version
@@ -72,10 +80,123 @@ dependencies:
72
80
  type: :runtime
73
81
  prerelease: false
74
82
  version_requirements: !ruby/object:Gem::Requirement
83
+ none: false
75
84
  requirements:
76
85
  - - ~>
77
86
  - !ruby/object:Gem::Version
78
87
  version: 1.6.0
88
+ - !ruby/object:Gem::Dependency
89
+ name: activesupport
90
+ requirement: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 4.0.0
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 4.0.0
104
+ - !ruby/object:Gem::Dependency
105
+ name: vcr
106
+ requirement: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ version: 2.6.0
112
+ type: :runtime
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ~>
118
+ - !ruby/object:Gem::Version
119
+ version: 2.6.0
120
+ - !ruby/object:Gem::Dependency
121
+ name: webmock
122
+ requirement: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ~>
126
+ - !ruby/object:Gem::Version
127
+ version: 1.9.0
128
+ type: :runtime
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ~>
134
+ - !ruby/object:Gem::Version
135
+ version: 1.9.0
136
+ - !ruby/object:Gem::Dependency
137
+ name: simplecov
138
+ requirement: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: 0.7.1
144
+ type: :runtime
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ! '>='
150
+ - !ruby/object:Gem::Version
151
+ version: 0.7.1
152
+ - !ruby/object:Gem::Dependency
153
+ name: rake
154
+ requirement: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: 0.8.7
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ! '>='
166
+ - !ruby/object:Gem::Version
167
+ version: 0.8.7
168
+ - !ruby/object:Gem::Dependency
169
+ name: rspec
170
+ requirement: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '2.11'
176
+ type: :runtime
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
183
+ version: '2.11'
184
+ - !ruby/object:Gem::Dependency
185
+ name: dotenv
186
+ requirement: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ~>
190
+ - !ruby/object:Gem::Version
191
+ version: 0.9.0
192
+ type: :runtime
193
+ prerelease: false
194
+ version_requirements: !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ~>
198
+ - !ruby/object:Gem::Version
199
+ version: 0.9.0
79
200
  description: Ruby wrapper for Careerbuilder Public API.
80
201
  email:
81
202
  - Jesse.Retchko@Careerbuilder.com
@@ -106,38 +227,45 @@ files:
106
227
  - lib/cb/clients/recommendation_api.rb
107
228
  - lib/cb/clients/resume_api.rb
108
229
  - lib/cb/clients/saved_search_api.rb
230
+ - lib/cb/clients/spot_api.rb
109
231
  - lib/cb/clients/talent_network_api.rb
110
232
  - lib/cb/clients/user_api.rb
111
233
  - lib/cb/config.rb
112
234
  - lib/cb/criteria/job_details_criteria.rb
113
235
  - lib/cb/criteria/job_search_criteria.rb
114
- - lib/cb/models/branding/media.rb
115
- - lib/cb/models/branding/section.rb
116
- - lib/cb/models/branding/style.rb
117
- - lib/cb/models/branding/styles/base.rb
118
- - lib/cb/models/branding/styles/buttons.rb
119
- - lib/cb/models/branding/styles/company_info.rb
120
- - lib/cb/models/branding/styles/container.rb
121
- - lib/cb/models/branding/styles/content.rb
122
- - lib/cb/models/branding/styles/css_adapter.rb
123
- - lib/cb/models/branding/styles/headings.rb
124
- - lib/cb/models/branding/styles/job_details.rb
125
- - lib/cb/models/branding/styles/page.rb
126
- - lib/cb/models/branding/widget.rb
127
- - lib/cb/models/cb_application.rb
128
- - lib/cb/models/cb_application_external.rb
129
- - lib/cb/models/cb_application_schema.rb
130
- - lib/cb/models/cb_category.rb
131
- - lib/cb/models/cb_company.rb
132
- - lib/cb/models/cb_education.rb
133
- - lib/cb/models/cb_email_subscription.rb
134
- - lib/cb/models/cb_employee_type.rb
135
- - lib/cb/models/cb_job.rb
136
- - lib/cb/models/cb_job_branding.rb
137
- - lib/cb/models/cb_resume.rb
138
- - lib/cb/models/cb_saved_search.rb
139
- - lib/cb/models/cb_talent_network.rb
140
- - lib/cb/models/cb_user.rb
236
+ - lib/cb/criteria/spot_retrieve_criteria.rb
237
+ - lib/cb/exceptions.rb
238
+ - lib/cb/models/api_response_model.rb
239
+ - lib/cb/models/implementations/branding/media.rb
240
+ - lib/cb/models/implementations/branding/section.rb
241
+ - lib/cb/models/implementations/branding/style.rb
242
+ - lib/cb/models/implementations/branding/styles/base.rb
243
+ - lib/cb/models/implementations/branding/styles/buttons.rb
244
+ - lib/cb/models/implementations/branding/styles/company_info.rb
245
+ - lib/cb/models/implementations/branding/styles/container.rb
246
+ - lib/cb/models/implementations/branding/styles/content.rb
247
+ - lib/cb/models/implementations/branding/styles/css_adapter.rb
248
+ - lib/cb/models/implementations/branding/styles/headings.rb
249
+ - lib/cb/models/implementations/branding/styles/job_details.rb
250
+ - lib/cb/models/implementations/branding/styles/page.rb
251
+ - lib/cb/models/implementations/branding/widget.rb
252
+ - lib/cb/models/implementations/cb_application.rb
253
+ - lib/cb/models/implementations/cb_application_external.rb
254
+ - lib/cb/models/implementations/cb_application_schema.rb
255
+ - lib/cb/models/implementations/cb_category.rb
256
+ - lib/cb/models/implementations/cb_company.rb
257
+ - lib/cb/models/implementations/cb_education.rb
258
+ - lib/cb/models/implementations/cb_email_subscription.rb
259
+ - lib/cb/models/implementations/cb_employee_type.rb
260
+ - lib/cb/models/implementations/cb_job.rb
261
+ - lib/cb/models/implementations/cb_job_branding.rb
262
+ - lib/cb/models/implementations/cb_resume.rb
263
+ - lib/cb/models/implementations/cb_saved_search.rb
264
+ - lib/cb/models/implementations/cb_spot.rb
265
+ - lib/cb/models/implementations/cb_talent_network.rb
266
+ - lib/cb/models/implementations/cb_user.rb
267
+ - lib/cb/responses/raw_api_response.rb
268
+ - lib/cb/responses/spot/retrieve_response.rb
141
269
  - lib/cb/utils/api.rb
142
270
  - lib/cb/utils/country.rb
143
271
  - lib/cb/utils/fluid_attributes.rb
@@ -149,26 +277,28 @@ files:
149
277
  - lib/cb.rb
150
278
  - README.md
151
279
  homepage: http://api.careerbuilder.com
152
- licenses: []
153
- metadata: {}
280
+ licenses:
281
+ - MIT
154
282
  post_install_message:
155
283
  rdoc_options: []
156
284
  require_paths:
157
285
  - lib
158
286
  required_ruby_version: !ruby/object:Gem::Requirement
287
+ none: false
159
288
  requirements:
160
- - - '>='
289
+ - - ! '>='
161
290
  - !ruby/object:Gem::Version
162
291
  version: '0'
163
292
  required_rubygems_version: !ruby/object:Gem::Requirement
293
+ none: false
164
294
  requirements:
165
- - - '>='
295
+ - - ! '>='
166
296
  - !ruby/object:Gem::Version
167
297
  version: '0'
168
298
  requirements: []
169
299
  rubyforge_project:
170
- rubygems_version: 2.0.3
300
+ rubygems_version: 1.8.25
171
301
  signing_key:
172
- specification_version: 4
302
+ specification_version: 3
173
303
  summary: Ruby wrapper around Careerbuilder Public API.
174
304
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 12a868480664d09635e4c498df02f757f2bffd69
4
- data.tar.gz: a01294cdb386a46dd5f263caa003b4fd61c2afb4
5
- SHA512:
6
- metadata.gz: 45c1a4ba86ba4f9326af0dce83a4917721280d6bafd8b26178b3b65cf2a0d3180abc560c04f78da989d5788f9b22d3c01b1f6f93e7963b45157bd5d8e670b4f3
7
- data.tar.gz: edfd55c81b38add802881f5da4afd553d4367078e2fce58cbb671923bd52e52730fe32a8df20422341a57a4a7c6ec6a4237ce5e09847f798a9b13e6474d348e4