authentic_jobs 0.1.0 → 0.2.0
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/README.markdown +7 -0
- data/VERSION +1 -1
- data/authentic_jobs.gemspec +78 -0
- data/lib/authentic_jobs.rb +21 -4
- data/test/test_authentic_jobs.rb +6 -6
- metadata +3 -2
data/README.markdown
CHANGED
@@ -28,6 +28,13 @@ Find your next gig from the console! This is a Ruby wrapper for the [AuthenticJo
|
|
28
28
|
|
29
29
|
categories = client.categories
|
30
30
|
|
31
|
+
|
32
|
+
The categories, types, and locations methods are all cached after the first call. To refresh, simply add a bang:
|
33
|
+
|
34
|
+
client.categories!
|
35
|
+
client.types!
|
36
|
+
client.locations!
|
37
|
+
|
31
38
|
All calls return a [Hashie::Mash](http://github.com/intridea/hashie) and support dot-notation.
|
32
39
|
|
33
40
|
## Note on Patches/Pull Requests
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{authentic_jobs}
|
8
|
+
s.version = "0.2.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Wynn Netherland"]
|
12
|
+
s.date = %q{2009-12-20}
|
13
|
+
s.description = %q{Ruby wrapper for the Authentic Jobs API}
|
14
|
+
s.email = %q{wynn.netherland@gmail.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.markdown"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".gitignore",
|
22
|
+
"LICENSE",
|
23
|
+
"README.markdown",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"authentic_jobs.gemspec",
|
27
|
+
"changelog.markdown",
|
28
|
+
"examples/search.rb",
|
29
|
+
"lib/authentic_jobs.rb",
|
30
|
+
"test/fixtures/categories.json",
|
31
|
+
"test/fixtures/companies.json",
|
32
|
+
"test/fixtures/error.json",
|
33
|
+
"test/fixtures/locations.json",
|
34
|
+
"test/fixtures/search.json",
|
35
|
+
"test/fixtures/types.json",
|
36
|
+
"test/helper.rb",
|
37
|
+
"test/test_authentic_jobs.rb"
|
38
|
+
]
|
39
|
+
s.homepage = %q{http://github.com/pengwynn/authentic_jobs}
|
40
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
41
|
+
s.require_paths = ["lib"]
|
42
|
+
s.rubygems_version = %q{1.3.5}
|
43
|
+
s.summary = %q{Ruby wrapper for the Authenic Jobs API}
|
44
|
+
s.test_files = [
|
45
|
+
"test/helper.rb",
|
46
|
+
"test/test_authentic_jobs.rb",
|
47
|
+
"examples/search.rb"
|
48
|
+
]
|
49
|
+
|
50
|
+
if s.respond_to? :specification_version then
|
51
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
52
|
+
s.specification_version = 3
|
53
|
+
|
54
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
55
|
+
s.add_runtime_dependency(%q<hashie>, ["~> 0.1.3"])
|
56
|
+
s.add_runtime_dependency(%q<httparty>, ["~> 0.4.5"])
|
57
|
+
s.add_development_dependency(%q<shoulda>, [">= 2.10.1"])
|
58
|
+
s.add_development_dependency(%q<jnunemaker-matchy>, ["= 0.4.0"])
|
59
|
+
s.add_development_dependency(%q<mocha>, ["= 0.9.4"])
|
60
|
+
s.add_development_dependency(%q<fakeweb>, [">= 1.2.5"])
|
61
|
+
else
|
62
|
+
s.add_dependency(%q<hashie>, ["~> 0.1.3"])
|
63
|
+
s.add_dependency(%q<httparty>, ["~> 0.4.5"])
|
64
|
+
s.add_dependency(%q<shoulda>, [">= 2.10.1"])
|
65
|
+
s.add_dependency(%q<jnunemaker-matchy>, ["= 0.4.0"])
|
66
|
+
s.add_dependency(%q<mocha>, ["= 0.9.4"])
|
67
|
+
s.add_dependency(%q<fakeweb>, [">= 1.2.5"])
|
68
|
+
end
|
69
|
+
else
|
70
|
+
s.add_dependency(%q<hashie>, ["~> 0.1.3"])
|
71
|
+
s.add_dependency(%q<httparty>, ["~> 0.4.5"])
|
72
|
+
s.add_dependency(%q<shoulda>, [">= 2.10.1"])
|
73
|
+
s.add_dependency(%q<jnunemaker-matchy>, ["= 0.4.0"])
|
74
|
+
s.add_dependency(%q<mocha>, ["= 0.9.4"])
|
75
|
+
s.add_dependency(%q<fakeweb>, [">= 1.2.5"])
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
data/lib/authentic_jobs.rb
CHANGED
@@ -30,14 +30,23 @@ class AuthenticJobs
|
|
30
30
|
self.api_key = api_key
|
31
31
|
end
|
32
32
|
|
33
|
-
def companies
|
33
|
+
def companies!
|
34
34
|
mashup(self.class.get("/", :query => method_params('aj.jobs.getCompanies'))).companies.company
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
37
|
+
def companies
|
38
|
+
@companies ||= companies!
|
39
|
+
end
|
40
|
+
|
41
|
+
def locations!
|
38
42
|
mashup(self.class.get("/", :query => method_params('aj.jobs.getLocations'))).locations.location
|
39
43
|
end
|
40
44
|
|
45
|
+
def locations
|
46
|
+
@locations ||= locations!
|
47
|
+
end
|
48
|
+
|
49
|
+
|
41
50
|
# category: The id of a job category to limit to. See aj.categories.getList
|
42
51
|
# type: The id of a job type to limit to. See aj.types.getList
|
43
52
|
# sort: Accepted values are: date-posted-desc (the default) and date-posted-asc
|
@@ -50,13 +59,21 @@ class AuthenticJobs
|
|
50
59
|
mashup(self.class.get("/", :query => method_params('aj.jobs.search', options))).listings.listing
|
51
60
|
end
|
52
61
|
|
53
|
-
def types
|
62
|
+
def types!
|
54
63
|
mashup(self.class.get("/", :query => method_params('aj.types.getList'))).types['type']
|
55
64
|
end
|
56
65
|
|
57
|
-
def
|
66
|
+
def types
|
67
|
+
@types ||= types!
|
68
|
+
end
|
69
|
+
|
70
|
+
def categories!
|
58
71
|
mashup(self.class.get("/", :query => method_params('aj.categories.getList'))).categories.category
|
59
72
|
end
|
73
|
+
|
74
|
+
def categories
|
75
|
+
@categories ||= categories!
|
76
|
+
end
|
60
77
|
|
61
78
|
|
62
79
|
private
|
data/test/test_authentic_jobs.rb
CHANGED
@@ -10,40 +10,40 @@ class TestAuthenticJobs < Test::Unit::TestCase
|
|
10
10
|
end
|
11
11
|
|
12
12
|
should "return a list of companies" do
|
13
|
-
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.jobs.getCompanies", "companies.json")
|
13
|
+
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.jobs.getCompanies&format=json", "companies.json")
|
14
14
|
companies = @client.companies
|
15
15
|
companies.first.name.should == 'Adura Technologies, Inc.'
|
16
16
|
companies.first.location.state.should == 'CA'
|
17
17
|
end
|
18
18
|
|
19
19
|
should "return a list of locations" do
|
20
|
-
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.jobs.getLocations", "locations.json")
|
20
|
+
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.jobs.getLocations&format=json", "locations.json")
|
21
21
|
locations = @client.locations
|
22
22
|
locations.first.name.should == 'Anywhere in USA'
|
23
23
|
locations.first.id.should == 'anywhereinusa'
|
24
24
|
end
|
25
25
|
|
26
26
|
should "return a listings via search" do
|
27
|
-
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.jobs.search", "search.json")
|
27
|
+
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.jobs.search&format=json", "search.json")
|
28
28
|
listings = @client.search
|
29
29
|
listings.first.title.should == 'Interactive Art Designer'
|
30
30
|
listings.first.company.name.should == 'Bazaarvoice'
|
31
31
|
end
|
32
32
|
|
33
33
|
should "return a list of job types" do
|
34
|
-
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.types.getList", "types.json")
|
34
|
+
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.types.getList&format=json", "types.json")
|
35
35
|
types = @client.types
|
36
36
|
types.last.name.should == 'Freelance'
|
37
37
|
end
|
38
38
|
|
39
39
|
should "return a list of job categories" do
|
40
|
-
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.categories.getList", "categories.json")
|
40
|
+
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.categories.getList&format=json", "categories.json")
|
41
41
|
categories = @client.categories
|
42
42
|
categories.first.name.should == 'Design'
|
43
43
|
end
|
44
44
|
|
45
45
|
should "handle error codes" do
|
46
|
-
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.categories.getList", "error.json")
|
46
|
+
stub_get("http://www.authenticjobs.com/api/?api_key=OU812&method=aj.categories.getList&format=json", "error.json")
|
47
47
|
lambda {@client.categories}.should raise_error(AuthenticJobsError)
|
48
48
|
end
|
49
49
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authentic_jobs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wynn Netherland
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-12-
|
12
|
+
date: 2009-12-20 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- README.markdown
|
89
89
|
- Rakefile
|
90
90
|
- VERSION
|
91
|
+
- authentic_jobs.gemspec
|
91
92
|
- changelog.markdown
|
92
93
|
- examples/search.rb
|
93
94
|
- lib/authentic_jobs.rb
|