yelp 0.1.1 → 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/History.txt +15 -2
- data/Rakefile +1 -2
- data/lib/yelp.rb +1 -1
- data/lib/yelp/review/request/base.rb +5 -1
- data/test/test_neighborhood_search.rb +1 -1
- data/test/test_review_search.rb +25 -0
- data/test/yelp_helper.rb +1 -1
- metadata +75 -59
data/History.txt
CHANGED
@@ -1,9 +1,22 @@
|
|
1
|
+
== 0.2.0 / 2007-11-24
|
2
|
+
|
3
|
+
* [shaper] fixed validation of neighborhood yelp search url to reflect
|
4
|
+
yelp-side url fix removing '/' from immediately following '?'.
|
5
|
+
|
6
|
+
* [shaper] fixed json result validation to accept new format v1.1 specifier.
|
7
|
+
|
8
|
+
* [shaper] Incorporated category result narrowing for business review search,
|
9
|
+
thanks to Jerry Cheung for patch.
|
10
|
+
|
11
|
+
* Updated neighborhood tests to reflect additional information in the yelp
|
12
|
+
response.
|
13
|
+
|
1
14
|
== 0.1.1 / 2007-08-06
|
2
15
|
|
3
16
|
* Moved to Rubyforge now that the yelp project exists.
|
4
17
|
|
5
|
-
* Fixed Yelp::
|
6
|
-
as Yelp::ResponseFormat::JSON_TO_RUBY.
|
18
|
+
* Fixed Yelp::Request documentation to note the correct default response
|
19
|
+
format as Yelp::ResponseFormat::JSON_TO_RUBY.
|
7
20
|
|
8
21
|
== 0.1.0 / 2007-08-05
|
9
22
|
|
data/Rakefile
CHANGED
@@ -10,8 +10,7 @@ Hoe.new('yelp', Yelp::VERSION) do |p|
|
|
10
10
|
p.extra_deps = [ 'json', '>= 1.1.1' ]
|
11
11
|
p.summary = 'An object-oriented interface to the Yelp Developer API.'
|
12
12
|
p.description = 'An object-oriented interface to the Yelp Developer API.'
|
13
|
-
p.url = 'http://
|
13
|
+
p.url = 'http://rubyforge.org/projects/yelp'
|
14
14
|
p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
|
15
15
|
p.remote_rdoc_dir = '' # Release to root
|
16
|
-
# p.spec_extras = { :rdoc_options => '--main' << 'README' }
|
17
16
|
end
|
data/lib/yelp.rb
CHANGED
@@ -12,13 +12,17 @@ class Yelp
|
|
12
12
|
# requested.
|
13
13
|
attr_reader :term
|
14
14
|
|
15
|
+
# optionally narrow the results by a category
|
16
|
+
attr_reader :category
|
17
|
+
|
15
18
|
def base_url
|
16
19
|
'http://api.yelp.com/business_review_search'
|
17
20
|
end
|
18
21
|
|
19
22
|
def to_yelp_params
|
20
23
|
super.merge(:term => term,
|
21
|
-
:num_biz_requested => business_count
|
24
|
+
:num_biz_requested => business_count,
|
25
|
+
:category => category)
|
22
26
|
end
|
23
27
|
end
|
24
28
|
end
|
@@ -15,7 +15,7 @@ class TestNeighborhoodSearch < Test::Unit::TestCase
|
|
15
15
|
|
16
16
|
GORDO_LAT = 37.782093
|
17
17
|
GORDO_LON = -122.483230
|
18
|
-
GORDO_NEIGHBORHOOD =
|
18
|
+
GORDO_NEIGHBORHOOD = { "city" => "San Francisco", "name" => "Outer Richmond", "url" => "http://yelp.com/search?find_loc=Outer+Richmond%2C+San+Francisco%2C+CA", "state" => "CA" }
|
19
19
|
|
20
20
|
def test_geo_point_search
|
21
21
|
request = Yelp::Neighborhood::Request::GeoPoint.new(:latitude => GORDO_LAT,
|
data/test/test_review_search.rb
CHANGED
@@ -52,6 +52,31 @@ class TestReviewSearch < Test::Unit::TestCase
|
|
52
52
|
validate_json_to_ruby_response(response)
|
53
53
|
end
|
54
54
|
|
55
|
+
def test_category
|
56
|
+
# perform a basic search of businesses near SOMA
|
57
|
+
request = Yelp::Review::Request::GeoPoint.new(
|
58
|
+
:latitude => 37.78022,
|
59
|
+
:longitude => -122.399797,
|
60
|
+
:radius => 5,
|
61
|
+
:term => 'yelp',
|
62
|
+
:yws_id => @yws_id)
|
63
|
+
response = @client.search(request)
|
64
|
+
|
65
|
+
# perform the same search focusing only on playgrounds
|
66
|
+
narrowed_request = Yelp::Review::Request::GeoPoint.new(
|
67
|
+
:latitude => 37.78022,
|
68
|
+
:longitude => -122.399797,
|
69
|
+
:radius => 5,
|
70
|
+
:term => 'yelp',
|
71
|
+
:category => 'playgrounds',
|
72
|
+
:yws_id => @yws_id)
|
73
|
+
narrowed_response = @client.search(narrowed_request)
|
74
|
+
pp narrowed_response
|
75
|
+
|
76
|
+
# make sure we got less for the second
|
77
|
+
assert(response['businesses'].length > narrowed_response['businesses'].length)
|
78
|
+
end
|
79
|
+
|
55
80
|
def test_json_response_format
|
56
81
|
request = basic_request(:response_format => Yelp::ResponseFormat::JSON)
|
57
82
|
response = @client.search(request)
|
data/test/yelp_helper.rb
CHANGED
@@ -2,7 +2,7 @@ module YelpHelper
|
|
2
2
|
def validate_json_response (response)
|
3
3
|
assert_not_nil response
|
4
4
|
assert_instance_of String, response
|
5
|
-
assert_match(/^\{"message": \{"text": "OK", "code": 0, "version": 1\.
|
5
|
+
assert_match(/^\{"message": \{"text": "OK", "code": 0, "version": 1\.1\}, "(businesses|neighborhoods)": .*?\}$/, response)
|
6
6
|
end
|
7
7
|
|
8
8
|
def validate_json_to_ruby_response (response)
|
metadata
CHANGED
@@ -1,33 +1,56 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: yelp
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
|
8
|
-
summary: An object-oriented interface to the Yelp Developer API.
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: shaper@wgks.org
|
12
|
-
homepage: http://www.samskivert.com/shaper/yelp
|
13
|
-
rubyforge_project: yelp
|
14
|
-
description: An object-oriented interface to the Yelp Developer API.
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
25
|
-
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
4
|
+
version: 0.2.0
|
5
|
+
platform: ""
|
29
6
|
authors:
|
30
7
|
- Walter Korman
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2007-11-24 00:00:00 -08:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: json
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: "0"
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: ">= 1.1.1"
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: "0"
|
32
|
+
version:
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: hoe
|
35
|
+
version_requirement:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.3.0
|
41
|
+
version:
|
42
|
+
description: An object-oriented interface to the Yelp Developer API.
|
43
|
+
email: shaper@wgks.org
|
44
|
+
executables: []
|
45
|
+
|
46
|
+
extensions: []
|
47
|
+
|
48
|
+
extra_rdoc_files:
|
49
|
+
- History.txt
|
50
|
+
- LICENSE.txt
|
51
|
+
- Manifest.txt
|
52
|
+
- README.txt
|
53
|
+
- TODO.txt
|
31
54
|
files:
|
32
55
|
- History.txt
|
33
56
|
- LICENSE.txt
|
@@ -53,42 +76,35 @@ files:
|
|
53
76
|
- test/test_phone_search.rb
|
54
77
|
- test/test_review_search.rb
|
55
78
|
- test/yelp_helper.rb
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
- test/test_phone_search.rb
|
60
|
-
- test/test_review_search.rb
|
79
|
+
has_rdoc: true
|
80
|
+
homepage: http://rubyforge.org/projects/yelp
|
81
|
+
post_install_message:
|
61
82
|
rdoc_options:
|
62
83
|
- --main
|
63
84
|
- README.txt
|
64
|
-
|
65
|
-
-
|
66
|
-
|
67
|
-
|
68
|
-
-
|
69
|
-
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
85
|
+
require_paths:
|
86
|
+
- lib
|
87
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: "0"
|
92
|
+
version:
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: "0"
|
98
|
+
version:
|
74
99
|
requirements: []
|
75
100
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
- !ruby/object:Gem::Dependency
|
87
|
-
name: hoe
|
88
|
-
version_requirement:
|
89
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
90
|
-
requirements:
|
91
|
-
- - ">="
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 1.2.2
|
94
|
-
version:
|
101
|
+
rubyforge_project: yelp
|
102
|
+
rubygems_version: 0.9.5
|
103
|
+
signing_key:
|
104
|
+
specification_version: 2
|
105
|
+
summary: An object-oriented interface to the Yelp Developer API.
|
106
|
+
test_files:
|
107
|
+
- test/test_client.rb
|
108
|
+
- test/test_neighborhood_search.rb
|
109
|
+
- test/test_phone_search.rb
|
110
|
+
- test/test_review_search.rb
|