PetSearch 0.0.7.9 → 0.0.8.2.3
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.
- checksums.yaml +8 -8
- data/lib/petsearch.rb +22 -19
- data/lib/petsearch/pet.rb +33 -10
- data/lib/petsearch/petclient.rb +66 -29
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            !binary "U0hBMQ==":
         | 
| 3 3 | 
             
              metadata.gz: !binary |-
         | 
| 4 | 
            -
                 | 
| 4 | 
            +
                OGUwODQ5YTVhOTNmZjViOGEwYzYzZTZkNDI5ZWVhM2JkZDNjNWZiYQ==
         | 
| 5 5 | 
             
              data.tar.gz: !binary |-
         | 
| 6 | 
            -
                 | 
| 6 | 
            +
                NWFiOWUzYjVmNzFiYzU1ZDVjYTllNzc1NTlmZTcyZjRjZjlhNjViOA==
         | 
| 7 7 | 
             
            !binary "U0hBNTEy":
         | 
| 8 8 | 
             
              metadata.gz: !binary |-
         | 
| 9 | 
            -
                 | 
| 10 | 
            -
                 | 
| 11 | 
            -
                 | 
| 9 | 
            +
                ODk1MTg5Yjg3OTZmYmU4MjE2NDAwMjgyMTc3NzUxYWVhMjljMmQzYzJiN2Yz
         | 
| 10 | 
            +
                YjY4OWFjZDNiMTMyNzIxZDRkYzQ0NjExZGE0NzEyZTljNzFjMDQ1MTg4NTA2
         | 
| 11 | 
            +
                OTliMWU0OTA1MmJiYmU4OTEyM2IxYjY0YzcxMTUwNDJmZTY5NTQ=
         | 
| 12 12 | 
             
              data.tar.gz: !binary |-
         | 
| 13 | 
            -
                 | 
| 14 | 
            -
                 | 
| 15 | 
            -
                 | 
| 13 | 
            +
                MmY4YjBlMWFkYmQyODYwMWE2ZjhmMGZlY2UxYjc5ZmM5NjUzMGZkOTRmNDI4
         | 
| 14 | 
            +
                OTNhMTUyYTRjNjhkODkyMDIyZWQ5ZGJkZjNjNmYyZjc3MGM5YTU2NDM5NzEw
         | 
| 15 | 
            +
                ZWRjNmU4ZjgwOThiYjlkZjA1YWYxYTAxNDE3YjVmYmRkZDllN2I=
         | 
    
        data/lib/petsearch.rb
    CHANGED
    
    | @@ -8,7 +8,7 @@ require 'petsearch/pet' | |
| 8 8 |  | 
| 9 9 |  | 
| 10 10 | 
             
            class PetSearch
         | 
| 11 | 
            -
              attr_accessor :dog, :cat, :bird, :reptile, :horse, :pig, :barnyard, :smallfurry
         | 
| 11 | 
            +
              attr_accessor :dog, :cat, :bird, :reptile, :horse, :pig, :barnyard, :smallfurry, :api_key, :api_secret
         | 
| 12 12 | 
             
              def initialize
         | 
| 13 13 | 
             
                @dog = {:name => 'dog', :breeds => []}
         | 
| 14 14 | 
             
                @cat = {:name => 'cat', :breeds => []}
         | 
| @@ -20,27 +20,34 @@ class PetSearch | |
| 20 20 | 
             
                @smallfurry = {:name => 'smallfurry', :breeds => []}
         | 
| 21 21 | 
             
              end
         | 
| 22 22 |  | 
| 23 | 
            -
             | 
| 24 23 | 
             
              def self.init_options(*args)
         | 
| 25 24 | 
             
                @@options = Hash.new
         | 
| 26 25 | 
             
                begin
         | 
| 27 26 | 
             
                  @@options[:breeds] = args.grep(/[Bb]reeds/).first.downcase.match(/(?<=breeds=).*/)[0].split(',') if args.grep(/[Bb]reeds/).first
         | 
| 28 27 | 
             
                  @@options[:animal] = args.grep(/[Dd]og|[Cc]at|[Bb]ird|[Rr]eptile|[Hh]orse|[Pp]ig|[Bb]arnyard|[Ss]mallfurry/).first
         | 
