iudex-da 1.4.0-java → 1.5.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/History.rdoc +16 -0
- data/Manifest.txt +1 -1
- data/README.rdoc +1 -1
- data/bin/iudex-da-generate-test-data +1 -1
- data/bin/iudex-da-import +1 -1
- data/bin/iudex-da-simhash-dump +1 -1
- data/bin/iudex-da-unreserve +1 -1
- data/bin/iudex-migrate +1 -1
- data/db/20111012173757_base.rb +1 -1
- data/db/20120930173600_uhash_collation_order.rb +1 -1
- data/db/20130419090000_instance_column.rb +1 -1
- data/db/20130419095500_reserved_column.rb +1 -1
- data/db/index_next_visit/21500000000101_add_index_next_visit.rb +1 -1
- data/db/index_next_visit/21500000000110_index_next_visit_partial.rb +1 -1
- data/db/index_next_visit/21500000000120_index_next_visit_not_reserved.rb +1 -1
- data/db/simhash/21500000000001_add_simhash_index.rb +1 -1
- data/lib/iudex-da.rb +1 -1
- data/lib/iudex-da/base.rb +2 -2
- data/lib/iudex-da/config.rb +1 -1
- data/lib/iudex-da/factory_helper.rb +1 -1
- data/lib/iudex-da/importer.rb +1 -1
- data/lib/iudex-da/iudex-da-1.5.0.jar +0 -0
- data/lib/iudex-da/key_helper.rb +1 -1
- data/lib/iudex-da/models.rb +1 -1
- data/lib/iudex-da/orm.rb +1 -1
- data/lib/iudex-da/pool_data_source_factory.rb +1 -1
- data/lib/iudex-da/work_poller.rb +40 -15
- data/pom.xml +2 -2
- data/test/setup.rb +1 -1
- data/test/test_migrate.rb +1 -1
- data/test/test_pool_factory.rb +1 -1
- data/test/test_url_model.rb +1 -1
- data/test/test_work_poller.rb +1 -1
- metadata +25 -43
- data/lib/iudex-da/iudex-da-1.4.0.jar +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 78b67b192c7ddc6613cab0a4f4946d2d78c5d96c
|
4
|
+
data.tar.gz: 9b240415f16b58d8c264caf9a34a1b791208758b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2f49c63c044a60a37d589737998e743c742db233b02bf14ffa02f7a47ceeafa128000ea72a5759fafc3cff12d9425c5cb67c1669a17a28b34b177a833958c5c9
|
7
|
+
data.tar.gz: b4c7fe664325e13b5f5c9d77653aedd4930bedb0c800c095c00a08bcd5d2dec9f48af9b467bfe736a9173e7b67920e0c1e97f2add895e69882891a93800bc9b9
|
data/History.rdoc
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
=== 1.5.0 (2014-3-27)
|
2
|
+
Note: this release is at this time considered experimental or an "alpha"
|
3
|
+
by comparison to 1.4.0
|
4
|
+
* Upgrade to jdbc-postgres ~> 9.3.1100 (also tested 9.3.1101)
|
5
|
+
* Upgrade to sequel ~> 4.8.0
|
6
|
+
* Expand to >= 1.4.0, < 1.7 iudex-core dependency
|
7
|
+
* Add WorkPoller.isolation_level accessor
|
8
|
+
* Add WorkPoller.max_retries accessor
|
9
|
+
* Auto-compute WorkPoller max_urls from set domain_union
|
10
|
+
* Add exponential backoff delay option to ContentReader.handleError
|
11
|
+
retries, setter in WorkPoller
|
12
|
+
* Add explicit LOCK mode option to URLs table in ContentReader, setter
|
13
|
+
in WorkPoller
|
14
|
+
* Add null check to WorkPoller select_with_retry call (may occur when
|
15
|
+
retries exhausted).
|
16
|
+
|
1
17
|
=== 1.4.0 (2013-10-29)
|
2
18
|
* Add experimental WorkPoller.do_reserve support, which utilizes
|
3
19
|
PostgreSQL 9.1+ writable Common Table Expressions (CTEs) to
|
data/Manifest.txt
CHANGED
data/README.rdoc
CHANGED
@@ -16,7 +16,7 @@ meta-data store and work priority queue.
|
|
16
16
|
|
17
17
|
== License
|
18
18
|
|
19
|
-
Copyright (c) 2008-
|
19
|
+
Copyright (c) 2008-2014 David Kellum
|
20
20
|
|
21
21
|
Licensed under the Apache License, Version 2.0 (the "License"); you
|
22
22
|
may not use this file except in compliance with the License. You may
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
# -*- ruby -*-
|
3
3
|
#--
|
4
|
-
# Copyright (c) 2008-
|
4
|
+
# Copyright (c) 2008-2014 David Kellum
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
7
7
|
# may not use this file except in compliance with the License. You
|
data/bin/iudex-da-import
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
# -*- ruby -*-
|
3
3
|
#--
|
4
|
-
# Copyright (c) 2008-
|
4
|
+
# Copyright (c) 2008-2014 David Kellum
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
7
7
|
# may not use this file except in compliance with the License. You
|
data/bin/iudex-da-simhash-dump
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
# -*- ruby -*-
|
3
3
|
#--
|
4
|
-
# Copyright (c) 2008-
|
4
|
+
# Copyright (c) 2008-2014 David Kellum
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
7
7
|
# may not use this file except in compliance with the License. You
|
data/bin/iudex-da-unreserve
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
# -*- ruby -*-
|
3
3
|
#--
|
4
|
-
# Copyright (c) 2008-
|
4
|
+
# Copyright (c) 2008-2014 David Kellum
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
7
7
|
# may not use this file except in compliance with the License. You
|
data/bin/iudex-migrate
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
# -*- ruby -*-
|
3
3
|
#--
|
4
|
-
# Copyright (c) 2008-
|
4
|
+
# Copyright (c) 2008-2014 David Kellum
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
7
7
|
# may not use this file except in compliance with the License. You
|
data/db/20111012173757_base.rb
CHANGED
data/lib/iudex-da.rb
CHANGED
data/lib/iudex-da/base.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2008-
|
2
|
+
# Copyright (c) 2008-2014 David Kellum
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
5
5
|
# may not use this file except in compliance with the License. You
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
module Iudex
|
18
18
|
module DA
|
19
|
-
VERSION = '1.
|
19
|
+
VERSION = '1.5.0'
|
20
20
|
|
21
21
|
LIB_DIR = File.dirname( __FILE__ ) # :nodoc:
|
22
22
|
end
|
data/lib/iudex-da/config.rb
CHANGED
data/lib/iudex-da/importer.rb
CHANGED
Binary file
|
data/lib/iudex-da/key_helper.rb
CHANGED
data/lib/iudex-da/models.rb
CHANGED
data/lib/iudex-da/orm.rb
CHANGED
data/lib/iudex-da/work_poller.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2008-
|
2
|
+
# Copyright (c) 2008-2014 David Kellum
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
5
5
|
# may not use this file except in compliance with the License. You may
|
@@ -58,7 +58,8 @@ module Iudex::DA
|
|
58
58
|
alias :max_host_urls= :max_domain_urls=
|
59
59
|
|
60
60
|
# The limit of urls to obtain in a single poll (across all
|
61
|
-
# domains)
|
61
|
+
# domains). May be overridden by #domain_union=
|
62
|
+
# (default: 50_000)
|
62
63
|
attr_accessor :max_urls
|
63
64
|
|
64
65
|
# A secondary limit on the number of urls to consider, taking the
|
@@ -148,13 +149,13 @@ module Iudex::DA
|
|
148
149
|
# unconfigured domains.
|
149
150
|
#
|
150
151
|
# :max:: The maximum number of visit urls to obtain in one poll
|
151
|
-
# (instead of the top level #max_urls.) A zero
|
152
|
-
#
|
152
|
+
# (instead of the top level #max_urls.) A zero value
|
153
|
+
# efficiently excludes this domain/type.
|
153
154
|
#
|
154
155
|
# Also a [ domain, max ] alternative syntax is currently supported
|
155
156
|
# but deprecated.
|
156
157
|
#
|
157
|
-
|
158
|
+
attr_reader :domain_union
|
158
159
|
|
159
160
|
# An array containing a zero-based position and a total number of
|
160
161
|
# evenly divided segments within the range of possible uhash
|
@@ -163,6 +164,25 @@ module Iudex::DA
|
|
163
164
|
# being a hash on the entire URL. (default: nil, off)
|
164
165
|
attr_accessor :uhash_slice
|
165
166
|
|
167
|
+
# Max-retries not including the initial try (Default: 10)
|
168
|
+
attr_accessor :max_retries
|
169
|
+
|
170
|
+
# The transaction isolation level to use for work polling
|
171
|
+
# See {java.sql.Connection constants}[http://docs.oracle.com/javase/7/docs/api/constant-values.html#java.sql.Connection.TRANSACTION_READ_COMMITTED]
|
172
|
+
# (Default: TRANSACTION_REPEATABLE_READ (4))
|
173
|
+
attr_accessor :isolation_level
|
174
|
+
|
175
|
+
# URLS table explicit lock mode (String) for work polling,
|
176
|
+
# i.e. 'EXCLUSIVE'. Try this if deadlocks/contention are otherwise causing work
|
177
|
+
# poll starvation or excessive retries.
|
178
|
+
# (Default: nil -> implicit locking via isolation level only)
|
179
|
+
attr_accessor :lock_mode
|
180
|
+
|
181
|
+
# Maximum first-retry back-off delay in seconds (Float). Actual
|
182
|
+
# delay is a random value from 0..(value * 2^tries) for each
|
183
|
+
# retry. Default: 0.0 : no delay
|
184
|
+
attr_accessor :backoff
|
185
|
+
|
166
186
|
def initialize( data_source, mapper )
|
167
187
|
super()
|
168
188
|
|
@@ -178,6 +198,9 @@ module Iudex::DA
|
|
178
198
|
@max_discard_ratio = 2.0/3.0
|
179
199
|
@max_reserved_time_s = nil
|
180
200
|
@last_none_reserved = Time.now
|
201
|
+
@max_retries = 10
|
202
|
+
@isolation_level = 4
|
203
|
+
@backoff = 0.0
|
181
204
|
|
182
205
|
@age_coef_1 = 0.2
|
183
206
|
@age_coef_2 = 0.1
|
@@ -205,7 +228,8 @@ module Iudex::DA
|
|
205
228
|
|
206
229
|
# Override GenericWorkPollStrategy
|
207
230
|
def pollWorkImpl( visit_queue )
|
208
|
-
|
231
|
+
res = poll( visit_queue.order_count )
|
232
|
+
visit_queue.add_all( res ) if res
|
209
233
|
rescue SQLException => x
|
210
234
|
@log.error( "On poll: ", x )
|
211
235
|
end
|
@@ -266,7 +290,10 @@ module Iudex::DA
|
|
266
290
|
def reader
|
267
291
|
@reader ||= ContentReader.new( @data_source, @mapper ).tap do |r|
|
268
292
|
r.priority_adjusted = aged_priority?
|
269
|
-
r.max_retries =
|
293
|
+
r.max_retries = max_retries
|
294
|
+
r.isolation_level = isolation_level
|
295
|
+
r.lock_mode = lock_mode if lock_mode
|
296
|
+
r.backoff = ( backoff * 1_000 ).round if backoff > 0.0
|
270
297
|
end
|
271
298
|
end
|
272
299
|
|
@@ -275,9 +302,12 @@ module Iudex::DA
|
|
275
302
|
args = args.flatten.dup
|
276
303
|
opts = args.last.is_a?( Hash ) ? args.pop.dup : {}
|
277
304
|
opts[ :domain ] ||= args.shift
|
278
|
-
opts[ :max ] ||= args.shift
|
305
|
+
opts[ :max ] ||= args.shift || @max_urls
|
279
306
|
opts
|
280
307
|
end
|
308
|
+
@max_urls = @domain_union.inject( 0 ) do |m,r|
|
309
|
+
m + r[:max]
|
310
|
+
end
|
281
311
|
end
|
282
312
|
|
283
313
|
def domain_union?
|
@@ -301,13 +331,8 @@ module Iudex::DA
|
|
301
331
|
subqueries = []
|
302
332
|
@domain_union.each do | opts |
|
303
333
|
opts = opts.dup
|
304
|
-
|
305
|
-
|
306
|
-
max_urls.to_f ).floor
|
307
|
-
else
|
308
|
-
opts[ :max ] = ( max_urls - current_urls )
|
309
|
-
end
|
310
|
-
|
334
|
+
opts[ :max ] = ( opts[ :max ] * ( max_urls - current_urls ) /
|
335
|
+
max_urls.to_f ).floor
|
311
336
|
next if opts[ :max ] == 0
|
312
337
|
|
313
338
|
c = criteria.dup
|
data/pom.xml
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
<groupId>iudex</groupId>
|
6
6
|
<artifactId>iudex-da</artifactId>
|
7
7
|
<packaging>jar</packaging>
|
8
|
-
<version>1.
|
8
|
+
<version>1.5.0</version>
|
9
9
|
<name>Iudex Data Access</name>
|
10
10
|
|
11
11
|
<parent>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<dependency>
|
21
21
|
<groupId>iudex</groupId>
|
22
22
|
<artifactId>iudex-core</artifactId>
|
23
|
-
<version>[1.4.0,1.
|
23
|
+
<version>[1.4.0,1.7)</version>
|
24
24
|
</dependency>
|
25
25
|
|
26
26
|
<dependency>
|
data/test/setup.rb
CHANGED
data/test/test_migrate.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#.hashdot.profile += jruby-shortlived
|
3
3
|
|
4
4
|
#--
|
5
|
-
# Copyright (c) 2008-
|
5
|
+
# Copyright (c) 2008-2014 David Kellum
|
6
6
|
#
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
8
8
|
# may not use this file except in compliance with the License. You may
|
data/test/test_pool_factory.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#.hashdot.profile += jruby-shortlived
|
3
3
|
|
4
4
|
#--
|
5
|
-
# Copyright (c) 2008-
|
5
|
+
# Copyright (c) 2008-2014 David Kellum
|
6
6
|
#
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
8
8
|
# may not use this file except in compliance with the License. You
|
data/test/test_url_model.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#.hashdot.profile += jruby-shortlived
|
3
3
|
|
4
4
|
#--
|
5
|
-
# Copyright (c) 2008-
|
5
|
+
# Copyright (c) 2008-2014 David Kellum
|
6
6
|
#
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
8
8
|
# may not use this file except in compliance with the License. You may
|
data/test/test_work_poller.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#.hashdot.profile += jruby-shortlived
|
3
3
|
|
4
4
|
#--
|
5
|
-
# Copyright (c) 2008-
|
5
|
+
# Copyright (c) 2008-2014 David Kellum
|
6
6
|
#
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
8
8
|
# may not use this file except in compliance with the License. You may
|
metadata
CHANGED
@@ -1,30 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iudex-da
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 1.4.0
|
4
|
+
version: 1.5.0
|
6
5
|
platform: java
|
7
6
|
authors:
|
8
7
|
- David Kellum
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-03-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: iudex-core
|
16
15
|
version_requirements: !ruby/object:Gem::Requirement
|
17
16
|
requirements:
|
18
|
-
- -
|
17
|
+
- - '>='
|
19
18
|
- !ruby/object:Gem::Version
|
20
19
|
version: 1.4.0
|
21
|
-
|
20
|
+
- - <
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '1.7'
|
22
23
|
requirement: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
|
-
- -
|
25
|
+
- - '>='
|
25
26
|
- !ruby/object:Gem::Version
|
26
27
|
version: 1.4.0
|
27
|
-
|
28
|
+
- - <
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '1.7'
|
28
31
|
prerelease: false
|
29
32
|
type: :runtime
|
30
33
|
- !ruby/object:Gem::Dependency
|
@@ -33,14 +36,12 @@ dependencies:
|
|
33
36
|
requirements:
|
34
37
|
- - ~>
|
35
38
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
37
|
-
none: false
|
39
|
+
version: 4.8.0
|
38
40
|
requirement: !ruby/object:Gem::Requirement
|
39
41
|
requirements:
|
40
42
|
- - ~>
|
41
43
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
43
|
-
none: false
|
44
|
+
version: 4.8.0
|
44
45
|
prerelease: false
|
45
46
|
type: :runtime
|
46
47
|
- !ruby/object:Gem::Dependency
|
@@ -49,14 +50,12 @@ dependencies:
|
|
49
50
|
requirements:
|
50
51
|
- - ~>
|
51
52
|
- !ruby/object:Gem::Version
|
52
|
-
version: 9.
|
53
|
-
none: false
|
53
|
+
version: 9.3.1100
|
54
54
|
requirement: !ruby/object:Gem::Requirement
|
55
55
|
requirements:
|
56
56
|
- - ~>
|
57
57
|
- !ruby/object:Gem::Version
|
58
|
-
version: 9.
|
59
|
-
none: false
|
58
|
+
version: 9.3.1100
|
60
59
|
prerelease: false
|
61
60
|
type: :runtime
|
62
61
|
- !ruby/object:Gem::Dependency
|
@@ -66,13 +65,11 @@ dependencies:
|
|
66
65
|
- - ~>
|
67
66
|
- !ruby/object:Gem::Version
|
68
67
|
version: 1.4.0
|
69
|
-
none: false
|
70
68
|
requirement: !ruby/object:Gem::Requirement
|
71
69
|
requirements:
|
72
70
|
- - ~>
|
73
71
|
- !ruby/object:Gem::Version
|
74
72
|
version: 1.4.0
|
75
|
-
none: false
|
76
73
|
prerelease: false
|
77
74
|
type: :runtime
|
78
75
|
- !ruby/object:Gem::Dependency
|
@@ -82,13 +79,11 @@ dependencies:
|
|
82
79
|
- - ~>
|
83
80
|
- !ruby/object:Gem::Version
|
84
81
|
version: 1.5.0
|
85
|
-
none: false
|
86
82
|
requirement: !ruby/object:Gem::Requirement
|
87
83
|
requirements:
|
88
84
|
- - ~>
|
89
85
|
- !ruby/object:Gem::Version
|
90
86
|
version: 1.5.0
|
91
|
-
none: false
|
92
87
|
prerelease: false
|
93
88
|
type: :runtime
|
94
89
|
- !ruby/object:Gem::Dependency
|
@@ -98,13 +93,11 @@ dependencies:
|
|
98
93
|
- - ~>
|
99
94
|
- !ruby/object:Gem::Version
|
100
95
|
version: 4.7.4
|
101
|
-
none: false
|
102
96
|
requirement: !ruby/object:Gem::Requirement
|
103
97
|
requirements:
|
104
98
|
- - ~>
|
105
99
|
- !ruby/object:Gem::Version
|
106
100
|
version: 4.7.4
|
107
|
-
none: false
|
108
101
|
prerelease: false
|
109
102
|
type: :development
|
110
103
|
- !ruby/object:Gem::Dependency
|
@@ -114,13 +107,11 @@ dependencies:
|
|
114
107
|
- - ~>
|
115
108
|
- !ruby/object:Gem::Version
|
116
109
|
version: '1.5'
|
117
|
-
none: false
|
118
110
|
requirement: !ruby/object:Gem::Requirement
|
119
111
|
requirements:
|
120
112
|
- - ~>
|
121
113
|
- !ruby/object:Gem::Version
|
122
114
|
version: '1.5'
|
123
|
-
none: false
|
124
115
|
prerelease: false
|
125
116
|
type: :development
|
126
117
|
- !ruby/object:Gem::Dependency
|
@@ -129,14 +120,12 @@ dependencies:
|
|
129
120
|
requirements:
|
130
121
|
- - ~>
|
131
122
|
- !ruby/object:Gem::Version
|
132
|
-
version: '2.
|
133
|
-
none: false
|
123
|
+
version: '2.1'
|
134
124
|
requirement: !ruby/object:Gem::Requirement
|
135
125
|
requirements:
|
136
126
|
- - ~>
|
137
127
|
- !ruby/object:Gem::Version
|
138
|
-
version: '2.
|
139
|
-
none: false
|
128
|
+
version: '2.1'
|
140
129
|
prerelease: false
|
141
130
|
type: :development
|
142
131
|
description: Iudex is a general purpose web crawler and feed processor in ruby/java. The iudex-da gem provides a PostgreSQL-based content meta-data store and work priority queue.
|
@@ -187,9 +176,11 @@ files:
|
|
187
176
|
- test/test_pool_factory.rb
|
188
177
|
- test/test_url_model.rb
|
189
178
|
- test/test_work_poller.rb
|
190
|
-
- lib/iudex-da/iudex-da-1.
|
179
|
+
- lib/iudex-da/iudex-da-1.5.0.jar
|
191
180
|
homepage: http://iudex.gravitext.com
|
192
|
-
licenses:
|
181
|
+
licenses:
|
182
|
+
- Apache-2.0
|
183
|
+
metadata: {}
|
193
184
|
post_install_message:
|
194
185
|
rdoc_options:
|
195
186
|
- --main
|
@@ -198,27 +189,18 @@ require_paths:
|
|
198
189
|
- lib
|
199
190
|
required_ruby_version: !ruby/object:Gem::Requirement
|
200
191
|
requirements:
|
201
|
-
- -
|
192
|
+
- - '>='
|
202
193
|
- !ruby/object:Gem::Version
|
203
|
-
version:
|
204
|
-
segments:
|
205
|
-
- 0
|
206
|
-
hash: 2
|
207
|
-
none: false
|
194
|
+
version: 1.8.7
|
208
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
196
|
requirements:
|
210
|
-
- -
|
197
|
+
- - '>='
|
211
198
|
- !ruby/object:Gem::Version
|
212
199
|
version: '0'
|
213
|
-
segments:
|
214
|
-
- 0
|
215
|
-
hash: 2
|
216
|
-
none: false
|
217
200
|
requirements: []
|
218
201
|
rubyforge_project:
|
219
|
-
rubygems_version: 1.
|
202
|
+
rubygems_version: 2.1.9
|
220
203
|
signing_key:
|
221
|
-
specification_version:
|
204
|
+
specification_version: 4
|
222
205
|
summary: Iudex is a general purpose web crawler and feed processor in ruby/java.
|
223
206
|
test_files: []
|
224
|
-
...
|
Binary file
|