dohruby 0.2.1 → 0.3

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 (154) hide show
  1. data/CHANGELOG +8 -0
  2. data/bin/config.rb +61 -0
  3. data/bin/create_database.rb +13 -6
  4. data/bin/gendata.rb +37 -0
  5. data/bin/migrate.rb +66 -0
  6. data/bin/{rcov-preprocess-files.rb → rcov_preprocess_files.rb} +1 -1
  7. data/bin/run_tests.rb +15 -5
  8. data/bin/update_rdoc.rb +28 -0
  9. data/dohapp_home +0 -0
  10. data/lib/doh/app/activate_database.rb +5 -12
  11. data/lib/doh/app/activate_logger.rb +29 -13
  12. data/lib/doh/app/config.rb +18 -0
  13. data/lib/doh/app/home.rb +3 -8
  14. data/lib/doh/app/init_runnable.rb +39 -8
  15. data/lib/doh/app/init_script.rb +19 -0
  16. data/lib/doh/app/init_unit_test.rb +4 -1
  17. data/lib/doh/app_no_stdio.rb +1 -1
  18. data/lib/doh/boot/app.rb +2 -0
  19. data/lib/doh/boot/app_pwd.rb +2 -0
  20. data/lib/doh/boot/find_dohruby.rb +5 -0
  21. data/lib/doh/boot/find_dohruby_18.rb +37 -0
  22. data/lib/doh/boot/find_dohruby_19.rb +58 -0
  23. data/lib/doh/boot/init_runnable.rb +2 -0
  24. data/lib/doh/boot/options.rb +2 -0
  25. data/lib/doh/core/array.rb +10 -0
  26. data/lib/doh/core/bigdecimal.rb +15 -0
  27. data/lib/doh/core/date.rb +73 -0
  28. data/lib/doh/core/deep_dup.rb +12 -0
  29. data/lib/doh/core/hash.rb +21 -0
  30. data/lib/doh/core/object.rb +6 -0
  31. data/lib/doh/core/require_local.rb +5 -0
  32. data/lib/doh/core/socket.rb +25 -0
  33. data/lib/doh/core/string.rb +34 -4
  34. data/lib/doh/core.rb +4 -1
  35. data/lib/doh/data/basic.rb +24 -19
  36. data/lib/doh/data/bulk.rb +28 -88
  37. data/lib/doh/data/catalog.rb +44 -0
  38. data/lib/doh/data/human.rb +50 -42
  39. data/lib/doh/data/make_global.rb +3 -0
  40. data/lib/doh/data/require_datagen.rb +2 -1
  41. data/lib/doh/home.rb +16 -0
  42. data/lib/doh/logger/email_acceptor.rb +6 -3
  43. data/lib/doh/logger/event.rb +19 -6
  44. data/lib/doh/logger/formatter.rb +22 -16
  45. data/lib/doh/logger/interface.rb +13 -0
  46. data/lib/doh/logger/iostream_acceptor.rb +3 -2
  47. data/lib/doh/logger/null_interface.rb +1 -0
  48. data/lib/doh/logger/proxy.rb +53 -0
  49. data/lib/doh/logger/socket_acceptor.rb +53 -0
  50. data/lib/doh/logger/socket_viewer.rb +64 -0
  51. data/lib/doh/logger/standard_interface.rb +46 -17
  52. data/lib/doh/logger/util.rb +18 -0
  53. data/lib/doh/logger.rb +2 -1
  54. data/lib/doh/logger_configure.rb +1 -1
  55. data/lib/doh/merb/db_session.rb +136 -0
  56. data/lib/doh/merb/form_helpers.rb +16 -0
  57. data/lib/doh/merb/login.rb +27 -12
  58. data/lib/doh/merb/merb_dohsession.rb +4 -0
  59. data/lib/doh/merb/notify_on_exception.rb +1 -1
  60. data/lib/doh/merb/session.rb +7 -0
  61. data/lib/doh/merb/source_ip.rb +10 -0
  62. data/lib/doh/merb.rb +0 -1
  63. data/lib/doh/mysql/abstract_row.rb +81 -0
  64. data/lib/doh/mysql/cache_connector.rb +11 -8
  65. data/lib/doh/mysql/connector_instance.rb +32 -5
  66. data/lib/doh/mysql/connector_util.rb +1 -0
  67. data/lib/doh/mysql/convert.rb +18 -0
  68. data/lib/doh/mysql/database_creator.rb +18 -5
  69. data/lib/doh/mysql/db_date.rb +2 -2
  70. data/lib/doh/mysql/default_type_guesser.rb +21 -4
  71. data/lib/doh/mysql/error.rb +3 -2
  72. data/lib/doh/mysql/handle.rb +144 -18
  73. data/lib/doh/mysql/hash_row.rb +13 -0
  74. data/lib/doh/mysql/load_sql.rb +1 -0
  75. data/lib/doh/mysql/metadata_util.rb +60 -19
  76. data/lib/doh/mysql/migrate.rb +122 -0
  77. data/lib/doh/mysql/migrate_check.rb +139 -0
  78. data/lib/doh/mysql/parse.rb +2 -0
  79. data/lib/doh/mysql/readonly_row.rb +11 -48
  80. data/lib/doh/mysql/require_dbtypes.rb +8 -0
  81. data/lib/doh/mysql/smart_row.rb +156 -0
  82. data/lib/doh/mysql/to_sql.rb +12 -0
  83. data/lib/doh/mysql/typed_row_builder.rb +4 -3
  84. data/lib/doh/mysql/types.rb +33 -0
  85. data/lib/doh/mysql/unquoted.rb +8 -0
  86. data/lib/doh/mysql/version.rb +102 -0
  87. data/lib/doh/mysql/virtual.rb +17 -0
  88. data/lib/doh/mysql/writable_row.rb +58 -0
  89. data/lib/doh/mysql.rb +2 -1
  90. data/lib/doh/paypal/paypal.rb +20 -0
  91. data/lib/doh/paypal/pdt.rb +14 -0
  92. data/lib/doh/paypal.rb +1 -0
  93. data/lib/doh/rails/form_helpers.rb +53 -0
  94. data/lib/doh/rails/login.rb +143 -0
  95. data/lib/doh/test/error_acceptor.rb +1 -1
  96. data/lib/doh/test/run_tests.rb +48 -43
  97. data/lib/doh/test/setup_once.rb +15 -0
  98. data/lib/doh/test/test_result.rb +7 -0
  99. data/lib/doh/unit_test.rb +6 -0
  100. data/lib/doh/util/banking_workday.rb +16 -12
  101. data/lib/doh/util/class_basename.rb +10 -0
  102. data/lib/doh/util/current_date.rb +18 -41
  103. data/lib/doh/util/doh_socket.rb +56 -0
  104. data/lib/doh/util/email.rb +18 -0
  105. data/lib/doh/util/file_edit.rb +64 -0
  106. data/lib/doh/util/http_helper.rb +107 -0
  107. data/lib/doh/util/internal_ip.rb +1 -1
  108. data/lib/doh/util/jsval.rb +13 -0
  109. data/lib/doh/util/post_hash.rb +14 -0
  110. data/lib/doh/util/xml_util.rb +48 -0
  111. data/test/core/tc_array.rb +12 -0
  112. data/test/core/tc_date.rb +53 -0
  113. data/test/core/tc_deep_dup.rb +69 -0
  114. data/test/core/tc_hash.rb +28 -0
  115. data/test/core/tc_socket.rb +30 -0
  116. data/test/core/tc_string.rb +15 -22
  117. data/test/local_tests.rb +3 -0
  118. data/test/local_tests_including_slow.rb +4 -0
  119. data/test/logger/tc_acceptor.rb +23 -6
  120. data/test/logger/tc_event.rb +1 -1
  121. data/test/logger/tc_formatter.rb +3 -2
  122. data/test/logger/tc_socket_viewer_acceptor.rb +48 -0
  123. data/test/mysql/001_down.sql +1 -0
  124. data/test/mysql/001_up.sql +4 -0
  125. data/test/mysql/002_down.sql +1 -0
  126. data/test/mysql/002_up.sql +1 -0
  127. data/test/mysql/tc_connector_instance.rb +8 -8
  128. data/test/mysql/tc_convert.rb +45 -0
  129. data/test/mysql/tc_handle.rb +94 -2
  130. data/test/mysql/tc_metadata_util.rb +50 -0
  131. data/test/mysql/tc_migrate.rb +50 -0
  132. data/test/mysql/tc_parse.rb +3 -1
  133. data/test/mysql/tc_readonly_row.rb +14 -10
  134. data/test/mysql/tc_smart_row.rb +22 -0
  135. data/test/mysql/tc_to_sql.rb +20 -0
  136. data/test/mysql/tc_types.rb +32 -0
  137. data/test/mysql/tc_unquoted.rb +1 -0
  138. data/test/mysql/tc_writable_row.rb +22 -0
  139. data/test/ts_core.rb +4 -0
  140. data/test/ts_logger.rb +4 -0
  141. data/test/ts_mysql.rb +6 -0
  142. data/test/ts_util.rb +6 -0
  143. data/test/util/slow_doh_socket.rb +102 -0
  144. data/test/util/tc_banking_workday.rb +18 -0
  145. data/test/util/tc_file_edit.rb +54 -0
  146. data/test/util/tc_jsval.rb +12 -0
  147. data/test/util/tc_to_display.rb +14 -0
  148. data/test/util/tc_xml_util.rb +17 -0
  149. metadata +130 -39
  150. data/README +0 -4
  151. data/lib/doh/merb/post_hash.rb +0 -26
  152. data/lib/doh/mysql/db_null.rb +0 -24
  153. data/lib/doh/mysql/hash_util.rb +0 -56
  154. data/test/mysql/tc_hash_util.rb +0 -23
metadata CHANGED
@@ -1,7 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dohruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 3
8
+ version: "0.3"
5
9
  platform: ruby
6
10
  authors:
7
11
  - Makani & Kem Mason
@@ -9,61 +13,72 @@ autorequire:
9
13
  bindir: bin
10
14
  cert_chain: []
11
15
 
12
- date: 2008-06-20 00:00:00 -06:00
16
+ date: 2010-05-28 00:00:00 +12:00
13
17
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: facets
17
- version_requirement:
18
- version_requirements: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - "="
21
- - !ruby/object:Gem::Version
22
- version: 2.3.0
23
- version:
18
+ dependencies: []
19
+
24
20
  description:
25
21
  email: makani.and.kem.mason@gmail.com
26
22
  executables:
27
- - run_tests.rb
28
- - rcov-preprocess-files.rb
23
+ - config.rb
29
24
  - create_database.rb
25
+ - gendata.rb
26
+ - migrate.rb
27
+ - rcov_preprocess_files.rb
28
+ - run_tests.rb
29
+ - update_rdoc.rb
30
30
  extensions: []
31
31
 
32
32
  extra_rdoc_files:
33
- - README
34
33
  - MIT-LICENSE
35
34
  - CHANGELOG
36
35
  files:
36
+ - bin/config.rb
37
37
  - bin/create_database.rb
