qwik2md 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 (335) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +4 -0
  4. data/Gemfile +4 -0
  5. data/README.md +36 -0
  6. data/Rakefile +10 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/exe/qwik2md +17 -0
  10. data/lib/qwik2md/version.rb +3 -0
  11. data/lib/qwik2md.rb +39 -0
  12. data/qwik2md.gemspec +30 -0
  13. data/vendor/qwik/AUTHORS +10 -0
  14. data/vendor/qwik/COPYING +340 -0
  15. data/vendor/qwik/COPYRIGHT +346 -0
  16. data/vendor/qwik/lib/qwik/Makefile +63 -0
  17. data/vendor/qwik/lib/qwik/Rakefile +17 -0
  18. data/vendor/qwik/lib/qwik/act-aa.rb +83 -0
  19. data/vendor/qwik/lib/qwik/act-archive.rb +386 -0
  20. data/vendor/qwik/lib/qwik/act-attach.rb +304 -0
  21. data/vendor/qwik/lib/qwik/act-backup.rb +236 -0
  22. data/vendor/qwik/lib/qwik/act-basic.rb +325 -0
  23. data/vendor/qwik/lib/qwik/act-book.rb +161 -0
  24. data/vendor/qwik/lib/qwik/act-calc.rb +371 -0
  25. data/vendor/qwik/lib/qwik/act-charset.rb +251 -0
  26. data/vendor/qwik/lib/qwik/act-christel.rb +112 -0
  27. data/vendor/qwik/lib/qwik/act-chronology.rb +149 -0
  28. data/vendor/qwik/lib/qwik/act-code.rb +155 -0
  29. data/vendor/qwik/lib/qwik/act-comment.rb +554 -0
  30. data/vendor/qwik/lib/qwik/act-config.rb +49 -0
  31. data/vendor/qwik/lib/qwik/act-counter.rb +125 -0
  32. data/vendor/qwik/lib/qwik/act-day.rb +96 -0
  33. data/vendor/qwik/lib/qwik/act-describe.rb +135 -0
  34. data/vendor/qwik/lib/qwik/act-diary.rb +109 -0
  35. data/vendor/qwik/lib/qwik/act-edit.rb +317 -0
  36. data/vendor/qwik/lib/qwik/act-embed-html.rb +296 -0
  37. data/vendor/qwik/lib/qwik/act-emode.rb +150 -0
  38. data/vendor/qwik/lib/qwik/act-event.rb +187 -0
  39. data/vendor/qwik/lib/qwik/act-file.rb +303 -0
  40. data/vendor/qwik/lib/qwik/act-files.rb +771 -0
  41. data/vendor/qwik/lib/qwik/act-getpass.rb +295 -0
  42. data/vendor/qwik/lib/qwik/act-history.rb +136 -0
  43. data/vendor/qwik/lib/qwik/act-html.rb +204 -0
  44. data/vendor/qwik/lib/qwik/act-httpauth.rb +147 -0
  45. data/vendor/qwik/lib/qwik/act-include.rb +142 -0
  46. data/vendor/qwik/lib/qwik/act-interwiki.rb +189 -0
  47. data/vendor/qwik/lib/qwik/act-isearch.rb +109 -0
  48. data/vendor/qwik/lib/qwik/act-keywords.rb +137 -0
  49. data/vendor/qwik/lib/qwik/act-lang.rb +81 -0
  50. data/vendor/qwik/lib/qwik/act-license.rb +63 -0
  51. data/vendor/qwik/lib/qwik/act-list.rb +287 -0
  52. data/vendor/qwik/lib/qwik/act-login.rb +410 -0
  53. data/vendor/qwik/lib/qwik/act-logout.rb +60 -0
  54. data/vendor/qwik/lib/qwik/act-mail.rb +159 -0
  55. data/vendor/qwik/lib/qwik/act-map.rb +292 -0
  56. data/vendor/qwik/lib/qwik/act-md5.rb +42 -0
  57. data/vendor/qwik/lib/qwik/act-mdlb.rb +741 -0
  58. data/vendor/qwik/lib/qwik/act-media.rb +416 -0
  59. data/vendor/qwik/lib/qwik/act-member.rb +157 -0
  60. data/vendor/qwik/lib/qwik/act-menu.rb +142 -0
  61. data/vendor/qwik/lib/qwik/act-metadata.rb +323 -0
  62. data/vendor/qwik/lib/qwik/act-mlsubmitform.rb +49 -0
  63. data/vendor/qwik/lib/qwik/act-monitor.rb +167 -0
  64. data/vendor/qwik/lib/qwik/act-new.rb +418 -0
  65. data/vendor/qwik/lib/qwik/act-pagelist.rb +248 -0
  66. data/vendor/qwik/lib/qwik/act-password.rb +145 -0
  67. data/vendor/qwik/lib/qwik/act-plan.rb +210 -0
  68. data/vendor/qwik/lib/qwik/act-povray.rb +230 -0
  69. data/vendor/qwik/lib/qwik/act-presen.rb +380 -0
  70. data/vendor/qwik/lib/qwik/act-redirect.rb +133 -0
  71. data/vendor/qwik/lib/qwik/act-ring.rb +1071 -0
  72. data/vendor/qwik/lib/qwik/act-rrefs.rb +255 -0
  73. data/vendor/qwik/lib/qwik/act-ruby.rb +116 -0
  74. data/vendor/qwik/lib/qwik/act-sample.rb +170 -0
  75. data/vendor/qwik/lib/qwik/act-save.rb +295 -0
  76. data/vendor/qwik/lib/qwik/act-schedule.rb +374 -0
  77. data/vendor/qwik/lib/qwik/act-search.rb +180 -0
  78. data/vendor/qwik/lib/qwik/act-searchwords.rb +51 -0
  79. data/vendor/qwik/lib/qwik/act-sendpass.rb +83 -0
  80. data/vendor/qwik/lib/qwik/act-site.rb +89 -0
  81. data/vendor/qwik/lib/qwik/act-sitebackup.rb +419 -0
  82. data/vendor/qwik/lib/qwik/act-sitelog.rb +118 -0
  83. data/vendor/qwik/lib/qwik/act-smil.rb +299 -0
  84. data/vendor/qwik/lib/qwik/act-status.rb +220 -0
  85. data/vendor/qwik/lib/qwik/act-style.rb +608 -0
  86. data/vendor/qwik/lib/qwik/act-table.rb +263 -0
  87. data/vendor/qwik/lib/qwik/act-tableform.rb +241 -0
  88. data/vendor/qwik/lib/qwik/act-tag.rb +103 -0
  89. data/vendor/qwik/lib/qwik/act-text.rb +70 -0
  90. data/vendor/qwik/lib/qwik/act-textarea.rb +164 -0
  91. data/vendor/qwik/lib/qwik/act-theme.rb +346 -0
  92. data/vendor/qwik/lib/qwik/act-toc.rb +112 -0
  93. data/vendor/qwik/lib/qwik/act-typekey.rb +198 -0
  94. data/vendor/qwik/lib/qwik/act-under-const.rb +94 -0
  95. data/vendor/qwik/lib/qwik/act-webservice.rb +321 -0
  96. data/vendor/qwik/lib/qwik/act-wema.rb +558 -0
  97. data/vendor/qwik/lib/qwik/act-wysiwyg.rb +238 -0
  98. data/vendor/qwik/lib/qwik/action.rb +325 -0
  99. data/vendor/qwik/lib/qwik/autoreload.rb +98 -0
  100. data/vendor/qwik/lib/qwik/bench-bench.rb +28 -0
  101. data/vendor/qwik/lib/qwik/bench-emode.rb +47 -0
  102. data/vendor/qwik/lib/qwik/bench-format-xml.rb +70 -0
  103. data/vendor/qwik/lib/qwik/bench-large-table.rb +62 -0
  104. data/vendor/qwik/lib/qwik/bench-md5.rb +14 -0
  105. data/vendor/qwik/lib/qwik/bench-module-session.rb +19 -0
  106. data/vendor/qwik/lib/qwik/bench-page.rb +50 -0
  107. data/vendor/qwik/lib/qwik/bench-s-md5.rb +28 -0
  108. data/vendor/qwik/lib/qwik/bench-session.rb +25 -0
  109. data/vendor/qwik/lib/qwik/bench-textformat.rb +31 -0
  110. data/vendor/qwik/lib/qwik/catalog-factory.rb +91 -0
  111. data/vendor/qwik/lib/qwik/catalog-ja.rb +479 -0
  112. data/vendor/qwik/lib/qwik/catalog-ml-ja.rb +145 -0
  113. data/vendor/qwik/lib/qwik/check-act-monitor.rb +112 -0
  114. data/vendor/qwik/lib/qwik/check-act-monitor2.rb +46 -0
  115. data/vendor/qwik/lib/qwik/check-act-theme.rb +27 -0
  116. data/vendor/qwik/lib/qwik/check-event.rb +112 -0
  117. data/vendor/qwik/lib/qwik/check-event2.rb +55 -0
  118. data/vendor/qwik/lib/qwik/check-htree-rexml.rb +77 -0
  119. data/vendor/qwik/lib/qwik/check-htree.rb +51 -0
  120. data/vendor/qwik/lib/qwik/check-libxml.rb +135 -0
  121. data/vendor/qwik/lib/qwik/check-many-pages.rb +47 -0
  122. data/vendor/qwik/lib/qwik/check-monitor.rb +33 -0
  123. data/vendor/qwik/lib/qwik/check-observer.rb +67 -0
  124. data/vendor/qwik/lib/qwik/check-server.rb +61 -0
  125. data/vendor/qwik/lib/qwik/check-uuencode.rb +33 -0
  126. data/vendor/qwik/lib/qwik/check-webdav.rb +65 -0
  127. data/vendor/qwik/lib/qwik/check-xml-xpath.rb +27 -0
  128. data/vendor/qwik/lib/qwik/common-backtrace.rb +94 -0
  129. data/vendor/qwik/lib/qwik/common-basic.rb +111 -0
  130. data/vendor/qwik/lib/qwik/common-condition.rb +142 -0
  131. data/vendor/qwik/lib/qwik/common-error.rb +48 -0
  132. data/vendor/qwik/lib/qwik/common-gettext.rb +50 -0
  133. data/vendor/qwik/lib/qwik/common-javascript.rb +45 -0
  134. data/vendor/qwik/lib/qwik/common-notice.rb +132 -0
  135. data/vendor/qwik/lib/qwik/common-plain.rb +105 -0
  136. data/vendor/qwik/lib/qwik/common-plugin.rb +111 -0
  137. data/vendor/qwik/lib/qwik/common-res.rb +76 -0
  138. data/vendor/qwik/lib/qwik/common-resolve.rb +92 -0
  139. data/vendor/qwik/lib/qwik/common-send.rb +171 -0
  140. data/vendor/qwik/lib/qwik/common-session.rb +139 -0
  141. data/vendor/qwik/lib/qwik/common-surface.rb +261 -0
  142. data/vendor/qwik/lib/qwik/common-url.rb +90 -0
  143. data/vendor/qwik/lib/qwik/compat/Makefile +12 -0
  144. data/vendor/qwik/lib/qwik/compat/add_load_path.rb +1 -0
  145. data/vendor/qwik/lib/qwik/config.rb +299 -0
  146. data/vendor/qwik/lib/qwik/db-b-backup.rb +142 -0
  147. data/vendor/qwik/lib/qwik/db-backup.rb +184 -0
  148. data/vendor/qwik/lib/qwik/db-berkeley.rb +306 -0
  149. data/vendor/qwik/lib/qwik/db-filesystem.rb +305 -0
  150. data/vendor/qwik/lib/qwik/db-indexer.rb +154 -0
  151. data/vendor/qwik/lib/qwik/db-searchwords.rb +238 -0
  152. data/vendor/qwik/lib/qwik/description-ja.rb +267 -0
  153. data/vendor/qwik/lib/qwik/description.rb +256 -0
  154. data/vendor/qwik/lib/qwik/dev-add-copyright.rb +23 -0
  155. data/vendor/qwik/lib/qwik/dev-backup.rb +24 -0
  156. data/vendor/qwik/lib/qwik/dev-bench.rb +175 -0
  157. data/vendor/qwik/lib/qwik/dev-calctime.rb +52 -0
  158. data/vendor/qwik/lib/qwik/dev-css-compressor.rb +60 -0
  159. data/vendor/qwik/lib/qwik/dev-extract-catalog.rb +102 -0
  160. data/vendor/qwik/lib/qwik/dev-js-compressor.rb +73 -0
  161. data/vendor/qwik/lib/qwik/dev-release.rb +235 -0
  162. data/vendor/qwik/lib/qwik/dev-replace.rb +353 -0
  163. data/vendor/qwik/lib/qwik/dev-sendmail.rb +25 -0
  164. data/vendor/qwik/lib/qwik/farm.rb +283 -0
  165. data/vendor/qwik/lib/qwik/gettext.rb +56 -0
  166. data/vendor/qwik/lib/qwik/group-cond.rb +157 -0
  167. data/vendor/qwik/lib/qwik/group-config.rb +247 -0
  168. data/vendor/qwik/lib/qwik/group-confirm.rb +147 -0
  169. data/vendor/qwik/lib/qwik/group-db.rb +326 -0
  170. data/vendor/qwik/lib/qwik/group-mail.rb +195 -0
  171. data/vendor/qwik/lib/qwik/group-member.rb +307 -0
  172. data/vendor/qwik/lib/qwik/group-sendmail.rb +231 -0
  173. data/vendor/qwik/lib/qwik/group-site.rb +374 -0
  174. data/vendor/qwik/lib/qwik/group-sweep.rb +63 -0
  175. data/vendor/qwik/lib/qwik/group.rb +157 -0
  176. data/vendor/qwik/lib/qwik/helper.rb +6 -0
  177. data/vendor/qwik/lib/qwik/html-generator.rb +104 -0
  178. data/vendor/qwik/lib/qwik/html-to-wabisabi.rb +148 -0
  179. data/vendor/qwik/lib/qwik/htree-diff.rb +87 -0
  180. data/vendor/qwik/lib/qwik/htree-format-xml.rb +57 -0
  181. data/vendor/qwik/lib/qwik/htree-generator.rb +144 -0
  182. data/vendor/qwik/lib/qwik/htree-get.rb +251 -0
  183. data/vendor/qwik/lib/qwik/htree-html-generator.rb +179 -0
  184. data/vendor/qwik/lib/qwik/htree-template.rb +263 -0
  185. data/vendor/qwik/lib/qwik/htree-to-wabisabi.rb +171 -0
  186. data/vendor/qwik/lib/qwik/loadlib.rb +79 -0
  187. data/vendor/qwik/lib/qwik/logger.rb +115 -0
  188. data/vendor/qwik/lib/qwik/mail-body.rb +171 -0
  189. data/vendor/qwik/lib/qwik/mail-header.rb +474 -0
  190. data/vendor/qwik/lib/qwik/mail-multipart.rb +193 -0
  191. data/vendor/qwik/lib/qwik/mail-parse.rb +147 -0
  192. data/vendor/qwik/lib/qwik/mail.rb +341 -0
  193. data/vendor/qwik/lib/qwik/mailaddress.rb +83 -0
  194. data/vendor/qwik/lib/qwik/mdlb-model.rb +81 -0
  195. data/vendor/qwik/lib/qwik/mdlb-sample.rb +324 -0
  196. data/vendor/qwik/lib/qwik/ml-catalog-factory.rb +27 -0
  197. data/vendor/qwik/lib/qwik/ml-exception.rb +15 -0
  198. data/vendor/qwik/lib/qwik/ml-generator.rb +28 -0
  199. data/vendor/qwik/lib/qwik/ml-gettext.rb +137 -0
  200. data/vendor/qwik/lib/qwik/ml-logger.rb +82 -0
  201. data/vendor/qwik/lib/qwik/ml-memory.rb +65 -0
  202. data/vendor/qwik/lib/qwik/ml-msg-validator.rb +86 -0
  203. data/vendor/qwik/lib/qwik/ml-processor.rb +609 -0
  204. data/vendor/qwik/lib/qwik/ml-quickml-server.rb +122 -0
  205. data/vendor/qwik/lib/qwik/ml-sendmail.rb +0 -0
  206. data/vendor/qwik/lib/qwik/ml-server.rb +107 -0
  207. data/vendor/qwik/lib/qwik/ml-session.rb +348 -0
  208. data/vendor/qwik/lib/qwik/ml-sweeper.rb +101 -0
  209. data/vendor/qwik/lib/qwik/mock-logger.rb +65 -0
  210. data/vendor/qwik/lib/qwik/mock-sendmail.rb +78 -0
  211. data/vendor/qwik/lib/qwik/mock-socket.rb +82 -0
  212. data/vendor/qwik/lib/qwik/modulobe.rb +406 -0
  213. data/vendor/qwik/lib/qwik/mongrel-server.rb +72 -0
  214. data/vendor/qwik/lib/qwik/page-files.rb +249 -0
  215. data/vendor/qwik/lib/qwik/page-generate.rb +82 -0
  216. data/vendor/qwik/lib/qwik/page-get.rb +262 -0
  217. data/vendor/qwik/lib/qwik/page-images.rb +168 -0
  218. data/vendor/qwik/lib/qwik/page-put.rb +128 -0
  219. data/vendor/qwik/lib/qwik/page-rrefs.rb +154 -0
  220. data/vendor/qwik/lib/qwik/page-title.rb +0 -0
  221. data/vendor/qwik/lib/qwik/page-wikidb.rb +234 -0
  222. data/vendor/qwik/lib/qwik/page.rb +67 -0
  223. data/vendor/qwik/lib/qwik/pages.rb +444 -0
  224. data/vendor/qwik/lib/qwik/parse-plugin.rb +249 -0
  225. data/vendor/qwik/lib/qwik/parser-emode.rb +116 -0
  226. data/vendor/qwik/lib/qwik/parser-inline.rb +272 -0
  227. data/vendor/qwik/lib/qwik/parser.rb +349 -0
  228. data/vendor/qwik/lib/qwik/password.rb +183 -0
  229. data/vendor/qwik/lib/qwik/periodic.rb +79 -0
  230. data/vendor/qwik/lib/qwik/qp.rb +56 -0
  231. data/vendor/qwik/lib/qwik/qwik-service.rb +341 -0
  232. data/vendor/qwik/lib/qwik/qwik.rb +5 -0
  233. data/vendor/qwik/lib/qwik/qwikweb-adduser.rb +34 -0
  234. data/vendor/qwik/lib/qwik/qwikweb-catalog-validator.rb +110 -0
  235. data/vendor/qwik/lib/qwik/qwikweb-incgen.rb +28 -0
  236. data/vendor/qwik/lib/qwik/qwikweb-makesite.rb +41 -0
  237. data/vendor/qwik/lib/qwik/qwikweb-server.rb +44 -0
  238. data/vendor/qwik/lib/qwik/qwikweb-showpassword.rb +26 -0
  239. data/vendor/qwik/lib/qwik/qwikweb-watchlog.rb +67 -0
  240. data/vendor/qwik/lib/qwik/request-path.rb +304 -0
  241. data/vendor/qwik/lib/qwik/request-ua.rb +76 -0
  242. data/vendor/qwik/lib/qwik/request-webrick.rb +81 -0
  243. data/vendor/qwik/lib/qwik/request.rb +91 -0
  244. data/vendor/qwik/lib/qwik/resolve-tdiary.rb +292 -0
  245. data/vendor/qwik/lib/qwik/resolve.rb +121 -0
  246. data/vendor/qwik/lib/qwik/response.rb +228 -0
  247. data/vendor/qwik/lib/qwik/server-memory.rb +57 -0
  248. data/vendor/qwik/lib/qwik/server-webrick.rb +102 -0
  249. data/vendor/qwik/lib/qwik/server.rb +252 -0
  250. data/vendor/qwik/lib/qwik/site-config.rb +149 -0
  251. data/vendor/qwik/lib/qwik/site-db.rb +136 -0
  252. data/vendor/qwik/lib/qwik/site-event.rb +162 -0
  253. data/vendor/qwik/lib/qwik/site-files.rb +86 -0
  254. data/vendor/qwik/lib/qwik/site-group.rb +103 -0
  255. data/vendor/qwik/lib/qwik/site-index.rb +47 -0
  256. data/vendor/qwik/lib/qwik/site-log.rb +64 -0
  257. data/vendor/qwik/lib/qwik/site-member.rb +230 -0
  258. data/vendor/qwik/lib/qwik/site-monitor.rb +97 -0
  259. data/vendor/qwik/lib/qwik/site-pages.rb +62 -0
  260. data/vendor/qwik/lib/qwik/site-plan.rb +139 -0
  261. data/vendor/qwik/lib/qwik/site-report.rb +282 -0
  262. data/vendor/qwik/lib/qwik/site-resolve.rb +230 -0
  263. data/vendor/qwik/lib/qwik/site-rrefs.rb +18 -0
  264. data/vendor/qwik/lib/qwik/site-search.rb +180 -0
  265. data/vendor/qwik/lib/qwik/site-timeline.rb +153 -0
  266. data/vendor/qwik/lib/qwik/site-url.rb +189 -0
  267. data/vendor/qwik/lib/qwik/site.rb +76 -0
  268. data/vendor/qwik/lib/qwik/smil-time.rb +105 -0
  269. data/vendor/qwik/lib/qwik/smtp-session.rb +331 -0
  270. data/vendor/qwik/lib/qwik/template-generator.rb +149 -0
  271. data/vendor/qwik/lib/qwik/template.rb +85 -0
  272. data/vendor/qwik/lib/qwik/test-common.rb +10 -0
  273. data/vendor/qwik/lib/qwik/test-ml-info.rb +225 -0
  274. data/vendor/qwik/lib/qwik/test-module-ml.rb +142 -0
  275. data/vendor/qwik/lib/qwik/test-module-path.rb +110 -0
  276. data/vendor/qwik/lib/qwik/test-module-public.rb +70 -0
  277. data/vendor/qwik/lib/qwik/test-module-server.rb +98 -0
  278. data/vendor/qwik/lib/qwik/test-module-session.rb +264 -0
  279. data/vendor/qwik/lib/qwik/test-module-suite.rb +91 -0
  280. data/vendor/qwik/lib/qwik/test-ms-applemail.rb +59 -0
  281. data/vendor/qwik/lib/qwik/test-ms-attach.rb +174 -0
  282. data/vendor/qwik/lib/qwik/test-ms-basic.rb +40 -0
  283. data/vendor/qwik/lib/qwik/test-ms-close.rb +35 -0
  284. data/vendor/qwik/lib/qwik/test-ms-confirm.rb +75 -0
  285. data/vendor/qwik/lib/qwik/test-ms-ignore-spam.rb +57 -0
  286. data/vendor/qwik/lib/qwik/test-ms-japanese.rb +97 -0
  287. data/vendor/qwik/lib/qwik/test-ms-jfilename.rb +82 -0
  288. data/vendor/qwik/lib/qwik/test-ms-large.rb +58 -0
  289. data/vendor/qwik/lib/qwik/test-ms-member.rb +103 -0
  290. data/vendor/qwik/lib/qwik/test-ms-multipart.rb +84 -0
  291. data/vendor/qwik/lib/qwik/test-ms-org.rb +129 -0
  292. data/vendor/qwik/lib/qwik/test-ms-plan.rb +130 -0
  293. data/vendor/qwik/lib/qwik/test-ms-post.rb +53 -0
  294. data/vendor/qwik/lib/qwik/test-ms-quopri.rb +76 -0
  295. data/vendor/qwik/lib/qwik/test-sub-quopri.rb +45 -0
  296. data/vendor/qwik/lib/qwik/test-submit-base64.rb +59 -0
  297. data/vendor/qwik/lib/qwik/test-submit-forward.rb +61 -0
  298. data/vendor/qwik/lib/qwik/test-submit-html-mail.rb +52 -0
  299. data/vendor/qwik/lib/qwik/test-submit-japanese.rb +135 -0
  300. data/vendor/qwik/lib/qwik/test-submit-jfilename.rb +144 -0
  301. data/vendor/qwik/lib/qwik/test-submit-uuencode.rb +71 -0
  302. data/vendor/qwik/lib/qwik/test-suite-all.rb +8 -0
  303. data/vendor/qwik/lib/qwik/test-suite-basic.rb +9 -0
  304. data/vendor/qwik/lib/qwik/test-suite-ml.rb +9 -0
  305. data/vendor/qwik/lib/qwik/test-typekey.rb +64 -0
  306. data/vendor/qwik/lib/qwik/testunit.rb +45 -0
  307. data/vendor/qwik/lib/qwik/tokenizer-inline.rb +288 -0
  308. data/vendor/qwik/lib/qwik/tokenizer.rb +331 -0
  309. data/vendor/qwik/lib/qwik/typekey.rb +160 -0
  310. data/vendor/qwik/lib/qwik/util-basic.rb +135 -0
  311. data/vendor/qwik/lib/qwik/util-charset.rb +331 -0
  312. data/vendor/qwik/lib/qwik/util-css.rb +56 -0
  313. data/vendor/qwik/lib/qwik/util-csv-tokenizer.rb +113 -0
  314. data/vendor/qwik/lib/qwik/util-filename.rb +112 -0
  315. data/vendor/qwik/lib/qwik/util-pathname.rb +202 -0
  316. data/vendor/qwik/lib/qwik/util-pid.rb +58 -0
  317. data/vendor/qwik/lib/qwik/util-safe.rb +67 -0
  318. data/vendor/qwik/lib/qwik/util-sendmail.rb +273 -0
  319. data/vendor/qwik/lib/qwik/util-string.rb +202 -0
  320. data/vendor/qwik/lib/qwik/util-time.rb +125 -0
  321. data/vendor/qwik/lib/qwik/util-webrick.rb +176 -0
  322. data/vendor/qwik/lib/qwik/version.rb +11 -0
  323. data/vendor/qwik/lib/qwik/wabisabi-basic.rb +163 -0
  324. data/vendor/qwik/lib/qwik/wabisabi-diff.rb +130 -0
  325. data/vendor/qwik/lib/qwik/wabisabi-format-xml.rb +310 -0
  326. data/vendor/qwik/lib/qwik/wabisabi-generator.rb +262 -0
  327. data/vendor/qwik/lib/qwik/wabisabi-index.rb +174 -0
  328. data/vendor/qwik/lib/qwik/wabisabi-table.rb +212 -0
  329. data/vendor/qwik/lib/qwik/wabisabi-template.rb +295 -0
  330. data/vendor/qwik/lib/qwik/wabisabi-to-htree.rb +111 -0
  331. data/vendor/qwik/lib/qwik/wabisabi-to-wiki.rb +690 -0
  332. data/vendor/qwik/lib/qwik/wabisabi-traverse.rb +207 -0
  333. data/vendor/qwik/lib/qwik/wabisabi-validator.rb +116 -0
  334. data/vendor/qwik/lib/qwik/wabisabi.rb +5 -0
  335. metadata +492 -0
