dohmysql 0.1.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/MIT-LICENSE +20 -0
- data/bin/makedb +28 -0
- data/lib/doh/mysql/abstract_row.rb +80 -0
- data/lib/doh/mysql/activate.rb +31 -0
- data/lib/doh/mysql/cache_connector.rb +54 -0
- data/lib/doh/mysql/connector_instance.rb +79 -0
- data/lib/doh/mysql/connector_util.rb +27 -0
- data/lib/doh/mysql/convert.rb +18 -0
- data/lib/doh/mysql/current_date.rb +22 -0
- data/lib/doh/mysql/database_creator.rb +101 -0
- data/lib/doh/mysql/db_date.rb +28 -0
- data/lib/doh/mysql/default_type_guesser.rb +37 -0
- data/lib/doh/mysql/error.rb +7 -0
- data/lib/doh/mysql/handle.rb +218 -0
- data/lib/doh/mysql/hash_row.rb +13 -0
- data/lib/doh/mysql/load_sql.rb +26 -0
- data/lib/doh/mysql/metadata_util.rb +73 -0
- data/lib/doh/mysql/parse.rb +36 -0
- data/lib/doh/mysql/raw_row_builder.rb +15 -0
- data/lib/doh/mysql/readonly_row.rb +26 -0
- data/lib/doh/mysql/require_dbtypes.rb +8 -0
- data/lib/doh/mysql/smart_row.rb +156 -0
- data/lib/doh/mysql/to_sql.rb +65 -0
- data/lib/doh/mysql/typed_row_builder.rb +28 -0
- data/lib/doh/mysql/types.rb +33 -0
- data/lib/doh/mysql/unquoted.rb +17 -0
- data/lib/doh/mysql/version.rb +102 -0
- data/lib/doh/mysql/virtual.rb +17 -0
- data/lib/doh/mysql/writable_row.rb +59 -0
- data/lib/doh/mysql.rb +7 -0
- data/test/cache_connector.dt.rb +41 -0
- data/test/connector.yml +4 -0
- data/test/connector.yml.tmpl +4 -0
- data/test/connector_instance.dt.rb +32 -0
- data/test/convert.dt.rb +45 -0
- data/test/db_unit_test.rb +10 -0
- data/test/handle.dt.rb +112 -0
- data/test/metadata_util.dt.rb +53 -0
- data/test/parse.dt.rb +39 -0
- data/test/readonly_row.dt.rb +85 -0
- data/test/smart_row.dt.rb +21 -0
- data/test/to_sql.dt.rb +19 -0
- data/test/types.dt.rb +32 -0
- data/test/unquoted.dt.rb +16 -0
- data/test/writable_row.dt.rb +21 -0
- metadata +118 -0
data/test/to_sql.dt.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'doh/mysql/to_sql'
|
2
|
+
|
3
|
+
module DohDb
|
4
|
+
|
5
|
+
class Test_to_sql < DohTest::TestGroup
|
6
|
+
def test_stuff
|
7
|
+
assert_equal('"blah"', 'blah'.to_sql)
|
8
|
+
assert_equal('NULL', nil.to_sql)
|
9
|
+
assert_equal('3', 3.to_sql)
|
10
|
+
assert_equal('"2008-09-24 09:30:04"', DateTime.new(2008,9,24,9,30,4).to_sql)
|
11
|
+
assert_equal('1', true.to_sql)
|
12
|
+
assert_equal('0', false.to_sql)
|
13
|
+
assert_equal('10.0', BigDecimal.new('10').to_sql)
|
14
|
+
assert_equal('("a","b","c")', ['a', 'b', 'c'].to_sql)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
data/test/types.dt.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require_relative 'db_unit_test'
|
2
|
+
require 'doh/mysql/types'
|
3
|
+
|
4
|
+
module DohDb
|
5
|
+
|
6
|
+
class ConvertToString
|
7
|
+
def self.build(field, value)
|
8
|
+
value.to_s
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class Test_types < DohTest::TestGroup
|
13
|
+
def test_stuff
|
14
|
+
dbh = DohDb::request_handle
|
15
|
+
tbl = "doh_mysql_types_stuff_test"
|
16
|
+
tbl2 = "island.doh_mysql_types_stuff_another_test"
|
17
|
+
DohDb::query("CREATE TEMPORARY TABLE #{tbl} (amount INT)")
|
18
|
+
DohDb::query("INSERT INTO #{tbl} SET amount = NULL")
|
19
|
+
assert_equal(nil, DohDb::select_field("SELECT amount FROM #{tbl}"))
|
20
|
+
DohDb::query("UPDATE #{tbl} SET amount = 5")
|
21
|
+
assert_equal(5, DohDb::select_field("SELECT amount FROM #{tbl}"))
|
22
|
+
|
23
|
+
DohDb::query("CREATE TEMPORARY TABLE #{tbl2} (other INT)")
|
24
|
+
DohDb::query("INSERT INTO #{tbl2} SET other = 7")
|
25
|
+
assert_equal(5, DohDb::select_field("SELECT amount, other FROM #{tbl}, #{tbl2}"))
|
26
|
+
|
27
|
+
DohDb::register_column_type(DohDb::connector_instance.database, tbl, 'amount', ConvertToString)
|
28
|
+
assert_equal('5', DohDb::select_field("SELECT amount FROM #{tbl}"))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
data/test/unquoted.dt.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'doh/mysql/unquoted'
|
2
|
+
|
3
|
+
module DohDb
|
4
|
+
|
5
|
+
class Test_Unquoted < DohTest::TestGroup
|
6
|
+
def test_stuff
|
7
|
+
assert_equal('', Unquoted.new)
|
8
|
+
assert_equal('blah', Unquoted.new('blah'))
|
9
|
+
assert_equal('blah', Unquoted.new('blah').to_s)
|
10
|
+
assert_equal('blah', Unquoted.new('blah').to_sql)
|
11
|
+
assert_equal('SELECT * FROM blah WHERE smoe = NULL', "SELECT * FROM blah WHERE smoe = #{DohDb::NULL.to_sql}")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'doh/mysql/writable_row'
|
2
|
+
|
3
|
+
module DohDb
|
4
|
+
|
5
|
+
class Test_WritableRow < DohTest::TestGroup
|
6
|
+
def test_bracket_assign_not_mutate
|
7
|
+
keys = []; values = []
|
8
|
+
row = WritableRow.new(keys, values)
|
9
|
+
keys.push('blah')
|
10
|
+
values.push('blee')
|
11
|
+
assert(row.keys.empty?)
|
12
|
+
assert(row.values.empty?)
|
13
|
+
row['frog'] = 'chicken'
|
14
|
+
assert_equal(['blah'], keys)
|
15
|
+
assert_equal(['blee'], values)
|
16
|
+
assert_equal(['frog'], row.keys)
|
17
|
+
assert_equal(['chicken'], row.values)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dohmysql
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Makani Mason
|
9
|
+
- Kem Mason
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2012-02-11 00:00:00.000000000Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: dohutil
|
17
|
+
requirement: &70173088680320 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.1.4
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *70173088680320
|
26
|
+
description: wrapper classes around low level mysql gem to provide a better interface
|
27
|
+
email:
|
28
|
+
- devinfo@atpsoft.com
|
29
|
+
executables:
|
30
|
+
- makedb
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files:
|
33
|
+
- MIT-LICENSE
|
34
|
+
files:
|
35
|
+
- bin/makedb
|
36
|
+
- lib/doh/mysql/abstract_row.rb
|
37
|
+
- lib/doh/mysql/activate.rb
|
38
|
+
- lib/doh/mysql/cache_connector.rb
|
39
|
+
- lib/doh/mysql/connector_instance.rb
|
40
|
+
- lib/doh/mysql/connector_util.rb
|
41
|
+
- lib/doh/mysql/convert.rb
|
42
|
+
- lib/doh/mysql/current_date.rb
|
43
|
+
- lib/doh/mysql/database_creator.rb
|
44
|
+
- lib/doh/mysql/db_date.rb
|
45
|
+
- lib/doh/mysql/default_type_guesser.rb
|
46
|
+
- lib/doh/mysql/error.rb
|
47
|
+
- lib/doh/mysql/handle.rb
|
48
|
+
- lib/doh/mysql/hash_row.rb
|
49
|
+
- lib/doh/mysql/load_sql.rb
|
50
|
+
- lib/doh/mysql/metadata_util.rb
|
51
|
+
- lib/doh/mysql/parse.rb
|
52
|
+
- lib/doh/mysql/raw_row_builder.rb
|
53
|
+
- lib/doh/mysql/readonly_row.rb
|
54
|
+
- lib/doh/mysql/require_dbtypes.rb
|
55
|
+
- lib/doh/mysql/smart_row.rb
|
56
|
+
- lib/doh/mysql/to_sql.rb
|
57
|
+
- lib/doh/mysql/typed_row_builder.rb
|
58
|
+
- lib/doh/mysql/types.rb
|
59
|
+
- lib/doh/mysql/unquoted.rb
|
60
|
+
- lib/doh/mysql/version.rb
|
61
|
+
- lib/doh/mysql/virtual.rb
|
62
|
+
- lib/doh/mysql/writable_row.rb
|
63
|
+
- lib/doh/mysql.rb
|
64
|
+
- test/cache_connector.dt.rb
|
65
|
+
- test/connector.yml
|
66
|
+
- test/connector.yml.tmpl
|
67
|
+
- test/connector_instance.dt.rb
|
68
|
+
- test/convert.dt.rb
|
69
|
+
- test/db_unit_test.rb
|
70
|
+
- test/handle.dt.rb
|
71
|
+
- test/metadata_util.dt.rb
|
72
|
+
- test/parse.dt.rb
|
73
|
+
- test/readonly_row.dt.rb
|
74
|
+
- test/smart_row.dt.rb
|
75
|
+
- test/to_sql.dt.rb
|
76
|
+
- test/types.dt.rb
|
77
|
+
- test/unquoted.dt.rb
|
78
|
+
- test/writable_row.dt.rb
|
79
|
+
- MIT-LICENSE
|
80
|
+
homepage: https://github.com/atpsoft/dohmysql
|
81
|
+
licenses:
|
82
|
+
- MIT
|
83
|
+
post_install_message:
|
84
|
+
rdoc_options: []
|
85
|
+
require_paths:
|
86
|
+
- lib
|
87
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
89
|
+
requirements:
|
90
|
+
- - ! '>='
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 1.9.2
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
requirements: []
|
100
|
+
rubyforge_project:
|
101
|
+
rubygems_version: 1.8.15
|
102
|
+
signing_key:
|
103
|
+
specification_version: 3
|
104
|
+
summary: friendly mysql client interface
|
105
|
+
test_files:
|
106
|
+
- test/cache_connector.dt.rb
|
107
|
+
- test/connector_instance.dt.rb
|
108
|
+
- test/convert.dt.rb
|
109
|
+
- test/db_unit_test.rb
|
110
|
+
- test/handle.dt.rb
|
111
|
+
- test/metadata_util.dt.rb
|
112
|
+
- test/parse.dt.rb
|
113
|
+
- test/readonly_row.dt.rb
|
114
|
+
- test/smart_row.dt.rb
|
115
|
+
- test/to_sql.dt.rb
|
116
|
+
- test/types.dt.rb
|
117
|
+
- test/unquoted.dt.rb
|
118
|
+
- test/writable_row.dt.rb
|