rdbi 0.9.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.
- data/.document +5 -0
- data/.gitignore +33 -0
- data/LICENSE +20 -0
- data/README.rdoc +194 -0
- data/Rakefile +109 -0
- data/VERSION +1 -0
- data/docs/external-api.pdf +0 -0
- data/docs/external-api.texi +365 -0
- data/lib/rdbi.rb +189 -0
- data/lib/rdbi/cursor.rb +90 -0
- data/lib/rdbi/database.rb +262 -0
- data/lib/rdbi/driver.rb +35 -0
- data/lib/rdbi/pool.rb +236 -0
- data/lib/rdbi/result.rb +402 -0
- data/lib/rdbi/schema.rb +121 -0
- data/lib/rdbi/statement.rb +204 -0
- data/lib/rdbi/types.rb +200 -0
- data/rdbi.gemspec +94 -0
- data/test/helper.rb +32 -0
- data/test/test_database.rb +246 -0
- data/test/test_pool.rb +181 -0
- data/test/test_rdbi.rb +85 -0
- data/test/test_result.rb +269 -0
- data/test/test_statement.rb +66 -0
- data/test/test_types.rb +114 -0
- data/test/test_util.rb +61 -0
- metadata +201 -0
data/test/test_util.rb
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestUtil < Test::Unit::TestCase
|
4
|
+
def test_01_exists
|
5
|
+
assert(RDBI::Util)
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_02_optional_require
|
9
|
+
assert_raises(
|
10
|
+
LoadError.new("The 'fart' gem is required to use this driver. Please install it.")
|
11
|
+
) { RDBI::Util.optional_require('fart') }
|
12
|
+
|
13
|
+
RDBI::Util.optional_require('ostruct')
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_03_class_from_class_or_symbol
|
17
|
+
assert_raises(ArgumentError.new("Invalid argument for driver name; must be Class, or a Symbol or String identifying the Class, and the driver Class must have been loaded")) do
|
18
|
+
RDBI::Util.class_from_class_or_symbol(1, RDBI)
|
19
|
+
end
|
20
|
+
|
21
|
+
assert_equal(
|
22
|
+
RDBI::Driver::Mock,
|
23
|
+
RDBI::Util.class_from_class_or_symbol(RDBI::Driver::Mock, RDBI::Driver)
|
24
|
+
)
|
25
|
+
|
26
|
+
assert_equal(
|
27
|
+
RDBI::Driver::Mock,
|
28
|
+
RDBI::Util.class_from_class_or_symbol(:Mock, RDBI::Driver)
|
29
|
+
)
|
30
|
+
|
31
|
+
assert_equal(
|
32
|
+
RDBI::Driver::Mock,
|
33
|
+
RDBI::Util.class_from_class_or_symbol('Mock', RDBI::Driver)
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_04_key_hash_as_symbols
|
38
|
+
hash = { "one" => 1, "two" => 2 }
|
39
|
+
hash2 = { :one => 1, :two => 2 }
|
40
|
+
|
41
|
+
assert_equal(
|
42
|
+
hash2,
|
43
|
+
RDBI::Util.key_hash_as_symbols(hash)
|
44
|
+
)
|
45
|
+
|
46
|
+
assert_equal(
|
47
|
+
hash2,
|
48
|
+
RDBI::Util.key_hash_as_symbols(hash2)
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_05_deep_copy
|
53
|
+
arr = %w(a b c d e f)
|
54
|
+
arr2 = RDBI::Util.deep_copy(arr)
|
55
|
+
assert_equal arr, arr2
|
56
|
+
arr.zip(arr2).each do |left, right|
|
57
|
+
assert_equal left, right
|
58
|
+
assert_not_equal left.object_id, right.object_id
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
metadata
ADDED
@@ -0,0 +1,201 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rdbi
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 59
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 9
|
9
|
+
- 0
|
10
|
+
version: 0.9.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Erik Hollensbe
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-08-21 00:00:00 -04:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: rdbi-driver-mock
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :development
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: test-unit
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
47
|
+
type: :development
|
48
|
+
version_requirements: *id002
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: rdoc
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
version: "0"
|
61
|
+
type: :development
|
62
|
+
version_requirements: *id003
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: fastercsv
|
65
|
+
prerelease: false
|
66
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
72
|
+
segments:
|
73
|
+
- 0
|
74
|
+
version: "0"
|
75
|
+
type: :development
|
76
|
+
version_requirements: *id004
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
name: methlab
|
79
|
+
prerelease: false
|
80
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
hash: 13
|
86
|
+
segments:
|
87
|
+
- 0
|
88
|
+
- 0
|
89
|
+
- 9
|
90
|
+
version: 0.0.9
|
91
|
+
type: :runtime
|
92
|
+
version_requirements: *id005
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: epoxy
|
95
|
+
prerelease: false
|
96
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
hash: 17
|
102
|
+
segments:
|
103
|
+
- 0
|
104
|
+
- 3
|
105
|
+
- 1
|
106
|
+
version: 0.3.1
|
107
|
+
type: :runtime
|
108
|
+
version_requirements: *id006
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: typelib
|
111
|
+
prerelease: false
|
112
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
hash: 3
|
118
|
+
segments:
|
119
|
+
- 0
|
120
|
+
version: "0"
|
121
|
+
type: :runtime
|
122
|
+
version_requirements: *id007
|
123
|
+
description: 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.
|
124
|
+
email: erik@hollensbe.org
|
125
|
+
executables: []
|
126
|
+
|
127
|
+
extensions: []
|
128
|
+
|
129
|
+
extra_rdoc_files:
|
130
|
+
- LICENSE
|
131
|
+
- README.rdoc
|
132
|
+
files:
|
133
|
+
- .document
|
134
|
+
- .gitignore
|
135
|
+
- LICENSE
|
136
|
+
- README.rdoc
|
137
|
+
- Rakefile
|
138
|
+
- VERSION
|
139
|
+
- docs/external-api.pdf
|
140
|
+
- docs/external-api.texi
|
141
|
+
- lib/rdbi.rb
|
142
|
+
- lib/rdbi/cursor.rb
|
143
|
+
- lib/rdbi/database.rb
|
144
|
+
- lib/rdbi/driver.rb
|
145
|
+
- lib/rdbi/pool.rb
|
146
|
+
- lib/rdbi/result.rb
|
147
|
+
- lib/rdbi/schema.rb
|
148
|
+
- lib/rdbi/statement.rb
|
149
|
+
- lib/rdbi/types.rb
|
150
|
+
- rdbi.gemspec
|
151
|
+
- test/helper.rb
|
152
|
+
- test/test_database.rb
|
153
|
+
- test/test_pool.rb
|
154
|
+
- test/test_rdbi.rb
|
155
|
+
- test/test_result.rb
|
156
|
+
- test/test_statement.rb
|
157
|
+
- test/test_types.rb
|
158
|
+
- test/test_util.rb
|
159
|
+
has_rdoc: true
|
160
|
+
homepage: http://github.com/RDBI/rdbi
|
161
|
+
licenses: []
|
162
|
+
|
163
|
+
post_install_message:
|
164
|
+
rdoc_options:
|
165
|
+
- --charset=UTF-8
|
166
|
+
require_paths:
|
167
|
+
- lib
|
168
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
hash: 3
|
174
|
+
segments:
|
175
|
+
- 0
|
176
|
+
version: "0"
|
177
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
|
+
none: false
|
179
|
+
requirements:
|
180
|
+
- - ">="
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
hash: 3
|
183
|
+
segments:
|
184
|
+
- 0
|
185
|
+
version: "0"
|
186
|
+
requirements: []
|
187
|
+
|
188
|
+
rubyforge_project:
|
189
|
+
rubygems_version: 1.3.7
|
190
|
+
signing_key:
|
191
|
+
specification_version: 3
|
192
|
+
summary: RDBI provides sane query-level database access with low magic.
|
193
|
+
test_files:
|
194
|
+
- test/helper.rb
|
195
|
+
- test/test_database.rb
|
196
|
+
- test/test_pool.rb
|
197
|
+
- test/test_rdbi.rb
|
198
|
+
- test/test_result.rb
|
199
|
+
- test/test_statement.rb
|
200
|
+
- test/test_types.rb
|
201
|
+
- test/test_util.rb
|