petfinder 1.0.1 → 1.0.2
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 +4 -4
- data/.travis.yml +5 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/README.md +58 -15
- data/lib/petfinder/pet.rb +5 -1
- data/lib/petfinder/version.rb +1 -1
- metadata +14 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b255d17aefed3516c45591c66c83e06052e923a1
|
4
|
+
data.tar.gz: 6fa5e53647920ed44c91ce602416b7795640fd2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aea560646c6394909be26837245cc36b4c0e5593215dce4f5bb5f1b409aab61e60dbf220202721ad5b21adf01f30d06348a78113e41eff18c4567891d541766f
|
7
|
+
data.tar.gz: c3e18028c919a05df75a387371f08b1cec10b86c0674017c8866d9a8cf1159b8dce6cf752a50ccf93c52f7a731ad51f4ff42c42891f7be9eaa74bed130d8d2c1
|
data/.travis.yml
ADDED
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Petfinder
|
2
2
|
|
3
|
+
[][gem]
|
4
|
+
[][travis]
|
5
|
+
[](https://codeclimate.com/github/ehutzelman/petfinder)
|
6
|
+
|
7
|
+
[gem]: https://rubygems.org/gems/petfinder
|
8
|
+
[travis]: http://travis-ci.org/ehutzelman/petfinder
|
9
|
+
|
3
10
|
Ruby gem wrapper for the [Petfinder API](http://www.petfinder.com/developers/api-docs).
|
4
11
|
|
5
12
|
## Installation
|
@@ -28,31 +35,60 @@ Get your Petfinder API key at: http://www.petfinder.com/developers/api-key
|
|
28
35
|
|
29
36
|
### or configure once
|
30
37
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
38
|
+
```ruby
|
39
|
+
Petfinder.configure do |config|
|
40
|
+
config.api_key = 'your_api_key'
|
41
|
+
config.api_secret = 'your_api_secret'
|
42
|
+
end
|
43
|
+
petfinder = Petfinder::Client.new
|
44
|
+
```
|
36
45
|
|
37
46
|
## Examples
|
38
47
|
|
39
48
|
#### Return a list of dogs in the "90210" zip code
|
40
49
|
|
41
|
-
|
42
|
-
|
43
|
-
|
50
|
+
```ruby
|
51
|
+
pets = petfinder.find_pets('dog', '90210')
|
52
|
+
pets.count
|
53
|
+
# => "25"
|
44
54
|
|
45
|
-
|
46
|
-
|
55
|
+
pets.first.name
|
56
|
+
# => "Petey"
|
47
57
|
|
48
|
-
|
49
|
-
|
58
|
+
pets.first.shelterid
|
59
|
+
# => "CA123"
|
60
|
+
```
|
50
61
|
|
51
62
|
#### Return information about the shelter with id "CA123"
|
52
63
|
|
53
|
-
|
54
|
-
|
55
|
-
|
64
|
+
```ruby
|
65
|
+
shelter = petfinder.shelter('CA123')
|
66
|
+
shelter.name
|
67
|
+
# => "Melrose Place SPCA"
|
68
|
+
```
|
69
|
+
|
70
|
+
#### Other available methods
|
71
|
+
|
72
|
+
```ruby
|
73
|
+
# Valid animal types: barnyard, bird, cat, dog, horse, pig, reptile, smallfurry
|
74
|
+
breeds = petfinder.breeds(animal_type)
|
75
|
+
|
76
|
+
# Options available: animal, breed, size, sex, location, shelterid
|
77
|
+
pet = petfinder.random_pet(options)
|
78
|
+
pet = petfinder.pet(id)
|
79
|
+
|
80
|
+
# Options available: breed, size, sex, age, offset, count
|
81
|
+
pets = petfinder.find_pets(animal_type, location, options)
|
82
|
+
|
83
|
+
# Options available: status, offset, count
|
84
|
+
pets = shelter_pets(shelter_id, options)
|
85
|
+
|
86
|
+
# Options available: name, offset, count
|
87
|
+
shelters = petfinder.find_shelters(location, options)
|
88
|
+
shelters = petfinder.find_shelters_by_breed(animal_type, breed)
|
89
|
+
|
90
|
+
shelter = petfinder.shelter(shelter_id)
|
91
|
+
```
|
56
92
|
|
57
93
|
## TODO
|
58
94
|
|
@@ -66,3 +102,10 @@ Get your Petfinder API key at: http://www.petfinder.com/developers/api-key
|
|
66
102
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
67
103
|
4. Push to the branch (`git push origin my-new-feature`)
|
68
104
|
5. Create new Pull Request
|
105
|
+
|
106
|
+
## Copyright
|
107
|
+
|
108
|
+
Copyright (c) 2010-2013 Eric Hutzelman.
|
109
|
+
See [LICENSE][] for details.
|
110
|
+
|
111
|
+
[license]: LICENSE.txt
|
data/lib/petfinder/pet.rb
CHANGED
@@ -3,7 +3,7 @@ module Petfinder
|
|
3
3
|
extend XmlMapper
|
4
4
|
|
5
5
|
xml_attributes :id, :name, :animal, :mix, :age, :shelter_id, :shelter_pet_id,
|
6
|
-
:sex, :size, :description, :last_update, :status
|
6
|
+
:sex, :size, :description, :last_update, :status, :contact
|
7
7
|
|
8
8
|
attr_reader :photos
|
9
9
|
|
@@ -29,6 +29,10 @@ module Petfinder
|
|
29
29
|
@xml.xpath("//pet/options/option").map(&:text)
|
30
30
|
end
|
31
31
|
|
32
|
+
def city
|
33
|
+
@xml.xpath("//pet/contact/city").map(&:text)
|
34
|
+
end
|
35
|
+
|
32
36
|
def photos
|
33
37
|
parse_photos unless @photos
|
34
38
|
@photos
|
data/lib/petfinder/version.rb
CHANGED
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: petfinder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Hutzelman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: excon
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.26'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.26'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.6'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.6'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.3'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.3'
|
55
55
|
description: REST client for the Petfinder published API.
|
@@ -59,8 +59,9 @@ executables: []
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
-
- .gitignore
|
63
|
-
- .rspec
|
62
|
+
- ".gitignore"
|
63
|
+
- ".rspec"
|
64
|
+
- ".travis.yml"
|
64
65
|
- CHANGELOG.md
|
65
66
|
- Gemfile
|
66
67
|
- Gemfile.lock
|
@@ -96,17 +97,17 @@ require_paths:
|
|
96
97
|
- lib
|
97
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|
98
99
|
requirements:
|
99
|
-
- -
|
100
|
+
- - ">="
|
100
101
|
- !ruby/object:Gem::Version
|
101
102
|
version: '0'
|
102
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
104
|
requirements:
|
104
|
-
- -
|
105
|
+
- - ">="
|
105
106
|
- !ruby/object:Gem::Version
|
106
107
|
version: '0'
|
107
108
|
requirements: []
|
108
109
|
rubyforge_project:
|
109
|
-
rubygems_version: 2.
|
110
|
+
rubygems_version: 2.3.0
|
110
111
|
signing_key:
|
111
112
|
specification_version: 4
|
112
113
|
summary: Ruby gem wrapper for the Petfinder API.
|