paynow_sdk 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 (286) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +6 -0
  4. data/Gemfile +8 -0
  5. data/Gemfile.lock +30 -0
  6. data/README.md +36 -0
  7. data/Rakefile +10 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/lib/paynow_sdk.rb +269 -0
  11. data/lib/paynow_sdk/version.rb +3 -0
  12. data/paynow_sdk.gemspec +27 -0
  13. data/vendor/cache/ansi-1.5.0.gem +0 -0
  14. data/vendor/cache/builder-3.2.4.gem +0 -0
  15. data/vendor/cache/minitest-5.14.1.gem +0 -0
  16. data/vendor/cache/minitest-reporters-1.4.2.gem +0 -0
  17. data/vendor/cache/rake-12.3.3.gem +0 -0
  18. data/vendor/cache/ruby-progressbar-1.10.1.gem +0 -0
  19. data/vendor/cache/ruby/2.7.0/bin/rake +27 -0
  20. data/vendor/cache/ruby/2.7.0/cache/ansi-1.5.0.gem +0 -0
  21. data/vendor/cache/ruby/2.7.0/cache/builder-3.2.4.gem +0 -0
  22. data/vendor/cache/ruby/2.7.0/cache/minitest-5.14.1.gem +0 -0
  23. data/vendor/cache/ruby/2.7.0/cache/minitest-reporters-1.4.2.gem +0 -0
  24. data/vendor/cache/ruby/2.7.0/cache/rake-12.3.3.gem +0 -0
  25. data/vendor/cache/ruby/2.7.0/cache/ruby-progressbar-1.10.1.gem +0 -0
  26. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/.index +77 -0
  27. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/.yardopts +8 -0
  28. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/DEMO.md +451 -0
  29. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/HISTORY.md +217 -0
  30. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/LICENSE.txt +23 -0
  31. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/NOTICE.md +170 -0
  32. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/README.md +91 -0
  33. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/01_ansicode.md +65 -0
  34. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/02_core.md +11 -0
  35. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/03_logger.md +30 -0
  36. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/04_progressbar.md +62 -0
  37. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/05_mixin.md +37 -0
  38. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/06_string.md +56 -0
  39. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/07_columns.md +89 -0
  40. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/08_table.md +28 -0
  41. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/09_diff.md +47 -0
  42. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/10_bbcode.md +24 -0
  43. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/11_terminal.md +8 -0
  44. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/applique/ae.rb +1 -0
  45. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/applique/output.rb +5 -0
  46. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi.rb +22 -0
  47. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi.yml +77 -0
  48. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/bbcode.rb +334 -0
  49. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/chain.rb +50 -0
  50. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/chart.rb +100 -0
  51. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/code.rb +349 -0
  52. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/columns.rb +197 -0
  53. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/constants.rb +25 -0
  54. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/core.rb +30 -0
  55. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/diff.rb +215 -0
  56. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/hexdump.rb +122 -0
  57. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/logger.rb +211 -0
  58. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/mixin.rb +121 -0
  59. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/progressbar.rb +292 -0
  60. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/string.rb +254 -0
  61. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/table.rb +179 -0
  62. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal.rb +44 -0
  63. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal/curses.rb +26 -0
  64. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal/stty.rb +62 -0
  65. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal/termios.rb +68 -0
  66. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal/win32.rb +107 -0
  67. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/version.rb +15 -0
  68. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/case_ansicode.rb +43 -0
  69. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/case_bbcode.rb +35 -0
  70. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/case_mixin.rb +35 -0
  71. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/case_progressbar.rb +21 -0
  72. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/test_helper.rb +3 -0
  73. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/CHANGES +119 -0
  74. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/MIT-LICENSE +20 -0
  75. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/README.md +258 -0
  76. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/Rakefile +194 -0
  77. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/builder.blurb +27 -0
  78. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/builder.gemspec +45 -0
  79. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/doc/jamis.rb +592 -0
  80. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/doc/releases/builder-1.2.4.rdoc +31 -0
  81. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/doc/releases/builder-2.0.0.rdoc +46 -0
  82. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/doc/releases/builder-2.1.1.rdoc +58 -0
  83. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/blankslate.rb +138 -0
  84. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder.rb +14 -0
  85. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/blankslate.rb +24 -0
  86. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/version.rb +9 -0
  87. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/xchar.rb +198 -0
  88. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/xmlbase.rb +200 -0
  89. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/xmlevents.rb +64 -0
  90. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/xmlmarkup.rb +345 -0
  91. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/rakelib/publish.rake +21 -0
  92. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/rakelib/tags.rake +63 -0
  93. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/rakelib/testing.rake +8 -0
  94. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/helper.rb +13 -0
  95. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/performance.rb +42 -0
  96. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/preload.rb +40 -0
  97. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_blankslate.rb +208 -0
  98. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_eventbuilder.rb +151 -0
  99. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_markupbuilder.rb +617 -0
  100. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_method_caching.rb +63 -0
  101. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_namecollision.rb +40 -0
  102. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_xchar.rb +85 -0
  103. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/.autotest +34 -0
  104. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/History.rdoc +1392 -0
  105. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/Manifest.txt +27 -0
  106. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/README.rdoc +764 -0
  107. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/Rakefile +74 -0
  108. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/design_rationale.rb +52 -0
  109. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/hoe/minitest.rb +32 -0
  110. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest.rb +1056 -0
  111. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/assertions.rb +807 -0
  112. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/autorun.rb +13 -0
  113. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/benchmark.rb +455 -0
  114. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/expectations.rb +303 -0
  115. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/hell.rb +11 -0
  116. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/mock.rb +240 -0
  117. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/parallel.rb +70 -0
  118. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/pride.rb +4 -0
  119. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/pride_plugin.rb +142 -0
  120. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/spec.rb +342 -0
  121. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/test.rb +220 -0
  122. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/unit.rb +45 -0
  123. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/metametameta.rb +136 -0
  124. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_assertions.rb +1567 -0
  125. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_benchmark.rb +137 -0
  126. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_mock.rb +872 -0
  127. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_reporter.rb +299 -0
  128. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_spec.rb +1061 -0
  129. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_test.rb +1084 -0
  130. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.gitignore +28 -0
  131. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.rubocop.yml +77 -0
  132. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.ruby-gemset +1 -0
  133. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.travis.yml +15 -0
  134. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.yardopts +6 -0
  135. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/CHANGELOG.md +120 -0
  136. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/Gemfile +2 -0
  137. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/LICENSE +20 -0
  138. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/README.md +135 -0
  139. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/Rakefile +70 -0
  140. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/appveyor.yml +22 -0
  141. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/assets/default-reporter.png +0 -0
  142. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/assets/mean_time_reporter.png +0 -0
  143. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/assets/progress-reporter.png +0 -0
  144. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/assets/spec-reporter.png +0 -0
  145. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/extensible_backtrace_filter.rb +67 -0
  146. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/minitest_reporter_plugin.rb +82 -0
  147. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/old_activesupport_fix.rb +24 -0
  148. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/relative_position.rb +26 -0
  149. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters.rb +91 -0
  150. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/ansi.rb +30 -0
  151. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/base_reporter.rb +136 -0
  152. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/default_reporter.rb +245 -0
  153. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/html_reporter.rb +224 -0
  154. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/junit_reporter.rb +174 -0
  155. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/mean_time_reporter.rb +388 -0
  156. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/progress_reporter.rb +104 -0
  157. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/ruby_mate_reporter.rb +54 -0
  158. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/rubymine_reporter.rb +116 -0
  159. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/spec_reporter.rb +61 -0
  160. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/version.rb +5 -0
  161. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/templates/index.html.erb +85 -0
  162. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/minitest-reporters.gemspec +31 -0
  163. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/junit_filename_bug_example_test.rb +41 -0
  164. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/mean_time_test.rb +36 -0
  165. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/progress_detailed_skip_test.rb +8 -0
  166. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/progress_test.rb +8 -0
  167. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/sample_test.rb +15 -0
  168. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/spec_test.rb +18 -0
  169. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/gallery/bad_test.rb +25 -0
  170. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/gallery/good_test.rb +14 -0
  171. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/integration/reporters/junit_reporter_test.rb +12 -0
  172. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/integration/reporters/mean_time_reporter_test.rb +7 -0
  173. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/integration/reporters/progress_reporter_test.rb +40 -0
  174. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/test_helper.rb +22 -0
  175. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/extensible_backtrace_filter_test.rb +42 -0
  176. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/junit_reporter_test.rb +46 -0
  177. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/mean_time_reporter_unit_test.rb +149 -0
  178. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/minitest_reporter_plugin_test.rb +14 -0
  179. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/reporters_test.rb +65 -0
  180. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/spec_reporter_test.rb +62 -0
  181. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/CONTRIBUTING.rdoc +43 -0
  182. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/Gemfile +3 -0
  183. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/History.rdoc +2344 -0
  184. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/MIT-LICENSE +21 -0
  185. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/README.rdoc +156 -0
  186. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/Rakefile +41 -0
  187. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/azure-pipelines.yml +11 -0
  188. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/bundle +105 -0
  189. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/console +7 -0
  190. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/rake +29 -0
  191. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/rdoc +29 -0
  192. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/rubocop +29 -0
  193. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/setup +6 -0
  194. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/command_line_usage.rdoc +158 -0
  195. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile1 +38 -0
  196. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile2 +35 -0
  197. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/a.c +6 -0
  198. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/b.c +6 -0
  199. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/main.c +11 -0
  200. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/glossary.rdoc +42 -0
  201. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/jamis.rb +592 -0
  202. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/proto_rake.rdoc +127 -0
  203. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/rake.1 +156 -0
  204. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/rakefile.rdoc +622 -0
  205. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/rational.rdoc +151 -0
  206. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/exe/rake +27 -0
  207. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake.rb +71 -0
  208. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/application.rb +824 -0
  209. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/backtrace.rb +24 -0
  210. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/clean.rb +78 -0
  211. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cloneable.rb +17 -0
  212. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cpu_counter.rb +107 -0
  213. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/default_loader.rb +15 -0
  214. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/dsl_definition.rb +195 -0
  215. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/early_time.rb +22 -0
  216. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/core.rb +26 -0
  217. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/string.rb +176 -0
  218. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_creation_task.rb +25 -0
  219. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_list.rb +435 -0
  220. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_task.rb +54 -0
  221. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils.rb +137 -0
  222. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils_ext.rb +145 -0
  223. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_chain.rb +57 -0
  224. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_exception_mixin.rb +17 -0
  225. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/late_time.rb +18 -0
  226. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/linked_list.rb +112 -0
  227. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/loaders/makefile.rb +54 -0
  228. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/multi_task.rb +14 -0
  229. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/name_space.rb +38 -0
  230. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/packagetask.rb +207 -0
  231. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/phony.rb +16 -0
  232. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/private_reader.rb +21 -0
  233. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/promise.rb +100 -0
  234. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/pseudo_status.rb +30 -0
  235. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_module.rb +67 -0
  236. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb +27 -0
  237. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rule_recursion_overflow_error.rb +20 -0
  238. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/scope.rb +43 -0
  239. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task.rb +413 -0
  240. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_argument_error.rb +8 -0
  241. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_arguments.rb +109 -0
  242. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_manager.rb +324 -0
  243. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/tasklib.rb +12 -0
  244. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/testtask.rb +224 -0
  245. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_history_display.rb +49 -0
  246. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_pool.rb +163 -0
  247. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/trace_output.rb +23 -0
  248. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/version.rb +10 -0
  249. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/win32.rb +51 -0
  250. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/rake.gemspec +42 -0
  251. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/LICENSE.txt +19 -0
  252. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/README.md +38 -0
  253. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/Rakefile +2 -0
  254. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar.rb +22 -0
  255. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/base.rb +183 -0
  256. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/calculators/length.rb +100 -0
  257. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/calculators/running_average.rb +9 -0
  258. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components.rb +5 -0
  259. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/bar.rb +102 -0
  260. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/percentage.rb +29 -0
  261. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/rate.rb +43 -0
  262. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/time.rb +107 -0
  263. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/title.rb +13 -0
  264. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  265. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format.rb +3 -0
  266. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/formatter.rb +27 -0
  267. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/molecule.rb +60 -0
  268. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/string.rb +36 -0
  269. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/output.rb +68 -0
  270. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  271. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/null.rb +33 -0
  272. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/tty.rb +32 -0
  273. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/progress.rb +118 -0
  274. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/refinements.rb +1 -0
  275. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/refinements/enumerator.rb +23 -0
  276. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/throttle.rb +25 -0
  277. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/time.rb +32 -0
  278. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/timer.rb +72 -0
  279. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/version.rb +3 -0
  280. data/vendor/cache/ruby/2.7.0/specifications/ansi-1.5.0.gemspec +42 -0
  281. data/vendor/cache/ruby/2.7.0/specifications/builder-3.2.4.gemspec +23 -0
  282. data/vendor/cache/ruby/2.7.0/specifications/minitest-5.14.1.gemspec +38 -0
  283. data/vendor/cache/ruby/2.7.0/specifications/minitest-reporters-1.4.2.gemspec +43 -0
  284. data/vendor/cache/ruby/2.7.0/specifications/rake-12.3.3.gemspec +43 -0
  285. data/vendor/cache/ruby/2.7.0/specifications/ruby-progressbar-1.10.1.gemspec +40 -0
  286. metadata +330 -0
