career_builder 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,10 +1,11 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gem "activesupport"
4
+ gem "i18n"
4
5
  gem "nokogiri"
5
6
  gem "nokogiri-happymapper"
6
7
 
7
8
  group :test do
8
- gem "rspec"
9
+ gem "rspec", "~> 1.3"
9
10
  gem "webmock"
10
11
  end
data/Gemfile.lock ADDED
@@ -0,0 +1,25 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activesupport (3.0.3)
5
+ addressable (2.2.2)
6
+ crack (0.1.8)
7
+ i18n (0.5.0)
8
+ nokogiri (1.4.4)
9
+ nokogiri-happymapper (0.3.6)
10
+ nokogiri (~> 1.4.2)
11
+ rspec (1.3.0)
12
+ webmock (1.6.1)
13
+ addressable (>= 2.2.2)
14
+ crack (>= 0.1.7)
15
+
16
+ PLATFORMS
17
+ ruby
18
+
19
+ DEPENDENCIES
20
+ activesupport
21
+ i18n
22
+ nokogiri
23
+ nokogiri-happymapper
24
+ rspec (~> 1.3)
25
+ webmock
data/Rakefile CHANGED
@@ -33,8 +33,6 @@ Spec::Rake::SpecTask.new(:rcov) do |spec|
33
33
  spec.rcov = true
34
34
  end
35
35
 
36
- task :spec => :check_dependencies
37
-
38
36
  task :default => :spec
39
37
 
40
38
  require 'rake/rdoctask'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -1,73 +1,72 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{career_builder}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Guterl"]
12
- s.date = %q{2010-06-28}
12
+ s.date = %q{2011-01-06}
13
13
  s.description = %q{Ruby wrapper for the CareerBuilder V2 HTTP XML API}
14
14
  s.email = %q{mguterl@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.md"
17
+ "README.md"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "Gemfile",
23
- "LICENSE",
24
- "README.md",
25
- "Rakefile",
26
- "VERSION",
27
- "career_builder.gemspec",
28
- "lib/career_builder.rb",
29
- "lib/career_builder/api/company.rb",
30
- "lib/career_builder/api/interest.rb",
31
- "lib/career_builder/api/job_type.rb",
32
- "lib/career_builder/api/language.rb",
33
- "lib/career_builder/api/location.rb",
34
- "lib/career_builder/api/pay.rb",
35
- "lib/career_builder/api/resume.rb",
36
- "lib/career_builder/api/resume_search.rb",
37
- "lib/career_builder/api/resume_search_result.rb",
38
- "lib/career_builder/api/school.rb",
39
- "lib/career_builder/api/shift_preference.rb",
40
- "lib/career_builder/api/word_document.rb",
41
- "lib/career_builder/client.rb",
42
- "lib/career_builder/errors.rb",
43
- "lib/career_builder/request.rb",
44
- "lib/career_builder/request/authenticated.rb",
45
- "lib/career_builder/requests/advanced_resume_search.rb",
46
- "lib/career_builder/requests/authentication.rb",
47
- "lib/career_builder/requests/get_resume.rb",
48
- "lib/career_builder/requests/resume_actions_remaining_today.rb",
49
- "lib/career_builder/resume.rb",
50
- "lib/career_builder/resume/lazy_collection.rb",
51
- "spec/career_builder/client_spec.rb",
52
- "spec/career_builder/resume/lazy_collection_spec.rb",
53
- "spec/career_builder/resume_spec.rb",
54
- "spec/career_builder_spec.rb",
55
- "spec/spec.opts",
56
- "spec/spec_helper.rb",
57
- "spec/support/webmock.rb"
21
+ "Gemfile",
22
+ "Gemfile.lock",
23
+ "LICENSE",
24
+ "README.md",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "career_builder.gemspec",
28
+ "lib/career_builder.rb",
29
+ "lib/career_builder/api/company.rb",
30
+ "lib/career_builder/api/interest.rb",
31
+ "lib/career_builder/api/job_type.rb",
32
+ "lib/career_builder/api/language.rb",
33
+ "lib/career_builder/api/location.rb",
34
+ "lib/career_builder/api/pay.rb",
35
+ "lib/career_builder/api/resume.rb",
36
+ "lib/career_builder/api/resume_search.rb",
37
+ "lib/career_builder/api/resume_search_result.rb",
38
+ "lib/career_builder/api/school.rb",
39
+ "lib/career_builder/api/shift_preference.rb",
40
+ "lib/career_builder/api/word_document.rb",
41
+ "lib/career_builder/client.rb",
42
+ "lib/career_builder/errors.rb",
43
+ "lib/career_builder/request.rb",
44
+ "lib/career_builder/request/authenticated.rb",
45
+ "lib/career_builder/requests/advanced_resume_search.rb",
46
+ "lib/career_builder/requests/authentication.rb",
47
+ "lib/career_builder/requests/get_resume.rb",
48
+ "lib/career_builder/requests/resume_actions_remaining_today.rb",
49
+ "lib/career_builder/resume.rb",
50
+ "lib/career_builder/resume/lazy_collection.rb",
51
+ "spec/career_builder/client_spec.rb",
52
+ "spec/career_builder/resume/lazy_collection_spec.rb",
53
+ "spec/career_builder/resume_spec.rb",
54
+ "spec/career_builder_spec.rb",
55
+ "spec/spec.opts",
56
+ "spec/spec_helper.rb",
57
+ "spec/support/webmock.rb"
58
58
  ]
59
59
  s.homepage = %q{http://github.com/mguterl/career_builder}
60
- s.rdoc_options = ["--charset=UTF-8"]
61
60
  s.require_paths = ["lib"]
62
61
  s.rubygems_version = %q{1.3.7}
63
62
  s.summary = %q{Ruby wrapper for the CareerBuilder V2 API}
64
63
  s.test_files = [
65
64
  "spec/career_builder/client_spec.rb",
66
- "spec/career_builder/resume/lazy_collection_spec.rb",
67
- "spec/career_builder/resume_spec.rb",
68
- "spec/career_builder_spec.rb",
69
- "spec/spec_helper.rb",
70
- "spec/support/webmock.rb"
65
+ "spec/career_builder/resume/lazy_collection_spec.rb",
66
+ "spec/career_builder/resume_spec.rb",
67
+ "spec/career_builder_spec.rb",
68
+ "spec/spec_helper.rb",
69
+ "spec/support/webmock.rb"
71
70
  ]
72
71
 
73
72
  if s.respond_to? :specification_version then
@@ -75,17 +74,29 @@ Gem::Specification.new do |s|
75
74
  s.specification_version = 3
76
75
 
77
76
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
77
+ s.add_runtime_dependency(%q<activesupport>, [">= 0"])
78
+ s.add_runtime_dependency(%q<i18n>, [">= 0"])
79
+ s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
80
+ s.add_runtime_dependency(%q<nokogiri-happymapper>, [">= 0"])
78
81
  s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
79
82
  s.add_development_dependency(%q<webmock>, [">= 0"])
80
83
  s.add_runtime_dependency(%q<nokogiri-happymapper>, [">= 0"])
81
84
  s.add_runtime_dependency(%q<activesupport>, ["~> 2.3.5"])
82
85
  else
86
+ s.add_dependency(%q<activesupport>, [">= 0"])
87
+ s.add_dependency(%q<i18n>, [">= 0"])
88
+ s.add_dependency(%q<nokogiri>, [">= 0"])
89
+ s.add_dependency(%q<nokogiri-happymapper>, [">= 0"])
83
90
  s.add_dependency(%q<rspec>, [">= 1.3.0"])
84
91
  s.add_dependency(%q<webmock>, [">= 0"])
85
92
  s.add_dependency(%q<nokogiri-happymapper>, [">= 0"])
86
93
  s.add_dependency(%q<activesupport>, ["~> 2.3.5"])
87
94
  end
88
95
  else
96
+ s.add_dependency(%q<activesupport>, [">= 0"])
97
+ s.add_dependency(%q<i18n>, [">= 0"])
98
+ s.add_dependency(%q<nokogiri>, [">= 0"])
99
+ s.add_dependency(%q<nokogiri-happymapper>, [">= 0"])
89
100
  s.add_dependency(%q<rspec>, [">= 1.3.0"])
90
101
  s.add_dependency(%q<webmock>, [">= 0"])
91
102
  s.add_dependency(%q<nokogiri-happymapper>, [">= 0"])
@@ -8,10 +8,10 @@ require 'happymapper'
8
8
  require 'active_support/inflector'
9
9
 
10
10
  if RUBY_VERSION < '1.9'
11
- class BasicObject
12
- instance_methods.each do |m|
13
- undef_method(m) if m.to_s !~ /(?:^__|^nil\?$|^send$|^object_id$)/
14
- end
11
+ class BasicObject
12
+ instance_methods.each do |m|
13
+ undef_method(m) if m.to_s !~ /(?:^__|^nil\?$|^send$|^object_id$)/
14
+ end
15
15
  end
16
16
  end
17
17
 
@@ -9,6 +9,22 @@ module CareerBuilder
9
9
 
10
10
  include HappyMapper
11
11
 
12
+ module RawResponse
13
+ XML_START = %Q{<?xml version="1.0" encoding="utf-8"?>\n<string xmlns="http://ws.careerbuilder.com/resumes/">}
14
+ XML_END = %Q{</string>}
15
+
16
+ def raw_response
17
+ XML_START + @raw_response + XML_END
18
+ end
19
+ end
20
+
21
+ def self.parse(xml, options = {})
22
+ resume = super
23
+ resume.instance_variable_set(:"@raw_response", xml)
24
+ resume.extend RawResponse
25
+ resume
26
+ end
27
+
12
28
  tag 'Packet'
13
29
 
14
30
  # element :home_location, String, :tag => "HomeLocation"
@@ -234,11 +234,20 @@ describe CareerBuilder::Client do
234
234
 
235
235
  context "with valid options" do
236
236
 
237
+ RAW_RESUME_RESPONSE = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://ws.careerbuilder.com/resumes/\">&lt;Packet&gt;&lt;TimeStamp&gt;6/25/2010 3:19:20 PM&lt;/TimeStamp&gt;&lt;ResumeID&gt;RH52G867678F7GH02Q3&lt;/ResumeID&gt;&lt;ResumeTitle&gt;Warehouse Distribution Specialist&lt;/ResumeTitle&gt;&lt;ContactName&gt;Jeffrey Davis&lt;/ContactName&gt;&lt;ContactEmail&gt;Jeffd1969@aol.com&lt;/ContactEmail&gt;&lt;ContactPhone&gt;513-625-7228&lt;/ContactPhone&gt;&lt;HomeLocation&gt;&lt;City&gt;Goshen&lt;/City&gt;&lt;State&gt;OH&lt;/State&gt;&lt;Country&gt;US&lt;/Country&gt;&lt;ZipCode&gt;45122&lt;/ZipCode&gt;&lt;WorkStatus&gt;Can work for any employer&lt;/WorkStatus&gt;&lt;/HomeLocation&gt;&lt;Relocations&gt;&lt;ExtLocation&gt;&lt;City&gt;Tokyo&lt;/City&gt;&lt;State/&gt;&lt;Country&gt;JP&lt;/Country&gt;&lt;ZipCode /&gt;&lt;WorkStatus&gt;Can work for any employer&lt;/WorkStatus&gt;&lt;/ExtLocation&gt;&lt;/Relocations&gt;&lt;MaxCommuteMiles&gt;10&lt;/MaxCommuteMiles&gt;&lt;TravelPreference&gt;Up to 25%&lt;/TravelPreference&gt;&lt;CurrentlyEmployed&gt;Yes&lt;/CurrentlyEmployed&gt;&lt;MostRecentPay&gt;&lt;Amount&gt;35776&lt;/Amount&gt;&lt;Per&gt;year&lt;/Per&gt;&lt;/MostRecentPay&gt;&lt;DesiredPay&gt;&lt;Amount&gt;45000&lt;/Amount&gt;&lt;Per&gt;year&lt;/Per&gt;&lt;/DesiredPay&gt;&lt;DesiredJobTypes&gt;&lt;string&gt;Full Time&lt;/string&gt;&lt;/DesiredJobTypes&gt;&lt;MostRecentTitle&gt;Warehouse Lead Supervisor&lt;/MostRecentTitle&gt;&lt;ExperienceMonths&gt;216&lt;/ExperienceMonths&gt;&lt;Management&gt;&lt;ManagedOthers&gt;No&lt;/ManagedOthers&gt;&lt;NumberManaged&gt;0&lt;/NumberManaged&gt;&lt;/Management&gt;&lt;JobsLastThreeYears&gt;0&lt;/JobsLastThreeYears&gt;&lt;LastJobTenureMonths&gt;0&lt;/LastJobTenureMonths&gt;&lt;SecurityClearance&gt;No&lt;/SecurityClearance&gt;&lt;FelonyConvictions&gt;No&lt;/FelonyConvictions&gt;&lt;HighestDegree&gt;None&lt;/HighestDegree&gt;&lt;Certifications /&gt;&lt;MotivationToChangeJobs /&gt;&lt;EmploymentType /&gt;&lt;LastUpdated&gt;5/23/2010 10:41:12 PM&lt;/LastUpdated&gt;&lt;Languages&gt;&lt;string&gt;English&lt;/string&gt;&lt;/Languages&gt;&lt;DesiredShiftPreferences&gt;&lt;string /&gt;&lt;/DesiredShiftPreferences&gt;&lt;Interests&gt;&lt;ExtInterest&gt;&lt;Interest&gt;Warehouse&lt;/Interest&gt;&lt;ExperienceMonths&gt;216&lt;/ExperienceMonths&gt;&lt;/ExtInterest&gt;&lt;/Interests&gt;&lt;ResumeText&gt;JEFFREY A. DAVIS&lt;/ResumeText&gt;&lt;MilitaryExperience&gt;Veteran&lt;/MilitaryExperience&gt;&lt;WorkHistory&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;OWENS &amp;amp; MINOR&lt;/CompanyName&gt;&lt;JobTitle&gt;Warehouse Lead Supervisor&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/2008 - Present&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;THE HOME DEPOT&lt;/CompanyName&gt;&lt;JobTitle&gt;- Sales Specialist&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/2005 - Present&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;RUBIES COSTUME CO&lt;/CompanyName&gt;&lt;JobTitle&gt;- Warehouse Assistant Manager&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/2004 - 01/01/2006&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;UNITED ELECTRIC POWER&lt;/CompanyName&gt;&lt;JobTitle&gt;Inventory Operations Manager&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/2000 - 01/01/2004&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;VEECO INSTRUMENTS, INC&lt;/CompanyName&gt;&lt;JobTitle&gt;Warehouse Supervisor&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/1996 - 01/01/2000&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;/WorkHistory&gt;&lt;EducationHistory&gt;&lt;ExtSchool&gt;&lt;SchoolName&gt;Eastern Oklahoma State College&lt;/SchoolName&gt;&lt;Major&gt;Business Management&lt;/Major&gt;&lt;Degree /&gt;&lt;GraduationDate&gt;11993&lt;/GraduationDate&gt;&lt;/ExtSchool&gt;&lt;ExtSchool&gt;&lt;SchoolName&gt;Suffolk County Community College&lt;/SchoolName&gt;&lt;Major&gt;Business Management&lt;/Major&gt;&lt;Degree /&gt;&lt;GraduationDate&gt;11997&lt;/GraduationDate&gt;&lt;/ExtSchool&gt;&lt;/EducationHistory&gt;&lt;Warning&gt;&lt;/Warning&gt;&lt;/Packet&gt;</string>".freeze
238
+
237
239
  before do
238
- stub_request(:post, "http://ws.careerbuilder.com/resumes/resumes.asmx/V2_GetResume").with(:body => 'Packet=%3cPacket%3e%3cSessionToken%3e42%3c%2fSessionToken%3e%3cResumeID%3eRH52G867678F7GH02Q3%3c%2fResumeID%3e%3c%2fPacket%3e').to_return(:body => "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://ws.careerbuilder.com/resumes/\">&lt;Packet&gt;&lt;TimeStamp&gt;6/25/2010 3:19:20 PM&lt;/TimeStamp&gt;&lt;ResumeID&gt;RH52G867678F7GH02Q3&lt;/ResumeID&gt;&lt;ResumeTitle&gt;Warehouse Distribution Specialist&lt;/ResumeTitle&gt;&lt;ContactName&gt;Jeffrey Davis&lt;/ContactName&gt;&lt;ContactEmail&gt;Jeffd1969@aol.com&lt;/ContactEmail&gt;&lt;ContactPhone&gt;513-625-7228&lt;/ContactPhone&gt;&lt;HomeLocation&gt;&lt;City&gt;Goshen&lt;/City&gt;&lt;State&gt;OH&lt;/State&gt;&lt;Country&gt;US&lt;/Country&gt;&lt;ZipCode&gt;45122&lt;/ZipCode&gt;&lt;WorkStatus&gt;Can work for any employer&lt;/WorkStatus&gt;&lt;/HomeLocation&gt;&lt;Relocations&gt;&lt;ExtLocation&gt;&lt;City&gt;Tokyo&lt;/City&gt;&lt;State/&gt;&lt;Country&gt;JP&lt;/Country&gt;&lt;ZipCode /&gt;&lt;WorkStatus&gt;Can work for any employer&lt;/WorkStatus&gt;&lt;/ExtLocation&gt;&lt;/Relocations&gt;&lt;MaxCommuteMiles&gt;10&lt;/MaxCommuteMiles&gt;&lt;TravelPreference&gt;Up to 25%&lt;/TravelPreference&gt;&lt;CurrentlyEmployed&gt;Yes&lt;/CurrentlyEmployed&gt;&lt;MostRecentPay&gt;&lt;Amount&gt;35776&lt;/Amount&gt;&lt;Per&gt;year&lt;/Per&gt;&lt;/MostRecentPay&gt;&lt;DesiredPay&gt;&lt;Amount&gt;45000&lt;/Amount&gt;&lt;Per&gt;year&lt;/Per&gt;&lt;/DesiredPay&gt;&lt;DesiredJobTypes&gt;&lt;string&gt;Full Time&lt;/string&gt;&lt;/DesiredJobTypes&gt;&lt;MostRecentTitle&gt;Warehouse Lead Supervisor&lt;/MostRecentTitle&gt;&lt;ExperienceMonths&gt;216&lt;/ExperienceMonths&gt;&lt;Management&gt;&lt;ManagedOthers&gt;No&lt;/ManagedOthers&gt;&lt;NumberManaged&gt;0&lt;/NumberManaged&gt;&lt;/Management&gt;&lt;JobsLastThreeYears&gt;0&lt;/JobsLastThreeYears&gt;&lt;LastJobTenureMonths&gt;0&lt;/LastJobTenureMonths&gt;&lt;SecurityClearance&gt;No&lt;/SecurityClearance&gt;&lt;FelonyConvictions&gt;No&lt;/FelonyConvictions&gt;&lt;HighestDegree&gt;None&lt;/HighestDegree&gt;&lt;Certifications /&gt;&lt;MotivationToChangeJobs /&gt;&lt;EmploymentType /&gt;&lt;LastUpdated&gt;5/23/2010 10:41:12 PM&lt;/LastUpdated&gt;&lt;Languages&gt;&lt;string&gt;English&lt;/string&gt;&lt;/Languages&gt;&lt;DesiredShiftPreferences&gt;&lt;string /&gt;&lt;/DesiredShiftPreferences&gt;&lt;Interests&gt;&lt;ExtInterest&gt;&lt;Interest&gt;Warehouse&lt;/Interest&gt;&lt;ExperienceMonths&gt;216&lt;/ExperienceMonths&gt;&lt;/ExtInterest&gt;&lt;/Interests&gt;&lt;ResumeText&gt;JEFFREY A. DAVIS&lt;/ResumeText&gt;&lt;MilitaryExperience&gt;Veteran&lt;/MilitaryExperience&gt;&lt;WorkHistory&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;OWENS &amp;amp; MINOR&lt;/CompanyName&gt;&lt;JobTitle&gt;Warehouse Lead Supervisor&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/2008 - Present&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;THE HOME DEPOT&lt;/CompanyName&gt;&lt;JobTitle&gt;- Sales Specialist&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/2005 - Present&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;RUBIES COSTUME CO&lt;/CompanyName&gt;&lt;JobTitle&gt;- Warehouse Assistant Manager&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/2004 - 01/01/2006&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;UNITED ELECTRIC POWER&lt;/CompanyName&gt;&lt;JobTitle&gt;Inventory Operations Manager&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/2000 - 01/01/2004&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;ExtCompany&gt;&lt;CompanyName&gt;VEECO INSTRUMENTS, INC&lt;/CompanyName&gt;&lt;JobTitle&gt;Warehouse Supervisor&lt;/JobTitle&gt;&lt;Tenure&gt;01/01/1996 - 01/01/2000&lt;/Tenure&gt;&lt;/ExtCompany&gt;&lt;/WorkHistory&gt;&lt;EducationHistory&gt;&lt;ExtSchool&gt;&lt;SchoolName&gt;Eastern Oklahoma State College&lt;/SchoolName&gt;&lt;Major&gt;Business Management&lt;/Major&gt;&lt;Degree /&gt;&lt;GraduationDate&gt;11993&lt;/GraduationDate&gt;&lt;/ExtSchool&gt;&lt;ExtSchool&gt;&lt;SchoolName&gt;Suffolk County Community College&lt;/SchoolName&gt;&lt;Major&gt;Business Management&lt;/Major&gt;&lt;Degree /&gt;&lt;GraduationDate&gt;11997&lt;/GraduationDate&gt;&lt;/ExtSchool&gt;&lt;/EducationHistory&gt;&lt;Warning&gt;&lt;/Warning&gt;&lt;/Packet&gt;</string>")
240
+ stub_request(:post, "http://ws.careerbuilder.com/resumes/resumes.asmx/V2_GetResume").with(:body => 'Packet=%3cPacket%3e%3cSessionToken%3e42%3c%2fSessionToken%3e%3cResumeID%3eRH52G867678F7GH02Q3%3c%2fResumeID%3e%3c%2fPacket%3e').to_return(:body => RAW_RESUME_RESPONSE)
239
241
  @resume = @client.get_resume(:resume_id => "RH52G867678F7GH02Q3")
240
242
  end
241
243
 
244
+ # despite the fact that career builder gives us jacked up
245
+ # double encoded XML, let's retrieve the Resume#raw_response
246
+ # in a sane way.
247
+ it 'should return the raw response' do
248
+ @resume.raw_response.should == "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<string xmlns=\"http://ws.careerbuilder.com/resumes/\"><Packet><TimeStamp>6/25/2010 3:19:20 PM</TimeStamp><ResumeID>RH52G867678F7GH02Q3</ResumeID><ResumeTitle>Warehouse Distribution Specialist</ResumeTitle><ContactName>Jeffrey Davis</ContactName><ContactEmail>Jeffd1969@aol.com</ContactEmail><ContactPhone>513-625-7228</ContactPhone><HomeLocation><City>Goshen</City><State>OH</State><Country>US</Country><ZipCode>45122</ZipCode><WorkStatus>Can work for any employer</WorkStatus></HomeLocation><Relocations><ExtLocation><City>Tokyo</City><State/><Country>JP</Country><ZipCode /><WorkStatus>Can work for any employer</WorkStatus></ExtLocation></Relocations><MaxCommuteMiles>10</MaxCommuteMiles><TravelPreference>Up to 25%</TravelPreference><CurrentlyEmployed>Yes</CurrentlyEmployed><MostRecentPay><Amount>35776</Amount><Per>year</Per></MostRecentPay><DesiredPay><Amount>45000</Amount><Per>year</Per></DesiredPay><DesiredJobTypes><string>Full Time</string></DesiredJobTypes><MostRecentTitle>Warehouse Lead Supervisor</MostRecentTitle><ExperienceMonths>216</ExperienceMonths><Management><ManagedOthers>No</ManagedOthers><NumberManaged>0</NumberManaged></Management><JobsLastThreeYears>0</JobsLastThreeYears><LastJobTenureMonths>0</LastJobTenureMonths><SecurityClearance>No</SecurityClearance><FelonyConvictions>No</FelonyConvictions><HighestDegree>None</HighestDegree><Certifications /><MotivationToChangeJobs /><EmploymentType /><LastUpdated>5/23/2010 10:41:12 PM</LastUpdated><Languages><string>English</string></Languages><DesiredShiftPreferences><string /></DesiredShiftPreferences><Interests><ExtInterest><Interest>Warehouse</Interest><ExperienceMonths>216</ExperienceMonths></ExtInterest></Interests><ResumeText>JEFFREY A. DAVIS</ResumeText><MilitaryExperience>Veteran</MilitaryExperience><WorkHistory><ExtCompany><CompanyName>OWENS &amp; MINOR</CompanyName><JobTitle>Warehouse Lead Supervisor</JobTitle><Tenure>01/01/2008 - Present</Tenure></ExtCompany><ExtCompany><CompanyName>THE HOME DEPOT</CompanyName><JobTitle>- Sales Specialist</JobTitle><Tenure>01/01/2005 - Present</Tenure></ExtCompany><ExtCompany><CompanyName>RUBIES COSTUME CO</CompanyName><JobTitle>- Warehouse Assistant Manager</JobTitle><Tenure>01/01/2004 - 01/01/2006</Tenure></ExtCompany><ExtCompany><CompanyName>UNITED ELECTRIC POWER</CompanyName><JobTitle>Inventory Operations Manager</JobTitle><Tenure>01/01/2000 - 01/01/2004</Tenure></ExtCompany><ExtCompany><CompanyName>VEECO INSTRUMENTS, INC</CompanyName><JobTitle>Warehouse Supervisor</JobTitle><Tenure>01/01/1996 - 01/01/2000</Tenure></ExtCompany></WorkHistory><EducationHistory><ExtSchool><SchoolName>Eastern Oklahoma State College</SchoolName><Major>Business Management</Major><Degree /><GraduationDate>11993</GraduationDate></ExtSchool><ExtSchool><SchoolName>Suffolk County Community College</SchoolName><Major>Business Management</Major><Degree /><GraduationDate>11997</GraduationDate></ExtSchool></EducationHistory><Warning></Warning></Packet></string>"
249
+ end
250
+
242
251
  it 'should return the correct timestamp' do
243
252
  @resume.timestamp.should == Time.mktime(2010, 6, 25, 15, 19, 20)
244
253
  end
@@ -1,7 +1,7 @@
1
1
  require 'webmock/rspec'
2
2
 
3
3
  Spec::Runner.configure do |config|
4
- config.include WebMock
4
+ config.include WebMock::API
5
5
  end
6
6
 
7
7
  WebMock.disable_net_connect!
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: career_builder
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Guterl
@@ -15,13 +15,70 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-28 00:00:00 -04:00
18
+ date: 2011-01-06 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: rspec
23
22
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ type: :runtime
24
+ name: activesupport
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ prerelease: false
37
+ type: :runtime
38
+ name: i18n
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ requirement: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ prerelease: false
51
+ type: :runtime
52
+ name: nokogiri
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ requirement: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ prerelease: false
65
+ type: :runtime
66
+ name: nokogiri-happymapper
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
76
+ requirement: *id004
77
+ - !ruby/object:Gem::Dependency
78
+ prerelease: false
79
+ type: :development
80
+ name: rspec
81
+ version_requirements: &id005 !ruby/object:Gem::Requirement
25
82
  none: false
26
83
  requirements:
27
84
  - - ">="
@@ -32,12 +89,12 @@ dependencies:
32
89
  - 3
33
90
  - 0
34
91
  version: 1.3.0
35
- type: :development
36
- version_requirements: *id001
92
+ requirement: *id005
37
93
  - !ruby/object:Gem::Dependency
38
- name: webmock
39
94
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
95
+ type: :development
96
+ name: webmock
97
+ version_requirements: &id006 !ruby/object:Gem::Requirement
41
98
  none: false
42
99
  requirements:
43
100
  - - ">="
@@ -46,12 +103,12 @@ dependencies:
46
103
  segments:
47
104
  - 0
48
105
  version: "0"
49
- type: :development
50
- version_requirements: *id002
106
+ requirement: *id006
51
107
  - !ruby/object:Gem::Dependency
52
- name: nokogiri-happymapper
53
108
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
109
+ type: :runtime
110
+ name: nokogiri-happymapper
111
+ version_requirements: &id007 !ruby/object:Gem::Requirement
55
112
  none: false
56
113
  requirements:
57
114
  - - ">="
@@ -60,12 +117,12 @@ dependencies:
60
117
  segments:
61
118
  - 0
62
119
  version: "0"
63
- type: :runtime
64
- version_requirements: *id003
120
+ requirement: *id007
65
121
  - !ruby/object:Gem::Dependency
66
- name: activesupport
67
122
  prerelease: false
68
- requirement: &id004 !ruby/object:Gem::Requirement
123
+ type: :runtime
124
+ name: activesupport
125
+ version_requirements: &id008 !ruby/object:Gem::Requirement
69
126
  none: false
70
127
  requirements:
71
128
  - - ~>
@@ -76,8 +133,7 @@ dependencies:
76
133
  - 3
77
134
  - 5
78
135
  version: 2.3.5
79
- type: :runtime
80
- version_requirements: *id004
136
+ requirement: *id008
81
137
  description: Ruby wrapper for the CareerBuilder V2 HTTP XML API
82
138
  email: mguterl@gmail.com
83
139
  executables: []
@@ -89,8 +145,8 @@ extra_rdoc_files:
89
145
  - README.md
90
146
  files:
91
147
  - .document
92
- - .gitignore
93
148
  - Gemfile
149
+ - Gemfile.lock
94
150
  - LICENSE
95
151
  - README.md
96
152
  - Rakefile
@@ -131,8 +187,8 @@ homepage: http://github.com/mguterl/career_builder
131
187
  licenses: []
132
188
 
133
189
  post_install_message:
134
- rdoc_options:
135
- - --charset=UTF-8
190
+ rdoc_options: []
191
+
136
192
  require_paths:
137
193
  - lib
138
194
  required_ruby_version: !ruby/object:Gem::Requirement
data/.gitignore DELETED
@@ -1,22 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC
22
- .bundle