rdbi 1.1.0 → 1.2.0.pre1

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