First things first. You're going to need to get a developer key from Careerbuilder. You can obtain a key at http://api.careerbuilder.com/RequestDevKey.aspx.
Now that you have a key, lets get to the good stuff.
You can find an example rails site that uses the gem here: https://github.com/cbdr/ruby-cb-api-demo
Installation
Install required gems:
gem install iconv
gem install cb-api
Require the library in your Ruby script:
require 'cb'
Configuration
Set your dev key, and any other configuration settings in a place that will run prior to your API calls.
Cb.configure do |config|
config.dev_key = 'your-dev-key-goes-here'
config.time_out = 5
end
Available Endpoints
https://github.com/cbdr/ruby-cb-api/blob/master/lib/cb/config.rb
Job Search
There's a couple ways to go about conducting a job search.
Option 1:
search = Cb.job_search_criteria.location('Atlanta, GA').radius(10).search()
Option 2:
crit = Cb.job_search_criteria
crit.location = 'Atlanta, GA'
crit.radius = 10
search = crit.search()
Either way, you will get back an array of CbJob.
search.each do |job|
puts job.title
puts job.company_name
puts job.instance_variables
end
You will also get meta data regarding the search itself (helpful for pagination).
puts search.cb_response.total_pages
puts search.cb_response.total_count
puts search.cb_response.errors # Hopefully this is nil! If it's not nil, it will be an array of error messages.
Coming Soon
The way that requests are handled is being completely redone. You will now only need to instantiate a single client class and pass it a request object.
You may now pass a block that will be executed before and after each API call. This will provide the same information that the Observer methods do.
client = Cb::Client.new { || storage_device.add() }
Or just call it without the block if you don't care about an individual call's observer info
client = Cb::Client.new
Pass it a request object, and you will receive the appropriate response object back
request = Cb::Requests::Endpoint::CallName.new( { key1: 'value1', key2: 'value2' } )
response = client.execute request
Currently, this workflow only works on the following endpoints:
- Anonymous Saved Search
- Application
- Application External
- Category
- Education
- Company
- User
Look here for future updates on this refactor!