rubyhexagon 0.4.2 → 0.4.3
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/lib/api.rb +1 -1
- data/lib/container.rb +1 -1
- data/lib/pool.rb +3 -3
- data/lib/post.rb +1 -1
- data/lib/rubyhexagon.rb +2 -2
- data/lib/search.rb +22 -3
- data/lib/set.rb +1 -1
- data/lib/standard/error.rb +1 -1
- data/lib/standard/hash.rb +1 -1
- data/lib/standard/http.rb +1 -1
- data/lib/standard/int.rb +1 -1
- data/lib/standard/string.rb +1 -1
- data/lib/standard/time.rb +1 -1
- metadata +3 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0ba6239bf1b972497e5a67367385ee5078361e5
|
4
|
+
data.tar.gz: 2dbb6830d9893988e6b08bea317ad1b44e0d1321
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60745e307ebad26cff032df12f73b0c9d8315869193f2de75e5accc3f1d7bdd72f5d6cb29ab62c22360bf853c887a9b9d239d0c9a19a42bfd2e1be6a470f1149
|
7
|
+
data.tar.gz: 7cbec7dcd77f387ef16d5a44377de26985c5af75a2deaad789ca3b433a1dd2973712389604765c3e782ee4de59eed57da1fe2d97a55f583f813a6853596fdaff
|
data/lib/api.rb
CHANGED
data/lib/container.rb
CHANGED
data/lib/pool.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright 2014, 2015 Maxine
|
2
|
+
Copyright 2014, 2015, 2017 Maxine Michalski <maxine@furfind.net>
|
3
3
|
|
4
4
|
This file is part of rubyhexagon.
|
5
5
|
|
@@ -22,11 +22,11 @@ require "digest/md5"
|
|
22
22
|
module E621
|
23
23
|
class Pool < Container
|
24
24
|
def initialize(post)
|
25
|
-
@api = API.new
|
25
|
+
@api = API.new("pool")
|
26
26
|
if post.is_a?(Hash) then
|
27
27
|
set_variables(post)
|
28
28
|
elsif post.is_a?(Fixnum) then
|
29
|
-
set_variables(@api.
|
29
|
+
set_variables(@api.get("show",{"id"=>post}))
|
30
30
|
else
|
31
31
|
raise ArgumentError, "Parameter must be Hash or Number."
|
32
32
|
end
|
data/lib/post.rb
CHANGED
data/lib/rubyhexagon.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright 2014, 2015 Maxine
|
2
|
+
Copyright 2014, 2015, 2017 Maxine Michalski <maxine@furfind.net>
|
3
3
|
|
4
4
|
This file is part of rubyhexagon.
|
5
5
|
|
@@ -29,5 +29,5 @@ require "pool"
|
|
29
29
|
|
30
30
|
module E621
|
31
31
|
Name = "rubyhexagon"
|
32
|
-
Version = "0.4.
|
32
|
+
Version = "0.4.3"
|
33
33
|
end
|
data/lib/search.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright 2014, 2015 Maxine
|
2
|
+
Copyright 2014, 2015, 2017 Maxine Michalski <maxine@furfind.net>
|
3
3
|
|
4
4
|
This file is part of rubyhexagon.
|
5
5
|
|
@@ -38,8 +38,12 @@ module E621
|
|
38
38
|
# Return each post via a block and process them individually.
|
39
39
|
# This could cause a race condition in the unlikely manner when the queue is
|
40
40
|
# empty and not being filled again, but the worker is still runnning.
|
41
|
-
def each_post
|
42
|
-
|
41
|
+
def each_post(before_id=false)
|
42
|
+
if before_id then
|
43
|
+
fetch_all_before_id(before_id)
|
44
|
+
else
|
45
|
+
fetch_all
|
46
|
+
end
|
43
47
|
until !@worker.status do
|
44
48
|
until @queue.empty? do
|
45
49
|
post = @queue.pop
|
@@ -77,5 +81,20 @@ module E621
|
|
77
81
|
end
|
78
82
|
end
|
79
83
|
end
|
84
|
+
def fetch_all_before_id(id)
|
85
|
+
if @request.has_key?(:page) then
|
86
|
+
@request.delete(:page)
|
87
|
+
@request.store(:before_id, id+1)
|
88
|
+
end
|
89
|
+
@worker = Thread.new do
|
90
|
+
until (posts = @api.post_list(@request)) == Array.new do
|
91
|
+
posts.each do |post|
|
92
|
+
post = Post.new(post)
|
93
|
+
@queue << post if post
|
94
|
+
end
|
95
|
+
@request[:before_id] = posts.last['id'].to_i
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
80
99
|
end
|
81
100
|
end
|
data/lib/set.rb
CHANGED
data/lib/standard/error.rb
CHANGED
data/lib/standard/hash.rb
CHANGED
data/lib/standard/http.rb
CHANGED
data/lib/standard/int.rb
CHANGED
data/lib/standard/string.rb
CHANGED
data/lib/standard/time.rb
CHANGED
metadata
CHANGED
@@ -1,43 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyhexagon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maxine Red
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: json
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.1'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.1'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: pg
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.18'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.18'
|
11
|
+
date: 2017-06-26 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
41
13
|
description: Rubyhexagon provides Ruby bindings for the e621 [dot] net API.
|
42
14
|
email: maxine@furfind.net
|
43
15
|
executables: []
|