boss 0.2 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README +4 -1
  2. data/Rakefile +1 -1
  3. data/lib/boss.rb +42 -9
  4. metadata +2 -2
data/README CHANGED
@@ -13,6 +13,8 @@ require 'boss'
13
13
 
14
14
  boss.appid = 'Bossdemo' # Set the BOSS appid to what Yahoo assigned you.
15
15
 
16
+ count="10" start="0" totalhits="8775"deephits="8775"
17
+
16
18
  image_example = boss.images.new('soccer', :count => 30) # Sets a new images resultset of 30 matching 'soccer'.
17
19
  image_example.resultset.each do |r| # Gets current images resultset.
18
20
  r.abstract # Now we don't know Crawford from Adam but he's a good friend of WCP-occasional-contributor Beans and he somewhat has a point, or at least made us laugh while making it.
@@ -22,7 +24,7 @@ image_example.resultset.each do |r| # Gets current images resultset.
22
24
  r.format # jpeg
23
25
  r.height # 213
24
26
  r.mimetype # image/jpeg
25
- r.refererclickur # http://wickedchopspoker.blogs.com/my_weblog/2006/06/world_cup_musin.html
27
+ r.refererclickurl # http://wickedchopspoker.blogs.com/my_weblog/2006/06/world_cup_musin.html
26
28
  r.refererurl # http://wickedchopspoker.blogs.com/my_weblog/2006/06/world_cup_musin.html
27
29
  r.size # 31500
28
30
  r.thumbnail_height # 120
@@ -50,6 +52,7 @@ news_example.nextpage # Returns string for next news resultset.
50
52
 
51
53
  spelling_example = boss.spelling.new # Sets a new spelling resultset.
52
54
  spelling_example.resultset.each do |r| # Gets current spelling resultset.
55
+ r.query # monkeys+giraffes
53
56
  r.suggestion # monkeys giraffes
54
57
  spelling_example.nextpage # Returns string for next spelling resultset.
55
58
 
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ spec = Gem::Specification.new do |s|
11
11
  s.name = 'boss'
12
12
  s.rubyforge_project = 'uipoet'
13
13
  s.summary = 'Yahoo BOSS for Ruby'
14
- s.version = '0.2'
14
+ s.version = '0.3'
15
15
  end
16
16
 
17
17
  Rake::GemPackageTask.new(spec) do |pkg|
data/lib/boss.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'rubygems'
2
+ require 'cgi'
2
3
  require 'uri'
3
4
  require 'net/http'
4
5
  require 'json'
@@ -19,15 +20,19 @@ module Boss
19
20
  @query = URI.encode(q)
20
21
  @arguments = arguments(a)
21
22
  end
23
+
24
+ def count
25
+ ysearchresponse['count'].to_i
26
+ end
22
27
 
23
28
  def nextpage
24
29
  ysearchresponse['nextpage']
25
30
  end
26
31
 
27
32
  def response
28
- ysearchresponse["resultset_#{service}"] || [:result => nil]
33
+ ysearchresponse["resultset_#{service}"]
29
34
  end
30
-
35
+
31
36
  private
32
37
 
33
38
  def arguments(a = {})
@@ -65,7 +70,11 @@ module Boss
65
70
  include Resultset
66
71
 
67
72
  def resultset
68
- response.collect{|r| Result.new(r)}
73
+ if count > 0
74
+ response.collect{|r| Result.new(r)}
75
+ else
76
+ response
77
+ end
69
78
  end
70
79
 
71
80
  class Result
@@ -149,7 +158,11 @@ module Boss
149
158
  include Resultset
150
159
 
151
160
  def resultset
152
- response.collect{|r| Result.new(r)}
161
+ if count > 0
162
+ response.collect{|r| Result.new(r)}
163
+ else
164
+ response
165
+ end
153
166
  end
154
167
 
155
168
  class Result
@@ -204,8 +217,16 @@ module Boss
204
217
 
205
218
  include Resultset
206
219
 
220
+ def response
221
+ ysearchresponse['resultset_spell']
222
+ end
223
+
207
224
  def resultset
208
- response.collect{|r| Result.new(r)}
225
+ if count > 0
226
+ response.collect{|r| Result.new(r)}
227
+ else
228
+ response
229
+ end
209
230
  end
210
231
 
211
232
  class Result
@@ -215,11 +236,15 @@ module Boss
215
236
  def initialize(r)
216
237
  @result = r
217
238
  end
218
-
239
+
240
+ def query
241
+ CGI.escape(suggestion)
242
+ end
243
+
219
244
  def suggestion
220
245
  @result['suggestion']
221
246
  end
222
-
247
+
223
248
  end
224
249
 
225
250
  end
@@ -229,7 +254,11 @@ module Boss
229
254
  include Resultset
230
255
 
231
256
  def resultset
232
- response.collect{|r| Result.new(r)}
257
+ if count > 0
258
+ response.collect{|r| Result.new(r)}
259
+ else
260
+ response
261
+ end
233
262
  end
234
263
 
235
264
  class Result
@@ -240,6 +269,10 @@ module Boss
240
269
  @result = r
241
270
  end
242
271
 
272
+ def strip_wbr(s)
273
+ s.gsub(/<wbr>/, '')
274
+ end
275
+
243
276
  def abstract
244
277
  @result['abstract']
245
278
  end
@@ -255,7 +288,7 @@ module Boss
255
288
  def dispurl(options = {})
256
289
  data = @result['dispurl']
257
290
  if options[:wbr] == false
258
- data.gsub(/<wbr>/, '')
291
+ strip_wbr(data)
259
292
  else
260
293
  data
261
294
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boss
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.2"
4
+ version: "0.3"
5
5
  platform: ruby
6
6
  authors:
7
7
  - UiPoet
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-16 00:00:00 -08:00
12
+ date: 2008-12-17 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency