adopt_a_pet 0.1.0 → 0.1.1
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/.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
|