@@ -0,0 +1,73 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
6
+ require 'qwik/util-pathname'
7
+
8
+ class JavaScriptCompressor
9
+ def self.run
10
+ generate_src
11
+ end
12
+
13
+ def self.generate_src
14
+ src = <<'EOT'
15
+ //
16
+ // Copyright (C) 2003-2006 Kouichirou Eto
17
+ // All rights reserved.
18
+ // This is free software with ABSOLUTELY NO WARRANTY.
19
+ //
20
+ // You can redistribute it and/or modify it under the terms of
21
+ // the GNU General Public License version 2.
22
+ //
23
+
24
+ // This file is automatically generated.
25
+ // PLEASE DO NOT EDIT THIS FILE.
26
+ EOT
27
+ #add_all_js(src)
28
+ add_some_js(src)
29
+ '../all.js'.path.open('wb') {|f|
30
+ f.puts src
31
+ }
32
+ end
33
+
34
+ def self.add_some_js(src)
35
+ path = '.'.path
36
+ #ar = %w(base history monitor niftypp wysiwyg)
37
+ ar = %w(base niftypp)
38
+ ar.each {|f|
39
+ pa = path+(f+'.js')
40
+ src << read_file(pa)
41
+ }
42
+ end
43
+
44
+ def self.add_all_js(src)
45
+ path = '.'.path
46
+ path.each_entry {|file|
47
+ f = file.to_s
48
+ next unless /\.js\z/ =~ f
49
+ src << read_file(file)
50
+ }
51
+ end
52
+
53
+ def self.read_file(file)
54
+ s = ''
55
+ file.open {|f|
56
+ while line = f.gets
57
+ line.sub!(/\/\/.+$/, "")
58
+ case line
59
+ when /\A\/\//, /\A\s*$/
60
+ # do nothing
61
+ else
62
+ s << line
63
+ end
64
+ end
65
+ f.read
66
+ }
67
+ s
68
+ end
69
+ end
70
+
71
+ if $0 == __FILE__
72
+ JavaScriptCompressor.run
73
+ end
@@ -0,0 +1,235 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ require 'optparse'
6
+ require 'time'
7
+ require 'fileutils'
8
+ include FileUtils
9
+
10
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
11
+ require 'qwik/config'
12
+ require 'qwik/util-time'
13
+ require 'qwik/util-pathname'
14
+
15
+ module Qwik
16
+ class MakeRelease
17
+ LIBDIR = File.dirname(__FILE__)
18
+
19
+ def self.main(argv)
20
+ type = MakeRelease.parse_args(argv)
21
+
22
+ config = Config.new
23
+ libdir = LIBDIR
24
+ date = Time.now.ymd_s
25
+ version = VERSION
26
+ ml_version = QuickML::VERSION
27
+ base = "qwik-#{version}"
28
+ targz = "#{base}.tar.gz"
29
+ upload_dest = 'eto.com:/var/www/2004/qwikWeb/'
30
+
31
+ case type
32
+ when :generate_version
33
+ GenerateVersion.generate(libdir, version, ml_version, date)
34
+ when :generate_manifest
35
+ GenerateManifest.generate('.')
36
+ when :generate_dist
37
+ GenerateDist.generate(base, targz)
38
+ when :upload
39
+ Upload.upload(targz, upload_dest)
40
+ end
41
+ end
42
+
43
+ def self.parse_args(args)
44
+ type = nil
45
+ optionparser = OptionParser.new {|opts|
46
+ opts.banner = 'Usage: dev-release.rb [options]'
47
+ opts.separator ''
48
+ opts.separator 'Specific options:'
49
+ opts.on('--generate-vesrion', 'Generate version file.') {|a|
50
+ type = :generate_version
51
+ }
52
+ opts.on('--generate-manifest', 'Generate MANIFEST file.') {|a|
53
+ type = :generate_manifest
54
+ }
55
+ opts.on('--generate-dist', 'Generate dist archive.') {|a|
56
+ type = :generate_dist
57
+ }
58
+ opts.on('--upload', 'Upload dist file.') {|a|
59
+ type = :upload
60
+ }
61
+ opts.separator ''
62
+ opts.separator 'Common options:'
63
+ opts.on_tail('-h', '--help', 'Show this message') {
64
+ puts opts
65
+ exit
66
+ }
67
+ }
68
+ optionparser.parse!(args)
69
+
70
+ if type.nil?
71
+ puts 'To show usage, type like this
72
+
73
+ % ruby dev-release.rb -h
74
+
75
+ '
76
+ exit
77
+ end
78
+ return type
79
+ end
80
+ end
81
+
82
+ class GenerateVersion
83
+ def self.generate(libdir, version, ml_version, date)
84
+ version_str = "# Automatically generated.
85
+ # DO NOT EDIT!
86
+
87
+ module Qwik
88
+ VERSION = '#{version}'
89
+ RELEASE_DATE = '#{date}'
90
+ end
91
+
92
+ module QuickML
93
+ VERSION = '#{ml_version}'
94
+ end
95
+ "
96
+ "#{libdir}/version.rb".path.write(version_str)
97
+ end
98
+ end
99
+
100
+ class GenerateManifest
101
+ def self.generate(cwd)
102
+ ar = []
103
+ cwd.path.find {|f|
104
+ ar << f.to_s if public_file?(f)
105
+ }
106
+ ar += %w(etc/ log/)
107
+
108
+ open('MANIFEST', 'wb'){|out|
109
+ ar.sort.each {|f|
110
+ out.puts f
111
+ }
112
+ }
113
+ end
114
+
115
+ IGNORE_DIR = %w(backup cache data etc grave log work .svn)
116
+ IGNORE_PATTERN = %w(
117
+ CVS sfcring memo.txt tar.gz .rm .MP4 .cvsignore
118
+ .stackdump
119
+ .o
120
+ .so
121
+ testlog.txt
122
+ .#
123
+ #
124
+ qwik-0.
125
+ charts.swf
126
+ charts_library
127
+ .config
128
+ lib/qwik/dev-
129
+ .bak
130
+ )
131
+
132
+ #album.swf
133
+ #lib/qwik/mock-
134
+ #lib/qwik/test-
135
+
136
+ def self.public_file?(file)
137
+ return false if file.directory?
138
+ s = file.to_s
139
+ IGNORE_DIR.each {|dir| # ignore dir
140
+ return false if /^#{dir}/ =~ s
141
+ return false if /\/#{dir}\// =~ s
142
+ }
143
+ IGNORE_PATTERN.each {|pat| # ignore pattern
144
+ return false if s.include?(pat)
145
+ }
146
+ return false if /~$/ =~ s
147
+ return true
148
+ end
149
+ end
150
+
151
+ class GenerateDist
152
+ def self.generate(base, targz)
153
+ opt = {} # dummy
154
+ files = open('MANIFEST'){|f| f.read }.split
155
+ rm_rf(base, opt)
156
+ rm_f(targz, opt)
157
+ mkdir(base, opt)
158
+ cp_all(files, base, opt)
159
+ make_default_siteconfig(base)
160
+ make_default_password(base)
161
+ system_p("tar zcf #{targz} #{base}", opt)
162
+ rm_rf(base, opt)
163
+ end
164
+
165
+ def self.cp_all(src, dest, opt={})
166
+ src.each {|file|
167
+ dir = File.dirname(file)
168
+ dir = file.chop if file =~ /\/$/
169
+ destdir = dest+'/'+dir
170
+ mkdir_p(destdir, opt) unless FileTest.directory? destdir
171
+ cp_p(file, destdir, opt) unless file =~ /\/$/
172
+ }
173
+ end
174
+
175
+ def self.cp_p(src, dest, options={})
176
+ opt = options.dup
177
+ opt[:preserve] = true
178
+ cp(src, dest, opt)
179
+ end
180
+
181
+ def self.system_p(cmd, options={})
182
+ print "#{cmd}\n" if options[:verbose]
183
+ return if options[:noop]
184
+ system cmd
185
+ end
186
+
187
+ def self.make_default_siteconfig(base)
188
+ Dir.mkdir(base+'/data') unless File.exist?(base+'/data')
189
+ Dir.mkdir(base+'/data/www') unless File.exist?(base+'/data/www')
190
+ open(base+'/data/www/_GroupForward.txt', 'wb'){|out|
191
+ out.print "\n"
192
+ }
193
+ open(base+'/data/www/_SiteMember.txt', 'wb'){|out|
194
+ out.print ",guest@qwik\n"
195
+ }
196
+ open(base+'/share/super/_SiteConfig.txt', 'rb'){|f|
197
+ open(base+'/data/www/_SiteConfig.txt', 'wb'){|out|
198
+ while line = f.gets
199
+ line = line.sub(/:open:false/, ':open:true')
200
+ out.print line
201
+ end
202
+ }
203
+ }
204
+ end
205
+
206
+ def self.make_default_password(base)
207
+ etc_copy_file(base, 'etc/config.txt')
208
+ etc_copy_file(base, 'etc/config-debug.txt')
209
+ end
210
+
211
+ def self.etc_copy_file(base, file)
212
+ str = read_file(file)
213
+ write_file(base+'/'+file, str)
214
+ end
215
+
216
+ def self.read_file(file)
217
+ open(file){|f| f.read }
218
+ end
219
+
220
+ def self.write_file(file, str)
221
+ open(file, 'wb'){|f| f.print str }
222
+ end
223
+ end
224
+
225
+ class Upload
226
+ def self.upload(targz, upload_dest)
227
+ opt = {} # dummy
228
+ GenerateDist.system_p("scp #{targz} #{upload_dest}", opt)
229
+ end
230
+ end
231
+ end
232
+
233
+ if $0 == __FILE__
234
+ Qwik::MakeRelease.main(ARGV)
235
+ end
@@ -0,0 +1,353 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ require 'pp'
6
+
7
+ $LOAD_PATH << '..' unless $LOAD_PATH.include? '..'
8
+ require 'qwik/util-pathname'
9
+
10
+ def dummy_replace_line(line) # dummy
11
+ return line
12
+ end
13
+
14
+ def replace_line(line)
15
+ return line.gsub(/\$LOAD_PATH \<\< \'\.\.\'/) {
16
+ "$LOAD_PATH.unshift '..'"
17
+ }
18
+ end
19
+
20
+ def replace_content_by_line(content, dryrun)
21
+ replace = false
22
+ newcontent = ''
23
+ content.each {|line|
24
+ newline = replace_line(line)
25
+ if newline != line
26
+ yield
27
+ puts "-#{line}"
28
+ puts "+#{newline}"
29
+ replace = true
30
+ end
31
+ newline = line if dryrun # for debug
32
+ newcontent << newline
33
+ }
34
+ return replace, newcontent, dryrun
35
+ end
36
+
37
+ def main
38
+ #dryrun = false
39
+ dryrun = true
40
+
41
+ #Dir.glob('test-sub-*.rb') {|fname|
42
+
43
+ last_fname = ''
44
+
45
+ Dir.glob('*.rb') {|fname|
46
+ next if fname == 'dev-replace.rb'
47
+ content = open(fname, 'rb') {|f| f.read }
48
+
49
+ replace, newcontent, dryrun = replace_content_by_line(content, dryrun) {
50
+ if last_fname != fname
51
+ puts "■#{fname}"
52
+ last_fname = fname
53
+ end
54
+ }
55
+
56
+ if replace
57
+ open("#{fname}.bak", 'wb') {|f|
58
+ f.print content # make backup
59
+ }
60
+ open(fname, 'wb') {|f|
61
+ f.print newcontent # make new content
62
+ }
63
+ end
64
+ }
65
+ end
66
+ main
67
+
68
+ =begin
69
+
70
+ OLD_BANNER = <<"EOS"
71
+ #
72
+ # Copyright (C) 2003-2006 Kouichirou Eto
73
+ # All rights reserved.
74
+ # This is free software with ABSOLUTELY NO WARRANTY.
75
+ #
76
+ # You can redistribute it and/or modify it under the terms of
77
+ # the GNU General Public License version 2.
78
+ #
79
+ EOS
80
+
81
+ NEW_BANNER = <<"EOS"
82
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
83
+ # This is free software with ABSOLUTELY NO WARRANTY.
84
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
85
+ EOS
86
+
87
+ def replace_line(line)
88
+ return line.gsub(OLD_BANNER) {
89
+ NEW_BANNER
90
+ }
91
+ end
92
+
93
+ def nureplace_line(line)
94
+ return line.gsub(%r|2003-2005|) {
95
+ "2003-2006"
96
+ }
97
+ end
98
+
99
+ def nu2replace_line(line)
100
+ return line.gsub(%r|c_relative_to_absolute|) {
101
+ "c_relative_to_root"
102
+ }
103
+ end
104
+
105
+ def nu3replace_line(line)
106
+ return line.gsub(%r|c_relative_to_full|) {
107
+ "c_relative_to_absolute"
108
+ }
109
+ end
110
+
111
+ def replace_line(line)
112
+ return line.gsub(%r|\$LOAD_PATH \<\< '\.\.' unless \$LOAD_PATH\.include\?\('\.\.'\)|) {
113
+ "$LOAD_PATH << '..' unless $LOAD_PATH.include? '..'"
114
+ }
115
+ end
116
+
117
+ def replace_line(line)
118
+ return line.gsub(%r|\$LOAD_PATH\.unshift 'compat' unless \$LOAD_PATH\.include\? 'compat'|) {
119
+ "$LOAD_PATH << 'compat' unless $LOAD_PATH.include? 'compat'"
120
+ }
121
+ end
122
+
123
+ def nu3_replace_line(line)
124
+ return line.gsub(%r|\$LOAD_PATH\.unshift\('\.\.\/\.\.\/compat'\) unless \$LOAD_PATH\.include\?\('\.\.\/\.\.\/compat'\)|) {
125
+ "$LOAD_PATH.unshift 'compat' unless $LOAD_PATH.include? 'compat'"
126
+ }
127
+ end
128
+
129
+ def nu2_replace_line(line)
130
+ str = "\$LOAD_PATH << '..' unless \$LOAD_PATH.include?('..')"
131
+ restr = Regexp.escape(str)
132
+ #puts restr
133
+ # \$LOAD_PATH\ <<\ '\.\.'\ unless\ \$LOAD_PATH\.include\?\('\.\.'\)
134
+ re = Regexp.compile(restr)
135
+ out = "\$LOAD_PATH << '..' unless \$LOAD_PATH.include? '..'"
136
+ return line.gsub(re) {
137
+ out
138
+ }
139
+ end
140
+
141
+ def nu_replace_line(line)
142
+ return line.gsub(%r|\$LOAD_PATH << \'\.\./\.\./lib\' unless \$LOAD_PATH\.include\?\('\.\./\.\./lib'|) {
143
+ "\$LOAD_PATH << '..' unless \$LOAD_PATH.include?('..'"
144
+ }
145
+ end
146
+
147
+
148
+ # ============================== souko
149
+ def nu_replace_line(line)
150
+ return line.gsub(/require \"t\/test\"/) {
151
+ "require \"qwik\/test-common\""
152
+ }
153
+ end
154
+
155
+ def nu2replace_line(line)
156
+ return line.gsub(/class TC\_/) {
157
+ 'class Test'
158
+ }
159
+ end
160
+
161
+ def nu3replace_line(line)
162
+ return line.gsub(/if \$debug/) {
163
+ 'if defined?($debug) && $debug'
164
+ }
165
+ end
166
+
167
+ def nu4replace_line(line)
168
+ return line.gsub(/assert_wiki/) {
169
+ 'ok_wi'
170
+ }
171
+ end
172
+
173
+ def nu5replace_line(line)
174
+ return line.gsub(/assert_in\(/) {
175
+ 'ok_in('
176
+ }
177
+ end
178
+
179
+ def nu6replace_line(line)
180
+ return line.gsub(/assert_xpath/) {
181
+ 'ok_xp'
182
+ }
183
+ end
184
+
185
+ def nu7replace_line(line)
186
+ return line.gsub(/assert_equal/) {
187
+ 'ok_eq'
188
+ }
189
+ end
190
+
191
+ def nu8replace_line(line)
192
+ return line.gsub(/require \"test\/unit\"/) {
193
+ "require \"qwik\/testunit\""
194
+ }
195
+ end
196
+
197
+ def nu9replace_line(line)
198
+ return line.gsub(/assert_xml/) {
199
+ 'ok_in'
200
+ }
201
+ end
202
+
203
+ def nu10replace_line(line)
204
+ return line.gsub(/require \"qwik\/memory\"/) {
205
+ "require \"qwik\/server-memory\""
206
+ }
207
+ end
208
+
209
+ def nu11replace_line(line)
210
+ return line.gsub(/include TestQuickMLModule/) {
211
+ 'include TestModuleML'
212
+ }
213
+ end
214
+
215
+ def nu12replace_line(line)
216
+ return line.gsub(/include TestMLSessionModule/) {
217
+ 'include TestModuleML'
218
+ }
219
+ end
220
+
221
+ def nu13replace_line(line)
222
+ return line.gsub(/require \"qwik\/test-module-ms\"/) {
223
+ "require \"qwik/test-module-ml\""
224
+ }
225
+ end
226
+
227
+ def nu14replace_line(line)
228
+ return line.gsub(/user@e.com/) {
229
+ 'bob@example.net'
230
+ }
231
+ end
232
+
233
+ def nu15replace_line(line)
234
+ return line.gsub(/Mail\.send_mail/) {
235
+ 'Sendmail.send_mail'
236
+ }
237
+ end
238
+
239
+ def nu16replace_line(line)
240
+ return line.gsub(/class QuickML$/) {
241
+ 'class Group'
242
+ }
243
+ end
244
+
245
+ def nu17replace_line(line)
246
+ return line.gsub(/QuickML::QuickML/) {
247
+ 'QuickML::Group'
248
+ }
249
+ end
250
+
251
+ def nu18replace_line(line)
252
+ return line.gsub(/QuickML\./) {
253
+ "Group\."
254
+ }
255
+ end
256
+
257
+ def nu19replace_line(line)
258
+ return line.gsub(/require "qwik\/util-path"/) {
259
+ 'require "qwik/util-pathname'
260
+ }
261
+ end
262
+
263
+ def nu20replace_line(line)
264
+ return line.gsub(/require "qwik\/util-pathname$/) {
265
+ 'require "qwik\/util-pathname"'
266
+ }
267
+ end
268
+
269
+ def nu21replace_line(line)
270
+ return line.gsub(/require "qwik\\\/util-pathname"/) {
271
+ 'require "qwik/util-pathname"'
272
+ }
273
+ end
274
+
275
+ def nu22replace_line(line)
276
+ return line.gsub(/Qwik::Config.new\(true\)/) {
277
+ 'Qwik::Config.new(:debug=>true)'
278
+ }
279
+ end
280
+
281
+ def nu23replace_line(line)
282
+ if /\$debug/ =~ line
283
+ pp line
284
+ end
285
+ return line
286
+ end
287
+
288
+ def nu24replace_line(line)
289
+ return line.gsub(/\$debug/) {
290
+ '$test'
291
+ }
292
+ end
293
+
294
+ def nu25replace_line(line)
295
+ # return line.gsub(/charset='([\w]+)'/) {
296
+ # return line.gsub(/charset='([\w-]+)'/) {
297
+ #a = 'charset'
298
+ #a = 'filename'
299
+ #a = 'boundary'
300
+ #return line.gsub(/#{a}='([\w\.-]+)'/) {
301
+
302
+ return line.gsub(/; ([A-Za-z]+)='([\w \.-]+)'/) {
303
+ k = $1
304
+ v = $2
305
+ "; #{k}=\"#{v}\""
306
+ }
307
+ end
308
+
309
+ def nu27replace_line(line)
310
+ return line.gsub(%r|"../../lib"|) {
311
+ "'../../lib'"
312
+ }
313
+ end
314
+
315
+ def nu28replace_line(line)
316
+ return line if line.include?("\\")
317
+ return line.gsub(%r|""|) {
318
+ "''"
319
+ }
320
+ end
321
+
322
+ def nu29replace_line(line)
323
+ return line if line.include?("\\")
324
+ return line if line.include?('<')
325
+ return line if line.include?('>')
326
+
327
+ line = line.gsub(/\"(.*?)\"/) {
328
+ str = $1
329
+ ignore = %w(ascii section EOT)
330
+ if ignore.include?(str)
331
+ "\"#{str}\""
332
+ # elsif /\A[A-Za-z0-9\:\.\/_ |-]+\z/ =~ str
333
+ # elsif /\A[A-Za-z0-9\:\._ |-]+\z/ =~ str
334
+ # elsif /\A[A-Za-z0-9\@\:\._ |-]+\z/ =~ str
335
+ # elsif /\A[A-Za-z0-9\%\*\/\@\:\._ |-]+\z/ =~ str
336
+ # elsif /\A[A-Za-z0-9\%\*\/\@\:\._ |-]+\z/ =~ str
337
+ elsif /\A[A-Za-z0-9\,\%\*\/\@\:\._ \|-]+\z/ =~ str
338
+ "'#{str}'"
339
+ else
340
+ "\"#{str}\""
341
+ end
342
+ }
343
+
344
+ return line
345
+ end
346
+
347
+ def replace_line(line)
348
+ return line.gsub(%r|assert_text\(\'(.+)\', \'title\'\)|) {
349
+ "ok_title('#{$1}')"
350
+ }
351
+ end
352
+
353
+ =end
@@ -0,0 +1,25 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ # You can send a mail using SMTP for checking the status.
6
+
7
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
8
+ require 'qwik/config'
9
+ require 'qwik/util-sendmail'
10
+ require 'qwik/qwik-mail'
11
+
12
+ def main
13
+ config = Qwik::Config.new
14
+ config.update(:smtp_host => '127.0.0.1', :smtp_port => '25')
15
+ mail = {
16
+ :from => 'etocom@gmail.com',
17
+ :to => 'etoeto@qwik.jp',
18
+ :subject => 'test',
19
+ :content => 'test desu.',
20
+ }
21
+ sendmail = Qwik::Sendmail.new('127.0.0.1', '25')
22
+ sendmail.send(mail)
23
+ end
24
+
25
+ main