38
- - bin/rcov-preprocess-files.rb
38
+ - bin/gendata.rb
39
+ - bin/migrate.rb
40
+ - bin/rcov_preprocess_files.rb
39
41
  - bin/run_tests.rb
40
- - lib/doh
41
- - lib/doh/app
42
+ - bin/update_rdoc.rb
42
43
  - lib/doh/app/activate_database.rb
43
44
  - lib/doh/app/activate_logger.rb
44
45
  - lib/doh/app/config.rb
45
46
  - lib/doh/app/home.rb
46
47
  - lib/doh/app/init.rb
47
48
  - lib/doh/app/init_runnable.rb
49
+ - lib/doh/app/init_script.rb
48
50
  - lib/doh/app/init_unit_test.rb
49
51
  - lib/doh/app/options.rb
50
52
  - lib/doh/app.rb
51
53
  - lib/doh/app_no_stdio.rb
52
54
  - lib/doh/app_pwd.rb
53
55
  - lib/doh/app_util.rb
54
- - lib/doh/core
56
+ - lib/doh/boot/app.rb
57
+ - lib/doh/boot/app_pwd.rb
58
+ - lib/doh/boot/find_dohruby.rb
59
+ - lib/doh/boot/find_dohruby_18.rb
60
+ - lib/doh/boot/find_dohruby_19.rb
61
+ - lib/doh/boot/init_runnable.rb
62
+ - lib/doh/boot/options.rb
63
+ - lib/doh/core/array.rb
55
64
  - lib/doh/core/bigdecimal.rb
