rdbi 1.1.0 → 1.2.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Manifest.txt +17 -7
- data/Rakefile +10 -48
- data/lib/rdbi.rb +31 -4
- data/lib/rdbi/database.rb +2 -0
- data/lib/rdbi/version.rb +3 -0
- data/rdbi.gemspec +26 -84
- data/test/helper.rb +4 -3
- data/test/test_database.rb +2 -2
- data/test/test_implicit_load.rb +118 -0
- data/test/test_pool.rb +15 -18
- data/test/testlib/rdbi-driver-stringhyphen.rb +7 -0
- data/test/testlib/rdbi-driver-stringhyphencached.rb +7 -0
- data/test/testlib/rdbi-driver-symbolhyphen.rb +7 -0
- data/test/testlib/rdbi-driver-symbolhyphencached.rb +7 -0
- data/test/testlib/rdbi/driver/stringsubdir.rb +7 -0
- data/test/testlib/rdbi/driver/stringsubdircached.rb +7 -0
- data/test/testlib/rdbi/driver/symbolsubdir.rb +7 -0
- data/test/testlib/rdbi/driver/symbolsubdircached.rb +7 -0
- metadata +48 -132
- data/.gemtest +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0873bbb513296fc6589e4b310c3f1a63b67487a6
|
4
|
+
data.tar.gz: 0dd9ac54aa4530e9d3c889e994f5aa40200fe02b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0b599a20c5d811e4dd75c37b484ed7f2bd90ce20f55e904ad686ecf2cf123ad3e1d3f3451d3cea062c9aa459a70f474ec77d40bd5c77e42953d738b82549ed2
|
7
|
+
data.tar.gz: 614843267785b03369c0019e9a413ba895b0b59c9fb5273501fa48c6c64f0d6ba7dcd3001340c8baea564a0ff0c5a6c7f39a11fc5fbba0957a8b1794db123cd5
|
data/Manifest.txt
CHANGED
@@ -1,25 +1,35 @@
|
|
1
|
-
.gemtest
|
2
|
-
History.txt
|
3
|
-
LICENSE
|
4
|
-
Manifest.txt
|
5
|
-
README.txt
|
6
|
-
Rakefile
|
7
1
|
docs/external-api.pdf
|
8
2
|
docs/external-api.texi
|
9
|
-
|
3
|
+
.gemtest
|
4
|
+
History.txt
|
10
5
|
lib/rdbi/cursor.rb
|
11
6
|
lib/rdbi/database.rb
|
12
7
|
lib/rdbi/driver.rb
|
13
8
|
lib/rdbi/pool.rb
|
9
|
+
lib/rdbi.rb
|
14
10
|
lib/rdbi/result.rb
|
15
11
|
lib/rdbi/schema.rb
|
16
12
|
lib/rdbi/statement.rb
|
17
13
|
lib/rdbi/types.rb
|
14
|
+
lib/rdbi/version.rb
|
15
|
+
LICENSE
|
16
|
+
Manifest.txt
|
18
17
|
perf/bench.rb
|
19
18
|
perf/profile.rb
|
19
|
+
Rakefile
|
20
20
|
rdbi.gemspec
|
21
|
+
README.txt
|
21
22
|
test/helper.rb
|
22
23
|
test/test_database.rb
|
24
|
+
test/test_implicit_load.rb
|
25
|
+
test/testlib/rdbi-driver-stringhyphencached.rb
|
26
|
+
test/testlib/rdbi-driver-stringhyphen.rb
|
27
|
+
test/testlib/rdbi/driver/stringsubdircached.rb
|
28
|
+
test/testlib/rdbi/driver/stringsubdir.rb
|
29
|
+
test/testlib/rdbi-driver-symbolhyphencached.rb
|
30
|
+
test/testlib/rdbi-driver-symbolhyphen.rb
|
31
|
+
test/testlib/rdbi/driver/symbolsubdircached.rb
|
32
|
+
test/testlib/rdbi/driver/symbolsubdir.rb
|
23
33
|
test/test_pool.rb
|
24
34
|
test/test_rdbi.rb
|
25
35
|
test/test_result.rb
|
data/Rakefile
CHANGED
@@ -1,53 +1,15 @@
|
|
1
|
-
|
1
|
+
require 'rake/testtask'
|
2
|
+
require 'rubygems/package_task'
|
2
3
|
|
3
|
-
require '
|
4
|
-
require 'hoe'
|
4
|
+
require File.expand_path('../lib/rdbi/version', __FILE__)
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
Hoe.plugin :reek
|
11
|
-
|
12
|
-
spec = Hoe.spec 'rdbi' do
|
13
|
-
developer 'Erik Hollensbe', 'erik@hollensbe.org'
|
14
|
-
|
15
|
-
self.rubyforge_name = nil
|
16
|
-
|
17
|
-
self.description = <<-EOF
|
18
|
-
RDBI is a database interface built out of small parts. A micro framework for
|
19
|
-
databases, RDBI works with and extends libraries like 'typelib' and 'epoxy'
|
20
|
-
to provide type conversion and binding facilities. Via a driver/adapter
|
21
|
-
system it provides database access. RDBI itself provides pooling and other
|
22
|
-
enhanced database features.
|
23
|
-
EOF
|
24
|
-
|
25
|
-
self.summary = 'RDBI is a database interface built out of small parts.'
|
26
|
-
self.urls = %w[http://github.com/rdbi/rdbi]
|
27
|
-
|
28
|
-
require_ruby_version ">= 1.8.7"
|
29
|
-
|
30
|
-
extra_dev_deps << ['rdbi-driver-mock']
|
31
|
-
extra_dev_deps << ['test-unit']
|
32
|
-
extra_dev_deps << ['rdoc']
|
33
|
-
extra_dev_deps << ['hanna-nouveau']
|
34
|
-
extra_dev_deps << ['fastercsv']
|
35
|
-
extra_dev_deps << ['hoe-roodi']
|
36
|
-
extra_dev_deps << ['hoe-reek']
|
37
|
-
extra_dev_deps << ['minitest']
|
38
|
-
|
39
|
-
extra_deps << ['epoxy', '>= 0.3.1']
|
40
|
-
extra_deps << ['typelib']
|
41
|
-
|
42
|
-
# waiting on a patch from hoe for this
|
43
|
-
#self.extra_rdoc_args = lambda do |rd|
|
44
|
-
#rd.generator = "hanna"
|
45
|
-
#end
|
46
|
-
|
47
|
-
desc "install a gem without sudo"
|
6
|
+
Rake::TestTask.new do |t|
|
7
|
+
t.libs << 'test'
|
8
|
+
#t.warning = true
|
9
|
+
t.verbose = true
|
48
10
|
end
|
49
11
|
|
50
|
-
|
51
|
-
sh "gem install pkg/#{spec.name}-#{spec.version}.gem"
|
12
|
+
Gem::PackageTask.new(eval(File.read("rdbi.gemspec"))) do
|
52
13
|
end
|
53
|
-
|
14
|
+
|
15
|
+
task :default => :test
|
data/lib/rdbi.rb
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'rdbi/version'
|
2
2
|
|
3
3
|
module RDBI
|
4
4
|
|
5
|
-
VERSION = '1.1.0'
|
6
|
-
|
7
5
|
class << self
|
8
6
|
#
|
9
7
|
# The last database handle allocated. This may come from pooled connections or regular ones.
|
@@ -28,7 +26,14 @@ module RDBI
|
|
28
26
|
# connection will be automatically disconnected at the end of the block.
|
29
27
|
def self.connect(klass, *args)
|
30
28
|
|
31
|
-
klass =
|
29
|
+
klass = case klass
|
30
|
+
when ::Class
|
31
|
+
klass
|
32
|
+
when ::String, ::Symbol
|
33
|
+
Util.resolve_driver(klass)
|
34
|
+
else
|
35
|
+
raise ArgumentError.new("Invalid driver specification")
|
36
|
+
end
|
32
37
|
|
33
38
|
driver = klass.new(*args)
|
34
39
|
dbh = self.last_dbh = driver.new_handle
|
@@ -121,6 +126,28 @@ module RDBI::Util
|
|
121
126
|
raise LoadError, "The '#{lib}' gem is required to use this driver. Please install it."
|
122
127
|
end
|
123
128
|
|
129
|
+
# Require and swallow errors. Returns true if module loaded (for the first
|
130
|
+
# time), false if already loaded or unable to load
|
131
|
+
def self.naive_require(lib)
|
132
|
+
require lib
|
133
|
+
rescue LoadError
|
134
|
+
nil
|
135
|
+
end
|
136
|
+
|
137
|
+
# Given a short driver name (e.g., :FauxSQL), return the corresponding
|
138
|
+
# class, attempting to load the driver library if needed.
|
139
|
+
def self.resolve_driver(driver)
|
140
|
+
loop do
|
141
|
+
return ::RDBI::Driver.const_get(driver.to_sym) if ::RDBI::Driver.const_defined?(driver.to_sym)
|
142
|
+
# const_defined? will throw a NameError if driver is not a valid
|
143
|
+
# constant name
|
144
|
+
redo if naive_require("rdbi-driver-#{driver.to_s.downcase}")
|
145
|
+
redo if naive_require("rdbi/driver/#{driver.to_s.downcase}")
|
146
|
+
break
|
147
|
+
end
|
148
|
+
raise ArgumentError.new("Unable to qualify driver #{driver}")
|
149
|
+
end
|
150
|
+
|
124
151
|
#
|
125
152
|
# This is the loading logic we use to import drivers of various natures.
|
126
153
|
#
|
data/lib/rdbi/database.rb
CHANGED
data/lib/rdbi/version.rb
ADDED
data/rdbi.gemspec
CHANGED
@@ -1,92 +1,34 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
-
# -*- encoding: utf-8 -*-
|
1
|
+
require 'rake' # FileList
|
2
|
+
require File.expand_path('../lib/rdbi/version', __FILE__)
|
5
3
|
|
6
4
|
Gem::Specification.new do |s|
|
7
|
-
s.name
|
8
|
-
s.version
|
9
|
-
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
5
|
+
s.name = %q{rdbi}
|
6
|
+
s.version = RDBI::VERSION
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.authors = ["Mike Pomraning", "Erik Hollensbe"]
|
9
|
+
s.date = %q{2013-06-05}
|
10
|
+
s.homepage = %q{http://github.com/RDBI/rdbi}
|
11
|
+
s.summary = "A ruby database abstraction layer"
|
13
12
|
s.description = %q{RDBI is a rearchitecture of the Ruby/DBI project by its maintainer and others. It intends to fully supplant Ruby/DBI in the future for similar database access needs.}
|
14
|
-
s.email
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
"LICENSE",
|
21
|
-
"README.txt",
|
22
|
-
"Rakefile",
|
23
|
-
"docs/external-api.pdf",
|
24
|
-
"docs/external-api.texi",
|
25
|
-
"lib/rdbi.rb",
|
26
|
-
"lib/rdbi/cursor.rb",
|
27
|
-
"lib/rdbi/database.rb",
|
28
|
-
"lib/rdbi/driver.rb",
|
29
|
-
"lib/rdbi/pool.rb",
|
30
|
-
"lib/rdbi/result.rb",
|
31
|
-
"lib/rdbi/schema.rb",
|
32
|
-
"lib/rdbi/statement.rb",
|
33
|
-
"lib/rdbi/types.rb",
|
34
|
-
"perf/bench.rb",
|
35
|
-
"perf/profile.rb",
|
36
|
-
"rdbi.gemspec",
|
37
|
-
"test/helper.rb",
|
38
|
-
"test/test_database.rb",
|
39
|
-
"test/test_pool.rb",
|
40
|
-
"test/test_rdbi.rb",
|
41
|
-
"test/test_result.rb",
|
42
|
-
"test/test_statement.rb",
|
43
|
-
"test/test_types.rb",
|
44
|
-
"test/test_util.rb"
|
45
|
-
]
|
46
|
-
s.homepage = %q{http://github.com/RDBI/rdbi}
|
13
|
+
s.email = ["mjp@pilcrow.madison.wi.us"]
|
14
|
+
|
15
|
+
s.required_rubygems_version = ">= 1.3.6"
|
16
|
+
|
47
17
|
s.require_paths = ["lib"]
|
48
|
-
s.rubygems_version = %q{1.3.7}
|
49
|
-
s.summary = %q{RDBI provides sane query-level database access with low magic.}
|
50
|
-
s.test_files = [
|
51
|
-
"test/helper.rb",
|
52
|
-
"test/test_database.rb",
|
53
|
-
"test/test_pool.rb",
|
54
|
-
"test/test_rdbi.rb",
|
55
|
-
"test/test_result.rb",
|
56
|
-
"test/test_statement.rb",
|
57
|
-
"test/test_types.rb",
|
58
|
-
"test/test_util.rb"
|
59
|
-
]
|
60
18
|
|
61
|
-
|
62
|
-
|
63
|
-
|
19
|
+
s.files = FileList["{lib,docs,perf,test}/**/*.*",
|
20
|
+
"rdbi.gemspec",
|
21
|
+
"History.txt",
|
22
|
+
"Manifest.txt",
|
23
|
+
"Rakefile",
|
24
|
+
"LICENSE"].to_a
|
25
|
+
s.test_files = FileList["test/**/*.*"].to_a
|
26
|
+
s.extra_rdoc_files = [ "LICENSE", "README.txt" ]
|
64
27
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
s.add_runtime_dependency(%q<methlab>, [">= 0.0.9"])
|
71
|
-
s.add_runtime_dependency(%q<epoxy>, [">= 0.3.1"])
|
72
|
-
s.add_runtime_dependency(%q<typelib>, [">= 0"])
|
73
|
-
else
|
74
|
-
s.add_dependency(%q<rdbi-driver-mock>, [">= 0"])
|
75
|
-
s.add_dependency(%q<test-unit>, [">= 0"])
|
76
|
-
s.add_dependency(%q<rdoc>, [">= 0"])
|
77
|
-
s.add_dependency(%q<fastercsv>, [">= 0"])
|
78
|
-
s.add_dependency(%q<methlab>, [">= 0.0.9"])
|
79
|
-
s.add_dependency(%q<epoxy>, [">= 0.3.1"])
|
80
|
-
s.add_dependency(%q<typelib>, [">= 0"])
|
81
|
-
end
|
82
|
-
else
|
83
|
-
s.add_dependency(%q<rdbi-driver-mock>, [">= 0"])
|
84
|
-
s.add_dependency(%q<test-unit>, [">= 0"])
|
85
|
-
s.add_dependency(%q<rdoc>, [">= 0"])
|
86
|
-
s.add_dependency(%q<fastercsv>, [">= 0"])
|
87
|
-
s.add_dependency(%q<methlab>, [">= 0.0.9"])
|
88
|
-
s.add_dependency(%q<epoxy>, [">= 0.3.1"])
|
89
|
-
s.add_dependency(%q<typelib>, [">= 0"])
|
90
|
-
end
|
28
|
+
s.add_development_dependency(%q<rdbi-driver-mock>, [">= 0"])
|
29
|
+
s.add_development_dependency(%q<test-unit>, [">= 0"])
|
30
|
+
s.add_development_dependency(%q<rdoc>, [">= 0"])
|
31
|
+
s.add_runtime_dependency(%q<epoxy>, [">= 0.3.1"])
|
32
|
+
s.add_runtime_dependency(%q<typelib>, [">= 0"])
|
91
33
|
end
|
92
34
|
|
data/test/helper.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
gem 'rdbi-driver-mock'
|
3
1
|
require 'test/unit'
|
4
2
|
|
5
3
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
6
4
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
5
|
+
|
7
6
|
require 'rdbi'
|
8
|
-
require 'rdbi/driver/mock'
|
7
|
+
require 'rdbi/driver/mock' # Aaargh 1.0.0 vs .9.x
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'testlib'))
|
9
10
|
|
10
11
|
# -- Fake an exceptional statement handle
|
11
12
|
module FaultyDB
|
data/test/test_database.rb
CHANGED
@@ -153,12 +153,12 @@ class TestDatabase < Test::Unit::TestCase
|
|
153
153
|
assert(sth)
|
154
154
|
assert_kind_of(RDBI::Statement, sth)
|
155
155
|
|
156
|
-
assert_equal(@dbh.last_statement.
|
156
|
+
assert_equal(@dbh.last_statement.query, sth.query)
|
157
157
|
|
158
158
|
res = @dbh.execute("some other statement")
|
159
159
|
assert(res)
|
160
160
|
assert_kind_of(RDBI::Result, res)
|
161
|
-
assert_not_equal(@dbh.last_statement.
|
161
|
+
assert_not_equal(@dbh.last_statement.query, sth.query)
|
162
162
|
sth.finish
|
163
163
|
end
|
164
164
|
|
@@ -0,0 +1,118 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
#puts RDBI.constants
|
4
|
+
|
5
|
+
class TestImplicitLoad < Test::Unit::TestCase
|
6
|
+
|
7
|
+
ConnectTests = {
|
8
|
+
# Mmmph. It would be nice if suites were run in separate processes
|
9
|
+
"StringHyphen" => { :found_here => 'rdbi-driver-stringhyphen',
|
10
|
+
:not_here => 'rdbi/driver/stringhyphen' },
|
11
|
+
:SymbolHyphen => { :found_here => 'rdbi-driver-symbolhyphen',
|
12
|
+
:not_here => 'rdbi/driver/symbolhyphen' },
|
13
|
+
"StringSubdir" => { :found_here => 'rdbi/driver/stringsubdir',
|
14
|
+
:not_here => 'rdbi-driver-stringsubdir' },
|
15
|
+
:SymbolSubdir => { :found_here => 'rdbi/driver/symbolsubdir',
|
16
|
+
:not_here => 'rdbi-driver-symbolsubdir' },
|
17
|
+
"StringHyphenCached" => { :found_here => 'rdbi-driver-stringhyphencached',
|
18
|
+
:not_here => 'rdbi/driver/stringhyphencached' },
|
19
|
+
:SymbolHyphenCached => { :found_here => 'rdbi-driver-symbolhyphencached',
|
20
|
+
:not_here => 'rdbi/driver/symbolhyphencached' },
|
21
|
+
"StringSubdirCached" => { :found_here => 'rdbi/driver/stringsubdircached',
|
22
|
+
:not_here => 'rdbi-driver-stringsubdircached' },
|
23
|
+
:SymbolSubdirCached => { :found_here => 'rdbi/driver/symbolsubdircached',
|
24
|
+
:not_here => 'rdbi-driver-symbolsubdircached' },
|
25
|
+
}
|
26
|
+
|
27
|
+
ConnectTests.each do |spec, feature|
|
28
|
+
meth = 'test_implicit_' + spec.to_s.gsub(/([a-z0-9])([A-Z])/, '\1_\2').downcase
|
29
|
+
how = (spec =~ /Cached/ ? :connect_cached : :connect)
|
30
|
+
define_method meth.to_sym do
|
31
|
+
assert_implicitly_loaded(how, spec, feature[:found_here], feature[:not_here])
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_01_module_loaded
|
36
|
+
require 'rdbi/driver/mock'
|
37
|
+
RDBI::Driver::Mock
|
38
|
+
assert(module_loaded?('RDBI::Driver::Mock'),
|
39
|
+
"Mock driver unexpectedly not loaded")
|
40
|
+
assert(!module_loaded?('RDBI::Driver::FauxSQL'),
|
41
|
+
"FauxSQL unexpectedly loaded already")
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_02_implicit_load_fail
|
45
|
+
assert(!module_loaded?('RDBI::Driver::NoSuchDriver'))
|
46
|
+
assert_raises(ArgumentError) do
|
47
|
+
RDBI.connect(:NoSuchDriver, {:username=>:a,:password=>:b})
|
48
|
+
end
|
49
|
+
assert(!module_loaded?('RDBI::Driver::NoSuchDriver'))
|
50
|
+
end
|
51
|
+
|
52
|
+
# ========== Utility =========================
|
53
|
+
|
54
|
+
# Is the given module loaded?
|
55
|
+
def module_loaded?(name)
|
56
|
+
names = name.split(/::/) # ::Foo::Bar -> ["", "Foo", "Bar"]
|
57
|
+
names.shift if names[0] == ""
|
58
|
+
resolved = names.inject(::Kernel) { |mod, n| mod = mod.const_get(n) }
|
59
|
+
resolved.is_a?(::Module)
|
60
|
+
rescue NameError => ne
|
61
|
+
nil
|
62
|
+
end
|
63
|
+
|
64
|
+
# For a given feature 'f' (which was or could be an argument to
|
65
|
+
# Kernel.require), see if it has already been loaded
|
66
|
+
def feature_loaded?(f)
|
67
|
+
#require 'pathname'
|
68
|
+
#f = ::Pathname.new(f).cleanpath
|
69
|
+
|
70
|
+
$LOADED_FEATURES.any? do |loaded|
|
71
|
+
loaded.match('(^|/)' + Regexp.quote(f) + '\.[^/]+$')
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def assert_feature_loaded(f, msg = nil)
|
76
|
+
msg ||= "Feature #{f} unexpectedly not loaded"
|
77
|
+
assert(feature_loaded?(f), msg)
|
78
|
+
end
|
79
|
+
|
80
|
+
def assert_feature_not_loaded(f, msg = nil)
|
81
|
+
msg ||= "Feature #{f} unexpectedly already loaded"
|
82
|
+
assert(!feature_loaded?(f), msg)
|
83
|
+
end
|
84
|
+
|
85
|
+
def assert_module_loaded(m, msg = nil)
|
86
|
+
msg ||= "Module #{m} unexpectedly not loaded"
|
87
|
+
assert(module_loaded?(m), msg)
|
88
|
+
end
|
89
|
+
|
90
|
+
def assert_module_not_loaded(m, msg = nil)
|
91
|
+
msg ||= "Module #{m} unexpectedly already loaded"
|
92
|
+
assert(!module_loaded?(m), msg)
|
93
|
+
end
|
94
|
+
|
95
|
+
def assert_implicitly_loaded(connect_method, shortname, found_here, not_here)
|
96
|
+
qualified_name = "RDBI::Driver::#{shortname}"
|
97
|
+
|
98
|
+
assert_module_not_loaded(qualified_name)
|
99
|
+
assert_feature_not_loaded(found_here)
|
100
|
+
assert_feature_not_loaded(not_here)
|
101
|
+
|
102
|
+
conn_args = { :username => :a, :password => :b }
|
103
|
+
conn_args[:pool_name] = shortname.to_sym if connect_method == :connect_cached
|
104
|
+
dbh = ::RDBI.__send__(connect_method, shortname, conn_args)
|
105
|
+
assert_module_loaded(qualified_name)
|
106
|
+
|
107
|
+
klass = ::RDBI::Driver.const_get(shortname)
|
108
|
+
|
109
|
+
assert(dbh.connected?, "connect(#{shortname}) did not return connected DBH")
|
110
|
+
assert_kind_of(klass, dbh.driver,
|
111
|
+
"DBH.driver was not a #{klass.name}")
|
112
|
+
|
113
|
+
assert_feature_loaded(found_here)
|
114
|
+
assert_feature_not_loaded(not_here)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
# vim: syntax=ruby ts=2 et sw=2 sts=2
|
data/test/test_pool.rb
CHANGED
@@ -134,23 +134,21 @@ class TestPool < Test::Unit::TestCase
|
|
134
134
|
end
|
135
135
|
|
136
136
|
def test_08_enumerable
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
assert_equal(10, RDBI::Pool.values.count)
|
137
|
+
pool_names = [
|
138
|
+
:test_01,
|
139
|
+
:test_02,
|
140
|
+
:test_03,
|
141
|
+
:test_03_2,
|
142
|
+
:test_04,
|
143
|
+
:test_05,
|
144
|
+
:test_06,
|
145
|
+
:test_07,
|
146
|
+
:test_07_2,
|
147
|
+
:test_07_3
|
148
|
+
]
|
149
|
+
assert( (pool_names - RDBI::Pool.keys).empty?,
|
150
|
+
"RDBI::Pool did not contain at least the expected pool names")
|
151
|
+
|
154
152
|
assert_kind_of(RDBI::Pool, RDBI::Pool.values[0])
|
155
153
|
|
156
154
|
count = 0
|
@@ -160,7 +158,6 @@ class TestPool < Test::Unit::TestCase
|
|
160
158
|
assert_kind_of(RDBI::Pool, pool)
|
161
159
|
end
|
162
160
|
|
163
|
-
assert_equal(10, count)
|
164
161
|
assert_respond_to(RDBI::Pool, :map)
|
165
162
|
|
166
163
|
pool = create_pool(:test_08)
|
metadata
CHANGED
@@ -1,71 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdbi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0.pre1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Mike Pomraning
|
7
8
|
- Erik Hollensbe
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
12
|
date: 2013-06-05 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: epoxy
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.3.1
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - '>='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.3.1
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: typelib
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - '>='
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rdoc
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ~>
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '4.0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '4.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rcov
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0.9'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0.9'
|
69
14
|
- !ruby/object:Gem::Dependency
|
70
15
|
name: rdbi-driver-mock
|
71
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,35 +40,7 @@ dependencies:
|
|
95
40
|
- !ruby/object:Gem::Version
|
96
41
|
version: '0'
|
97
42
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - '>='
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: fastercsv
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - '>='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: hoe-roodi
|
43
|
+
name: rdoc
|
127
44
|
requirement: !ruby/object:Gem::Requirement
|
128
45
|
requirements:
|
129
46
|
- - '>='
|
@@ -137,68 +54,44 @@ dependencies:
|
|
137
54
|
- !ruby/object:Gem::Version
|
138
55
|
version: '0'
|
139
56
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
57
|
+
name: epoxy
|
141
58
|
requirement: !ruby/object:Gem::Requirement
|
142
59
|
requirements:
|
143
60
|
- - '>='
|
144
61
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
146
|
-
type: :
|
62
|
+
version: 0.3.1
|
63
|
+
type: :runtime
|
147
64
|
prerelease: false
|
148
65
|
version_requirements: !ruby/object:Gem::Requirement
|
149
66
|
requirements:
|
150
67
|
- - '>='
|
151
68
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
69
|
+
version: 0.3.1
|
153
70
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
71
|
+
name: typelib
|
155
72
|
requirement: !ruby/object:Gem::Requirement
|
156
73
|
requirements:
|
157
74
|
- - '>='
|
158
75
|
- !ruby/object:Gem::Version
|
159
76
|
version: '0'
|
160
|
-
type: :
|
77
|
+
type: :runtime
|
161
78
|
prerelease: false
|
162
79
|
version_requirements: !ruby/object:Gem::Requirement
|
163
80
|
requirements:
|
164
81
|
- - '>='
|
165
82
|
- !ruby/object:Gem::Version
|
166
83
|
version: '0'
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
requirements:
|
171
|
-
- - ~>
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '3.6'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ~>
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '3.6'
|
181
|
-
description: |2
|
182
|
-
RDBI is a database interface built out of small parts. A micro framework for
|
183
|
-
databases, RDBI works with and extends libraries like 'typelib' and 'epoxy'
|
184
|
-
to provide type conversion and binding facilities. Via a driver/adapter
|
185
|
-
system it provides database access. RDBI itself provides pooling and other
|
186
|
-
enhanced database features.
|
84
|
+
description: RDBI is a rearchitecture of the Ruby/DBI project by its maintainer and
|
85
|
+
others. It intends to fully supplant Ruby/DBI in the future for similar database
|
86
|
+
access needs.
|
187
87
|
email:
|
188
|
-
-
|
88
|
+
- mjp@pilcrow.madison.wi.us
|
189
89
|
executables: []
|
190
90
|
extensions: []
|
191
91
|
extra_rdoc_files:
|
192
|
-
- History.txt
|
193
|
-
- Manifest.txt
|
194
|
-
- README.txt
|
195
|
-
files:
|
196
|
-
- .gemtest
|
197
|
-
- History.txt
|
198
92
|
- LICENSE
|
199
|
-
- Manifest.txt
|
200
93
|
- README.txt
|
201
|
-
|
94
|
+
files:
|
202
95
|
- docs/external-api.pdf
|
203
96
|
- docs/external-api.texi
|
204
97
|
- lib/rdbi.rb
|
@@ -210,47 +103,70 @@ files:
|
|
210
103
|
- lib/rdbi/schema.rb
|
211
104
|
- lib/rdbi/statement.rb
|
212
105
|
- lib/rdbi/types.rb
|
106
|
+
- lib/rdbi/version.rb
|
213
107
|
- perf/bench.rb
|
214
108
|
- perf/profile.rb
|
215
|
-
- rdbi.gemspec
|
216
109
|
- test/helper.rb
|
217
110
|
- test/test_database.rb
|
111
|
+
- test/test_implicit_load.rb
|
218
112
|
- test/test_pool.rb
|
219
113
|
- test/test_rdbi.rb
|
220
114
|
- test/test_result.rb
|
221
115
|
- test/test_statement.rb
|
222
116
|
- test/test_types.rb
|
223
117
|
- test/test_util.rb
|
224
|
-
|
118
|
+
- test/testlib/rdbi-driver-stringhyphen.rb
|
119
|
+
- test/testlib/rdbi-driver-stringhyphencached.rb
|
120
|
+
- test/testlib/rdbi-driver-symbolhyphen.rb
|
121
|
+
- test/testlib/rdbi-driver-symbolhyphencached.rb
|
122
|
+
- test/testlib/rdbi/driver/stringsubdir.rb
|
123
|
+
- test/testlib/rdbi/driver/stringsubdircached.rb
|
124
|
+
- test/testlib/rdbi/driver/symbolsubdir.rb
|
125
|
+
- test/testlib/rdbi/driver/symbolsubdircached.rb
|
126
|
+
- rdbi.gemspec
|
127
|
+
- History.txt
|
128
|
+
- Manifest.txt
|
129
|
+
- Rakefile
|
130
|
+
- LICENSE
|
131
|
+
- README.txt
|
132
|
+
homepage: http://github.com/RDBI/rdbi
|
225
133
|
licenses: []
|
226
134
|
metadata: {}
|
227
135
|
post_install_message:
|
228
|
-
rdoc_options:
|
229
|
-
- --main
|
230
|
-
- README.txt
|
136
|
+
rdoc_options: []
|
231
137
|
require_paths:
|
232
138
|
- lib
|
233
139
|
required_ruby_version: !ruby/object:Gem::Requirement
|
234
140
|
requirements:
|
235
141
|
- - '>='
|
236
142
|
- !ruby/object:Gem::Version
|
237
|
-
version:
|
143
|
+
version: '0'
|
238
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
239
145
|
requirements:
|
240
146
|
- - '>='
|
241
147
|
- !ruby/object:Gem::Version
|
242
|
-
version:
|
148
|
+
version: 1.3.6
|
243
149
|
requirements: []
|
244
150
|
rubyforge_project:
|
245
|
-
rubygems_version: 2.0.
|
151
|
+
rubygems_version: 2.0.2
|
246
152
|
signing_key:
|
247
153
|
specification_version: 4
|
248
|
-
summary:
|
154
|
+
summary: A ruby database abstraction layer
|
249
155
|
test_files:
|
250
|
-
- test/
|
156
|
+
- test/helper.rb
|
157
|
+
- test/test_database.rb
|
158
|
+
- test/test_implicit_load.rb
|
251
159
|
- test/test_pool.rb
|
252
160
|
- test/test_rdbi.rb
|
161
|
+
- test/test_result.rb
|
253
162
|
- test/test_statement.rb
|
254
163
|
- test/test_types.rb
|
255
164
|
- test/test_util.rb
|
256
|
-
- test/
|
165
|
+
- test/testlib/rdbi-driver-stringhyphen.rb
|
166
|
+
- test/testlib/rdbi-driver-stringhyphencached.rb
|
167
|
+
- test/testlib/rdbi-driver-symbolhyphen.rb
|
168
|
+
- test/testlib/rdbi-driver-symbolhyphencached.rb
|
169
|
+
- test/testlib/rdbi/driver/stringsubdir.rb
|
170
|
+
- test/testlib/rdbi/driver/stringsubdircached.rb
|
171
|
+
- test/testlib/rdbi/driver/symbolsubdir.rb
|
172
|
+
- test/testlib/rdbi/driver/symbolsubdircached.rb
|
data/.gemtest
DELETED
File without changes
|