dog_api_bindings 0.0.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/lib/dog-api.rb +22 -7
- metadata +22 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9fef5139fe652f9f67f0ab361f72722d91fc52c120fb416b49b66c2875e5beff
|
4
|
+
data.tar.gz: 0cd4b4f70f9d9c0d4999c05b1268a48447e2341ed27f5cfe63e7d565eb2886bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9489400c7effa57ac2de01e49c246c571e55b066f31ba0702f86f0d9900c5f493236f979e673ddec58ad68e497c2e5599adeff36f774e25b399d470c1c5cb50
|
7
|
+
data.tar.gz: 7738d7aef2415891340399382583ef54319d1844948d658704abe078a5fb31541c37c1b37d2a5bb500523a74daf47a92f93737afa888b587d0ca0631603a3e63
|
data/lib/dog-api.rb
CHANGED
@@ -2,33 +2,41 @@
|
|
2
2
|
|
3
3
|
require 'http'
|
4
4
|
|
5
|
+
# BASE API URI
|
5
6
|
API_ENDPOINT = 'https://dog.ceo/api'
|
6
7
|
|
7
|
-
|
8
|
+
# Returns a hash of all available breeds.
|
9
|
+
def breeds_list
|
8
10
|
response = HTTP.get("#{API_ENDPOINT}/breeds/list/all")
|
9
11
|
hashed_response = response.parse['message'] if response.code == 200
|
10
12
|
hashed_response or "Could not connect to the API, Status Code: #{response.code}"
|
11
13
|
end
|
12
14
|
|
13
|
-
|
15
|
+
# Returns a hash of all available sub-breeds of the given breed.
|
16
|
+
def sub_breeds_list(breed)
|
14
17
|
response = HTTP.get("#{API_ENDPOINT}/breed/#{breed}/list")
|
15
18
|
hashed_response = response.parse['message'] if response.code == 200
|
16
19
|
hashed_response || "Could not connect to the API, Status Code: #{response.code}. Perhaps this breed does not have any sub-breeds?"
|
17
20
|
end
|
18
21
|
|
19
|
-
|
22
|
+
# Returns an array of all available images of the given breed.
|
23
|
+
def all_breed_images(breed)
|
20
24
|
response = HTTP.get("#{API_ENDPOINT}/breed/#{breed}/images")
|
21
25
|
hashed_response = response.parse['message'] if response.code == 200
|
22
26
|
hashed_response || "Could not connect to the API, Status Code: #{response.code}"
|
23
27
|
end
|
24
28
|
|
25
|
-
|
29
|
+
# Returns an array of all available images of the given breed and sub-breed.
|
30
|
+
def all_sub_breed_images(breed, sub_breed)
|
26
31
|
response = HTTP.get("#{API_ENDPOINT}/breed/#{breed}/#{sub_breed}/images")
|
27
32
|
hashed_response = response.parse['message'] if response.code == 200
|
28
33
|
hashed_response || "Could not connect to the API, Status Code: #{response.code} Perhaps this breed does not have any sub-breeds?"
|
29
34
|
end
|
30
35
|
|
31
|
-
|
36
|
+
# Returns an array of random breed images equivalent to the passed amount.
|
37
|
+
#
|
38
|
+
# Due to API limitations, it can only return an amount between 1 and 50.
|
39
|
+
def random_images(amount)
|
32
40
|
if amount >= 1 && amount <= 50
|
33
41
|
response = HTTP.get("#{API_ENDPOINT}/breeds/image/random/#{amount}")
|
34
42
|
hashed_response = response.parse['message'] if response.code == 200
|
@@ -38,7 +46,10 @@ def return_random_images(amount)
|
|
38
46
|
end
|
39
47
|
end
|
40
48
|
|
41
|
-
|
49
|
+
# Returns an array of breed images equivalent to the passed amount.
|
50
|
+
#
|
51
|
+
# Due to API limitations, it can only return an amount between 1 and 50.
|
52
|
+
def random_breed_images(breed, amount)
|
42
53
|
if amount >= 1 && amount <= 50
|
43
54
|
response = HTTP.get("#{API_ENDPOINT}/breed/#{breed}/images/random/#{amount}")
|
44
55
|
hashed_response = response.parse['message'] if response.code == 200
|
@@ -48,7 +59,11 @@ def return_random_breed_images(breed, amount)
|
|
48
59
|
end
|
49
60
|
end
|
50
61
|
|
51
|
-
|
62
|
+
# Returns an array of sub-breed images equivalent to the passed amount.
|
63
|
+
#
|
64
|
+
# Due to API limitations, it can only return an amount between 1 and 50.
|
65
|
+
def random_sub_breed_images(breed, sub_breed, amount)
|
66
|
+
|
52
67
|
if amount >= 1 && amount <= 50
|
53
68
|
response = HTTP.get("#{API_ENDPOINT}/breed/#{breed}/#{sub_breed}/images/random/#{amount}")
|
54
69
|
hashed_response = response.parse['message'] if response.code == 200
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dog_api_bindings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Quinton Oglesby
|
@@ -9,8 +9,25 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2022-01-25 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
13
|
-
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: http
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 5.0.4
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 5.0.4
|
27
|
+
description: |2
|
28
|
+
This is an api wrapper for dog.ceo written in Ruby.
|
29
|
+
|
30
|
+
```Test```
|
14
31
|
email: qoglesby97@gmail.com
|
15
32
|
executables: []
|
16
33
|
extensions: []
|
@@ -29,7 +46,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
29
46
|
requirements:
|
30
47
|
- - ">="
|
31
48
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
49
|
+
version: 3.1.0
|
33
50
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
51
|
requirements:
|
35
52
|
- - ">="
|
@@ -39,5 +56,5 @@ requirements: []
|
|
39
56
|
rubygems_version: 3.3.5
|
40
57
|
signing_key:
|
41
58
|
specification_version: 4
|
42
|
-
summary: Ruby
|
59
|
+
summary: Ruby API wrapper for the dog.ceo API.
|
43
60
|
test_files: []
|