career_builder 0.1.0 → 0.1.1

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.
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