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