56
65
  - lib/doh/core/date.rb
66
+ - lib/doh/core/deep_dup.rb
57
67
  - lib/doh/core/dir.rb
68
+ - lib/doh/core/hash.rb
69
+ - lib/doh/core/object.rb
70
+ - lib/doh/core/require_local.rb
71
+ - lib/doh/core/socket.rb
58
72
  - lib/doh/core/string.rb
59
73
  - lib/doh/core.rb
60
- - lib/doh/data
61
74
  - lib/doh/data/basic.rb
62
75
  - lib/doh/data/bulk.rb
76
+ - lib/doh/data/catalog.rb
63
77
  - lib/doh/data/human.rb
78
+ - lib/doh/data/make_global.rb
64
79
  - lib/doh/data/require_datagen.rb
65
80
  - lib/doh/data.rb
66
- - lib/doh/logger
81
+ - lib/doh/home.rb
67
82
  - lib/doh/logger/direct_scheduler.rb
68
83
  - lib/doh/logger/email_acceptor.rb
69
84
  - lib/doh/logger/event.rb
@@ -72,80 +87,132 @@ files:
72
87
  - lib/doh/logger/iostream_acceptor.rb
73
88
  - lib/doh/logger/memory_acceptor.rb
74
89
  - lib/doh/logger/null_interface.rb
90
+ - lib/doh/logger/proxy.rb
75
91
  - lib/doh/logger/severity.rb
92
+ - lib/doh/logger/socket_acceptor.rb
93
+ - lib/doh/logger/socket_viewer.rb
76
94
  - lib/doh/logger/standard_interface.rb
77
95
  - lib/doh/logger/util.rb
78
96
  - lib/doh/logger.rb
79
97
  - lib/doh/logger_configure.rb
80
- - lib/doh/merb
98
+ - lib/doh/merb/db_session.rb
99
+ - lib/doh/merb/form_helpers.rb
81
100
  - lib/doh/merb/login.rb
101
+ - lib/doh/merb/merb_dohsession.rb
82
102
  - lib/doh/merb/notify_on_exception.rb
83
- - lib/doh/merb/post_hash.rb
103
+ - lib/doh/merb/session.rb
104
+ - lib/doh/merb/source_ip.rb
84
105
  - lib/doh/merb.rb
85
- - lib/doh/mysql
106
+ - lib/doh/mysql/abstract_row.rb
86
107
  - lib/doh/mysql/cache_connector.rb
87
108
  - lib/doh/mysql/connector_instance.rb
88
109
  - lib/doh/mysql/connector_util.rb
110
+ - lib/doh/mysql/convert.rb
89
111
  - lib/doh/mysql/current_date.rb
90
112
  - lib/doh/mysql/database_creator.rb
91
113
  - lib/doh/mysql/db_date.rb
92
- - lib/doh/mysql/db_null.rb
93
114
  - lib/doh/mysql/default_type_guesser.rb
94
115
  - lib/doh/mysql/error.rb
95
116
  - lib/doh/mysql/handle.rb
96
- - lib/doh/mysql/hash_util.rb
117
+ - lib/doh/mysql/hash_row.rb
97
118
  - lib/doh/mysql/load_sql.rb
98
119
  - lib/doh/mysql/metadata_util.rb
120
+ - lib/doh/mysql/migrate.rb
121
+ - lib/doh/mysql/migrate_check.rb
99
122
  - lib/doh/mysql/parse.rb
100
123
  - lib/doh/mysql/raw_row_builder.rb
101
124
  - lib/doh/mysql/readonly_row.rb
125
+ - lib/doh/mysql/require_dbtypes.rb
126
+ - lib/doh/mysql/smart_row.rb
102
127
  - lib/doh/mysql/to_sql.rb
103
128
  - lib/doh/mysql/typed_row_builder.rb
129
+ - lib/doh/mysql/types.rb
104
130
  - lib/doh/mysql/unquoted.rb
