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