@@ -0,0 +1,8 @@
1
+ # ANSI::Terminal
2
+
3
+ We should be ables to get the terminal width via the `terminal_width` method.
4
+
5
+ width = ANSI::Terminal.terminal_width
6
+
7
+ Fixnum.assert === width
8
+
@@ -0,0 +1,5 @@
1
+ When "output will be" do |text|
2
+ # how to get result of last block?
3
+ @_.strip.assert == text.strip
4
+ end
5
+
@@ -0,0 +1,22 @@
1
+ # ANSI namespace module contains all the ANSI related classes.
2
+ module ANSI
3
+ end
4
+
5
+ require 'ansi/version'
6
+ require 'ansi/core'
7
+ require 'ansi/code'
8
+ require 'ansi/bbcode'
9
+ require 'ansi/columns'
10
+ require 'ansi/diff'
11
+ require 'ansi/logger'
12
+ require 'ansi/mixin'
13
+ require 'ansi/progressbar'
14
+ require 'ansi/string'
15
+ require 'ansi/table'
16
+ require 'ansi/terminal'
17
+
18
+ # Kernel method
19
+ def ansi(string, *codes)
20
+ ANSI::Code.ansi(string, *codes)
21
+ end
22
+
@@ -0,0 +1,77 @@
1
+ ---
2
+ revision: 2013
3
+ type: ruby
4
+ sources:
5
+ - INDEX.yml
6
+ authors:
7
+ - name: Thomas Sawyer
8
+ email: transfire@gmail.com
9
+ - name: Florian Frank
10
+ organizations: []
11
+ requirements:
12
+ - groups:
13
+ - build
14
+ development: true
15
+ name: mast
16
+ - groups:
17
+ - build
18
+ development: true
19
+ name: indexer
20
+ - groups:
21
+ - build
22
+ development: true
23
+ name: ergo
24
+ - groups:
25
+ - test
26
+ development: true
27
+ name: qed
28
+ - groups:
29
+ - test
30
+ development: true
31
+ name: ae
32
+ - groups:
33
+ - test
34
+ development: true
35
+ name: lemon
36
+ conflicts: []
37
+ alternatives: []
38
+ resources:
39
+ - type: home
40
+ uri: http://rubyworks.github.com/ansi
41
+ label: Homepage
42
+ - type: docs
43
+ uri: http://rubydoc.info/gems/ansi/frames
44
+ label: Documentation
45
+ - type: code
46
+ uri: http://github.com/rubyworks/ansi
47
+ label: Source Code
48
+ - type: bugs
49
+ uri: http://github.com/rubyworks/ansi/issues
50
+ label: Issue Tracker
51
+ - type: mail
52
+ uri: http://groups.google.com/group/rubyworks-mailinglist
53
+ label: Mailing List
54
+ repositories:
55
+ - name: upstream
56
+ scm: git
57
+ uri: git://github.com/rubyworks/ansi.git
58
+ categories: []
59
+ copyrights:
60
+ - holder: Rubyworks
61
+ year: '2009'
62
+ license: BSD-2-Clause
63
+ customs: []
64
+ paths:
65
+ lib:
66
+ - lib
67
+ name: ansi
68
+ title: ANSI
69
+ version: 1.5.0
70
+ summary: ANSI at your fingertips!
71
+ description: The ANSI project is a superlative collection of ANSI escape code related
72
+ libraries eabling ANSI colorization and stylization of console output. Byte for
73
+ byte ANSI is the best ANSI code library available for the Ruby programming language.
74
+ orgranizations:
75
+ - Rubyworks
76
+ created: '2009-08-01'
77
+ date: '2015-01-16'
@@ -0,0 +1,334 @@
1
+ # BBCode
2
+ #
3
+ # Copyright (c) 2002 Thomas-Ivo Heinen
4
+ #
5
+ # This module is free software. You may use, modify, and/or redistribute this
6
+ # software under the same terms as Ruby.
7
+ #
8
+ # This program is distributed in the hope that it will be useful, but WITHOUT
9
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10
+ # FOR A PARTICULAR PURPOSE.
11
+
12
+ #
13
+ module ANSI
14
+
15
+ # TODO: Integrate BBCode with Code module.
16
+
17
+ # The BBCode module helps ease the separation of core and frontend with the
18
+ # core (or submodules) being still able to say, what colors shall be used
19
+ # in it's responses. This is achieved by encoding formatting information
20
+ # using the BBCode tokens. This enables you to "pipe" layout information
21
+ # such as colors, style, font, size and alignment through the core to
22
+ # the frontend.
23
+ #
24
+ # Additionally it converts markups/codes between ANSI, HTML and BBCode
25
+ # almost freely ;)
26
+ #
27
+ # # Converting a bbcode string to ANSI and XHTML
28
+ # str = "this is [COLOR=red]red[/COLOR], this is [B]bold[/B]"
29
+ # print( BBCode.bbcode_to_ansi(str) )
30
+ # print( BBCode.bbcode_to_html(str) )
31
+ #
32
+ module BBCode
33
+
34
+ ## ANSIname => ANSIcode LUT
35
+ ANSINAME2CODE= { "reset" => "\e[0m", "bold" => "\e[1m",
36
+ "underline" => "\e[4m", "blink" => "\e[5m",
37
+ "reverse" => "\e[7m", "invisible" => "\e[8m",
38
+ "black" => "\e[0;30m", "darkgrey" => "\e[1;30m",
39
+ "red" => "\e[0;31m", "lightred" => "\e[1;31m",
40
+ "green" => "\e[0;32m", "lightgreen" => "\e[1;32m",
41
+ "brown" => "\e[0;33m", "yellow" => "\e[1;33m",
42
+ "blue" => "\e[0;34m", "lightblue" => "\e[1;34m",
43
+ "purple" => "\e[0;35m", "magenta" => "\e[1;35m",
44
+ "cyan" => "\e[1;36m", "lightcyan" => "\e[1;36m",
45
+ "grey" => "\e[0;37m", "white" => "\e[1;37m",
46
+ "bgblack" => "\e[40m", "bgred" => "\e[41m",
47
+ "bggreen" => "\e[42m", "bgyellow" => "\e[43m",
48
+ "bgblue" => "\e[44m", "bgmagenta" => "\e[45m",
49
+ "bgcyan" => "\e[46m", "bgwhite" => "\e[47m"
50
+ }
51
+
52
+ ## BBColor => ANSIname LUT
53
+ BBCOLOR2ANSI = { "skyblue" => "blue", "royalblue" => "blue",
54
+ "blue" => "blue", "darkblue" => "blue",
55
+ "orange" => "red", "orangered" => "red",
56
+ "crimson" => "red", "red" => "lightred",
57
+ "firebrick" => "red", "darkred" => "red",
58
+ "green" => "green", "limegreen" => "green",
59
+ "seagreen" => "green", "darkgreen" => "green",
60
+ "deeppink" => "magenta", "tomato" => "red",
61
+ "coral" => "cyan", "purple" => "purple",
62
+ "indigo" => "blue", "burlywood" => "red",
63
+ "sandybrown"=> "red", "sierra" => "sierra",
64
+ "chocolate" => "brown", "teal" => "teal",
65
+ "silver" => "white",
66
+ "black" => "black", "yellow" => "yellow",
67
+ "magenta" => "magenta", "cyan" => "cyan",
68
+ "white" => "white"
69
+ }
70
+
71
+ ## ANSInames => BBCode LUT
72
+ ANSINAME2BBCODE = { "bold" => "B", "underline" => "U", "reverse" => "I",
73
+
74
+ "red" => "COLOR=red", "blue" => "COLOR=blue",
75
+ "green" => "COLOR=green", "cyan" => "COLOR=cyan",
76
+ "magenta"=> "COLOR=deeppink", "purple" => "COLOR=purple",
77
+ "black" => "COLOR=black", "white" => "COLOR=white",
78
+ "yellow" => "COLOR=yellow", "brown" => "COLOR=chocolate"
79
+ }
80
+
81
+ ## Needed for alignments
82
+ @@width = 80
83
+
84
+
85
+ # ---------------------------
86
+
87
+ # Returns the ANSI sequence for given color, if existant
88
+ def BBCode.ansi(colorname)
89
+ colorname.strip!
90
+ return ANSINAME2CODE[ colorname.downcase ]
91
+ end
92
+
93
+ # --- strip_bbcode( string )
94
+ # Will strip any BBCode tags from the given string.
95
+ def BBCode.strip_bbcode(string)
96
+ string.strip!
97
+ return string.gsub(/\[[A-Za-z0-9\/=]+\]/, "")
98
+ end
99
+
100
+ # Returns the string with all ansi escape sequences converted to BBCodes
101
+ def BBCode.ansi_to_bbcode(string)
102
+ return "" if string.nil? || string.to_s.strip.empty?
103
+ result = ""
104
+ tagstack = []
105
+
106
+ ## Iterate over input lines
107
+ string.split("\n").each do |line|
108
+ ## Iterate over found ansi sequences
109
+ line.scan(/\e\[[0-9;]+m/).each do |seq|
110
+ ansiname = ANSINAME2CODE.invert["#{seq}"]
111
+
112
+ ## Pop last tag and form closing tag
113
+ if ansiname == "reset"
114
+ lasttag = tagstack.pop
115
+ bbname = "/" + String.new( lasttag.split("=")[0] )
116
+
117
+ ## Get corresponding BBCode tag + Push to stack
118
+ else
119
+ bbname = ANSINAME2BBCODE[ansiname]
120
+ tagstack.push(bbname)
121
+ end
122
+
123
+ ## Replace ansi sequence by BBCode tag
124
+ replace = sprintf("[%s]", bbname)
125
+ line.sub!(seq, replace)
126
+ end
127
+
128
+ ## Append converted line
129
+ result << sprintf("%s\n", line)
130
+ end
131
+
132
+
133
+ ## Some tags are unclosed
134
+ while !tagstack.empty?
135
+ result << sprintf("[/%s]", String.new(tagstack.pop.split("=")[0]) )
136
+ end
137
+
138
+ return result
139
+ end
140
+
141
+ # Converts a BBCode string to one with ANSI sequences.
142
+ # Returns the string with all formatting instructions in BBCodes converted
143
+ # to ANSI code sequences / aligned with spaces to specified width.
144
+ def BBCode.bbcode_to_ansi(string, usecolors = true)
145
+ return "" if string.nil? || string.to_s.strip.empty?
146
+ result = ""
147
+
148
+ return BBCode.strip_bbcode(string) if !usecolors
149
+
150
+ ## Iterate over lines
151
+ string.split("\n").each do |line|
152
+
153
+ ## TODO: stacking? other styles!
154
+ ANSINAME2BBCODE.each do |key,val|
155
+ line.gsub!(/\[#{val}\]/, ANSINAME2CODE[key])
156
+ line.gsub!(/\[\/#{val}\]/, ANSINAME2CODE["reset"])
157
+ end
158
+
159
+ ## Fonttypes and sizes not available
160
+ line.gsub!(/\[SIZE=\d\]/, "")
161
+ line.gsub!(/\[\/SIZE\]/, "")
162
+ line.gsub!(/\[FONT=[^\]]*\]/, "")
163
+ line.gsub!(/\[\/FONT\]/, "")
164
+
165
+ ## Color-mapping
166
+ colors = line.scan(/\[COLOR=(.*?)\]/i)
167
+ colors = colors.collect{|s| s[0].to_s} if !colors.nil?
168
+ colors.each do |col|
169
+ name = BBCOLOR2ANSI[col.downcase]
170
+ name = BBCOLOR2ANSI["white"] if name.nil?
171
+ code = ANSINAME2CODE[name]
172
+
173
+ line.gsub!(/\[COLOR=#{col}\]/i, code)
174
+ end
175
+ line.gsub!(/\[\/COLOR\]/, ANSINAME2CODE["reset"])
176
+
177
+ ## TODO: Alignment
178
+ ## TODO: IMGs
179
+ ## TODO: EMAILs
180
+ ## TODO: URLs
181
+ ## TODO: QUOTEs
182
+ ## TODO: LISTs
183
+
184
+ result << sprintf("%s\n", line)
185
+ end
186
+
187
+ return result
188
+ end
189
+
190
+ # Converts a HTML string into one with BBCode markup (TODO)
191
+ # Returns the (X)HTML markup string as BBCode
192
+ def BBCode.html_to_bbcode(string)
193
+ return "" if string.nil? || string.to_s.strip.empty?
194
+ result = ""
195
+
196
+ ## Iterate over lines
197
+ string.split(/<br *\/?>/i).each do |line|
198
+ styles = { "strong" => "b", "b" => "b",
199
+ "em" => "i", "i" => "i",
200
+ "u" => "u" }
201
+
202
+ ## preserve B, I, U
203
+ styles.each do |html,code|
204
+ line.gsub!(/<#{html}>/i, "[#{code.upcase}]")
205
+ line.gsub!(/<\/#{html}>/i, "[/#{code.upcase}]")
206
+ end
207
+
208
+ ## TODO: COLORs
209
+ ## TODO: SIZEs
210
+ ## TODO: FONTs
211
+
212
+ ## EMAIL
213
+ line.gsub!(/<a +href *= *\"mailto:(.*?)\".*?>.*?<\/a>/i, "[EMAIL]\\1[/EMAIL]")
214
+
215
+ ## URL
216
+ line.gsub!(/<a +href *= *\"((?:https?|ftp):\/\/.*?)\".*?>(.*?)<\/a>/i, "[URL=\\1]\\2[/URL]")
217
+
218
+ ## Other refs + closing tags => throw away
219
+ line.gsub!(/<a +href *= *\".*?\".*?>/i, "")
220
+ line.gsub!(/<\/a>/i, "")
221
+
222
+ ## IMG
223
+ #line.gsub!(/<img +src *= *\"(.*?)\".*?\/?>/i, "[IMG=\\1]")
224
+ line.gsub!(/<img +src *= *\"(.*?)\".*?\/?>/i, "[IMG]\\1[/IMG]")
225
+
226
+ ## CENTER (right/left??)
227
+ line.gsub!(/<center>/i, "[ALIGN=center]")
228
+ line.gsub!(/<\/center>/i, "[/ALIGN]")
229
+
230
+ ## QUOTE
231
+ line.gsub!(/<(?:xmp|pre)>/i, "[QUOTE]")
232
+ line.gsub!(/<\/(?:xmp|pre)>/i, "[/QUOTE]")
233
+
234
+ ## LIST
235
+ line.gsub!(/<ul>/i, "\n[LIST]\n")
236
+ line.gsub!(/<\/ul>/i, "\n[/LIST]\n")
237
+ line.gsub!(/<li *\/?> */i, "\n[*] ")
238
+
239
+ ## Unkown tags => throw away
240
+ line.gsub!(/<.*? *\/?>/, "")
241
+
242
+ result << sprintf("%s<br />\n", line)
243
+ end
244
+
245
+ return result.gsub!(/<br *\/?>/i, "\n")
246
+ end
247
+
248
+ # Converts a BBCode string to one with HTML markup.
249
+ # Returns the string with all formatting instructions in
250
+ # BBCodes converted to XHTML markups.
251
+ def BBCode.bbcode_to_html(string)
252
+ return "" if string.nil? || string.to_s.strip.empty?
253
+ result = ""
254
+ quote = 0
255
+
256
+ ## Iterate over lines
257
+ string.split("\n").each do |line|
258
+ styles = { "b" => "strong", "i" => "em", "u" => "u" }
259
+
260
+ ## preserve B, I, U
261
+ styles.each do |code,html|
262
+ line.gsub!(/\[#{code}\]/i, "<#{html}>")
263
+ line.gsub!(/\[\/#{code}\]/i, "</#{html}>")
264
+ end
265
+
266
+ ## COLOR => font color=... (TODO: should be numeric!)
267
+ line.gsub!(/\[COLOR=(.*?)\]/i, "<font color=\"\\1\">")
268
+ line.gsub!(/\[\/COLOR\]/i, "</font>")
269
+
270
+ ## SIZE => font size=...
271
+ line.gsub!(/\[SIZE=(.*?)\]/i, "<font size=\"\\1\">")
272
+ line.gsub!(/\[\/SIZE\]/i, "</font>")
273
+
274
+ ## URL
275
+ line.gsub!(/\[URL\]([^\[]+?)\[\/URL\]/i, "<a href=\"\\1\">\\1</a>")
276
+ line.gsub!(/\[URL=(.*?)\](.+?)\[\/URL\]/i, "<a href=\"\\1\">\\2</a>")
277
+
278
+ ## IMG
279
+ line.gsub!(/\[IMG=(.*?)\]/i, "<img src=\"\\1\" />")
280
+
281
+ ## ALIGN=center (TODO: right, left)
282
+ line.gsub!(/\[ALIGN=center\]/i, "<center>")
283
+ line.gsub!(/\[ALIGN=right\]/i, "<center>")
284
+ line.gsub!(/\[ALIGN=left\]/i, "<center>")
285
+ line.gsub!(/\[\/ALIGN\]/i, "</center>")
286
+
287
+ ## QUOTE
288
+ quote+=1 if line =~ /\[QUOTE\]/i
289
+ quote-=1 if (line =~ /\[\/QUOTE\]/i) && (quote > -1)
290
+ line.gsub!(/\[QUOTE\]/i, "<pre>\n")
291
+ line.gsub!(/\[\/QUOTE\]/i, "</pre>\n")
292
+ line.gsub!(/^/, "&#62;"*quote) if quote > 0
293
+
294
+ ## EMAIL
295
+ line.gsub!(/\[EMAIL\](.*?)\[\/EMAIL\]/i, "<a href=\"mailto:\\1\">\\1</a>")
296
+
297
+ ## LIST (TODO: LIST=1, LIST=A)
298
+ line.gsub!(/\[LIST(?:=(.*?))?\]/i, "\n<ul>\n")
299
+ line.gsub!(/\[\/LIST\]/i, "\n</ul>\n")
300
+ line.gsub!(/\[\*\]/i, "\n<li />")
301
+
302
+ ## FONT => font ??????
303
+ ## ?BLUR?, FADE?
304
+
305
+ result << sprintf("%s<br />\n", line)
306
+ end
307
+
308
+ return result
309
+ end
310
+
311
+
312
+ # -- Transitive methods ---------------
313
+
314
+ # Converts an ANSI string to one with HTML markup.
315
+ # Returns the string with ANSI code sequences converted to XHTML markup.
316
+ def BBCode.ansi_to_html(string)
317
+ bbcoded = BBCode.ansi_to_bbcode(string )
318
+ htmled = BBCode.bbcode_to_html(bbcoded)
319
+
320
+ return htmled
321
+ end
322
+
323
+ # Returns the (X)HTML markup code as ANSI sequences
324
+ def BBCode.html_to_ansi(string)
325
+ bbcoded = BBCode.html_to_bbcode(string )
326
+ ansied = BBCode.bbcode_to_ansi(bbcoded)
327
+
328
+ return ansied
329
+ end
330
+
331
+ end #module BBCode
332
+
333
+ end
334
+