131
+ - lib/doh/mysql/version.rb
132
+ - lib/doh/mysql/virtual.rb
133
+ - lib/doh/mysql/writable_row.rb
105
134
  - lib/doh/mysql.rb
106
- - lib/doh/test
135
+ - lib/doh/paypal/paypal.rb
136
+ - lib/doh/paypal/pdt.rb
137
+ - lib/doh/paypal.rb
138
+ - lib/doh/rails/form_helpers.rb
139
+ - lib/doh/rails/login.rb
107
140
  - lib/doh/test/clear_on_teardown.rb
108
141
  - lib/doh/test/configure_logging.rb
109
142
  - lib/doh/test/error_acceptor.rb
110
143
  - lib/doh/test/run_tests.rb
144
+ - lib/doh/test/setup_once.rb
145
+ - lib/doh/test/test_result.rb
111
146
  - lib/doh/test/use_test_database.rb
112
- - lib/doh/util
147
+ - lib/doh/unit_test.rb
113
148
  - lib/doh/util/banking_workday.rb
114
149
  - lib/doh/util/blank_slate.rb
150
+ - lib/doh/util/class_basename.rb
115
151
  - lib/doh/util/current_date.rb
152
+ - lib/doh/util/doh_socket.rb
153
+ - lib/doh/util/email.rb
154
+ - lib/doh/util/file_edit.rb
155
+ - lib/doh/util/http_helper.rb
116
156
  - lib/doh/util/internal_ip.rb
157
+ - lib/doh/util/jsval.rb
117
158
  - lib/doh/util/num_or_self.rb
159
+ - lib/doh/util/post_hash.rb
118
160
  - lib/doh/util/source_ip.rb
119
161
  - lib/doh/util/time_util.rb
120
162
  - lib/doh/util/to_display.rb
163
+ - lib/doh/util/xml_util.rb
121
164
  - lib/doh.rb
122
- - test/core
165
+ - test/core/tc_array.rb
123
166
  - test/core/tc_bigdecimal.rb
124
167
  - test/core/tc_date.rb
168
+ - test/core/tc_deep_dup.rb
169
+ - test/core/tc_hash.rb
170
+ - test/core/tc_socket.rb
125
171
  - test/core/tc_string.rb
126
- - test/logger
172
+ - test/local_tests.rb
173
+ - test/local_tests_including_slow.rb
127
174
  - test/logger/sample.rb
128
175
  - test/logger/tc_acceptor.rb
129
176
  - test/logger/tc_event.rb
130
177
  - test/logger/tc_formatter.rb
131
178
  - test/logger/tc_interface.rb
132
- - test/mysql
179
+ - test/logger/tc_socket_viewer_acceptor.rb
180
+ - test/mysql/001_down.sql
181
+ - test/mysql/001_up.sql
182
+ - test/mysql/002_down.sql
183
+ - test/mysql/002_up.sql
133
184
  - test/mysql/connector.yml.tmpl
134
185
  - test/mysql/db_unit_test.rb
135
186
  - test/mysql/tc_cache_connector.rb
136
187
  - test/mysql/tc_connector_instance.rb
188
+ - test/mysql/tc_convert.rb
137
189
  - test/mysql/tc_handle.rb
138
- - test/mysql/tc_hash_util.rb
190
+ - test/mysql/tc_metadata_util.rb
191
+ - test/mysql/tc_migrate.rb
139
192
  - test/mysql/tc_parse.rb
140
193
  - test/mysql/tc_readonly_row.rb
194
+ - test/mysql/tc_smart_row.rb
195
+ - test/mysql/tc_to_sql.rb
196
+ - test/mysql/tc_types.rb
141
197
  - test/mysql/tc_unquoted.rb
142
- - test/util
198
+ - test/mysql/tc_writable_row.rb
199
+ - test/ts_core.rb
200
+ - test/ts_logger.rb
201
+ - test/ts_mysql.rb
202
+ - test/ts_util.rb
203
+ - test/util/slow_doh_socket.rb
143
204
  - test/util/tc_banking_workday.rb
144
- - README
205
+ - test/util/tc_file_edit.rb
206
+ - test/util/tc_jsval.rb
207
+ - test/util/tc_to_display.rb
208
+ - test/util/tc_xml_util.rb
209
+ - dohapp_home
145
210
  - MIT-LICENSE
