rubyhexagon 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a3e1687a1a39b22e8915a8e8c5b5aef05db5431c190d8aa2171be3e9472cbe9
4
- data.tar.gz: e3f3497445b8ccd1b9929afcbf30ecc9cab45933940a4ad71c3c64b470d841f4
3
+ metadata.gz: c8a91cedb9b96a07c97813b28733d59051c3d607474a849060636b73a568d94c
4
+ data.tar.gz: 09aa61e926d1212638d9e196c6e303c47784f17ef9861b75187ca8b5fdec30ea
5
5
  SHA512:
6
- metadata.gz: f60479622c6258f57c88d71ee9a04c3bba44e9644ad39faae5f838932622513965207730bd3f57beb048ad9c272d7327966e518e9837bdc56b8c9224db168216
7
- data.tar.gz: 737e9e4763934026afddea9dfaefc0144a9d07366faf52ac6c1944bd9704de0b5a8e7aeb67b7b17a17221da6446987c64a5fd8185d4f41870a4ce292c45a1f70
6
+ metadata.gz: 9c3703e449a7f3b7a24bfacd98888d9aea0bbef0ec0fe118b3c271c80910e435bf1e0a94beceb14dd34ddcdb8ea14a1c298a5d54610a2e42db40357dce358cb0
7
+ data.tar.gz: f216be35a182ae536fccfe8f54d45e8d9b884a6b3e5f5fadd321ecb0a5fa3103468b3332328c209b58e61cd545bff26cdc8ae07b52be6b8030380e1a96b0920a
@@ -38,7 +38,7 @@ require 'rubyhexagon/search/tags'
38
38
  module E621
39
39
  MAJOR = 1
40
40
  MINOR = 2
41
- PATCH = 1
41
+ PATCH = 2
42
42
  NAME = 'rubyhexagon'.freeze
43
43
  VERSION = "#{MAJOR}.#{MINOR}.#{PATCH}".freeze
44
44
  end
@@ -62,17 +62,25 @@ module E621
62
62
  query = query.to_a.map { |q| "#{q.first}=#{q.last}" }.join('&')
63
63
  query = "?#{query}" unless query == ''
64
64
  uri = "#{@base}/#{noun}/#{action}.json#{query}"
65
- lock do
66
- if @rspec || !defined? RSpec
67
- JSON.parse(open(uri, @user_agent).read, symbolize_names: true)
68
- else # In RSpec environment?
69
- JSON.parse(open(uri).read, symbolize_names: true)
70
- end
71
- end
65
+ fetch_data(uri)
72
66
  end
73
67
 
74
68
  private
75
69
 
70
+ # @author Maxine Michalski
71
+ #
72
+ def fetch_data(uri)
73
+ lock do
74
+ data = if @rspec || !defined? RSpec then open(uri, @user_agent).read
75
+ else File.open(uri).read
76
+ end
77
+ JSON.parse(data, symbolize_names: true)
78
+ end
79
+ rescue SocketError
80
+ sleep 5
81
+ retry
82
+ end
83
+
76
84
  # @author Maxine Michalski
77
85
  #
78
86
  # (see #fetch)
@@ -38,8 +38,8 @@ module E621
38
38
  d = fetch_deleted(page)
39
39
  while block_given? && d != []
40
40
  d.each { |del| yield del }
41
- d = fetch_deleted(page)
42
41
  page += 1
42
+ d = fetch_deleted(page)
43
43
  end
44
44
  d
45
45
  end
@@ -63,8 +63,8 @@ module E621
63
63
  posts = fetch_posts(parameters)
64
64
  while block_given? && posts != []
65
65
  posts.each { |post| yield post }
66
- posts = fetch_posts(parameters)
67
66
  parameters[:before_id] = posts.last.nil? ? 0 : posts.last.id
67
+ posts = fetch_posts(parameters)
68
68
  end
69
69
  posts
70
70
  end
@@ -118,7 +118,7 @@ module E621
118
118
  end
119
119
  end
120
120
  private_class_method :fetch_implications
121
-
121
+
122
122
  # @author Maxine Michalski
123
123
  #
124
124
  # Helper function to fetch aliased tags
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyhexagon
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxine Michalski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-04 00:00:00.000000000 Z
11
+ date: 2018-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json