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,21 @@
1
+ # frozen_string_literal: true
2
+ # Optional publish task for Rake
3
+
4
+ begin
5
+ require 'rake/contrib/sshpublisher'
6
+ require 'rake/contrib/rubyforgepublisher'
7
+
8
+ publisher = Rake::CompositePublisher.new
9
+ publisher.add Rake::RubyForgePublisher.new('builder', 'jimweirich')
10
+ publisher.add Rake::SshFilePublisher.new(
11
+ 'linode',
12
+ 'htdocs/software/builder',
13
+ '.',
14
+ 'builder.blurb')
15
+
16
+ desc "Publish the Documentation to RubyForge."
17
+ task :publish => [:rdoc] do
18
+ publisher.upload
19
+ end
20
+ rescue LoadError
21
+ end
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ module Tags
5
+ extend Rake::DSL if defined?(Rake::DSL)
6
+
7
+ PROG = ENV['TAGS'] || 'ctags'
8
+
9
+ RAKEFILES = FileList['Rakefile', '**/*.rake']
10
+
11
+ FILES = FileList['**/*.rb', '**/*.js'] + RAKEFILES
12
+ FILES.exclude('pkg', 'dist')
13
+
14
+ PROJECT_DIR = ['.']
15
+
16
+ RVM_GEMDIR = File.join(`rvm gemdir`.strip, "gems") rescue nil
17
+ SYSTEM_DIRS = RVM_GEMDIR && File.exists?(RVM_GEMDIR) ? RVM_GEMDIR : []
18
+
19
+ module_function
20
+
21
+ # Convert key_word to --key-word.
22
+ def keyword(key)
23
+ k = key.to_s.gsub(/_/, '-')
24
+ (k.length == 1) ? "-#{k}" : "--#{k}"
25
+ end
26
+
27
+ # Run ctags command
28
+ def run(*args)
29
+ opts = {
30
+ :e => true,
31
+ :totals => true,
32
+ :recurse => true,
33
+ }
34
+ opts = opts.merge(args.pop) if args.last.is_a?(Hash)
35
+ command_args = opts.map { |k, v|
36
+ (v == true) ? keyword(k) : "#{keyword(k)}=#{v}"
37
+ }.join(" ")
38
+ sh %{#{Tags::PROG} #{command_args} #{args.join(' ')}}
39
+ end
40
+ end
41
+
42
+ namespace "tags" do
43
+ desc "Generate an Emacs TAGS file"
44
+ task :emacs, [:all] => Tags::FILES do |t, args|
45
+ puts "Making Emacs TAGS file"
46
+ verbose(true) do
47
+ Tags.run(Tags::PROJECT_DIR)
48
+ Tags.run(Tags::RAKEFILES,
49
+ :language_force => "ruby",
50
+ :append => true)
51
+ if args.all
52
+ Tags::SYSTEM_DIRS.each do |dir|
53
+ Tags.run(dir,
54
+ :language_force => "ruby",
55
+ :append => true)
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+
62
+ desc "Generate the TAGS file"
63
+ task :tags, [:all] => ["tags:emacs"]
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << "test"
6
+ t.test_files = FileList['test/test*.rb']
7
+ t.verbose = true
8
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ require 'minitest/autorun'
3
+
4
+ module Builder
5
+ class Test < Minitest::Test
6
+ alias :assert_raise :assert_raises
7
+ alias :assert_not_nil :refute_nil
8
+
9
+ def assert_nothing_raised
10
+ yield
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+ # encoding: iso-8859-1
4
+
5
+ #--
6
+ # Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org).
7
+ # Portions copyright 2005 by Sam Ruby (rubys@intertwingly.net).
8
+ # All rights reserved.
9
+
10
+ # Permission is granted for use, copying, modification, distribution,
11
+ # and distribution of modified versions of this work as long as the
12
+ # above copyright notice is included.
13
+ #++
14
+
15
+ require 'builder/xmlmarkup'
16
+ require 'benchmark'
17
+
18
+ text = "This is a test of the new xml markup. I�t�rn�ti�n�liz�ti�n\n" * 10000
19
+
20
+ include Benchmark # we need the CAPTION and FMTSTR constants
21
+ include Builder
22
+ n = 50
23
+ Benchmark.benchmark do |bm|
24
+ tf = bm.report("base") {
25
+ n.times do
26
+ x = XmlMarkup.new
27
+ x.text(text)
28
+ x.target!
29
+ end
30
+ }
31
+ def XmlMarkup._escape(text)
32
+ text.to_xs
33
+ end
34
+ tf = bm.report("to_xs") {
35
+ n.times do
36
+ x = XmlMarkup.new
37
+ x.text(text)
38
+ x.target!
39
+ end
40
+ }
41
+ end
42
+
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #--
5
+ # Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org).
6
+ # Portions copyright 2005 by Sam Ruby (rubys@intertwingly.net).
7
+ # All rights reserved.
8
+
9
+ # Permission is granted for use, copying, modification, distribution,
10
+ # and distribution of modified versions of this work as long as the
11
+ # above copyright notice is included.
12
+ #++
13
+
14
+ # We are defining method_added in Kernel and Object so that when
15
+ # BlankSlate overrides them later, we can verify that it correctly
16
+ # calls the older hooks.
17
+
18
+ module Kernel
19
+ class << self
20
+ attr_reader :k_added_names
21
+ alias_method :preload_method_added, :method_added
22
+ def method_added(name)
23
+ preload_method_added(name)
24
+ @k_added_names ||= []
25
+ @k_added_names << name
26
+ end
27
+ end
28
+ end
29
+
30
+ class Object
31
+ class << self
32
+ attr_reader :o_added_names
33
+ alias_method :preload_method_added, :method_added
34
+ def method_added(name)
35
+ preload_method_added(name)
36
+ @o_added_names ||= []
37
+ @o_added_names << name
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,208 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #--
5
+ # Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org).
6
+ # Portions copyright 2005 by Sam Ruby (rubys@intertwingly.net).
7
+ # All rights reserved.
8
+
9
+ # Permission is granted for use, copying, modification, distribution,
10
+ # and distribution of modified versions of this work as long as the
11
+ # above copyright notice is included.
12
+ #++
13
+
14
+ require 'helper'
15
+ require 'preload'
16
+ require 'blankslate'
17
+ require 'stringio'
18
+
19
+ # Methods to be introduced into the Object class late.
20
+ module LateObject
21
+ def late_object
22
+ 33
23
+ end
24
+ def LateObject.included(mod)
25
+ # Modules defining an included method should not prevent blank
26
+ # slate erasure!
27
+ end
28
+ end
29
+
30
+ # Methods to be introduced into the Kernel module late.
31
+ module LateKernel
32
+ def late_kernel
33
+ 44
34
+ end
35
+ def LateKernel.included(mod)
36
+ # Modules defining an included method should not prevent blank
37
+ # slate erasure!
38
+ end
39
+ end
40
+
41
+ # Introduce some late methods (both module and direct) into the Kernel
42
+ # module.
43
+ module Kernel
44
+ include LateKernel
45
+
46
+ def late_addition
47
+ 1234
48
+ end
49
+
50
+ def double_late_addition
51
+ 22
52
+ end
53
+ end
54
+
55
+
56
+ # Introduce some late methods (both module and direct) into the Object
57
+ # class.
58
+ class Object
59
+ include LateObject
60
+ def another_late_addition
61
+ 4321
62
+ end
63
+ end
64
+
65
+ # Introduce some late methods by inclusion.
66
+ module GlobalModule
67
+ def global_inclusion
68
+ 42
69
+ end
70
+ end
71
+ include GlobalModule
72
+
73
+ def direct_global
74
+ 43
75
+ end
76
+
77
+ ######################################################################
78
+ # Test case for blank slate.
79
+ #
80
+ class TestBlankSlate < Builder::Test
81
+ def setup
82
+ @bs = BlankSlate.new
83
+ end
84
+
85
+ def test_undefined_methods_remain_undefined
86
+ assert_raise(NoMethodError) { @bs.no_such_method }
87
+ assert_raise(NoMethodError) { @bs.nil? }
88
+ end
89
+
90
+
91
+ # NOTE: NameError is acceptable because the lack of a '.' means that
92
+ # Ruby can't tell if it is a method or a local variable.
93
+ def test_undefined_methods_remain_undefined_during_instance_eval
94
+ assert_raise(NoMethodError, NameError) do
95
+ @bs.instance_eval do nil? end
96
+ end
97
+ assert_raise(NoMethodError, NameError) do
98
+ @bs.instance_eval do no_such_method end
99
+ end
100
+ end
101
+
102
+ def test_private_methods_are_undefined
103
+ assert_raise(NoMethodError) do
104
+ @bs.puts "HI"
105
+ end
106
+ end
107
+
108
+ def test_untargetted_private_methods_are_defined_during_instance_eval
109
+ oldstdout = $stdout
110
+ $stdout = StringIO.new
111
+ @bs.instance_eval do
112
+ puts "HI"
113
+ end
114
+ ensure
115
+ $stdout = oldstdout
116
+ end
117
+
118
+ def test_methods_added_late_to_kernel_remain_undefined
119
+ assert_equal 1234, nil.late_addition
120
+ assert_raise(NoMethodError) { @bs.late_addition }
121
+ end
122
+
123
+ def test_methods_added_late_to_object_remain_undefined
124
+ assert_equal 4321, nil.another_late_addition
125
+ assert_raise(NoMethodError) { @bs.another_late_addition }
126
+ end
127
+
128
+ def test_methods_added_late_to_global_remain_undefined
129
+ assert_equal 42, global_inclusion
130
+ assert_raise(NoMethodError) { @bs.global_inclusion }
131
+ end
132
+
133
+ def test_preload_method_added
134
+ assert Kernel.k_added_names.include?(:late_addition)
135
+ assert Object.o_added_names.include?(:another_late_addition)
136
+ end
137
+
138
+ def test_method_defined_late_multiple_times_remain_undefined
139
+ assert_equal 22, nil.double_late_addition
140
+ assert_raise(NoMethodError) { @bs.double_late_addition }
141
+ end
142
+
143
+ def test_late_included_module_in_object_is_ok
144
+ assert_equal 33, 1.late_object
145
+ assert_raise(NoMethodError) { @bs.late_object }
146
+ end
147
+
148
+ def test_late_included_module_in_kernel_is_ok
149
+ assert_raise(NoMethodError) { @bs.late_kernel }
150
+ end
151
+
152
+ def test_revealing_previously_hidden_methods_are_callable
153
+ with_to_s = Class.new(BlankSlate) do
154
+ reveal :to_s
155
+ end
156
+ assert_match(/^#<.*>$/, with_to_s.new.to_s)
157
+ end
158
+
159
+ def test_revealing_previously_hidden_methods_are_callable_with_block
160
+ Object.class_eval <<-EOS
161
+ def given_block(&block)
162
+ block
163
+ end
164
+ EOS
165
+
166
+ with_given_block = Class.new(BlankSlate) do
167
+ reveal :given_block
168
+ end
169
+ assert_not_nil with_given_block.new.given_block {}
170
+ end
171
+
172
+ def test_revealing_a_hidden_method_twice_is_ok
173
+ with_to_s = Class.new(BlankSlate) do
174
+ reveal :to_s
175
+ reveal :to_s
176
+ end
177
+ assert_match(/^#<.*>$/, with_to_s.new.to_s)
178
+ end
179
+
180
+ def test_revealing_unknown_hidden_method_is_an_error
181
+ assert_raises(RuntimeError) do
182
+ Class.new(BlankSlate) do
183
+ reveal :xyz
184
+ end
185
+ end
186
+ end
187
+
188
+ def test_global_includes_still_work
189
+ assert_nothing_raised do
190
+ assert_equal 42, global_inclusion
191
+ assert_equal 42, Object.new.global_inclusion
192
+ assert_equal 42, "magic number".global_inclusion
193
+ assert_equal 43, direct_global
194
+ end
195
+ end
196
+
197
+ def test_reveal_should_not_bind_to_an_instance
198
+ with_object_id = Class.new(BlankSlate) do
199
+ reveal(:object_id)
200
+ end
201
+
202
+ obj1 = with_object_id.new
203
+ obj2 = with_object_id.new
204
+
205
+ assert obj1.object_id != obj2.object_id,
206
+ "Revealed methods should not be bound to a particular instance"
207
+ end
208
+ end
@@ -0,0 +1,151 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #--
5
+ # Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org).
6
+ # Portions copyright 2005 by Sam Ruby (rubys@intertwingly.net).
7
+ # All rights reserved.
8
+
9
+ # Permission is granted for use, copying, modification, distribution,
10
+ # and distribution of modified versions of this work as long as the
11
+ # above copyright notice is included.
12
+ #++
13
+
14
+ require 'helper'
15
+ require 'preload'
16
+ require 'builder'
17
+ require 'builder/xmlevents'
18
+
19
+ class TestEvents < Builder::Test
20
+
21
+ class Target
22
+ attr_reader :events
23
+
24
+ def initialize
25
+ @events = []
26
+ end
27
+
28
+ def start_tag(tag, attrs)
29
+ @events << [:start_tag, tag, attrs]
30
+ end
31
+
32
+ def end_tag(tag)
33
+ @events << [:end_tag, tag]
34
+ end
35
+
36
+ def text(string)
37
+ @events << [:text, string]
38
+ end
39
+
40
+ end
41
+
42
+
43
+ def setup
44
+ @target = Target.new
45
+ @xml = Builder::XmlEvents.new(:target=>@target)
46
+ end
47
+
48
+ def test_simple
49
+ @xml.one
50
+ expect [:start_tag, :one, nil]
51
+ expect [:end_tag, :one]
52
+ expect_done
53
+ end
54
+
55
+ def test_nested
56
+ @xml.one { @xml.two }
57
+ expect [:start_tag, :one, nil]
58
+ expect [:start_tag, :two, nil]
59
+ expect [:end_tag, :two]
60
+ expect [:end_tag, :one]
61
+ expect_done
62
+ end
63
+
64
+ def test_text
65
+ @xml.one("a")
66
+ expect [:start_tag, :one, nil]
67
+ expect [:text, "a"]
68
+ expect [:end_tag, :one]
69
+ expect_done
70
+ end
71
+
72
+ def test_special_text
73
+ @xml.one("H&R")
74
+ expect [:start_tag, :one, nil]
75
+ expect [:text, "H&R"]
76
+ expect [:end_tag, :one]
77
+ expect_done
78
+ end
79
+
80
+ def test_text_with_entity
81
+ @xml.one("H&amp;R")
82
+ expect [:start_tag, :one, nil]
83
+ expect [:text, "H&amp;R"]
84
+ expect [:end_tag, :one]
85
+ expect_done
86
+ end
87
+
88
+ def test_attributes
89
+ @xml.a(:b=>"c", :x=>"y")
90
+ expect [:start_tag, :a, {:x => "y", :b => "c"}]
91
+ expect [:end_tag, :a]
92
+ expect_done
93
+ end
94
+
95
+ def test_moderately_complex
96
+ @xml.tag! "address-book" do |x|
97
+ x.entry :id=>"1" do
98
+ x.name {
99
+ x.first "Bill"
100
+ x.last "Smith"
101
+ }
102
+ x.address "Cincinnati"
103
+ end
104
+ x.entry :id=>"2" do
105
+ x.name {
106
+ x.first "John"
107
+ x.last "Doe"
108
+ }
109
+ x.address "Columbus"
110
+ end
111
+ end
112
+ expect [:start_tag, "address-book".intern, nil]
113
+ expect [:start_tag, :entry, {:id => "1"}]
114
+ expect [:start_tag, :name, nil]
115
+ expect [:start_tag, :first, nil]
116
+ expect [:text, "Bill"]
117
+ expect [:end_tag, :first]
118
+ expect [:start_tag, :last, nil]
119
+ expect [:text, "Smith"]
120
+ expect [:end_tag, :last]
121
+ expect [:end_tag, :name]
122
+ expect [:start_tag, :address, nil]
123
+ expect [:text, "Cincinnati"]
124
+ expect [:end_tag, :address]
125
+ expect [:end_tag, :entry]
126
+ expect [:start_tag, :entry, {:id => "2"}]
127
+ expect [:start_tag, :name, nil]
128
+ expect [:start_tag, :first, nil]
129
+ expect [:text, "John"]
130
+ expect [:end_tag, :first]
131
+ expect [:start_tag, :last, nil]
132
+ expect [:text, "Doe"]
133
+ expect [:end_tag, :last]
134
+ expect [:end_tag, :name]
135
+ expect [:start_tag, :address, nil]
136
+ expect [:text, "Columbus"]
137
+ expect [:end_tag, :address]
138
+ expect [:end_tag, :entry]
139
+ expect [:end_tag, "address-book".intern]
140
+ expect_done
141
+ end
142
+
143
+ def expect(value)
144
+ assert_equal value, @target.events.shift
145
+ end
146
+
147
+ def expect_done
148
+ assert_nil @target.events.shift
149
+ end
150
+
151
+ end