PetSearch 0.0.3 → 0.0.5

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDdjMDhmZDk2OGMyMjhhNmUzNjYwNjAwNDM1MzU0MjY2OGRhOWJlNA==
4
+ MGRkOGQ3NDBhZTI5NmUyNTljZjM1ZjQxMzI0YzdjZjU3YzdkNDUzOA==
5
5
  data.tar.gz: !binary |-
6
- MzdmZjU0N2VjZjQ0MzRkYjQ1MmFkYzY4ODJiNWY4NmFjMTIyMjZjMQ==
6
+ ZjNiNWQ5NDAxNzM5NTUxOGUxYzFhZGM2YTNkMzYyNTliY2E3Nzk2Nw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NGRlNDJkMTU5Y2ExMzFjYTc3YmEyMmNmYTgwYTA1ZmRhMjk4MWNjYTRhZjEw
10
- MmZlOTdhM2M5ZjgyZjY0MjBlOTRkMjVhYjRkNDE0OWU3YzJlNzAxZWRmOTFl
11
- ZTBjN2Q1YTcyN2NmMDlkOTRlMTdkNWMxMDgxYWQzZGVlMjM3ODE=
9
+ NDkwNWI2M2MzNzU1MWIwOWU2ZTYwMjUwMWQ0ZmYwZmRlYTE1Y2YzMGViNzAy
10
+ MjQ0YmU4Y2U5NTAzNzY4NGYyOWQyZWIzZGIwZjYyNmEyNzY2ZjE4ZjQ0ODc5
11
+ Zjk4YzQ4OTM3NTU2ODJiN2FhMjdmZmM4ZGI5OTk4ZjkyMzc1YTQ=
12
12
  data.tar.gz: !binary |-
13
- NzE2MTNhMDRhMjU1OWQ2NjUzMzU4NTc2YmFiMmQ1NzJlYzhjMjExNTM0YTBh
14
- ZDFlOGVmNjIyOWY0MTE4ZGRkYzM4MmIzYmI3YmMzMTA5MzZlN2E0NWM3MDhk
15
- NTAzNjAzZmYyNjYzOGQ2OTk2NjY1ZGZjYmIzOGIxZDgyZGYyZTA=
13
+ ZThjYzVjYWE1NmI1YzZiNzA4MDNiYmNiZmM2MTJhZGExZWY2YTc4ZTkwNmQ4
14
+ ZjgzOWZjYmM4ZjM2YzMzNDM1MTA5ZWY4ZjcxZGUyOGY1OWE5YWE4NjZkZTFm
15
+ NWFjYjc0NmE2YzE2ZmQ3YTI3ODIyMjFhNmI4NmZhMTYyMjBkZWQ=
@@ -3,11 +3,12 @@ require 'open-uri'
3
3
  require 'digest/md5'
4
4
  require 'nokogiri'
5
5
  require 'date'
6
- require 'petsearch/PetClient'
6
+ require './petsearch/petclient'
7
+ require './petsearch/pet'
7
8
 
8
9
  class PetSearch
9
10
  attr_accessor :dog, :cat, :bird, :reptile, :horse, :pig, :barnyard, :smallfurry
10
-
11
+ @@options = Hash.new
11
12
  def initialize
12
13
  @dog = {:name => 'dog', :breeds => []}
13
14
  @cat = {:name => 'cat', :breeds => []}
@@ -20,7 +21,42 @@ class PetSearch
20
21
  end
21
22
 
22
23
 
23
- end
24
+ def self.init_options(*args)
25
+ begin
26
+ @@options[:breeds] = args.grep(/[Bb]reeds/).first.downcase.match(/(?<=breeds=).*/)[0].split(',') if args.grep(/[Bb]reeds/).first
27
+ @@options[:animal] = args.grep(/[Dd]og|[Cc]at|[Bb]ird|[Rr]eptile|[Hh]orse|[Pp]ig|[Bb]arnyard|[Ss]mallfurry/).first
28
+ @@options[:age] = args.grep(/[Bb]aby|[Yy]oung|[Aa]dult|[Ss]enior/).first
29
+ @@options[:location] = args.grep(/[1..9]/).first
30
+ @@options[:sex] = args.grep(/[Mm]|[Ff]/).first.upcase if args.grep(/[Mm]|[Ff]/)
31
+ @@options[:size] = args.grep(/[Ss]m|[Mm]dm|[Ll]rg|[Xx]l/).first.downcase if args.grep(/[Ss]m|[Mm]dm|[Ll]rg|[Xx]l/).first
32
+ case (@@options[:size])
33
+ when 'sm'
34
+ @@options[:size] = 'S'
35
+ when 'mdm'
36
+ @@options[:size] = 'M'
37
+ when 'lrg'
38
+ @@options[:size] = 'L'
39
+ when 'xl'
40
+ @@options[:size] = 'XL'
41
+ end
42
+ @@options[:random] = args.grep(/[Tt]rue|[Ff]alse/).first
43
+ @@options[:offset] = args.grep(/[Oo]ff/).first.downcase.match(/(?<=off).*/)[0] if args.grep(/[Oo]ff/).first
44
+ @@options[:count] = args.grep(/[Ct]/).first.downcase.match(/(?<=ct).*/)[0] if args.grep(/[Ct]/).first
45
+ rescue NoMethodError
46
+ puts "You have an error in your parameters"
47
+ end
48
+ end
49
+
50
+ def self.options
51
+ @@options
52
+ end
24
53
 
54
+ def self.search
55
+ PetClient.search_listings(@@options)
56
+ end
25
57
 
58
+ def self.get_token
59
+ PetClient.get_token
60
+ end
61
+ end
26
62
 
@@ -0,0 +1,26 @@
1
+ require 'date'
2
+ require 'json'
3
+ require_relative '../petsearch'
4
+
5
+ class Pet
6
+ attr_accessor :name, :age, :sex, :size, :petfinder_id, :shelter_id, :images, :breeds, :status, :contact, :description, :last_update, :options
7
+
8
+ def initialize
9
+ @name = ''
10
+ @age = ''
11
+ @sex = ''
12
+ @size = ''
13
+ @petfinder_id = ''
14
+ @shelter_id = ''
15
+ @images = []
16
+ @breeds = []
17
+ @contact = {}
18
+ @status = ''
19
+ @description = ''
20
+ @last_update = ''
21
+ @options = ''
22
+ end
23
+
24
+
25
+
26
+ end
@@ -63,8 +63,8 @@ class PetClient
63
63
  result = build_url(search_string, nil, id)
64
64
  end
65
65
 
66
- def self.search_listings(pet, options={})
67
- animal = (pet[:name].nil?) ? false : pet[:name]
66
+ def self.search_listings(options={})
67
+ animal = (options[:animal].nil?) ? false : options[:animal]
68
68
  breeds = (options[:breeds].nil? || options[:breeds].empty?) ? "" : options[:breeds]
69
69
  size = options[:size].nil? ? "" : options[:size]
70
70
  sex = options[:sex].nil? ? "" : options[:sex]
@@ -100,6 +100,7 @@ class PetClient
100
100
  result_set << build_url(search_string)
101
101
  end
102
102
  end
103
+ return result_set
103
104
  end
104
105
 
105
106
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: PetSearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lior Bendat, Sharif Hadidi
@@ -61,6 +61,7 @@ extra_rdoc_files: []
61
61
  files:
62
62
  - lib/petsearch.rb
63
63
  - lib/petsearch/petclient.rb
64
+ - lib/petsearch/pet.rb
64
65
  homepage: https://github.com/lbendat/PetfinderAPIGem
65
66
  licenses:
66
67
  - Open-Source