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.
- data/README.markdown +2 -2
- data/lib/oodle.rb +20 -20
- metadata +3 -3
    
        data/README.markdown
    CHANGED
    
    | @@ -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[' | 
| 28 | 
            +
                num = results['meta']['returned']
         | 
| 29 29 | 
             
                listings = results['listings']
         | 
| 30 | 
            -
                ( | 
| 30 | 
            +
                0.upto(num - 1) { |i| p listings[i]['title'] }
         | 
| 31 31 |  | 
| 32 32 | 
             
            ## Dependencies
         | 
| 33 33 |  | 
    
        data/lib/oodle.rb
    CHANGED
    
    | @@ -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' | 
| 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 | 
            -
              -  | 
| 9 | 
            -
              version: 1.1. | 
| 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- | 
| 18 | 
            +
            date: 2010-04-10 00:00:00 -04:00
         | 
| 19 19 | 
             
            default_executable: 
         | 
| 20 20 | 
             
            dependencies: 
         | 
| 21 21 | 
             
            - !ruby/object:Gem::Dependency 
         |