CareerBuilder

Ruby wrapper for the CareerBuilder V2 HTTP XML API. While the CareerBuilder::Client mimics the interface of the HTTP API, it also provides some convenience methods to make your life easier.

NOTE currently only the resume portion of the API is implemented, others are a work in progress.

Installation

gem install career_builder

Usage

require 'career_builder'

Authenticate

client = CareerBuilder.new('your_email', 'your_password')
session_token = client.authenticate

Resume API

http://ws.careerbuilder.com/resumes/resumes.asmx

 resumes = client.advanced_resume_search(:keywords => "Ruby",
                                         :zip_code => "45140",
                                         :search_radius_in_miles => 50)

get_resume

 partial_resume = resumes.first
 resume = client.get_resume(:resume_id => partial_resume.id)

resume_actions_remaining_today

This method requires your AccountDID, I could not find an official way to find this identifier, but I followed these steps:

  1. Sign into CareerBuilder with your email / password credentials
  2. Click My CareerBuilder -> My Account Info
  3. Copy the AccountDID URL parameter from your address bar

    client.resume_actions_remaining_today(:account_did => "D7C10Q67ZKG123VCRMC") # => 42

Resume Convenience Methods / Classes

fetch a lazy collection of resumes, nothing actually happens until you iterate.

resumes = client.resumes(:keywords => "Ruby",
                         :zip_code => "45140",
                         :search_radius_in_miles => 50)

iterate through the resumes, automatically paging through the result set.

resumes.each do |resume|
  puts resume.id
end

resumes that are fetched from a Resume::LazyCollection are also lazy in the sense that they do not attempt to use the Client#get_resume method until you access one of the attributes that requires using an API credit.

resume = resumes.first

Client#get_resume is not called when retrieving the id

resume.id # => "42XXASDFJKLQWERTY"

Client#get_resume(:resume_id => "42XXASDFJKLQWERTY") is called behind the scenes in order to fetch the real email address associated with the resume.

resume.real_contact_email # => "[email protected]"

TODO

  • More / better specs
  • Implement Application Web Service
  • Implement Job Web Service
  • Implement Accounts Web Service
  • Implement Document Matching Web Service

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

Copyright (c) 2010 Michael Guterl. See LICENSE for details.