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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 54de058484d15e39b1555c43dd208f2ae7d061ba
4
- data.tar.gz: 96fd6fa385652f31d50f12cf04f2ee1b7ad4e03e
3
+ metadata.gz: 0873bbb513296fc6589e4b310c3f1a63b67487a6
4
+ data.tar.gz: 0dd9ac54aa4530e9d3c889e994f5aa40200fe02b
5
5
  SHA512:
6
- metadata.gz: 25751397efafcd45de071d2ed98f5669c4bf59b8070e9d64393ddc84fdd67d0e97aecbe6bc53811839dfc82f224e5dfcadefedacdc926287a10319d8b5ab06f6
7
- data.tar.gz: eecff757dba45e463dab45b88fb553625350937c6f4847af0280651f5b128ab4e7b50b842258f22318c2c6e575bf4d4f373c2d7667694f27cde43f3ffe201b22
6
+ metadata.gz: d0b599a20c5d811e4dd75c37b484ed7f2bd90ce20f55e904ad686ecf2cf123ad3e1d3f3451d3cea062c9aa459a70f474ec77d40bd5c77e42953d738b82549ed2
7
+ data.tar.gz: 614843267785b03369c0019e9a413ba895b0b59c9fb5273501fa48c6c64f0d6ba7dcd3001340c8baea564a0ff0c5a6c7f39a11fc5fbba0957a8b1794db123cd5
@@ -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
- lib/rdbi.rb
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
- # -*- ruby -*-
1
+ require 'rake/testtask'
2
+ require 'rubygems/package_task'
2
3
 
3
- require 'rubygems'
4
- require 'hoe'
4
+ require File.expand_path('../lib/rdbi/version', __FILE__)
5
5
 
6
- Hoe.plugins.delete :rubyforge
7
- Hoe.plugin :git
8
- Hoe.plugin :rcov
9
- Hoe.plugin :roodi
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
- task :install => [:gem] do
51
- sh "gem install pkg/#{spec.name}-#{spec.version}.gem"
12
+ Gem::PackageTask.new(eval(File.read("rdbi.gemspec"))) do
52
13
  end
53
- # vim: syntax=ruby
14
+
15
+ task :default => :test
@@ -1,9 +1,7 @@
1
- require 'epoxy'
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 = RDBI::Util.class_from_class_or_symbol(klass, self::Driver)
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
  #
@@ -257,6 +257,8 @@ class RDBI::Database
257
257
  # quoter during bind processing.
258
258
  #
259
259
  def preprocess_query(query, *binds)
260
+ require 'epoxy'
261
+
260
262
  self.last_query = query
261
263
 
262
264
  ep = Epoxy.new(query)
@@ -0,0 +1,3 @@
1
+ module RDBI
2
+ VERSION = '1.2.0.pre1'
3
+ end
@@ -1,92 +1,34 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
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 = %q{rdbi}
8
- s.version = "0.9.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Erik Hollensbe"]
12
- s.date = %q{2010-12-10}
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 = %q{erik@hollensbe.org}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.txt"
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
- if s.respond_to? :specification_version then
62
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
63
- s.specification_version = 3
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
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
66
- s.add_development_dependency(%q<rdbi-driver-mock>, [">= 0"])
67
- s.add_development_dependency(%q<test-unit>, [">= 0"])
68
- s.add_development_dependency(%q<rdoc>, [">= 0"])
69
- s.add_development_dependency(%q<fastercsv>, [">= 0"])
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
 
@@ -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
@@ -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.object_id, sth.object_id)
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.object_id, sth.object_id)
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
@@ -134,23 +134,21 @@ class TestPool < Test::Unit::TestCase
134
134
  end
135
135
 
136
136
  def test_08_enumerable
137
- assert_equal(
138
- [
139
- :test_01,
140
- :test_02,
141
- :test_03,
142
- :test_03_2,
143
- :test_04,
144
- :test_05,
145
- :test_06,
146
- :test_07,
147
- :test_07_2,
148
- :test_07_3
149
- ],
150
- RDBI::Pool.keys.map(&:to_s).sort.map(&:to_sym)
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)
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rdbi/driver/mock'
4
+
5
+ # -- this class is _not_ defined in rdbi/driver/....rb, as is commonly done
6
+
7
+ class RDBI::Driver::StringHyphen < RDBI::Driver::Mock; end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rdbi/driver/mock'
4
+
5
+ # -- this class is _not_ defined in rdbi/driver/....rb, as is commonly done
6
+
7
+ class RDBI::Driver::StringHyphenCached < RDBI::Driver::Mock; end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rdbi/driver/mock'
4
+
5
+ # -- this class is _not_ defined in rdbi/driver/....rb, as is commonly done
6
+
7
+ class RDBI::Driver::SymbolHyphen < RDBI::Driver::Mock; end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rdbi/driver/mock'
4
+
5
+ # -- this class is _not_ defined in rdbi/driver/....rb, as is commonly done
6
+
7
+ class RDBI::Driver::SymbolHyphenCached < RDBI::Driver::Mock; end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rdbi/driver/mock'
4
+
5
+ # -- this class is _not_ defined in rdbi-driver-....rb, as is commonly done
6
+
7
+ class RDBI::Driver::StringSubdir < RDBI::Driver::Mock; end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rdbi/driver/mock'
4
+
5
+ # -- this class is _not_ defined in rdbi-driver-....rb, as is commonly done
6
+
7
+ class RDBI::Driver::StringSubdirCached < RDBI::Driver::Mock; end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rdbi/driver/mock'
4
+
5
+ # -- this class is _not_ defined in rdbi-driver-....rb, as is commonly done
6
+
7
+ class RDBI::Driver::SymbolSubdir < RDBI::Driver::Mock; end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rdbi/driver/mock'
4
+
5
+ # -- this class is _not_ defined in rdbi-driver-....rb, as is commonly done
6
+
7
+ class RDBI::Driver::SymbolSubdirCached < RDBI::Driver::Mock; end
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.1.0
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: hanna-nouveau
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: hoe-reek
57
+ name: epoxy
141
58
  requirement: !ruby/object:Gem::Requirement
142
59
  requirements:
143
60
  - - '>='
144
61
  - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
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: '0'
69
+ version: 0.3.1
153
70
  - !ruby/object:Gem::Dependency
154
- name: minitest
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: :development
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
- - !ruby/object:Gem::Dependency
168
- name: hoe
169
- requirement: !ruby/object:Gem::Requirement
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
- - erik@hollensbe.org
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
- - Rakefile
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
- homepage: http://github.com/rdbi/rdbi
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: 1.8.7
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: '0'
148
+ version: 1.3.6
243
149
  requirements: []
244
150
  rubyforge_project:
245
- rubygems_version: 2.0.3
151
+ rubygems_version: 2.0.2
246
152
  signing_key:
247
153
  specification_version: 4
248
- summary: RDBI is a database interface built out of small parts.
154
+ summary: A ruby database abstraction layer
249
155
  test_files:
250
- - test/test_result.rb
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/test_database.rb
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