146
211
  - CHANGELOG
147
212
  has_rdoc: true
148
213
  homepage: http://dohruby.rubyforge.org/
214
+ licenses: []
215
+
149
216
  post_install_message:
150
217
  rdoc_options: []
151
218
 
@@ -155,36 +222,60 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
222
  requirements:
156
223
  - - ">="
157
224
  - !ruby/object:Gem::Version
225
+ segments:
226
+ - 0
158
227
  version: "0"
159
- version:
160
228
  required_rubygems_version: !ruby/object:Gem::Requirement
161
229
  requirements:
162
230
  - - ">="
163
231
  - !ruby/object:Gem::Version
232
+ segments:
233
+ - 0
164
234
  version: "0"
165
- version:
166
235
  requirements: []
167
236
 
168
237
  rubyforge_project: dohruby
169
- rubygems_version: 1.0.1
238
+ rubygems_version: 1.3.6
170
239
  signing_key:
171
- specification_version: 2
240
+ specification_version: 3
172
241
  summary: DohRuby's purpose is to make your life as a developer easier & make you more efficient in your programming.
173
242
  test_files:
243
+ - test/core/tc_array.rb
174
244
  - test/core/tc_bigdecimal.rb
175
245
  - test/core/tc_date.rb
246
+ - test/core/tc_deep_dup.rb
247
+ - test/core/tc_hash.rb
248
+ - test/core/tc_socket.rb
176
249
  - test/core/tc_string.rb
250
+ - test/local_tests.rb
251
+ - test/local_tests_including_slow.rb
177
252
  - test/logger/sample.rb
178
253
  - test/logger/tc_acceptor.rb
179
254
  - test/logger/tc_event.rb
180
255
  - test/logger/tc_formatter.rb
181
256
  - test/logger/tc_interface.rb
257
+ - test/logger/tc_socket_viewer_acceptor.rb
182
258
  - test/mysql/db_unit_test.rb
183
259
  - test/mysql/tc_cache_connector.rb
184
260
  - test/mysql/tc_connector_instance.rb
261
+ - test/mysql/tc_convert.rb
185
262
  - test/mysql/tc_handle.rb
186
- - test/mysql/tc_hash_util.rb
263
+ - test/mysql/tc_metadata_util.rb
264
+ - test/mysql/tc_migrate.rb
187
265
  - test/mysql/tc_parse.rb
188
266
  - test/mysql/tc_readonly_row.rb
267
+ - test/mysql/tc_smart_row.rb
268
+ - test/mysql/tc_to_sql.rb
269
+ - test/mysql/tc_types.rb
189
270
  - test/mysql/tc_unquoted.rb
271
+ - test/mysql/tc_writable_row.rb
272
+ - test/ts_core.rb
273
+ - test/ts_logger.rb
274
+ - test/ts_mysql.rb
275
+ - test/ts_util.rb
276
+ - test/util/slow_doh_socket.rb
190
277
  - test/util/tc_banking_workday.rb
