yelp 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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::ResponseFormat documentation to note the correct default
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://www.samskivert.com/shaper/yelp'
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,5 +12,5 @@ require 'yelp/review/request/geo_point'
12
12
  require 'yelp/review/request/location'
13
13
 
14
14
  class Yelp
15
- VERSION = '0.1.1'
15
+ VERSION = '0.2.0'
16
16
  end
@@ -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 = 'Outer Richmond'
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,
@@ -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\.0\}, "(businesses|neighborhoods)": .*?\}$/, response)
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.1.1
7
- date: 2007-08-06 00:00:00 -07:00
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
- test_files:
57
- - test/test_client.rb
58
- - test/test_neighborhood_search.rb
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
- extra_rdoc_files:
65
- - History.txt
66
- - LICENSE.txt
67
- - Manifest.txt
68
- - README.txt
69
- - TODO.txt
70
- executables: []
71
-
72
- extensions: []
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
- dependencies:
77
- - !ruby/object:Gem::Dependency
78
- name: json
79
- version_requirement:
80
- version_requirements: !ruby/object:Gem::Version::Requirement
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 1.1.1
85
- version:
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