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.
Files changed (46) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/bin/makedb +28 -0
  3. data/lib/doh/mysql/abstract_row.rb +80 -0
  4. data/lib/doh/mysql/activate.rb +31 -0
  5. data/lib/doh/mysql/cache_connector.rb +54 -0
  6. data/lib/doh/mysql/connector_instance.rb +79 -0
  7. data/lib/doh/mysql/connector_util.rb +27 -0
  8. data/lib/doh/mysql/convert.rb +18 -0
  9. data/lib/doh/mysql/current_date.rb +22 -0
  10. data/lib/doh/mysql/database_creator.rb +101 -0
  11. data/lib/doh/mysql/db_date.rb +28 -0
  12. data/lib/doh/mysql/default_type_guesser.rb +37 -0
  13. data/lib/doh/mysql/error.rb +7 -0
  14. data/lib/doh/mysql/handle.rb +218 -0
  15. data/lib/doh/mysql/hash_row.rb +13 -0
  16. data/lib/doh/mysql/load_sql.rb +26 -0
  17. data/lib/doh/mysql/metadata_util.rb +73 -0
  18. data/lib/doh/mysql/parse.rb +36 -0
  19. data/lib/doh/mysql/raw_row_builder.rb +15 -0
  20. data/lib/doh/mysql/readonly_row.rb +26 -0
  21. data/lib/doh/mysql/require_dbtypes.rb +8 -0
  22. data/lib/doh/mysql/smart_row.rb +156 -0
  23. data/lib/doh/mysql/to_sql.rb +65 -0
  24. data/lib/doh/mysql/typed_row_builder.rb +28 -0
  25. data/lib/doh/mysql/types.rb +33 -0
  26. data/lib/doh/mysql/unquoted.rb +17 -0
  27. data/lib/doh/mysql/version.rb +102 -0
  28. data/lib/doh/mysql/virtual.rb +17 -0
  29. data/lib/doh/mysql/writable_row.rb +59 -0
  30. data/lib/doh/mysql.rb +7 -0
  31. data/test/cache_connector.dt.rb +41 -0
  32. data/test/connector.yml +4 -0
  33. data/test/connector.yml.tmpl +4 -0
  34. data/test/connector_instance.dt.rb +32 -0
  35. data/test/convert.dt.rb +45 -0
  36. data/test/db_unit_test.rb +10 -0
  37. data/test/handle.dt.rb +112 -0
  38. data/test/metadata_util.dt.rb +53 -0
  39. data/test/parse.dt.rb +39 -0
  40. data/test/readonly_row.dt.rb +85 -0
  41. data/test/smart_row.dt.rb +21 -0
  42. data/test/to_sql.dt.rb +19 -0
  43. data/test/types.dt.rb +32 -0
  44. data/test/unquoted.dt.rb +16 -0
  45. data/test/writable_row.dt.rb +21 -0
  46. 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
@@ -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