adopt_a_pet 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +2 -0
- data/adopt_a_pet-0.1.0.gem +0 -0
- data/lib/adopt_a_pet/client.rb +10 -8
- data/lib/adopt_a_pet/pet.rb +3 -5
- data/lib/adopt_a_pet/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b971bf03e5be4346c5f39c85f282c2f054a8bbfa
|
4
|
+
data.tar.gz: f859d8da6eda2ce9aeca541d301ada8ceae91ff1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2c627e3323954655631dd7e0c93506e2b8cd943d57da01cf78661ad7c199b7bbfbf086ed6c8595f9d8fb9c8c02e91946569d324d4f22ba61b6a437ae7a812d9
|
7
|
+
data.tar.gz: 8154cf26d0399c273d30f440a86ae212345d94d4297689094bda3be770be92d2e97198a5bdf4ad75c15d94fc891aad483efaa7e13c8b69910790e9ff853396e0
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
Binary file
|
data/lib/adopt_a_pet/client.rb
CHANGED
@@ -70,6 +70,7 @@ module AdoptAPet
|
|
70
70
|
# @author Stephen Dolan
|
71
71
|
#
|
72
72
|
# @param [Integer] pet_id the ID of a single pet
|
73
|
+
# @param [Hash] opts a placeholder for any options the user would like to submit
|
73
74
|
#
|
74
75
|
# @return [Pet] a Pet object
|
75
76
|
#
|
@@ -77,8 +78,8 @@ module AdoptAPet
|
|
77
78
|
# client = AdoptAPet::Client.new('my_key')
|
78
79
|
# pet = client.limited_pet_details(123456)
|
79
80
|
# my_pet_special_needs = pet.special_needs
|
80
|
-
def limited_pet_details(pet_id)
|
81
|
-
query =
|
81
|
+
def limited_pet_details(pet_id, options = {})
|
82
|
+
query = options.merge(pet_id: pet_id)
|
82
83
|
response = perform_get('/search/limited_pet_details', query)
|
83
84
|
Pet.new(response.dig('pet'))
|
84
85
|
end
|
@@ -87,6 +88,7 @@ module AdoptAPet
|
|
87
88
|
# @author Stephen Dolan
|
88
89
|
#
|
89
90
|
# @param [Integer] pet_id the ID of a single pet
|
91
|
+
# @param [Hash] opts a placeholder for any options the user would like to submit
|
90
92
|
#
|
91
93
|
# @return [Pet] a Pet object
|
92
94
|
#
|
@@ -94,8 +96,8 @@ module AdoptAPet
|
|
94
96
|
# client = AdoptAPet::Client.new('my_key')
|
95
97
|
# pet = client.pet_details(123456)
|
96
98
|
# my_pet_housetrained = pet.housetrained
|
97
|
-
def pet_details(pet_id)
|
98
|
-
query =
|
99
|
+
def pet_details(pet_id, options = {})
|
100
|
+
query = options.merge(pet_id: pet_id)
|
99
101
|
response = perform_get('/search/pet_details', query)
|
100
102
|
Pet.new(response.dig('pet'))
|
101
103
|
end
|
@@ -105,12 +107,12 @@ module AdoptAPet
|
|
105
107
|
# Instantiate a Faraday connector with a base URL and adapter
|
106
108
|
# @author stephen dolan
|
107
109
|
#
|
108
|
-
# @return [
|
110
|
+
# @return [Faraday::Connection] a faraday object to make requests
|
109
111
|
def setup_connection
|
110
112
|
# Set up a flexible connection to append the URI to and make requests with
|
111
113
|
Faraday.new(url: 'https://api.adoptapet.com') do |faraday|
|
112
114
|
# Include to log responses to STDOUT
|
113
|
-
faraday.response :logger
|
115
|
+
# faraday.response :logger
|
114
116
|
|
115
117
|
# Don't encode identical URL paramaeters with []
|
116
118
|
faraday.options.params_encoder = Faraday::FlatParamsEncoder
|
@@ -134,13 +136,13 @@ module AdoptAPet
|
|
134
136
|
options = options.merge(output: :json)
|
135
137
|
|
136
138
|
# Always include the API key
|
137
|
-
options = options.merge(key:
|
139
|
+
options = options.merge(key: api_key)
|
138
140
|
|
139
141
|
# Always set the API version to version 1
|
140
142
|
options = options.merge(v: 1)
|
141
143
|
|
142
144
|
# Make the request
|
143
|
-
response =
|
145
|
+
response = conn.get(uri, options)
|
144
146
|
|
145
147
|
# Validate the body and transform into a Ruby object
|
146
148
|
process_json_response(response.body)
|
data/lib/adopt_a_pet/pet.rb
CHANGED
@@ -84,6 +84,7 @@ module AdoptAPet
|
|
84
84
|
extract(object, %w[pet_id], 'id')
|
85
85
|
extract(object, %w[sex], 'sex')
|
86
86
|
extract(object, %w[size], 'size')
|
87
|
+
extract(object, %w[age], 'age')
|
87
88
|
extract(object, %w[species], 'species')
|
88
89
|
extract(object, %w[act_quickly], 'act_quickly')
|
89
90
|
extract(object, %w[color], 'color')
|
@@ -98,8 +99,8 @@ module AdoptAPet
|
|
98
99
|
extract(object, %w[good_with_kids], 'good_with_kids')
|
99
100
|
extract(object, %w[primary_breed], 'primary_breed')
|
100
101
|
extract(object, %w[secondary_breed], 'secondary_breed')
|
101
|
-
extract(object, %w[
|
102
|
-
extract(object, %w[
|
102
|
+
extract(object, %w[addr_state_code], 'state_code')
|
103
|
+
extract(object, %w[addr_city], 'city')
|
103
104
|
extract(object, %w[name pet_name], 'name')
|
104
105
|
extract(object, %w[details_url pet_details_url], 'details_url')
|
105
106
|
self.photos = ResponseHelper.extract_photos(object)
|
@@ -138,9 +139,6 @@ module AdoptAPet
|
|
138
139
|
response_item = object.dig(source) unless object.dig(source).nil?
|
139
140
|
end
|
140
141
|
|
141
|
-
# Don't set the key if we couldn't find a value
|
142
|
-
return if response_item.nil?
|
143
|
-
|
144
142
|
# Set the Pet attribute at to_key to the object value
|
145
143
|
send("#{to_key}=", response_item)
|
146
144
|
end
|
data/lib/adopt_a_pet/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adopt_a_pet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Dolan
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -110,6 +110,7 @@ files:
|
|
110
110
|
- LICENSE.txt
|
111
111
|
- README.md
|
112
112
|
- Rakefile
|
113
|
+
- adopt_a_pet-0.1.0.gem
|
113
114
|
- adopt_a_pet.gemspec
|
114
115
|
- bin/console
|
115
116
|
- bin/setup
|