activerecord-bogacs 0.2.0 → 0.3.0
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/.travis.yml +27 -9
- data/Gemfile +5 -0
- data/LICENSE.txt +1 -1
- data/README.md +1 -1
- data/Rakefile +44 -14
- data/activerecord-bogacs.gemspec +1 -1
- data/lib/active_record/bogacs/shareable_pool.rb +16 -1
- data/lib/active_record/bogacs/version.rb +1 -1
- data/test/active_record/bogacs/false_pool_test.rb +64 -4
- data/test/test_helper.rb +42 -4
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 930e066b793b68dafffe166563475cfa1812aad6
|
4
|
+
data.tar.gz: 56cd2c22124126859b4e8bb5da2f8fe133c43a5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b9a4c0e4877fd090e266096c7c48cff52d3a2856efc712c8e3919c659d9f8a866ccf1f19d92ac44258e0d44cbfc255bab33473ab4a2c2200fbd6a5e228ebcc5
|
7
|
+
data.tar.gz: daaf27dcb6b82139cfeaf396181ddfbe6bf3ff36300f79dc56ae6aee9d4b604250f2172f434296136350c2bfb290907a2030d8b741e06330343b5fe51db2e4b2
|
data/.travis.yml
CHANGED
@@ -1,26 +1,44 @@
|
|
1
1
|
language: ruby
|
2
|
+
sudo: false
|
2
3
|
jdk:
|
3
4
|
#- openjdk6
|
4
5
|
- oraclejdk7
|
5
6
|
- oraclejdk8
|
6
7
|
rvm:
|
7
|
-
- jruby
|
8
|
+
- jruby-1.7.16
|
8
9
|
#- jruby-head
|
9
|
-
#- jruby-18mode
|
10
|
-
#- jruby-19mode
|
11
10
|
#- 2.1.2
|
12
11
|
before_install:
|
13
12
|
- ((jruby -v | grep 1.8.7) && jruby --1.9 -S gem update --system 2.1.11) || true
|
14
13
|
before_script:
|
15
14
|
#- echo \"JRUBY_OPTS: $JRUBY_OPTS\"
|
16
|
-
- export JRUBY_OPTS="--server -Xcext.enabled=false -Xcompile.invokedynamic=false"
|
15
|
+
- export JRUBY_OPTS="$JRUBY_OPTS --server -Xcext.enabled=false -Xcompile.invokedynamic=false"
|
17
16
|
- export JAVA_OPTS="$JAVA_OPTS" # -Xmx600M
|
18
17
|
script:
|
19
18
|
- bundle exec rake tomcat:jndi:download tomcat:jdbc:download tomcat:dbcp:download
|
20
|
-
- bundle exec rake c3p0:download
|
19
|
+
- bundle exec rake c3p0:download
|
20
|
+
- bundle exec rake hikari:download
|
21
|
+
- bundle exec rake dbcp:download
|
21
22
|
- bundle exec rake db:create:mysql db:create:postgresql
|
22
23
|
env:
|
23
|
-
- JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=mysql AR_VERSION="~> 4.1.
|
24
|
-
- JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=postgresql AR_VERSION="~> 4.1.
|
25
|
-
- JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=
|
26
|
-
- JRUBY_OPTS="
|
24
|
+
- JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=mysql AR_VERSION="~> 4.1.9" HIKARI_VERSION="2.3.2"
|
25
|
+
- JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=postgresql AR_VERSION="~> 4.1.9" HIKARI_VERSION="2.3.1-java6"
|
26
|
+
- JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=mysql AR_VERSION="~> 4.1.9" HIKARI_VERSION="2.0.1-java6"
|
27
|
+
- JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=postgresql AR_VERSION="~> 3.2.18" HIKARI_VERSION="1.4.0"
|
28
|
+
- JRUBY_OPTS="--1.8 $JRUBY_OPTS" AR_ADAPTER=mysql AR_VERSION="~> 3.2.18" HIKARI_VERSION="2.2.5-java6"
|
29
|
+
matrix:
|
30
|
+
#allow_failures:
|
31
|
+
#- rvm: jruby-head
|
32
|
+
exclude:
|
33
|
+
- rvm: jruby-1.7.16
|
34
|
+
env: JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=mysql AR_VERSION="~> 4.1.9" HIKARI_VERSION="2.3.2"
|
35
|
+
jdk: oraclejdk7
|
36
|
+
- rvm: jruby-1.7.16
|
37
|
+
env: JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=postgresql AR_VERSION="~> 4.1.9" HIKARI_VERSION="2.3.1-java6"
|
38
|
+
jdk: oraclejdk8
|
39
|
+
- rvm: jruby-1.7.16
|
40
|
+
env: JRUBY_OPTS="$JRUBY_OPTS" AR_ADAPTER=mysql AR_VERSION="~> 4.1.9" HIKARI_VERSION="2.0.1-java6"
|
41
|
+
jdk: oraclejdk8
|
42
|
+
- rvm: jruby-1.7.16
|
43
|
+
env: JRUBY_OPTS="--1.8 $JRUBY_OPTS" AR_ADAPTER=mysql AR_VERSION="~> 3.2.18" HIKARI_VERSION="2.2.5-java6"
|
44
|
+
jdk: oraclejdk8
|
data/Gemfile
CHANGED
@@ -16,6 +16,11 @@ else
|
|
16
16
|
gem 'activerecord', :require => nil
|
17
17
|
end
|
18
18
|
|
19
|
+
if RUBY_VERSION.index('1.8') == 0
|
20
|
+
gem 'i18n', '< 0.7.0' # Gem::InstallError: i18n requires Ruby version >= 1.9.3
|
21
|
+
gem 'atomic', '1.1.16' # concurrent-ruby gem only for Ruby version >= 1.9.3
|
22
|
+
end
|
23
|
+
|
19
24
|
platform :jruby do
|
20
25
|
if version = ENV['AR_JDBC_VERSION']
|
21
26
|
if version.index('/') && ::File.exist?(version)
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -117,7 +117,7 @@ Only tested with ActiveRecord-JDBC-Adapter using the official Postgres' driver.
|
|
117
117
|
|
118
118
|
## Copyright
|
119
119
|
|
120
|
-
Copyright (c)
|
120
|
+
Copyright (c) 2015 [Karol Bucek](http://kares.org).
|
121
121
|
See LICENSE (http://en.wikipedia.org/wiki/MIT_License) for details.
|
122
122
|
|
123
123
|
[0]: http://res.cloudinary.com/kares/image/upload/c_scale,h_600,w_800/v1406451696/bogacs.jpg
|
data/Rakefile
CHANGED
@@ -94,7 +94,7 @@ namespace :tomcat do
|
|
94
94
|
|
95
95
|
tomcat_maven_repo = 'http://repo2.maven.org/maven2/org/apache/tomcat'
|
96
96
|
download_dir = File.expand_path('test/jars', File.dirname(__FILE__))
|
97
|
-
version_default = '7.0.
|
97
|
+
version_default = '7.0.59'
|
98
98
|
|
99
99
|
[ 'tomcat-jdbc', 'tomcat-dbcp' ].each do |tomcat_pool|
|
100
100
|
namespace tomcat_pool.sub('tomcat-', '') do # rake tomcat:dbcp:download
|
@@ -102,7 +102,8 @@ namespace :tomcat do
|
|
102
102
|
tomcat_pool_jar = "#{tomcat_pool}.jar"
|
103
103
|
|
104
104
|
task :download, :version do |_,args| # rake tomcat:jdbc:download[7.0.54]
|
105
|
-
|
105
|
+
env_key = "#{tomcat_pool.upcase.sub('-', '_')}_VERSION" # 'TOMCAT_JDBC_VERSION'
|
106
|
+
version = args[:version] || ENV[env_key] || version_default
|
106
107
|
|
107
108
|
uri = "#{tomcat_maven_repo}/#{tomcat_pool}/#{version}/#{tomcat_pool}-#{version}.jar"
|
108
109
|
|
@@ -173,24 +174,47 @@ namespace :tomcat do
|
|
173
174
|
|
174
175
|
end
|
175
176
|
|
177
|
+
namespace :dbcp do # a.k.a DBCP2
|
178
|
+
|
179
|
+
commons_repo = 'http://repo2.maven.org/maven2/org/apache/commons'
|
180
|
+
download_dir = File.expand_path('test/jars', File.dirname(__FILE__))
|
181
|
+
version_default = '2.0.1'
|
182
|
+
|
183
|
+
task :download, :version do |_,args| # rake dbcp:download
|
184
|
+
version = args[:version] || ENV['DBCP_VERSION'] || version_default
|
185
|
+
|
186
|
+
dbcp_jar = "commons-dbcp2-#{version}.jar"
|
187
|
+
|
188
|
+
uri = "#{commons_repo}/commons-dbcp2/#{version}/#{dbcp_jar}"
|
189
|
+
|
190
|
+
_download(uri, download_dir, dbcp_jar)
|
191
|
+
end
|
192
|
+
|
193
|
+
task :clear do
|
194
|
+
Dir.glob( File.join(download_dir, '{commons-dbcp2}*.jar') ).each { |jar| rm jar }
|
195
|
+
end
|
196
|
+
|
197
|
+
end
|
198
|
+
|
176
199
|
namespace :c3p0 do
|
177
200
|
|
178
201
|
mchange_base_repo = 'http://repo2.maven.org/maven2/com/mchange'
|
179
202
|
download_dir = File.expand_path('test/jars', File.dirname(__FILE__))
|
180
|
-
c3p0_version = '0.9.5
|
181
|
-
mchange_commons_version = '0.2.
|
203
|
+
c3p0_version = '0.9.5'
|
204
|
+
mchange_commons_version = '0.2.9'
|
182
205
|
|
183
|
-
c3p0_jar = "c3p0-#{c3p0_version}.jar"
|
184
206
|
mchange_commons_jar = "mchange-commons-java-#{mchange_commons_version}.jar"
|
185
207
|
|
186
208
|
task :download, :version do |_,args| # rake c3p0:download
|
187
|
-
|
209
|
+
version = args[:version] || ENV['C3P0_VERSION'] || c3p0_version
|
210
|
+
|
211
|
+
c3p0_jar = "c3p0-#{version}.jar"
|
188
212
|
|
189
213
|
uri = "#{mchange_base_repo}/mchange-commons-java/#{mchange_commons_version}/#{mchange_commons_jar}"
|
190
214
|
|
191
215
|
_download(uri, download_dir, mchange_commons_jar)
|
192
216
|
|
193
|
-
uri = "#{mchange_base_repo}/c3p0/#{
|
217
|
+
uri = "#{mchange_base_repo}/c3p0/#{version}/#{c3p0_jar}"
|
194
218
|
|
195
219
|
_download(uri, download_dir, c3p0_jar)
|
196
220
|
end
|
@@ -207,8 +231,8 @@ namespace :hikari do
|
|
207
231
|
slf4j_base_repo = 'http://repo2.maven.org/maven2/org/slf4j'
|
208
232
|
javassist_base_repo = 'http://repo2.maven.org/maven2/org/javassist'
|
209
233
|
download_dir = File.expand_path('test/jars', File.dirname(__FILE__))
|
210
|
-
hikari_version = '1.
|
211
|
-
slf4j_version = '1.7.
|
234
|
+
hikari_version = '1.4.0'
|
235
|
+
slf4j_version = '1.7.10'
|
212
236
|
javassist_version = '3.18.2-GA'
|
213
237
|
|
214
238
|
slf4j_api_jar = "slf4j-api-#{slf4j_version}.jar"
|
@@ -216,11 +240,17 @@ namespace :hikari do
|
|
216
240
|
javassist_jar = "javassist-#{javassist_version}.jar"
|
217
241
|
|
218
242
|
task :download, :version do |_,args| # rake c3p0:download
|
219
|
-
version = args[:version] || hikari_version
|
220
|
-
|
221
|
-
|
243
|
+
version = args[:version] || ENV['HIKARI_VERSION'] || hikari_version
|
244
|
+
|
245
|
+
version = version.dup
|
246
|
+
if version.sub!('-java6', '') # e.g. '2.3.2-java6'
|
247
|
+
hikari_jar = "HikariCP-java6-#{version}.jar"
|
248
|
+
uri = "#{hikari_base_repo}/HikariCP-java6/#{version}/#{hikari_jar}"
|
249
|
+
else
|
250
|
+
hikari_jar = "HikariCP-#{version}.jar"
|
251
|
+
uri = "#{hikari_base_repo}/HikariCP/#{version}/#{hikari_jar}"
|
252
|
+
end
|
222
253
|
|
223
|
-
uri = "#{hikari_base_repo}/HikariCP/#{version}/#{hikari_jar}"
|
224
254
|
_download(uri, download_dir, hikari_jar)
|
225
255
|
|
226
256
|
uri = "#{slf4j_base_repo}/slf4j-api/#{slf4j_version}/#{slf4j_api_jar}"
|
@@ -234,7 +264,7 @@ namespace :hikari do
|
|
234
264
|
end
|
235
265
|
|
236
266
|
task :clear do
|
237
|
-
Dir.glob( File.join(download_dir, '{HikariCP,slf4j}*.jar') ).each { |jar| rm jar }
|
267
|
+
Dir.glob( File.join(download_dir, '{HikariCP,slf4j,javassist}*.jar') ).each { |jar| rm jar }
|
238
268
|
end
|
239
269
|
|
240
270
|
end
|
data/activerecord-bogacs.gemspec
CHANGED
@@ -18,9 +18,9 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.test_files = gem.files.grep(%r{^test/})
|
19
19
|
gem.require_paths = ["lib"]
|
20
20
|
|
21
|
-
gem.add_runtime_dependency 'atomic', '~> 1.1'
|
22
21
|
gem.add_runtime_dependency 'thread_safe', '~> 0.3'
|
23
22
|
|
23
|
+
gem.add_development_dependency 'concurrent-ruby', '>= 0.8' if RUBY_VERSION.index('1.8') != 0
|
24
24
|
gem.add_development_dependency 'rake', '~> 10.3'
|
25
25
|
gem.add_development_dependency 'test-unit', '~> 2.5'
|
26
26
|
end
|
@@ -2,7 +2,16 @@ require 'active_record/connection_adapters/abstract/connection_pool'
|
|
2
2
|
|
3
3
|
require 'thread'
|
4
4
|
require 'thread_safe'
|
5
|
-
|
5
|
+
begin
|
6
|
+
require 'concurrent/atomic'
|
7
|
+
rescue LoadError => e
|
8
|
+
begin
|
9
|
+
require 'atomic'
|
10
|
+
rescue LoadError
|
11
|
+
warn "shareable pool needs gem 'concurrent-ruby' please install or add it to your Gemfile"
|
12
|
+
raise e
|
13
|
+
end
|
14
|
+
end
|
6
15
|
|
7
16
|
require 'active_record/bogacs/pool_support'
|
8
17
|
|
@@ -223,6 +232,12 @@ module ActiveRecord
|
|
223
232
|
least_shared # might be nil in that case we'll likely wait (as super)
|
224
233
|
end
|
225
234
|
|
235
|
+
if defined? Concurrent::Atomic
|
236
|
+
Atomic = Concurrent::Atomic
|
237
|
+
else
|
238
|
+
Atomic = ::Atomic
|
239
|
+
end
|
240
|
+
|
226
241
|
def add_shared_connection(connection)
|
227
242
|
@shared_connections[connection] = Atomic.new(1)
|
228
243
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
require File.expand_path('../../test_helper', File.dirname(__FILE__))
|
2
2
|
|
3
|
-
require 'atomic'
|
4
|
-
|
5
3
|
ActiveRecord::Bogacs::FalsePool.class_eval do
|
6
4
|
# ...
|
7
5
|
end
|
@@ -178,7 +176,7 @@ module ActiveRecord
|
|
178
176
|
(max_pool_size - 1).times { threads_ready.pop } # awaits
|
179
177
|
|
180
178
|
connection = t1_ready.pop
|
181
|
-
t1_jdbc_connection = connection
|
179
|
+
t1_jdbc_connection = unwrap_connection(connection)
|
182
180
|
|
183
181
|
# pool = ActiveRecord::Base.connection_pool
|
184
182
|
|
@@ -202,7 +200,7 @@ module ActiveRecord
|
|
202
200
|
|
203
201
|
if defined? JRUBY_VERSION
|
204
202
|
if connection2 = t2.join.value
|
205
|
-
assert_equal t1_jdbc_connection, connection2
|
203
|
+
assert_equal t1_jdbc_connection, unwrap_connection(connection2)
|
206
204
|
end
|
207
205
|
end
|
208
206
|
|
@@ -212,6 +210,12 @@ module ActiveRecord
|
|
212
210
|
threads && threads.each(&:join)
|
213
211
|
end
|
214
212
|
|
213
|
+
protected
|
214
|
+
|
215
|
+
def unwrap_connection(connection)
|
216
|
+
connection.jdbc_connection(true)
|
217
|
+
end
|
218
|
+
|
215
219
|
end
|
216
220
|
|
217
221
|
class ConnectionPoolWrappingTomcatJdbcDataSourceTest < TestBase
|
@@ -235,6 +239,62 @@ module ActiveRecord
|
|
235
239
|
|
236
240
|
end
|
237
241
|
|
242
|
+
class ConnectionPoolWrappingTomcatDbcpDataSourceTest < TestBase
|
243
|
+
include ConnectionPoolWrappingDataSourceTestMethods
|
244
|
+
|
245
|
+
def self.build_data_source(config)
|
246
|
+
build_tomcat_dbcp_data_source(config)
|
247
|
+
end
|
248
|
+
|
249
|
+
def self.jndi_name; 'jdbc/TestTomcatDbcpDB' end
|
250
|
+
|
251
|
+
def self.close_data_source
|
252
|
+
@@data_source.close if @@data_source
|
253
|
+
end
|
254
|
+
|
255
|
+
def max_pool_size; @@data_source.max_active end
|
256
|
+
|
257
|
+
def teardown
|
258
|
+
self.class.establish_jndi_connection # for next test
|
259
|
+
end
|
260
|
+
|
261
|
+
protected
|
262
|
+
|
263
|
+
def unwrap_connection(connection)
|
264
|
+
connection = connection.jdbc_connection(true)
|
265
|
+
connection.delegate
|
266
|
+
end
|
267
|
+
|
268
|
+
end
|
269
|
+
|
270
|
+
class ConnectionPoolWrappingDbcpDataSourceTest < TestBase
|
271
|
+
include ConnectionPoolWrappingDataSourceTestMethods
|
272
|
+
|
273
|
+
def self.build_data_source(config)
|
274
|
+
build_tomcat_dbcp_data_source(config)
|
275
|
+
end
|
276
|
+
|
277
|
+
def self.jndi_name; 'jdbc/TestTomcatDbcpDB' end
|
278
|
+
|
279
|
+
def self.close_data_source
|
280
|
+
@@data_source.close if @@data_source
|
281
|
+
end
|
282
|
+
|
283
|
+
def max_pool_size; @@data_source.max_active end
|
284
|
+
|
285
|
+
def teardown
|
286
|
+
self.class.establish_jndi_connection # for next test
|
287
|
+
end
|
288
|
+
|
289
|
+
protected
|
290
|
+
|
291
|
+
def unwrap_connection(connection)
|
292
|
+
connection = connection.jdbc_connection(true)
|
293
|
+
connection.delegate
|
294
|
+
end
|
295
|
+
|
296
|
+
end
|
297
|
+
|
238
298
|
class ConnectionPoolWrappingC3P0DataSourceTest < TestBase
|
239
299
|
include ConnectionPoolWrappingDataSourceTestMethods
|
240
300
|
|
data/test/test_helper.rb
CHANGED
@@ -110,6 +110,14 @@ end
|
|
110
110
|
module ActiveRecord
|
111
111
|
module Bogacs
|
112
112
|
|
113
|
+
begin
|
114
|
+
require 'concurrent/atomic'
|
115
|
+
Atomic = Concurrent::Atomic
|
116
|
+
rescue LoadError
|
117
|
+
require 'atomic'
|
118
|
+
Atomic = ::Atomic
|
119
|
+
end
|
120
|
+
|
113
121
|
module TestHelper
|
114
122
|
|
115
123
|
def _test_name
|
@@ -251,6 +259,28 @@ module ActiveRecord
|
|
251
259
|
data_source
|
252
260
|
end
|
253
261
|
|
262
|
+
def build_tomcat_dbcp_data_source(ar_jdbc_config = AR_CONFIG)
|
263
|
+
load 'test/jars/tomcat-dbcp.jar'
|
264
|
+
|
265
|
+
data_source = org.apache.tomcat.dbcp.dbcp.BasicDataSource.new
|
266
|
+
configure_dbcp_data_source(data_source, ar_jdbc_config)
|
267
|
+
|
268
|
+
data_source.setAccessToUnderlyingConnectionAllowed true
|
269
|
+
|
270
|
+
data_source
|
271
|
+
end
|
272
|
+
|
273
|
+
def build_commons_dbcp_data_source(ar_jdbc_config = AR_CONFIG)
|
274
|
+
load Dir.glob('test/jars/{commons-dbcp}*.jar').first
|
275
|
+
|
276
|
+
data_source = org.apache.tomcat.dbcp.dbcp.BasicDataSource.new
|
277
|
+
configure_dbcp_data_source(data_source, ar_jdbc_config)
|
278
|
+
|
279
|
+
data_source.setAccessToUnderlyingConnectionAllowed true
|
280
|
+
|
281
|
+
data_source
|
282
|
+
end
|
283
|
+
|
254
284
|
def configure_dbcp_data_source(data_source, ar_jdbc_config)
|
255
285
|
unless driver = ar_jdbc_config[:driver]
|
256
286
|
jdbc_driver_module.load_driver
|
@@ -261,10 +291,18 @@ module ActiveRecord
|
|
261
291
|
data_source.setUrl ar_jdbc_config[:url]
|
262
292
|
data_source.setUsername ar_jdbc_config[:username] if ar_jdbc_config[:username]
|
263
293
|
data_source.setPassword ar_jdbc_config[:password] if ar_jdbc_config[:password]
|
264
|
-
if ar_jdbc_config[:properties]
|
265
|
-
|
266
|
-
|
267
|
-
|
294
|
+
if properties = ar_jdbc_config[:properties]
|
295
|
+
if data_source.respond_to?(:setDbProperties) # TC-JDBC
|
296
|
+
db_properties = java.util.Properties.new
|
297
|
+
properties.each { |name, value| db_properties.put(name, value.to_s) }
|
298
|
+
data_source.setDbProperties db_properties
|
299
|
+
else # Tomcat-DBCP / Commons DBCP2
|
300
|
+
# format of the string must be: [propertyName=property;]
|
301
|
+
connection_properties = properties.inject('') do
|
302
|
+
|str, name, val| str << "[#{name}=#{val};]"; str
|
303
|
+
end
|
304
|
+
data_source.setConnectionProperties connection_properties
|
305
|
+
end
|
268
306
|
end
|
269
307
|
# JDBC pool tunings (some mapped from AR configuration) :
|
270
308
|
if ar_jdbc_config[:pool] # default is 100
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-bogacs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karol Bucek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: thread_safe
|
15
15
|
version_requirements: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0.3'
|
20
20
|
requirement: !ruby/object:Gem::Requirement
|
21
21
|
requirements:
|
22
22
|
- - ~>
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version: '
|
24
|
+
version: '0.3'
|
25
25
|
prerelease: false
|
26
26
|
type: :runtime
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: concurrent-ruby
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.8'
|
34
34
|
requirement: !ruby/object:Gem::Requirement
|
35
35
|
requirements:
|
36
|
-
- -
|
36
|
+
- - '>='
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version: '0.
|
38
|
+
version: '0.8'
|
39
39
|
prerelease: false
|
40
|
-
type: :
|
40
|
+
type: :development
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
115
|
version: '0'
|
116
116
|
requirements: []
|
117
117
|
rubyforge_project:
|
118
|
-
rubygems_version: 2.
|
118
|
+
rubygems_version: 2.4.5
|
119
119
|
signing_key:
|
120
120
|
specification_version: 4
|
121
121
|
summary: A small body of still water, usually fresh ... for ActiveRecord!
|