oodle 1.1.3 → 1.1.4

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.
Files changed (3) hide show
  1. data/README.markdown +2 -2
  2. data/lib/oodle.rb +20 -20
  3. metadata +3 -3
@@ -25,9 +25,9 @@ key](http://developer.oodle.com/request-api-key) to get started.
25
25
  oodle.num = '15'
26
26
  oodle.sort = 'ctime_reverse'
27
27
  results = oodle.fetch_listings
28
- num = results['current']['num']
28
+ num = results['meta']['returned']
29
29
  listings = results['listings']
30
- (0..num-1).each { |i| p listings[i]['title'] }
30
+ 0.upto(num - 1) { |i| p listings[i]['title'] }
31
31
 
32
32
  ## Dependencies
33
33
 
@@ -16,11 +16,7 @@ module Oodle
16
16
  VERSION_URLS = {:v2=>"http://api.oodle.com/api/v2/listings"}
17
17
  RESPONSE_FORMATS = {
18
18
  :xml=>'xml', # - output is formatted in plain old XML
19
- :json=>'json', # - output is fromatted in JSON (JavaScript Object Notation)
20
- :php_serial=>'php_serial', # - output structure formatted in serialized PHP
21
- :php_export=>'php_export', # - output structure formatted as valid PHP
22
- :dump=>'dump', # - output is dumped with no formatting
23
- :rss2=>'rss2' # - listing information returned in RSS 2.0 format
19
+ :json=>'json' # - output is formatted in JSON (JavaScript Object Notation)
24
20
  }
25
21
 
26
22
  SORT_VALUES = {
@@ -62,6 +58,22 @@ module Oodle
62
58
  # Requires version be set
63
59
  # Build the url from the state of the current self
64
60
  def build_url
61
+ unless key && key.length > 0
62
+ raise ArgumentError, 'Missing API key parameter. Visit http://developer.oodle.com/request-api-key/ to get one.'
63
+ end
64
+
65
+ unless region && region.length > 0
66
+ raise ArgumentError, 'Missing region paramter. Visit http://developer.oodle.com/regions-list/ for possible regions.'
67
+ end
68
+
69
+ unless (category && category.length > 0) || (q && q.length > 0)
70
+ raise ArgumentError, 'You must supply a category or query parameter. Visit http://developer.oodle.com/categories-list/ for possible categories.'
71
+ end
72
+
73
+ unless num.to_i >= 1 && num.to_i <= 50
74
+ warn "num parameter is #{num.to_i} but should be between 1 and 50"
75
+ end
76
+
65
77
  url = VERSION_URLS[self.version]
66
78
  url += "?" unless url && url[-1] == '?'
67
79
  # must CGI escape each param value
@@ -71,9 +83,9 @@ module Oodle
71
83
  url = "#{url}&q=#{CGI::escape(self.q)}" if self.q
72
84
  url = "#{url}&attributes=#{CGI::escape(self.attributes_as_string)}" if self.attributes.size > 0
73
85
  url = "#{url}&location=#{CGI::escape(self.location)}" if self.location
74
- url = "#{url}&radius=#{CGI::escape(self.radius)}" if self.radius
75
- url = "#{url}&start=#{CGI::escape(self.start)}" if self.start
76
- url = "#{url}&num=#{CGI::escape(self.num)}" if self.num
86
+ url = "#{url}&radius=#{CGI::escape(self.radius.to_s)}" if self.radius
87
+ url = "#{url}&start=#{CGI::escape(self.start.to_s)}" if self.start
88
+ url = "#{url}&num=#{CGI::escape(self.num.to_s)}" if self.num
77
89
  url = "#{url}&sort=#{CGI::escape(self.sort)}" if self.sort
78
90
  url = "#{url}&refinements=#{CGI::escape(self.refinements_as_string)}" if self.refinements.size > 0
79
91
  url = "#{url}&ctime_low=#{CGI::escape(self.ctime_low)}" if self.ctime_low
@@ -107,10 +119,6 @@ module Oodle
107
119
  =begin
108
120
  xml - output is formatted in plain old XML
109
121
  json - output is fromatted in JSON (JavaScript Object Notation)
110
- php_serial - output structure formatted in serialized PHP
111
- php_export - output structure formatted as valid PHP
112
- dump - output is dumped with no formatting
113
- rss2 - listing information returned in RSS 2.0 format
114
122
  =end
115
123
  def fetch_raw(format=nil)
116
124
  @format = RESPONSE_FORMATS[format] if format
@@ -128,14 +136,6 @@ module Oodle
128
136
  result = XmlSimple.xml_in raw, { 'ForceArray' => false, 'AttrPrefix' => true }
129
137
  when 'json'
130
138
  result = JSON.parse(raw)
131
- when 'php_serial'
132
- # return raw
133
- when 'php_export'
134
- # return raw
135
- when 'dump'
136
- # return raw
137
- when 'rss2'
138
- # TODO parse rss2 raw
139
139
  end
140
140
  result = raw unless result
141
141
  result
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 1
8
- - 3
9
- version: 1.1.3
8
+ - 4
9
+ version: 1.1.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Kristan 'Krispy' Uccello
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-04-05 00:00:00 -04:00
18
+ date: 2010-04-10 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency