tcocca-yelp4r 1.0.2

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.
@@ -0,0 +1,21 @@
1
+ module Yelp4r
2
+ class PhoneSearch
3
+
4
+ attr_accessor :client
5
+
6
+ def initialize(client)
7
+ @client = client
8
+ end
9
+
10
+ def search_by_phone_number(phone)
11
+ process({:phone => phone})
12
+ end
13
+
14
+ private
15
+
16
+ def process(options)
17
+ Response.new(@client.class.get('/phone_search', :query => options))
18
+ end
19
+
20
+ end
21
+ end
@@ -0,0 +1,31 @@
1
+ module Yelp4r
2
+ class Response
3
+
4
+ attr_accessor :body
5
+
6
+ def initialize(body)
7
+ @body = body
8
+ end
9
+
10
+ def response_code
11
+ @body['message']['code']
12
+ end
13
+
14
+ def success?
15
+ response_code == 0
16
+ end
17
+
18
+ def error_message
19
+ @body['message']['text'] unless success?
20
+ end
21
+
22
+ def data
23
+ if !@body['businesses'].blank?
24
+ @body['businesses']
25
+ elsif !@body['neighborhoods'].blank?
26
+ @body['neighborhoods']
27
+ end
28
+ end
29
+
30
+ end
31
+ end
@@ -0,0 +1,33 @@
1
+ module Yelp4r
2
+ class ReviewSearch
3
+
4
+ attr_accessor :client
5
+
6
+ def initialize(client)
7
+ @client = client
8
+ end
9
+
10
+ def search_by_bounding_box(tl_lat, tl_long, br_lat, br_long, optional = {})
11
+ options = {:tl_lat => tl_lat, :tl_long => tl_long, :br_lat => br_lat, :br_long => br_long}
12
+ process(options, optional)
13
+ end
14
+
15
+ def search_by_geocode_and_radius(lat, long, optional = {})
16
+ options = {:lat => lat, :long => long}
17
+ process(options, optional)
18
+ end
19
+
20
+ def search_by_location(location, optional = {})
21
+ options = {:location => location}
22
+ process(options, optional)
23
+ end
24
+
25
+ private
26
+
27
+ def process(options, optional)
28
+ options.merge!(optional) unless optional.blank?
29
+ Response.new(@client.class.get('/business_review_search', :query => options))
30
+ end
31
+
32
+ end
33
+ end
@@ -0,0 +1,44 @@
1
+ <html>
2
+ <body>
3
+ <div></div>
4
+ <div></div>
5
+ <div>
6
+ <div>
7
+ <div></div>
8
+ <div>
9
+ <ul>
10
+ <li>Active Life (active)</li>
11
+ <ul>
12
+ <li>Amusement Parks (amusementparks)</li>
13
+ <li>Fitness & Instruction (fitness)</li>
14
+ <ul>
15
+ <li>Dance Studios (dancestudio)</li>
16
+ <li>Gyms (gyms)</li>
17
+ <li>Martial Arts (martialarts)</li>
18
+ </ul>
19
+ </ul>
20
+ <li>Automotive (auto)</li>
21
+ <ul>
22
+ <li>Auto Detailing (auto_detailing)</li>
23
+ <li>Auto Glass Services (autoglass)</li>
24
+ </ul>
25
+ <li>Shopping (shopping)</li>
26
+ <ul>
27
+ <li>Home & Garden (homeandgarden)</li>
28
+ <ul>
29
+ <li>Appliances (appliances)</li>
30
+ <li>Furniture Stores (furniture)</li>
31
+ </ul>
32
+ <li>Sporting Goods (sportgoods)</li>
33
+ <ul>
34
+ <li>Bikes (bikes)</li>
35
+ <li>Outdoor Gear (outdoorgear)</li>
36
+ <li>Sports Wear (sportswear)</li>
37
+ </ul>
38
+ <li>Thrift Stores (thrift_stores)</li>
39
+ </ul>
40
+ </ul>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </html>
@@ -0,0 +1,48 @@
1
+ <html>
2
+ <body>
3
+ <div></div>
4
+ <div></div>
5
+ <div>
6
+ <div>
7
+ <div></div>
8
+ <div>
9
+ <ul>
10
+ <li>Canada</li>
11
+ <ul>
12
+ <li>Vancouver, BC</li>
13
+ <ul>
14
+ <li>Ambleside</li>
15
+ <li>Yaletown</li>
16
+ </ul>
17
+ <li>Toronto, ON</li>
18
+ </ul>
19
+ <li>USA</li>
20
+ <ul>
21
+ <li>Berkeley, CA</li>
22
+ <ul>
23
+ <li>Claremont</li>
24
+ <li>Downtown Berkeley</li>
25
+ <li>East Solano Ave</li>
26
+ <li>Elmwood</li>
27
+ </ul>
28
+ <li>New York, NY</li>
29
+ <ul>
30
+ <li>Bronx</li>
31
+ <ul>
32
+ <li>Baychester</li>
33
+ <li>Bedford Park</li>
34
+ </ul>
35
+ <li>Brooklyn</li>
36
+ <ul>
37
+ <li>Bath Beach</li>
38
+ <li>Bay Ridge</li>
39
+ </ul>
40
+ <li>Staten Island</li>
41
+ </ul>
42
+ <li>Seattle, WA</li>
43
+ </ul>
44
+ </ul>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </html>
data/spec/rcov.opts ADDED
@@ -0,0 +1 @@
1
+ --exclude "spec/*"
data/spec/spec.opts ADDED
@@ -0,0 +1 @@
1
+ --colour
@@ -0,0 +1,256 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ gem 'rspec'
6
+ require 'spec'
7
+ end
8
+
9
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
10
+ require 'yelp4r'
11
+
12
+ module Yelp4rSpecHelper
13
+
14
+ def yelp4r_client
15
+ Yelp4r::Client.new('jprr4VyNVMGZrd-FARdSQA')
16
+ end
17
+
18
+ end
19
+
20
+ module Yelp4rNeighsSpecHelper
21
+
22
+ def yelp4r_test_neighs_list
23
+ [
24
+ {"Canada" => [
25
+ {"Vancouver, BC" => [
26
+ "Ambleside", "Yaletown"
27
+ ]
28
+ },
29
+ "Toronto, ON"
30
+ ]
31
+ },
32
+ {"USA" => [
33
+ {"Berkeley, CA" => [
34
+ "Claremont", "Downtown Berkeley", "East Solano Ave", "Elmwood"
35
+ ]
36
+ },
37
+ {"New York, NY" => [
38
+ {"Bronx" => [
39
+ "Baychester", "Bedford Park"
40
+ ]
41
+ },
42
+ {"Brooklyn" => [
43
+ "Bath Beach", "Bay Ridge"
44
+ ]
45
+ },
46
+ "Staten Island"
47
+ ]
48
+ },
49
+ "Seattle, WA"
50
+ ]
51
+ }
52
+ ]
53
+ end
54
+
55
+ def yelp4r_test_neighs_opts
56
+ [
57
+ '<option value="Canada">Canada</option>',
58
+ '<option value="Vancouver, BC, Canada">&nbsp;-&nbsp;Vancouver, BC</option>',
59
+ '<option value="Ambleside, Vancouver, BC, Canada">&nbsp;-&nbsp;-&nbsp;Ambleside</option>',
60
+ '<option value="Yaletown, Vancouver, BC, Canada">&nbsp;-&nbsp;-&nbsp;Yaletown</option>',
61
+ '<option value="Toronto, ON, Canada">&nbsp;-&nbsp;Toronto, ON</option>',
62
+ '<option value="USA">USA</option>',
63
+ '<option value="Berkeley, CA, USA">&nbsp;-&nbsp;Berkeley, CA</option>',
64
+ '<option value="Claremont, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;Claremont</option>',
65
+ '<option value="Downtown Berkeley, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;Downtown Berkeley</option>',
66
+ '<option value="East Solano Ave, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;East Solano Ave</option>',
67
+ '<option value="Elmwood, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;Elmwood</option>',
68
+ '<option value="New York, NY, USA">&nbsp;-&nbsp;New York, NY</option>',
69
+ '<option value="Bronx, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;Bronx</option>',
70
+ '<option value="Baychester, Bronx, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Baychester</option>',
71
+ '<option value="Bedford Park, Bronx, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Bedford Park</option>',
72
+ '<option value="Brooklyn, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;Brooklyn</option>',
73
+ '<option value="Bath Beach, Brooklyn, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Bath Beach</option>',
74
+ '<option value="Bay Ridge, Brooklyn, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Bay Ridge</option>',
75
+ '<option value="Staten Island, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;Staten Island</option>',
76
+ '<option value="Seattle, WA, USA">&nbsp;-&nbsp;Seattle, WA</option>'
77
+ ]
78
+ end
79
+
80
+ def yelp4r_test_neighs_opts_single_selected
81
+ [
82
+ '<option value="Canada">Canada</option>',
83
+ '<option value="Vancouver, BC, Canada">&nbsp;-&nbsp;Vancouver, BC</option>',
84
+ '<option value="Ambleside, Vancouver, BC, Canada">&nbsp;-&nbsp;-&nbsp;Ambleside</option>',
85
+ '<option value="Yaletown, Vancouver, BC, Canada" selected="selected">&nbsp;-&nbsp;-&nbsp;Yaletown</option>',
86
+ '<option value="Toronto, ON, Canada">&nbsp;-&nbsp;Toronto, ON</option>',
87
+ '<option value="USA">USA</option>',
88
+ '<option value="Berkeley, CA, USA">&nbsp;-&nbsp;Berkeley, CA</option>',
89
+ '<option value="Claremont, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;Claremont</option>',
90
+ '<option value="Downtown Berkeley, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;Downtown Berkeley</option>',
91
+ '<option value="East Solano Ave, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;East Solano Ave</option>',
92
+ '<option value="Elmwood, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;Elmwood</option>',
93
+ '<option value="New York, NY, USA">&nbsp;-&nbsp;New York, NY</option>',
94
+ '<option value="Bronx, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;Bronx</option>',
95
+ '<option value="Baychester, Bronx, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Baychester</option>',
96
+ '<option value="Bedford Park, Bronx, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Bedford Park</option>',
97
+ '<option value="Brooklyn, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;Brooklyn</option>',
98
+ '<option value="Bath Beach, Brooklyn, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Bath Beach</option>',
99
+ '<option value="Bay Ridge, Brooklyn, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Bay Ridge</option>',
100
+ '<option value="Staten Island, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;Staten Island</option>',
101
+ '<option value="Seattle, WA, USA">&nbsp;-&nbsp;Seattle, WA</option>'
102
+ ]
103
+ end
104
+
105
+ def yelp4r_test_neighs_opts_multiple_selected
106
+ [
107
+ '<option value="Canada">Canada</option>',
108
+ '<option value="Vancouver, BC, Canada">&nbsp;-&nbsp;Vancouver, BC</option>',
109
+ '<option value="Ambleside, Vancouver, BC, Canada">&nbsp;-&nbsp;-&nbsp;Ambleside</option>',
110
+ '<option value="Yaletown, Vancouver, BC, Canada" selected="selected">&nbsp;-&nbsp;-&nbsp;Yaletown</option>',
111
+ '<option value="Toronto, ON, Canada">&nbsp;-&nbsp;Toronto, ON</option>',
112
+ '<option value="USA">USA</option>',
113
+ '<option value="Berkeley, CA, USA">&nbsp;-&nbsp;Berkeley, CA</option>',
114
+ '<option value="Claremont, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;Claremont</option>',
115
+ '<option value="Downtown Berkeley, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;Downtown Berkeley</option>',
116
+ '<option value="East Solano Ave, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;East Solano Ave</option>',
117
+ '<option value="Elmwood, Berkeley, CA, USA">&nbsp;-&nbsp;-&nbsp;Elmwood</option>',
118
+ '<option value="New York, NY, USA" selected="selected">&nbsp;-&nbsp;New York, NY</option>',
119
+ '<option value="Bronx, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;Bronx</option>',
120
+ '<option value="Baychester, Bronx, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Baychester</option>',
121
+ '<option value="Bedford Park, Bronx, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Bedford Park</option>',
122
+ '<option value="Brooklyn, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;Brooklyn</option>',
123
+ '<option value="Bath Beach, Brooklyn, New York, NY, USA" selected="selected">&nbsp;-&nbsp;-&nbsp;-&nbsp;Bath Beach</option>',
124
+ '<option value="Bay Ridge, Brooklyn, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;-&nbsp;Bay Ridge</option>',
125
+ '<option value="Staten Island, New York, NY, USA">&nbsp;-&nbsp;-&nbsp;Staten Island</option>',
126
+ '<option value="Seattle, WA, USA">&nbsp;-&nbsp;Seattle, WA</option>'
127
+ ]
128
+ end
129
+
130
+ end
131
+
132
+ module Yelp4rCatsSpecHelper
133
+
134
+ def yelp4r_test_cats_list
135
+ [
136
+ {"active" => {
137
+ :display => "Active Life",
138
+ :children => [
139
+ {"amusementparks" => {:display => "Amusement Parks"}},
140
+ {"fitness" => {
141
+ :display => "Fitness & Instruction",
142
+ :children => [
143
+ {"dancestudio" => {:display => "Dance Studios"}},
144
+ {"gyms" => {:display => "Gyms"}},
145
+ {"martialarts" => {:display => "Martial Arts"}}
146
+ ]
147
+ }
148
+ }
149
+ ]
150
+ }
151
+ },
152
+ {"auto" => {
153
+ :display => "Automotive",
154
+ :children => [
155
+ {"auto_detailing" => {:display => "Auto Detailing"}},
156
+ {"autoglass" => {:display => "Auto Glass Services"}}
157
+ ]
158
+ }
159
+ },
160
+ {"shopping" => {
161
+ :display => "Shopping",
162
+ :children => [
163
+ {"homeandgarden" => {
164
+ :display => "Home & Garden",
165
+ :children => [
166
+ {"appliances" => {:display => "Appliances"}},
167
+ {"furniture" => {:display => "Furniture Stores"}}
168
+ ]
169
+ }
170
+ },
171
+ {"sportgoods" => {
172
+ :display => "Sporting Goods",
173
+ :children => [
174
+ {"bikes" => {:display => "Bikes"}},
175
+ {"outdoorgear" => {:display => "Outdoor Gear"}},
176
+ {"sportswear" => {:display => "Sports Wear"}}
177
+ ]
178
+ }
179
+ },
180
+ {"thrift_stores" => {:display => "Thrift Stores"}}
181
+ ]
182
+ }
183
+ }
184
+ ]
185
+ end
186
+
187
+ def yelp4r_test_cats_opts
188
+ [
189
+ '<option value="active">Active Life</option>',
190
+ '<option value="amusementparks">&nbsp;-&nbsp;Amusement Parks</option>',
191
+ '<option value="fitness">&nbsp;-&nbsp;Fitness & Instruction</option>',
192
+ '<option value="dancestudio">&nbsp;-&nbsp;-&nbsp;Dance Studios</option>',
193
+ '<option value="gyms">&nbsp;-&nbsp;-&nbsp;Gyms</option>',
194
+ '<option value="martialarts">&nbsp;-&nbsp;-&nbsp;Martial Arts</option>',
195
+ '<option value="auto">Automotive</option>',
196
+ '<option value="auto_detailing">&nbsp;-&nbsp;Auto Detailing</option>',
197
+ '<option value="autoglass">&nbsp;-&nbsp;Auto Glass Services</option>',
198
+ '<option value="shopping">Shopping</option>',
199
+ '<option value="homeandgarden">&nbsp;-&nbsp;Home & Garden</option>',
200
+ '<option value="appliances">&nbsp;-&nbsp;-&nbsp;Appliances</option>',
201
+ '<option value="furniture">&nbsp;-&nbsp;-&nbsp;Furniture Stores</option>',
202
+ '<option value="sportgoods">&nbsp;-&nbsp;Sporting Goods</option>',
203
+ '<option value="bikes">&nbsp;-&nbsp;-&nbsp;Bikes</option>',
204
+ '<option value="outdoorgear">&nbsp;-&nbsp;-&nbsp;Outdoor Gear</option>',
205
+ '<option value="sportswear">&nbsp;-&nbsp;-&nbsp;Sports Wear</option>',
206
+ '<option value="thrift_stores">&nbsp;-&nbsp;Thrift Stores</option>'
207
+ ]
208
+ end
209
+
210
+ def yelp4r_test_cats_opts_single_selected
211
+ [
212
+ '<option value="active">Active Life</option>',
213
+ '<option value="amusementparks">&nbsp;-&nbsp;Amusement Parks</option>',
214
+ '<option value="fitness">&nbsp;-&nbsp;Fitness & Instruction</option>',
215
+ '<option value="dancestudio">&nbsp;-&nbsp;-&nbsp;Dance Studios</option>',
216
+ '<option value="gyms" selected="selected">&nbsp;-&nbsp;-&nbsp;Gyms</option>',
217
+ '<option value="martialarts">&nbsp;-&nbsp;-&nbsp;Martial Arts</option>',
218
+ '<option value="auto">Automotive</option>',
219
+ '<option value="auto_detailing">&nbsp;-&nbsp;Auto Detailing</option>',
220
+ '<option value="autoglass">&nbsp;-&nbsp;Auto Glass Services</option>',
221
+ '<option value="shopping">Shopping</option>',
222
+ '<option value="homeandgarden">&nbsp;-&nbsp;Home & Garden</option>',
223
+ '<option value="appliances">&nbsp;-&nbsp;-&nbsp;Appliances</option>',
224
+ '<option value="furniture">&nbsp;-&nbsp;-&nbsp;Furniture Stores</option>',
225
+ '<option value="sportgoods">&nbsp;-&nbsp;Sporting Goods</option>',
226
+ '<option value="bikes">&nbsp;-&nbsp;-&nbsp;Bikes</option>',
227
+ '<option value="outdoorgear">&nbsp;-&nbsp;-&nbsp;Outdoor Gear</option>',
228
+ '<option value="sportswear">&nbsp;-&nbsp;-&nbsp;Sports Wear</option>',
229
+ '<option value="thrift_stores">&nbsp;-&nbsp;Thrift Stores</option>'
230
+ ]
231
+ end
232
+
233
+ def yelp4r_test_cats_opts_multiple_selected
234
+ [
235
+ '<option value="active">Active Life</option>',
236
+ '<option value="amusementparks">&nbsp;-&nbsp;Amusement Parks</option>',
237
+ '<option value="fitness">&nbsp;-&nbsp;Fitness & Instruction</option>',
238
+ '<option value="dancestudio">&nbsp;-&nbsp;-&nbsp;Dance Studios</option>',
239
+ '<option value="gyms" selected="selected">&nbsp;-&nbsp;-&nbsp;Gyms</option>',
240
+ '<option value="martialarts">&nbsp;-&nbsp;-&nbsp;Martial Arts</option>',
241
+ '<option value="auto">Automotive</option>',
242
+ '<option value="auto_detailing">&nbsp;-&nbsp;Auto Detailing</option>',
243
+ '<option value="autoglass" selected="selected">&nbsp;-&nbsp;Auto Glass Services</option>',
244
+ '<option value="shopping">Shopping</option>',
245
+ '<option value="homeandgarden">&nbsp;-&nbsp;Home & Garden</option>',
246
+ '<option value="appliances" selected="selected">&nbsp;-&nbsp;-&nbsp;Appliances</option>',
247
+ '<option value="furniture">&nbsp;-&nbsp;-&nbsp;Furniture Stores</option>',
248
+ '<option value="sportgoods">&nbsp;-&nbsp;Sporting Goods</option>',
249
+ '<option value="bikes">&nbsp;-&nbsp;-&nbsp;Bikes</option>',
250
+ '<option value="outdoorgear">&nbsp;-&nbsp;-&nbsp;Outdoor Gear</option>',
251
+ '<option value="sportswear">&nbsp;-&nbsp;-&nbsp;Sports Wear</option>',
252
+ '<option value="thrift_stores">&nbsp;-&nbsp;Thrift Stores</option>'
253
+ ]
254
+ end
255
+
256
+ end