278
+ - test/util/tc_file_edit.rb
279
+ - test/util/tc_jsval.rb
280
+ - test/util/tc_to_display.rb
281
+ - test/util/tc_xml_util.rb
data/README DELETED
@@ -1,4 +0,0 @@
1
-
2
- DohRuby's purpose is to make your life as a developer easier & make you more efficient in your programming. Developer Optimized Heuristics contains ruby routines, objects, frameworks designed to optimize the most valuable asset you have, your time.
3
-
4
- DohRuby is covered under the MIT License, read MIT-LICENSE for details
@@ -1,26 +0,0 @@
1
- require 'net/http'
2
- require 'uri'
3
- require 'rexml/document'
4
-
5
- module DohMerb
6
-
7
- def self.hash_to_xml(hash, base_node = 'root')
8
- builder = REXML::Document.new
9
- builder << REXML::XMLDecl.new
10
- base = builder.add_element(base_node)
11
- hash.each_pair do |field, value|
12
- base.add_element(field).add_text(value.to_s)
13
- end
14
- builder.to_s
15
- end
16
-
17
- def self.post_hash(hash, base_node = 'root', url = 'http://localhost:4000/')
18
- uri = URI.parse(url)
19
- xml = hash_to_xml(hash, base_node)
20
- Net::HTTP.start(uri.host, uri.port) do |httpreq|
21
- httpreq.read_timeout = 30;
22
- response = httpreq.post(uri.path, xml, {'Connection' => 'close', 'Content-Type' => 'text/xml'}).body.to_s
23
- end
24
- end
25
-
26
- end
@@ -1,24 +0,0 @@
1
- require 'doh/mysql/to_sql'
2
- require 'singleton'
3
-
4
- module DohDb
5
-
6
- class NullDatabaseValue
7
- include Singleton
8
-
9
- def empty?
10
- true
11
- end
12
-
13
- def to_s
14
- ''
15
- end
16
-
17
- def to_sql
18
- 'NULL'
19
- end
20
- end
21
-
22
- NULL = NullDatabaseValue.instance
23
-
24
- end
@@ -1,56 +0,0 @@
1
- require 'doh/mysql/handle'
2
- require 'doh/mysql/connector_instance'
3
-
4
- module DohDb
5
-
6
- class Handle
7
- def insert_hash(hash, table)
8
- insert_hash_helper(hash, table, 'INSERT')
9
- end
10
-
11
- def replace_hash(hash, table)
12
- insert_hash_helper(hash, table, 'REPLACE')
13
- end
14
-
15
- def update_hash(hash, table, primary_key_value, primary_key_name)
16
- items = hash.keys.collect {|key| key + ' = ' + hash[key].to_sql}
17
- query("UPDATE #{table} SET #{items.join(', ')} WHERE #{primary_key_name} = #{primary_key_value}")
18
- end
19
-
20
- def select_as_hash(statement, row_builder = nil)
21
- select(statement, row_builder).inject(Hash.new) do |hash, row|
22
- hash[row.at(0)] = row.at(1)
23
- hash
24
- end
25
- end
26
-
27
- private
28
- def insert_hash_helper(hash, table, keyword)
29
- names = []
30
- values = []
31
- hash.each_pair do |key, value|
32
- next if value.nil?
33
- names.push(key)
34
- values.push(value.to_sql)
35
- end
36
- insert("#{keyword} INTO #{table} (#{names.join(',')}) VALUES (#{values.join(',')})")
37
- end
38
- end
39
-
40
- def self.insert_hash(hash, table)
41
- request_handle.insert_hash(hash, table)
42
- end
43
-
44
- def self.replace_hash(hash, table)
45
- request_handle.replace_hash(hash, table)
46
- end
47
-
48
- def self.update_hash(hash, table, primary_key_value, primary_key_name)
49
- request_handle.update_hash(hash, table, primary_key_value, primary_key_name)
50
- end
51
-
52
- def self.select_as_hash(statement, row_builder = nil)
53
- request_handle.select_as_hash(statement, row_builder)
54
- end
55
-
56
- end
@@ -1,23 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'db_unit_test')
2
- require 'doh/mysql/hash_util'
3
-
4
- module DohDb
5
-
6
- class TC_HashUtil < Test::Unit::TestCase
7
- def test_stuff
8
- dbh = DohDb::request_handle
9
- tbl = "doh_mysql_hashutil_stuff_test"
10
- DohDb::query("CREATE TEMPORARY TABLE #{tbl} (field CHAR(30) NOT NULL, value CHAR(30) NOT NULL)")
11
- DohDb::query("INSERT INTO #{tbl} SET field = 'some_name', value = 'some_value'")
12
- DohDb::query("INSERT INTO #{tbl} SET field = 'other_name', value = 'matching_other_value'")
13
- DohDb::query("INSERT INTO #{tbl} SET field = 'yet_another_name', value = 'strange_value'")
14
- hash = DohDb::select_as_hash("SELECT field, value FROM #{tbl}")
15
- DohDb::query("DROP TABLE #{tbl}")
16
- assert_equal(hash['some_name'], 'some_value')
17
- assert_equal(hash['other_name'], 'matching_other_value')
18
- assert_equal(hash['yet_another_name'], 'strange_value')
19
- end
20
- end
21
-
22
- end
23
-