petfinder 1.0.4 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +12 -8
- data/.rspec +1 -0
- data/.travis.yml +4 -3
- data/CHANGELOG.md +4 -0
- data/Gemfile +4 -12
- data/Gemfile.lock +39 -36
- data/LICENSE.txt +1 -1
- data/README.md +67 -44
- data/Rakefile +0 -8
- data/bin/bundle +114 -0
- data/bin/console +14 -0
- data/bin/htmldiff +29 -0
- data/bin/ldiff +29 -0
- data/bin/rackup +29 -0
- data/bin/rake +29 -0
- data/bin/rspec +29 -0
- data/bin/safe_yaml +29 -0
- data/bin/setup +8 -0
- data/lib/petfinder.rb +13 -11
- data/lib/petfinder/api.rb +44 -0
- data/lib/petfinder/client.rb +16 -75
- data/lib/petfinder/mash.rb +5 -0
- data/lib/petfinder/version.rb +1 -1
- data/petfinder.gemspec +16 -11
- metadata +31 -57
- data/lib/petfinder/auth.rb +0 -12
- data/lib/petfinder/breeds.rb +0 -13
- data/lib/petfinder/pet.rb +0 -80
- data/lib/petfinder/shelter.rb +0 -23
- data/lib/petfinder/xml_mapper.rb +0 -21
- data/spec/client_spec.rb +0 -62
- data/spec/fixtures/auth.xml +0 -17
- data/spec/fixtures/breed_list.xml +0 -40
- data/spec/fixtures/pet.xml +0 -47
- data/spec/fixtures/pet_list.xml +0 -966
- data/spec/fixtures/shelter.xml +0 -26
- data/spec/fixtures/shelter_list.xml +0 -189
- data/spec/pet_spec.rb +0 -41
- data/spec/shelter_spec.rb +0 -23
- data/spec/spec_helper.rb +0 -17
data/spec/fixtures/shelter.xml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<petfinder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://api.petfinder.com/schemas/0.9/petfinder.xsd">
|
3
|
-
<header>
|
4
|
-
<version>0.1</version>
|
5
|
-
<timestamp>2010-04-12T04:51:40Z</timestamp>
|
6
|
-
<status>
|
7
|
-
<code>100</code>
|
8
|
-
<message/>
|
9
|
-
</status>
|
10
|
-
</header>
|
11
|
-
<shelter>
|
12
|
-
<id>TX1356</id>
|
13
|
-
<name>Lucky Dog Rescue</name>
|
14
|
-
<address1>P.O. Box 56512</address1>
|
15
|
-
<address2>Apt 25</address2>
|
16
|
-
<city>Houston</city>
|
17
|
-
<state>TX</state>
|
18
|
-
<zip>77019</zip>
|
19
|
-
<country>USA</country>
|
20
|
-
<latitude>29.75239944</latitude>
|
21
|
-
<longitude>-95.40170288</longitude>
|
22
|
-
<phone>555-555-5555</phone>
|
23
|
-
<fax>666-666-6666</fax>
|
24
|
-
<email>millicentgerdes@gmail.com</email>
|
25
|
-
</shelter>
|
26
|
-
</petfinder>
|
@@ -1,189 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<petfinder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://api.petfinder.com/schemas/0.9/petfinder.xsd">
|
3
|
-
<header>
|
4
|
-
<version>0.1</version>
|
5
|
-
<timestamp>2010-04-12T04:46:40Z</timestamp>
|
6
|
-
<status>
|
7
|
-
<code>100</code>
|
8
|
-
<message/>
|
9
|
-
</status>
|
10
|
-
</header>
|
11
|
-
<lastOffset>25</lastOffset>
|
12
|
-
<shelters>
|
13
|
-
<shelter>
|
14
|
-
<id>TX1261</id>
|
15
|
-
<name>Pup Squad Animal Rescue</name>
|
16
|
-
<city>Houston</city>
|
17
|
-
<state>TX</state>
|
18
|
-
<phone/>
|
19
|
-
</shelter>
|
20
|
-
<shelter>
|
21
|
-
<id>TX1372</id>
|
22
|
-
<name>Frisky Paws Rescue, Inc.</name>
|
23
|
-
<city>Houston</city>
|
24
|
-
<state>TX</state>
|
25
|
-
<phone/>
|
26
|
-
</shelter>
|
27
|
-
<shelter>
|
28
|
-
<id>TX920</id>
|
29
|
-
<name>Great Pyrenees Rescue Society</name>
|
30
|
-
<city>Houston</city>
|
31
|
-
<state>TX</state>
|
32
|
-
<phone>Please email!</phone>
|
33
|
-
</shelter>
|
34
|
-
<shelter>
|
35
|
-
<id>TX1356</id>
|
36
|
-
<name>Lucky Dog Rescue</name>
|
37
|
-
<city>Houston</city>
|
38
|
-
<state>TX</state>
|
39
|
-
<phone/>
|
40
|
-
</shelter>
|
41
|
-
<shelter>
|
42
|
-
<id>TX946</id>
|
43
|
-
<name>Scouts Honor Rescue Inc.</name>
|
44
|
-
<city>Houston</city>
|
45
|
-
<state>TX</state>
|
46
|
-
<phone/>
|
47
|
-
</shelter>
|
48
|
-
<shelter>
|
49
|
-
<id>TX1215</id>
|
50
|
-
<name>Treat Them Right </name>
|
51
|
-
<city>Houston</city>
|
52
|
-
<state>TX</state>
|
53
|
-
<phone/>
|
54
|
-
</shelter>
|
55
|
-
<shelter>
|
56
|
-
<id>TX1257</id>
|
57
|
-
<name>Shaggy Dog Rescue</name>
|
58
|
-
<city>Houston</city>
|
59
|
-
<state>TX</state>
|
60
|
-
<phone/>
|
61
|
-
</shelter>
|
62
|
-
<shelter>
|
63
|
-
<id>TX617</id>
|
64
|
-
<name>American Fox Terrier Rescue - Southwest</name>
|
65
|
-
<city>Houston</city>
|
66
|
-
<state>TX</state>
|
67
|
-
<phone/>
|
68
|
-
</shelter>
|
69
|
-
<shelter>
|
70
|
-
<id>TX1086</id>
|
71
|
-
<name>Red Collar Rescue</name>
|
72
|
-
<city>Houston</city>
|
73
|
-
<state>TX</state>
|
74
|
-
<phone/>
|
75
|
-
</shelter>
|
76
|
-
<shelter>
|
77
|
-
<id>TX1248</id>
|
78
|
-
<name>Lucky Leash Rescue, Inc</name>
|
79
|
-
<city>Houston</city>
|
80
|
-
<state>TX</state>
|
81
|
-
<phone/>
|
82
|
-
</shelter>
|
83
|
-
<shelter>
|
84
|
-
<id>TX1283</id>
|
85
|
-
<name>Texas Collie Rescue</name>
|
86
|
-
<city>Houston</city>
|
87
|
-
<state>TX</state>
|
88
|
-
<phone>713-545-7408</phone>
|
89
|
-
</shelter>
|
90
|
-
<shelter>
|
91
|
-
<id>TX190</id>
|
92
|
-
<name>**Texas Great Pyrenees Rescue, Inc.**</name>
|
93
|
-
<city>Houston</city>
|
94
|
-
<state>TX</state>
|
95
|
-
<phone>877-746-9508 Free</phone>
|
96
|
-
</shelter>
|
97
|
-
<shelter>
|
98
|
-
<id>TX1121</id>
|
99
|
-
<name>CANINE COMPASSION</name>
|
100
|
-
<city>Houston</city>
|
101
|
-
<state>TX</state>
|
102
|
-
<phone>caninecompassion@yahoo.co</phone>
|
103
|
-
</shelter>
|
104
|
-
<shelter>
|
105
|
-
<id>TX1051</id>
|
106
|
-
<name>Basset Buddies Rescue of Texas</name>
|
107
|
-
<city>Houston</city>
|
108
|
-
<state>TX</state>
|
109
|
-
<phone>(281)-303-5496</phone>
|
110
|
-
</shelter>
|
111
|
-
<shelter>
|
112
|
-
<id>TX154</id>
|
113
|
-
<name>Homeless Pet Placement League</name>
|
114
|
-
<city>Houston</city>
|
115
|
-
<state>TX</state>
|
116
|
-
<phone>(713) 862-7387</phone>
|
117
|
-
</shelter>
|
118
|
-
<shelter>
|
119
|
-
<id>TX826</id>
|
120
|
-
<name>Bunny Buddies</name>
|
121
|
-
<city>Houston</city>
|
122
|
-
<state>TX</state>
|
123
|
-
<phone>713-822-8256</phone>
|
124
|
-
</shelter>
|
125
|
-
<shelter>
|
126
|
-
<id>TX170</id>
|
127
|
-
<name>HOPE (Homeless & Orphaned Pets Endeavor)</name>
|
128
|
-
<city>Houston</city>
|
129
|
-
<state>TX</state>
|
130
|
-
<phone>713-622-4673</phone>
|
131
|
-
</shelter>
|
132
|
-
<shelter>
|
133
|
-
<id>TX1219</id>
|
134
|
-
<name>Houston Boxer Rescue</name>
|
135
|
-
<city>Houston</city>
|
136
|
-
<state>TX</state>
|
137
|
-
<phone>832-582-2166</phone>
|
138
|
-
</shelter>
|
139
|
-
<shelter>
|
140
|
-
<id>TX169</id>
|
141
|
-
<name>Lone Star Shih Tzu and Lhasa Apso Rescue</name>
|
142
|
-
<city>Houston</city>
|
143
|
-
<state>TX</state>
|
144
|
-
<phone>www.shihtzu-rescue.com</phone>
|
145
|
-
</shelter>
|
146
|
-
<shelter>
|
147
|
-
<id>TX379</id>
|
148
|
-
<name>Lone Star Boxer Rescue</name>
|
149
|
-
<city>Houston</city>
|
150
|
-
<state>TX</state>
|
151
|
-
<phone>713-464-1381</phone>
|
152
|
-
</shelter>
|
153
|
-
<shelter>
|
154
|
-
<id>TX1352</id>
|
155
|
-
<name>Paws Haven Rescue, Inc.</name>
|
156
|
-
<city>Houston</city>
|
157
|
-
<state>TX</state>
|
158
|
-
<phone/>
|
159
|
-
</shelter>
|
160
|
-
<shelter>
|
161
|
-
<id>TX1410</id>
|
162
|
-
<name>Sisyphus Rescue</name>
|
163
|
-
<city>Houston</city>
|
164
|
-
<state>TX</state>
|
165
|
-
<phone/>
|
166
|
-
</shelter>
|
167
|
-
<shelter>
|
168
|
-
<id>TX1359</id>
|
169
|
-
<name>Adopt A Rescued Friend</name>
|
170
|
-
<city>Houston</city>
|
171
|
-
<state>TX</state>
|
172
|
-
<phone>713-854-1216</phone>
|
173
|
-
</shelter>
|
174
|
-
<shelter>
|
175
|
-
<id>TX1259</id>
|
176
|
-
<name>Dakota Rescue</name>
|
177
|
-
<city>Houston</city>
|
178
|
-
<state>TX</state>
|
179
|
-
<phone/>
|
180
|
-
</shelter>
|
181
|
-
<shelter>
|
182
|
-
<id>TX917</id>
|
183
|
-
<name>Texas Old English Sheepdog Rescue, Inc.</name>
|
184
|
-
<city>Houston</city>
|
185
|
-
<state>TX</state>
|
186
|
-
<phone/>
|
187
|
-
</shelter>
|
188
|
-
</shelters>
|
189
|
-
</petfinder>
|
data/spec/pet_spec.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Petfinder::Pet do
|
4
|
-
before do
|
5
|
-
@pet = Petfinder::Pet.new(Nokogiri::XML(fixture_file('pet.xml')))
|
6
|
-
end
|
7
|
-
|
8
|
-
it "should populate collection of photos" do
|
9
|
-
[:large, :medium, :small, :thumbnail, :tiny].each do |size|
|
10
|
-
@pet.photos[0].send(size).should =~ /http:\/\/photocache.petfinder.com\/fotos\/IL173\/*./
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should populate attributes of pet" do
|
15
|
-
[:id, :name, :animal, :mix, :age, :shelter_id, :shelter_pet_id, :sex, :size, :description, :last_update, :status].each do |attr|
|
16
|
-
@pet.send(attr).should_not == ""
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
it "should populate array of breeds" do
|
21
|
-
@pet.breeds.should include("Domestic Short Hair-black")
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should populate array of options" do
|
26
|
-
@pet.options.should include("hasShots", "altered")
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should return a sanitized version of the description" do
|
30
|
-
@pet.description_sanitized.should_not =~ /<div>/
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should populate multiple pet objects" do
|
34
|
-
pets = Petfinder::Pet.multiple(Nokogiri::XML(fixture_file('pet_list.xml')))
|
35
|
-
pets.count.should eq(25)
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should return a friendly inspect" do
|
39
|
-
@pet.inspect.should eq("#<Pet id: '10141994', name: 'Charlie', animal: 'Cat', mix: 'no', sex: 'M'>")
|
40
|
-
end
|
41
|
-
end
|
data/spec/shelter_spec.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Petfinder::Pet do
|
4
|
-
before do
|
5
|
-
@shelter = Petfinder::Shelter.new(Nokogiri::XML(fixture_file('shelter.xml')))
|
6
|
-
end
|
7
|
-
|
8
|
-
it "should populate attributes of shelter" do
|
9
|
-
[:id, :name, :address1, :address2, :city, :state, :zip, :country, :latitude, :longitude, :phone, :fax, :email].each do |attr|
|
10
|
-
@shelter.send(attr).should_not == ""
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should populate multiple shelter objects" do
|
15
|
-
shelters = Petfinder::Shelter.multiple(Nokogiri::XML(fixture_file('shelter_list.xml')))
|
16
|
-
shelters.count.should eq(25)
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should return a friendly inspect" do
|
20
|
-
@shelter.inspect.should eq("#<Shelter id: 'TX1356', name: 'Lucky Dog Rescue', state: 'TX'>")
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
data/spec/spec_helper.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'petfinder'
|
2
|
-
require 'rspec'
|
3
|
-
require 'webmock/rspec'
|
4
|
-
|
5
|
-
RSpec.configure do |config|
|
6
|
-
config.expect_with :rspec do |expectations|
|
7
|
-
expectations.syntax = :should
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
def fixture_file(filename)
|
12
|
-
File.read(File.dirname(__FILE__) + "/fixtures/#{filename}")
|
13
|
-
end
|
14
|
-
|
15
|
-
def stub_get(url, filename)
|
16
|
-
stub_request(:get, url).to_return(body: fixture_file(filename), status: 200)
|
17
|
-
end
|