rubyhexagon 1.2.1 → 1.2.2

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 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