| 29 28 | 
             
                  @@options[:age] = args.grep(/[Bb]aby|[Yy]oung|[Aa]dult|[Ss]enior/).first
         | 
| 30 | 
            -
                  @@options[:location] = args.grep(/ | 
| 29 | 
            +
                  @@options[:location] = args.grep(/\d{5}/).first.strip
         | 
| 31 30 | 
             
                  @@options[:sex] = args.grep(/[Ss]ex/).first.downcase.match(/(?<=sex=).*/)[0].upcase if args.grep(/[Ss]ex/).first
         | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 31 | 
            +
             | 
| 32 | 
            +
                  if (args.grep(/[Ss]m|[Mm]dm|[Ll]rg|[Xx]l/).length == 2)
         | 
| 33 | 
            +
                    @@options[:size] = args.grep(/[Ss]m|[Mm]dm|[Ll]rg|[Xx]l/)[1].downcase
         | 
| 34 | 
            +
                  elsif (args.grep(/[Ss]m|[Mm]dm|[Ll]rg|[Xx]l/).length == 1)
         | 
| 35 | 
            +
                    @@options[:size] = args.grep(/[Ss]m|[Mm]dm|[Ll]rg|[Xx]l/).first.downcase
         | 
| 36 | 
            +
                  else
         | 
| 37 | 
            +
                    @@options[:size]=nil
         | 
| 38 | 
            +
                  end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                  case (@@options[:size])
         | 
| 41 | 
            +
                  when 'sm'
         | 
| 42 | 
            +
                    @@options[:size] = 'S'
         | 
| 43 | 
            +
                  when 'mdm'
         | 
| 44 | 
            +
                    @@options[:size] = 'M'
         | 
| 45 | 
            +
                  when 'lrg'
         | 
| 46 | 
            +
                    @@options[:size] = 'L'
         | 
| 47 | 
            +
                  when 'xl'
         | 
| 48 | 
            +
                      @@options[:size] = 'XL'
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
              @@options[:random] = args.grep(/[Tt]rue|[Ff]alse/).first
         | 
| 44 51 | 
             
                  @@options[:offset] = args.grep(/[Oo]ff/).first.downcase.match(/(?<=off).*/)[0] if args.grep(/[Oo]ff/).first
         | 
| 45 52 | 
             
                  @@options[:count] = args.grep(/[Cc]t/).first.downcase.match(/(?<=ct).*/)[0] if args.grep(/[Cc]t/).first
         | 
| 46 53 | 
             
                rescue NoMethodError
         | 
| @@ -57,10 +64,6 @@ class PetSearch | |
| 57 64 |  | 
| 58 65 | 
             
              end
         | 
| 59 66 |  | 
| 60 | 
            -
              def self.get_token
         | 
| 61 | 
            -
                PetClient.get_token
         | 
| 62 | 
            -
              end
         | 
| 63 | 
            -
             | 
| 64 67 |  | 
| 65 68 | 
             
            end
         | 
| 66 69 |  | 
    
        data/lib/petsearch/pet.rb
    CHANGED
    
    | @@ -28,7 +28,7 @@ class Pet | |
| 28 28 | 
             
              def self.pets
         | 
| 29 29 | 
             
                @@pets
         | 
| 30 30 | 
             
              end
         | 
| 31 | 
            -
             | 
| 31 | 
            +
              #(?<=\&)(\d{5})(?=\&)
         | 
| 32 32 | 
             
              ##### RAILS ONLY - FOR SEARCHING WITH URLS
         | 
| 33 33 | 
             
              def self.make_search(options)
         | 
| 34 34 | 
             
                animal = options.match(/animal=(.*?)&/).nil? ? "ERROR" : options.match(/animal=(.*?)&/)[1]
         | 
| @@ -37,8 +37,15 @@ class Pet | |
| 37 37 | 
             
                offset = options.match(/&off(.*?)&/).nil? ? "" : options.match(/&off(.*?)&/)[1]
         | 
| 38 38 | 
             
                count = options.match(/&ct(.*?)&/).nil? ? "" : options.match(/&ct(.*?)&/)[1]
         | 
| 39 39 | 
             
                sex = options.match(/&sex=(.*?)&/).nil? ? "" : options.match(/&sex=(.*?)&/)[1]
         | 
| 40 | 
            -
                location = options.match(/(( | 
| 41 | 
            -
                 | 
| 40 | 
            +
                location = options.match(/(?<=\&)(\d{5})(?=\&)/).nil? ? "" : options.match(/(?<=\&)(\d{5})(?=\&)/)[1]
         | 
| 41 | 
            +
                if options.match(/(?=)([Ss]m|[Mm]dm|[Ll]rg|[Xx]l)/).nil?
         | 
| 42 | 
            +
                  size = ""
         | 
| 43 | 
            +
                elsif options.match(/(?=)([Ss]m|[Mm]dm|[Ll]rg|[Xx]l)/).length > 3
         | 
| 44 | 
            +
                  size = options.match(/(?=)([Ss]m|[Mm]dm|[Ll]rg|[Xx]l)/)[2]
         | 
| 45 | 
            +
                else
         | 
| 46 | 
            +
                  size = options.match(/(?=)([Ss]m|[Mm]dm|[Ll]rg|[Xx]l)/)[1]
         | 
| 47 | 
            +
                end
         | 
| 48 | 
            +
                PetSearch.init_options("#{animal}", "#{location}", "ct#{count}", "#{size}", "#{sex}", "off#{offset}")
         | 
| 42 49 | 
             
                PetSearch.options[:breeds] = breeds.nil? ? [] : breeds
         | 
| 43 50 | 
             
                result = PetSearch.search
         | 
| 44 51 | 
             
                make_pet(result)
         | 
| @@ -46,21 +53,36 @@ class Pet | |
| 46 53 |  | 
| 47 54 | 
             
              def self.make_pet(result)
         | 
| 48 55 | 
             
                @@pets = []
         | 
| 49 | 
            -
                result[0]['petfinder'][' | 
| 56 | 
            +
                return [{'code' => '999', 'message' => 'Cannot Make Pet. Bad parameters or no results'}] if ((!result[0]['code'].nil? || result[0]['petfinder']['header']['status']['code']['$t'].to_i != 100) == true)
         | 
| 57 | 
            +
                if result[0]['petfinder']['lastOffset']['$t'].to_i > 1
         | 
| 58 | 
            +
                  petresult =  result[0]['petfinder']['pets']['pet']
         | 
| 59 | 
            +
                elsif result[0]['petfinder']['lastOffset']['$t'].to_i == 1
         | 
| 60 | 
            +
                  petresult = [[]]
         | 
| 61 | 
            +
                  petresult[0] << result[0]['petfinder']['pets']['pet']
         | 
| 62 | 
            +
                  petresult = petresult[0]
         | 
| 63 | 
            +
                else
         | 
| 64 | 
            +
                end
         | 
| 65 | 
            +
                resultsize = result[0]['petfinder']['lastOffset']['$t'].to_i
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                petresult.each do |pet|
         | 
| 50 68 | 
             
                    p = Pet.new
         | 
| 51 | 
            -
             | 
| 69 | 
            +
             | 
| 70 | 
            +
                    if (pet['options']['option'].class == Hash)
         | 
| 52 71 | 
             
                      p.options << pet['options']['option']['$t']
         | 
| 53 | 
            -
                    elsif pet['options']['option'].class == Array
         | 
| 72 | 
            +
                    elsif (pet['options']['option'].class == Array)
         | 
| 54 73 | 
             
                      p.options = pet['options']['option'].map { |t|
         | 
| 55 74 | 
             
                          t['$t'] }
         | 
| 56 75 | 
             
                    else
         | 
| 57 76 | 
             
                      p.options = []
         | 
| 58 77 | 
             
                    end
         | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 78 | 
            +
             | 
| 79 | 
            +
                    if (pet['breeds']['breed'].class == Hash)
         | 
| 80 | 
            +
                      p.breeds << pet['breeds']['breed']['$t']
         | 
| 81 | 
            +
                    elsif (pet['breeds']['breed'].class == Array)
         | 
| 62 82 | 
             
                     p.breeds = pet['breeds']['breed'].map { |t|
         | 
| 63 83 | 
             
                      t['$t']}
         | 
| 84 | 
            +
                    else
         | 
| 85 | 
            +
                     p.breeds = []
         | 
| 64 86 | 
             
                    end
         | 
| 65 87 | 
             
                    p.shelter_pet_id = pet['shelterPetId'] ? pet['shelterPetId']['$t'] : ""
         | 
| 66 88 | 
             
                    p.status = pet['status']['$t']
         | 
| @@ -86,10 +108,11 @@ class Pet | |
| 86 108 | 
             
                      p.images = []
         | 
| 87 109 | 
             
                    end
         | 
| 88 110 | 
             
                    p.petfinder_id = pet['id']['$t']
         | 
| 89 | 
            -
                   @@pets << p
         | 
| 90 111 |  | 
| 112 | 
            +
                   @@pets << p
         | 
| 91 113 | 
             
                 end
         | 
| 92 114 | 
             
                return @@pets
         | 
| 115 | 
            +
             | 
| 93 116 | 
             
              end
         | 
| 94 117 |  | 
| 95 118 | 
             
            end
         | 
    
        data/lib/petsearch/petclient.rb
    CHANGED
    
    | @@ -4,8 +4,14 @@ require 'digest/md5' | |
| 4 4 | 
             
            require 'nokogiri'
         | 
| 5 5 | 
             
            require 'date'
         | 
| 6 6 |  | 
| 7 | 
            -
            class PetClient
         | 
| 8 7 |  | 
| 8 | 
            +
            class NoRecordError < Exception
         | 
| 9 | 
            +
            end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            class BadKeyError < Exception
         | 
| 12 | 
            +
            end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            class PetClient
         | 
| 9 15 | 
             
              @@token_hash = Hash.new
         | 
| 10 16 |  | 
| 11 17 | 
             
              def initialize
         | 
| @@ -15,50 +21,77 @@ class PetClient | |
| 15 21 | 
             
                @@token_hash
         | 
| 16 22 | 
             
              end
         | 
| 17 23 |  | 
| 18 | 
            -
              def self.get_token
         | 
| 19 | 
            -
             | 
| 24 | 
            +
              def self.get_token(api_key=nil, api_secret=nil)
         | 
| 25 | 
            +
               begin
         | 
| 26 | 
            +
                key_status = 'bad' if ((api_key==nil ||  api_secret==nil) && (ENV['PET_SECRET']==nil || ENV['PET_KEY']==nil))
         | 
| 27 | 
            +
                raise BadKeyError, "API KEY ERROR" if key_status=='bad'
         | 
| 28 | 
            +
                key_secret =  (api_key.nil? || api_secret.nil?) ? ("#{ENV['PET_SECRET']}key=#{ENV['PET_KEY']}") : (api_secret+"key="+api_key)
         | 
| 20 29 | 
             
                md5 = Digest::MD5.hexdigest(key_secret)
         | 
| 21 30 | 
             
                @@token_hash = Hash.new
         | 
| 22 31 | 
             
                @@token_hash[:md5] = md5
         | 
| 23 32 | 
             
                @@token_hash[:time] = Time.now
         | 
| 24 | 
            -
                 | 
| 25 | 
            -
                url = "http://api.petfinder.com/auth.getToken?key=#{ENV['PET_KEY']}&sig=#{@@token_hash[:md5]}"
         | 
| 33 | 
            +
                url = (api_key.nil? || api_secret.nil?) ? "http://api.petfinder.com/auth.getToken?key=#{ENV['PET_KEY']}&sig=#{@@token_hash[:md5]}" : "http://api.petfinder.com/auth.getToken?key=#{api_key}&sig=#{@@token_hash[:md5]}"
         | 
| 26 34 | 
             
                updated_url = URI.encode(url)
         | 
| 27 35 | 
             
                result = Nokogiri::XML(open(updated_url.strip).read)
         | 
| 28 36 | 
             
                @@token_hash[:token] = result.xpath("//auth//token/text()").text.strip
         | 
| 29 37 | 
             
                parsed_date = Time.at(result.xpath("//auth/expires/text()").text.strip.to_i)
         | 
| 30 38 | 
             
                @@token_hash[:expires] = Time.parse(parsed_date.strftime('%a %d %b %Y %I:%M:%S %p'))
         | 
| 39 | 
            +
                puts ("Your token expires at #{@@token_hash[:expires]}")
         | 
| 40 | 
            +
                raise BadKeyError, "API KEY ERROR" if @@token_hash[:expires] < Time.now
         | 
| 41 | 
            +
                rescue
         | 
| 42 | 
            +
                   "Re-check your keys"
         | 
| 43 | 
            +
                end
         | 
| 31 44 | 
             
              end
         | 
| 32 45 |  | 
| 33 | 
            -
             | 
| 34 46 | 
             
              def self.breed_list(animal)
         | 
| 35 | 
            -
                 | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 47 | 
            +
                begin
         | 
| 48 | 
            +
                  raise ArgumentError if (@@token_hash[:expires].nil?  || @@token_hash[:expires] < Time.now )
         | 
| 49 | 
            +
                  search_string = "#{ENV['PET_SECRET']}key=#{ENV['PET_KEY']}&animal=#{animal}&format=json&token=#{@@token_hash[:token]}"
         | 
| 50 | 
            +
                  sig = Digest::MD5.hexdigest(search_string)
         | 
| 51 | 
            +
                  url = "http://api.petfinder.com/breed.list?key=#{ENV['PET_KEY']}&animal=#{animal}&format=json&token=#{@@token_hash[:token]}&sig=#{sig}"
         | 
| 52 | 
            +
                  updated_url = URI.encode(url)
         | 
| 53 | 
            +
                  result = JSON.parse(open(updated_url.strip).read)
         | 
| 54 | 
            +
                rescue ArgumentError
         | 
| 55 | 
            +
                   "Key Error.  Did you do PetClient.get_token(key, secret) or use PetClient.get_token with ENV variables?"
         | 
| 56 | 
            +
                  return false
         | 
| 57 | 
            +
                end
         | 
| 40 58 | 
             
              end
         | 
| 41 59 |  | 
| 42 60 | 
             
              ##load all the breeds
         | 
| 43 61 | 
             
              def self.load_breeds(pet)
         | 
| 44 | 
            -
                 | 
| 45 | 
            -
             | 
| 46 | 
            -
                 | 
| 62 | 
            +
                if breed_list(pet[:name]) == false
         | 
| 63 | 
            +
                  puts("You have a key error")
         | 
| 64 | 
            +
                else
         | 
| 65 | 
            +
                  pet[:breeds] = breed_list(pet[:name])['petfinder']['breeds']['breed'].map { |b|
         | 
| 66 | 
            +
                      b["$t"]
         | 
| 67 | 
            +
                 }
         | 
| 68 | 
            +
               end
         | 
| 47 69 | 
             
              end
         | 
| 48 70 |  | 
| 49 71 | 
             
              ## DRY-ish method for API lookup
         | 
| 50 72 | 
             
              def self.build_url(search_string, random=nil, id=nil)
         | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
                   | 
| 55 | 
            -
             | 
| 56 | 
            -
                   | 
| 57 | 
            -
             | 
| 58 | 
            -
                   | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 73 | 
            +
               begin
         | 
| 74 | 
            +
                  sig = Digest::MD5.hexdigest(search_string)
         | 
| 75 | 
            +
                  partial_string = search_string.scan(/key.*/)[0]
         | 
| 76 | 
            +
                  if random && id.nil? == true
         | 
| 77 | 
            +
                    url = "http://api.petfinder.com/pet.getRandom?"+ partial_string+"&sig=#{sig}"
         | 
| 78 | 
            +
                  elsif !random && id.nil? == true
         | 
| 79 | 
            +
                    url = "http://api.petfinder.com/pet.find?"+ partial_string+"&sig=#{sig}"
         | 
| 80 | 
            +
                  else
         | 
| 81 | 
            +
                    url = "http://api.petfinder.com/pet.get?"+ partial_string+"&sig=#{sig}"
         | 
| 82 | 
            +
                  end
         | 
| 83 | 
            +
                  updated_url = URI.encode(url)
         | 
| 84 | 
            +
                result = JSON.parse(open(updated_url.strip).read)
         | 
| 85 | 
            +
                raise NoMethodError if result['petfinder']['header']['status']['code']['$t'].to_i == 200
         | 
| 86 | 
            +
                raise NoRecordError if result['petfinder']['header']['status']['code']['$t'].to_i == 201
         | 
| 87 | 
            +
                result
         | 
| 88 | 
            +
               rescue NoMethodError
         | 
| 89 | 
            +
                 return {'code' => '999', 'message' => "You typed in your options incorrectly"}
         | 
| 90 | 
            +
               rescue NoRecordError
         | 
| 91 | 
            +
                 return {'code' => '201', 'message' => 'No results found'}
         | 
| 92 | 
            +
               rescue
         | 
| 93 | 
            +
                 return {'code' => '999', 'message' => "Invalid token.  Did you do PetClient.get_token(key, secret) or use PetClient.get_token with ENV variables?" }
         | 
| 94 | 
            +
               end
         | 
| 62 95 | 
             
              end
         | 
| 63 96 |  | 
| 64 97 | 
             
              def self.get_pet(id)
         | 
| @@ -88,19 +121,23 @@ class PetClient | |
| 88 121 | 
             
                    ## must have separate random search because do not want to pass in parameters that will break api call, even if empty strings
         | 
| 89 122 | 
             
                    if random
         | 
| 90 123 | 
             
                     search_string = "#{ENV['PET_SECRET']}key=#{ENV['PET_KEY']}&animal=#{animal}&size=#{size}&breed=#{breed}&sex=#{sex}&location=#{location}&output=full&format=json&token=#{@@token_hash[:token]}"
         | 
| 91 | 
            -
                      | 
| 124 | 
            +
                     result = build_url(search_string, random)
         | 
| 125 | 
            +
                     result_set << result
         | 
| 92 126 | 
             
                    else
         | 
| 93 127 | 
             
                     search_string = "#{ENV['PET_SECRET']}key=#{ENV['PET_KEY']}&animal=#{animal}&size=#{size}&breed=#{breed}&sex=#{sex}&location=#{location}&age=#{age}&offset=#{offset}&count=#{count}&output=full&format=json&token=#{@@token_hash[:token]}"
         | 
| 94 | 
            -
                      | 
| 128 | 
            +
                     result = build_url(search_string)
         | 
| 129 | 
            +
                     result_set <<  result
         | 
| 95 130 | 
             
                   end
         | 
| 96 131 | 
             
                  }
         | 
| 97 132 | 
             
                else
         | 
| 98 133 | 
             
                  if random
         | 
| 99 134 | 
             
                    search_string = "#{ENV['PET_SECRET']}key=#{ENV['PET_KEY']}&animal=#{animal}&size=#{size}&sex=#{sex}&location=#{location}&output=full&format=json&token=#{@@token_hash[:token]}"
         | 
| 100 | 
            -
                     | 
| 135 | 
            +
                    result = build_url(search_string, random)
         | 
| 136 | 
            +
                    result_set <<  result
         | 
| 101 137 | 
             
                  else
         | 
| 102 138 | 
             
                    search_string = "#{ENV['PET_SECRET']}key=#{ENV['PET_KEY']}&animal=#{animal}&size=#{size}&sex=#{sex}&location=#{location}&age=#{age}&offset=#{offset}&count=#{count}&output=full&format=json&token=#{@@token_hash[:token]}"
         | 
| 103 | 
            -
                     | 
| 139 | 
            +
                    result = build_url(search_string)
         | 
| 140 | 
            +
                    result_set <<  result
         | 
| 104 141 | 
             
                  end
         | 
| 105 142 | 
             
                end
         | 
| 106 143 | 
             
                return result_set
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: PetSearch
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.8.2.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Lior Bendat, Sharif Hadidi
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2013- | 
| 11 | 
            +
            date: 2013-09-18 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: nokogiri
         |