robohash_client 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/robohash_client.rb +33 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b672467cd0e2035a9a8cf6e26210c03be0d2433f
|
4
|
+
data.tar.gz: a0f3583e7eddeb2d48b8de4ab064d751e29e23ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c11c421a3fccdff22b8771aa412421ffaac447bd86028ebb6b03601dd6f780a9f64c72ec33761699b56741b8a22fc770a54644295f48df098fcb08fdbdabb12d
|
7
|
+
data.tar.gz: cc8b0f7e27cea4bfebdd2273fec41dc8e1cb6c12f09e968aeb80c5891c88a6950bdbba1b041d6b251b87c5d84b1f4ddea4db2c1721d872920c574186f4e0adff
|
data/lib/robohash_client.rb
CHANGED
@@ -1,5 +1,36 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'json'
|
3
|
+
|
1
4
|
class Robohash
|
2
|
-
|
3
|
-
|
5
|
+
BASE_URL = 'https://robohash.org'
|
6
|
+
DEFAULT_DIRECTORY = 'robohash_images'
|
7
|
+
|
8
|
+
def self.get(name, options = '')
|
9
|
+
uri = URI("#{BASE_URL}/#{name}.png?#{options}")
|
10
|
+
response = Net::HTTP.get_response(uri)
|
11
|
+
|
12
|
+
if response.is_a?(Net::HTTPSuccess)
|
13
|
+
save(response, name)
|
14
|
+
puts "Image #{name}.png saved with success!"
|
15
|
+
else
|
16
|
+
puts "Error obtaining image from #{uri}."
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.get_many(names, options = '')
|
21
|
+
names.reject! do |name|
|
22
|
+
!name.is_a?(String) || name == ''
|
23
|
+
end
|
24
|
+
names.each { |name| self.get(name, options) }
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def self.save(image, name)
|
30
|
+
Dir.mkdir(DEFAULT_DIRECTORY) unless Dir.exists? DEFAULT_DIRECTORY
|
31
|
+
|
32
|
+
open("robohash_images/#{name}.png", 'wb') do |file|
|
33
|
+
file.write(image.body)
|
34
|
+
end
|
4
35
|
end
|
5
36
|
end
|