hirohig_palindrome 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 (283) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.gitignore +8 -0
  4. data/.travis.yml +6 -0
  5. data/Gemfile +8 -0
  6. data/Gemfile.lock +30 -0
  7. data/README.md +36 -0
  8. data/Rakefile +10 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/hirohig_palindrome.gemspec +33 -0
  12. data/lib/hirohig_palindrome/version.rb +3 -0
  13. data/lib/hirohig_palindrome.rb +17 -0
  14. data/vendor/.DS_Store +0 -0
  15. data/vendor/bundle/.DS_Store +0 -0
  16. data/vendor/bundle/ruby/.DS_Store +0 -0
  17. data/vendor/bundle/ruby/2.6.0/.DS_Store +0 -0
  18. data/vendor/bundle/ruby/2.6.0/bin/rake +27 -0
  19. data/vendor/bundle/ruby/2.6.0/cache/ansi-1.5.0.gem +0 -0
  20. data/vendor/bundle/ruby/2.6.0/cache/builder-3.2.4.gem +0 -0
  21. data/vendor/bundle/ruby/2.6.0/cache/minitest-5.14.0.gem +0 -0
  22. data/vendor/bundle/ruby/2.6.0/cache/minitest-reporters-1.2.0.gem +0 -0
  23. data/vendor/bundle/ruby/2.6.0/cache/rake-12.3.3.gem +0 -0
  24. data/vendor/bundle/ruby/2.6.0/cache/ruby-progressbar-1.10.1.gem +0 -0
  25. data/vendor/bundle/ruby/2.6.0/gems/.DS_Store +0 -0
  26. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/.index +77 -0
  27. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/.yardopts +8 -0
  28. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/DEMO.md +451 -0
  29. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/HISTORY.md +217 -0
  30. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/LICENSE.txt +23 -0
  31. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/NOTICE.md +170 -0
  32. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/README.md +91 -0
  33. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/01_ansicode.md +65 -0
  34. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/02_core.md +11 -0
  35. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/03_logger.md +30 -0
  36. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/04_progressbar.md +62 -0
  37. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/05_mixin.md +37 -0
  38. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/06_string.md +56 -0
  39. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/07_columns.md +89 -0
  40. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/08_table.md +28 -0
  41. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/09_diff.md +47 -0
  42. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/10_bbcode.md +24 -0
  43. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/11_terminal.md +8 -0
  44. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/applique/ae.rb +1 -0
  45. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/applique/output.rb +5 -0
  46. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/bbcode.rb +334 -0
  47. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/chain.rb +50 -0
  48. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/chart.rb +100 -0
  49. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/code.rb +349 -0
  50. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/columns.rb +197 -0
  51. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/constants.rb +25 -0
  52. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/core.rb +30 -0
  53. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/diff.rb +215 -0
  54. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/hexdump.rb +122 -0
  55. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/logger.rb +211 -0
  56. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/mixin.rb +121 -0
  57. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/progressbar.rb +292 -0
  58. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/string.rb +254 -0
  59. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/table.rb +179 -0
  60. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal/curses.rb +26 -0
  61. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal/stty.rb +62 -0
  62. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal/termios.rb +68 -0
  63. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal/win32.rb +107 -0
  64. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal.rb +44 -0
  65. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/version.rb +15 -0
  66. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi.rb +22 -0
  67. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi.yml +77 -0
  68. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/case_ansicode.rb +43 -0
  69. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/case_bbcode.rb +35 -0
  70. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/case_mixin.rb +35 -0
  71. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/case_progressbar.rb +21 -0
  72. data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/test_helper.rb +3 -0
  73. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/CHANGES +119 -0
  74. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/MIT-LICENSE +20 -0
  75. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/README.md +258 -0
  76. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/Rakefile +194 -0
  77. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/builder.blurb +27 -0
  78. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/builder.gemspec +45 -0
  79. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/doc/jamis.rb +592 -0
  80. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/doc/releases/builder-1.2.4.rdoc +31 -0
  81. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/doc/releases/builder-2.0.0.rdoc +46 -0
  82. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/doc/releases/builder-2.1.1.rdoc +58 -0
  83. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/blankslate.rb +138 -0
  84. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/blankslate.rb +24 -0
  85. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/version.rb +9 -0
  86. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/xchar.rb +198 -0
  87. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/xmlbase.rb +200 -0
  88. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/xmlevents.rb +64 -0
  89. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/xmlmarkup.rb +345 -0
  90. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder.rb +14 -0
  91. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/rakelib/publish.rake +21 -0
  92. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/rakelib/tags.rake +63 -0
  93. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/rakelib/testing.rake +8 -0
  94. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/helper.rb +13 -0
  95. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/performance.rb +42 -0
  96. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/preload.rb +40 -0
  97. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_blankslate.rb +208 -0
  98. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_eventbuilder.rb +151 -0
  99. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_markupbuilder.rb +617 -0
  100. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_method_caching.rb +63 -0
  101. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_namecollision.rb +40 -0
  102. data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_xchar.rb +85 -0
  103. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/.autotest +34 -0
  104. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/History.rdoc +1380 -0
  105. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/Manifest.txt +27 -0
  106. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/README.rdoc +764 -0
  107. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/Rakefile +72 -0
  108. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/design_rationale.rb +52 -0
  109. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/hoe/minitest.rb +32 -0
  110. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/assertions.rb +807 -0
  111. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/autorun.rb +13 -0
  112. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/benchmark.rb +455 -0
  113. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/expectations.rb +303 -0
  114. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/hell.rb +11 -0
  115. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/mock.rb +240 -0
  116. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/parallel.rb +70 -0
  117. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/pride.rb +4 -0
  118. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/pride_plugin.rb +142 -0
  119. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/spec.rb +342 -0
  120. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/test.rb +220 -0
  121. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/unit.rb +45 -0
  122. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest.rb +1053 -0
  123. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/metametameta.rb +117 -0
  124. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_assertions.rb +1567 -0
  125. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_benchmark.rb +137 -0
  126. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_mock.rb +872 -0
  127. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_reporter.rb +299 -0
  128. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_spec.rb +1041 -0
  129. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_test.rb +1080 -0
  130. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/.gitignore +27 -0
  131. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/.ruby-gemset +1 -0
  132. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/.travis.yml +10 -0
  133. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/.yardopts +6 -0
  134. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/CHANGELOG.md +40 -0
  135. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/Gemfile +2 -0
  136. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/LICENSE +20 -0
  137. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/README.md +115 -0
  138. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/Rakefile +60 -0
  139. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/assets/default-reporter.png +0 -0
  140. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/assets/mean_time_reporter.png +0 -0
  141. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/assets/progress-reporter.png +0 -0
  142. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/assets/spec-reporter.png +0 -0
  143. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/extensible_backtrace_filter.rb +67 -0
  144. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/minitest_reporter_plugin.rb +75 -0
  145. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/old_activesupport_fix.rb +24 -0
  146. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/relative_position.rb +26 -0
  147. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/ansi.rb +31 -0
  148. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/base_reporter.rb +117 -0
  149. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/default_reporter.rb +228 -0
  150. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/html_reporter.rb +221 -0
  151. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/junit_reporter.rb +157 -0
  152. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/mean_time_reporter.rb +392 -0
  153. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/progress_reporter.rb +96 -0
  154. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/ruby_mate_reporter.rb +54 -0
  155. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/rubymine_reporter.rb +117 -0
  156. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/spec_reporter.rb +61 -0
  157. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/version.rb +5 -0
  158. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters.rb +89 -0
  159. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/templates/index.html.erb +83 -0
  160. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/minitest-reporters.gemspec +31 -0
  161. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/junit_filename_bug_example_test.rb +21 -0
  162. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/mean_time_test.rb +8 -0
  163. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/progress_detailed_skip_test.rb +8 -0
  164. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/progress_test.rb +8 -0
  165. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/sample_test.rb +15 -0
  166. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/spec_test.rb +13 -0
  167. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/gallery/bad_test.rb +25 -0
  168. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/gallery/good_test.rb +14 -0
  169. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/integration/reporters/junit_reporter_test.rb +12 -0
  170. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/integration/reporters/mean_time_reporter_test.rb +7 -0
  171. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/integration/reporters/progress_reporter_test.rb +34 -0
  172. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/test_helper.rb +22 -0
  173. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/extensible_backtrace_filter_test.rb +42 -0
  174. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/mean_time_reporter_unit_test.rb +152 -0
  175. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/minitest_reporter_plugin_test.rb +14 -0
  176. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/reporters_test.rb +52 -0
  177. data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/spec_reporter_test.rb +41 -0
  178. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/CONTRIBUTING.rdoc +43 -0
  179. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/Gemfile +3 -0
  180. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/History.rdoc +2344 -0
  181. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/MIT-LICENSE +21 -0
  182. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/README.rdoc +156 -0
  183. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/Rakefile +41 -0
  184. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/azure-pipelines.yml +11 -0
  185. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/bundle +105 -0
  186. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/console +7 -0
  187. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/rake +29 -0
  188. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/rdoc +29 -0
  189. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/rubocop +29 -0
  190. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/setup +6 -0
  191. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/command_line_usage.rdoc +158 -0
  192. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/Rakefile1 +38 -0
  193. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/Rakefile2 +35 -0
  194. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/a.c +6 -0
  195. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/b.c +6 -0
  196. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/main.c +11 -0
  197. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/glossary.rdoc +42 -0
  198. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/jamis.rb +592 -0
  199. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/proto_rake.rdoc +127 -0
  200. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/rake.1 +156 -0
  201. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/rakefile.rdoc +622 -0
  202. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/rational.rdoc +151 -0
  203. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/exe/rake +27 -0
  204. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/application.rb +824 -0
  205. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/backtrace.rb +24 -0
  206. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/clean.rb +78 -0
  207. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/cloneable.rb +17 -0
  208. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/cpu_counter.rb +107 -0
  209. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/default_loader.rb +15 -0
  210. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/dsl_definition.rb +195 -0
  211. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/early_time.rb +22 -0
  212. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/ext/core.rb +26 -0
  213. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/ext/string.rb +176 -0
  214. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_creation_task.rb +25 -0
  215. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_list.rb +435 -0
  216. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_task.rb +54 -0
  217. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_utils.rb +137 -0
  218. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_utils_ext.rb +145 -0
  219. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/invocation_chain.rb +57 -0
  220. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/invocation_exception_mixin.rb +17 -0
  221. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/late_time.rb +18 -0
  222. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/linked_list.rb +112 -0
  223. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/loaders/makefile.rb +54 -0
  224. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/multi_task.rb +14 -0
  225. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/name_space.rb +38 -0
  226. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/packagetask.rb +207 -0
  227. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/phony.rb +16 -0
  228. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/private_reader.rb +21 -0
  229. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/promise.rb +100 -0
  230. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/pseudo_status.rb +30 -0
  231. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/rake_module.rb +67 -0
  232. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb +27 -0
  233. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/rule_recursion_overflow_error.rb +20 -0
  234. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/scope.rb +43 -0
  235. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/task.rb +413 -0
  236. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/task_argument_error.rb +8 -0
  237. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/task_arguments.rb +109 -0
  238. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/task_manager.rb +324 -0
  239. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/tasklib.rb +12 -0
  240. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/testtask.rb +224 -0
  241. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/thread_history_display.rb +49 -0
  242. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/thread_pool.rb +163 -0
  243. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/trace_output.rb +23 -0
  244. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/version.rb +10 -0
  245. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/win32.rb +51 -0
  246. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake.rb +71 -0
  247. data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/rake.gemspec +42 -0
  248. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/LICENSE.txt +19 -0
  249. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/README.md +38 -0
  250. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/Rakefile +2 -0
  251. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/base.rb +183 -0
  252. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/calculators/length.rb +100 -0
  253. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/calculators/running_average.rb +9 -0
  254. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/bar.rb +102 -0
  255. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/percentage.rb +29 -0
  256. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/rate.rb +43 -0
  257. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/time.rb +107 -0
  258. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/title.rb +13 -0
  259. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components.rb +5 -0
  260. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  261. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/formatter.rb +27 -0
  262. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/molecule.rb +60 -0
  263. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/string.rb +36 -0
  264. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format.rb +3 -0
  265. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/output.rb +68 -0
  266. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  267. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/null.rb +33 -0
  268. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/tty.rb +32 -0
  269. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/progress.rb +118 -0
  270. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/refinements/enumerator.rb +23 -0
  271. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/refinements.rb +1 -0
  272. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/throttle.rb +25 -0
  273. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/time.rb +32 -0
  274. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/timer.rb +72 -0
  275. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/version.rb +3 -0
  276. data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar.rb +22 -0
  277. data/vendor/bundle/ruby/2.6.0/specifications/ansi-1.5.0.gemspec +49 -0
  278. data/vendor/bundle/ruby/2.6.0/specifications/builder-3.2.4.gemspec +23 -0
  279. data/vendor/bundle/ruby/2.6.0/specifications/minitest-5.14.0.gemspec +41 -0
  280. data/vendor/bundle/ruby/2.6.0/specifications/minitest-reporters-1.2.0.gemspec +48 -0
  281. data/vendor/bundle/ruby/2.6.0/specifications/rake-12.3.3.gemspec +49 -0
  282. data/vendor/bundle/ruby/2.6.0/specifications/ruby-progressbar-1.10.1.gemspec +46 -0
  283. metadata +326 -0
@@ -0,0 +1,451 @@
1
+ # ANSI::Code
2
+
3
+ Require the library.
4
+
5
+ require 'ansi/code'
6
+
7
+ ANSI::Code can be used as a functions module.
8
+
9
+ str = ANSI::Code.red + "Hello" + ANSI::Code.blue + "World"
10
+ str.assert == "\e[31mHello\e[34mWorld"
11
+
12
+ If a block is supplied to each method then yielded value will
13
+ be wrapped in the ANSI code and clear code.
14
+
15
+ str = ANSI::Code.red{ "Hello" } + ANSI::Code.blue{ "World" }
16
+ str.assert == "\e[31mHello\e[0m\e[34mWorld\e[0m"
17
+
18
+ More conveniently the ANSI::Code module extends ANSI itself.
19
+
20
+ str = ANSI.red + "Hello" + ANSI.blue + "World"
21
+ str.assert == "\e[31mHello\e[34mWorld"
22
+
23
+ str = ANSI.red{ "Hello" } + ANSI.blue{ "World" }
24
+ str.assert == "\e[31mHello\e[0m\e[34mWorld\e[0m"
25
+
26
+ In the appropriate context the ANSI::Code module can also be
27
+ included, making its methods directly accessible.
28
+
29
+ include ANSI::Code
30
+
31
+ str = red + "Hello" + blue + "World"
32
+ str.assert == "\e[31mHello\e[34mWorld"
33
+
34
+ str = red{ "Hello" } + blue{ "World" }
35
+ str.assert == "\e[31mHello\e[0m\e[34mWorld\e[0m"
36
+
37
+ Along with the single font colors, the library include background colors.
38
+
39
+ str = on_red + "Hello"
40
+ str.assert == "\e[41mHello"
41
+
42
+ As well as combined color methods.
43
+
44
+ str = white_on_red + "Hello"
45
+ str.assert == "\e[37m\e[41mHello"
46
+
47
+ The ANSI::Code module supports most standard ANSI codes, though
48
+ not all platforms support every code, so YMMV.
49
+
50
+
51
+ # String Extensions
52
+
53
+ In addition the library offers an extension to String class
54
+ called #ansi, which allows some of the ANSI::Code methods
55
+ to be called in a more object-oriented fashion.
56
+
57
+ require 'ansi/core'
58
+
59
+ str = "Hello".ansi(:red) + "World".ansi(:blue)
60
+ str.assert == "\e[31mHello\e[0m\e[34mWorld\e[0m"
61
+
62
+
63
+ # ANSI::Logger
64
+
65
+ Require the ANSI::Logger library.
66
+
67
+ require 'ansi/logger'
68
+
69
+ Create a new ANSI::Logger
70
+
71
+ log = ANSI::Logger.new(STDOUT)
72
+
73
+ Info logging appears normal.
74
+
75
+ log.info{"Info logs are green.\n"}
76
+
77
+ Warn logging appears yellow.
78
+
79
+ log.warn{"Warn logs are yellow.\n"}
80
+
81
+ Debug logging appears cyan.
82
+
83
+ log.debug{"Debug logs are cyan.\n"}
84
+
85
+ Error logging appears red.
86
+
87
+ log.error{"Error logs are red.\n"}
88
+
89
+ Fatal logging appears bright red.
90
+
91
+ log.fatal{"Fatal logs are bold red!\n"}
92
+
93
+
94
+ # ANSI::Progressbar
95
+
96
+ Pretty progress bars are easy to construct.
97
+
98
+ require 'ansi/progressbar'
99
+
100
+ pbar = ANSI::Progressbar.new("Test Bar", 100)
101
+
102
+ Running the bar simply requires calling the #inc method during
103
+ a loop and calling #finish when done.
104
+
105
+ 100.times do |i|
106
+ sleep 0.01
107
+ pbar.inc
108
+ end
109
+ pbar.finish
110
+
111
+ We will use this same rountine in all the examples below, so lets
112
+ make a quick macro for it. Notice we have to use #reset first
113
+ before reusing the same progress bar.
114
+
115
+ def run(pbar)
116
+ pbar.reset
117
+ 100.times do |i|
118
+ sleep 0.01
119
+ pbar.inc
120
+ end
121
+ pbar.finish
122
+ puts
123
+ end
124
+
125
+ The progress bar can be stylized in almost any way.
126
+ The #format setter provides control over the parts
127
+ that appear on the line. For example, by default the
128
+ format is:
129
+
130
+ pbar.format("%-14s %3d%% %s %s", :title, :percentage, :bar, :stat)
131
+
132
+ So lets vary it up to demonstrate the case.
133
+
134
+ pbar.format("%-14s %3d%% %s %s", :title, :percentage, :stat, :bar)
135
+ run(pbar)
136
+
137
+ The progress bar has an extra build in format intended for use with
138
+ file downloads called #transer_mode.
139
+
140
+ pbar.transfer_mode
141
+ run(pbar)
142
+
143
+ Calling this methods is the same as calling:
144
+
145
+ pbar.format("%-14s %3d%% %s %s",:title, :percentage, :bar, :stat_for_file_transfer)
146
+ run(pbar)
147
+
148
+ The #style setter allows each part of the line be modified with ANSI codes. And the
149
+ #bar_mark writer can be used to change the character used to make the bar.
150
+
151
+ pbar.standard_mode
152
+ pbar.style(:title => [:red], :bar=>[:blue])
153
+ pbar.bar_mark = "="
154
+ run(pbar)
155
+
156
+
157
+ # ANSI::Mixin
158
+
159
+ The ANSI::Mixin module is design for including into
160
+ String-like classes. It will support any class that defines
161
+ a #to_s method.
162
+
163
+ require 'ansi/mixin'
164
+
165
+ In this demonstration we will simply include it in the
166
+ core String class.
167
+
168
+ class ::String
169
+ include ANSI::Mixin
170
+ end
171
+
172
+ Now all strings will have access to ANSI's style and color
173
+ codes via simple method calls.
174
+
175
+ "roses".red.assert == "\e[31mroses\e[0m"
176
+
177
+ "violets".blue.assert == "\e[34mviolets\e[0m"
178
+
179
+ "sugar".italic.assert == "\e[3msugar\e[0m"
180
+
181
+ The method can be combined, of course.
182
+
183
+ "you".italic.bold.assert == "\e[1m\e[3myou\e[0m\e[0m"
184
+
185
+ The mixin also supports background methods.
186
+
187
+ "envy".on_green.assert == "\e[42menvy\e[0m"
188
+
189
+ And it also supports the combined foreground-on-background
190
+ methods.
191
+
192
+ "b&w".white_on_black.assert == "\e[37m\e[40mb&w\e[0m"
193
+
194
+
195
+ # ANSI::String
196
+
197
+ The ANSI::String class is a very sophisticated implementation
198
+ of Ruby's standard String class, but one that can handle
199
+ ANSI codes seamlessly.
200
+
201
+ require 'ansi/string'
202
+
203
+ flower1 = ANSI::String.new("Roses")
204
+ flower2 = ANSI::String.new("Violets")
205
+
206
+ Like any other string.
207
+
208
+ flower1.to_s.assert == "Roses"
209
+ flower2.to_s.assert == "Violets"
210
+
211
+ Bet now we can add color.
212
+
213
+ flower1.red!
214
+ flower2.blue!
215
+
216
+ flower1.to_s.assert == "\e[31mRoses\e[0m"
217
+ flower2.to_s.assert == "\e[34mViolets\e[0m"
218
+
219
+ Despite that the string representation now contains ANSI codes,
220
+ we can still manipulate the string in much the same way that
221
+ we manipulate an ordinary string.
222
+
223
+ flower1.size.assert == 5
224
+ flower2.size.assert == 7
225
+
226
+ Like ordinary strings we can concatenate the two strings
227
+
228
+ flowers = flower1 + ' ' + flower2
229
+ flowers.to_s.assert == "\e[31mRoses\e[0m \e[34mViolets\e[0m"
230
+
231
+ flowers.size.assert == 13
232
+
233
+ Standard case conversion such as #upcase and #downcase work.
234
+
235
+ flower1.upcase.to_s.assert == "\e[31mROSES\e[0m"
236
+ flower1.downcase.to_s.assert == "\e[31mroses\e[0m"
237
+
238
+ Some of the most difficult methods to re-implement were the
239
+ substitution methods such as #sub and #gsub. They are still
240
+ somewhat more limited than the original string methods, but
241
+ their primary functionality should work.
242
+
243
+ flower1.gsub('s', 'z').to_s.assert == "\e[31mRozez\e[0m"
244
+
245
+ There are still a number of methods that need implementation.
246
+ ANSI::String is currently a very partial implementation. But
247
+ as you can see from the methods it does currently support,
248
+ is it already useful.
249
+
250
+
251
+ # ANSI::Columns
252
+
253
+ The +Columns+ class makes it easy to create nice looking text columns,
254
+ sorted from top to bottom, right to left (as opposed to the other way
255
+ around).
256
+
257
+ require 'ansi/columns'
258
+
259
+ list = %w{a b c d e f g h i j k l}
260
+
261
+ columns = ANSI::Columns.new(list)
262
+
263
+ columns.to_s(4)
264
+
265
+ The output will be:
266
+
267
+ a d g j
268
+ b e h k
269
+ c f i l
270
+
271
+ Besides an array of elements, Columns.new can take a string in which
272
+ the elements are divided by newlines characters. The default column
273
+ size can also be given to the initializer.
274
+
275
+ list = "a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk\nl"
276
+
277
+ columns = ANSI::Columns.new(list, :columns=>6)
278
+
279
+ columns.to_s
280
+
281
+ The output will be:
282
+
283
+ a c e g i k
284
+ b d f h j l
285
+
286
+ If the column count is +nil+, then the number of columns will be calculated
287
+ as a best fit for the current terminal window.
288
+
289
+ ## Padding
290
+
291
+ Columns can adjust the padding between cells.
292
+
293
+ list = %w{a b c d e f g h i j k l}
294
+
295
+ columns = ANSI::Columns.new(list, :padding=>2)
296
+
297
+ columns.to_s(4)
298
+
299
+ The output will be:
300
+
301
+ a d g j
302
+ b e h k
303
+ c f i l
304
+
305
+ ## Alignment
306
+
307
+ Columns can also be aligned either left or right.
308
+
309
+ list = %w{xx xx xx yy y yy z zz z}
310
+
311
+ columns = ANSI::Columns.new(list, :align=>:right)
312
+
313
+ columns.to_s(3)
314
+
315
+ The output will be:
316
+
317
+ xx yy z
318
+ xx y zz
319
+ xx yy z
320
+
321
+ ## Format
322
+
323
+ Lastly, columns can be augmented with ANSI codes. This is done through
324
+ a formatting block. The block can take up to three parameters, the cell
325
+ content, the column and row numbers, or the cell and the column and row
326
+ numbers.
327
+
328
+ list = %w{a b c d e f g h i j k l}
329
+
330
+ columns = ANSI::Columns.new(list){ |c,r| r % 2 == 0 ? :red : :blue }
331
+
332
+ out = columns.to_s(4)
333
+
334
+ out.assert == (
335
+ "\e[31ma \e[0m\e[31md \e[0m\e[31mg \e[0m\e[31mj \e[0m\n" +
336
+ "\e[34mb \e[0m\e[34me \e[0m\e[34mh \e[0m\e[34mk \e[0m\n" +
337
+ "\e[31mc \e[0m\e[31mf \e[0m\e[31mi \e[0m\e[31ml \e[0m\n"
338
+ )
339
+
340
+
341
+ # ANSI::Table
342
+
343
+ The ANSI::Table class can be used to output tabular data with nicely
344
+ formated ASCII cell borders.
345
+
346
+ require 'ansi/table'
347
+
348
+ The constructor takes an 2-dimensional array.
349
+
350
+ data = [
351
+ [ 10, 20, 30 ],
352
+ [ 20, 10, 20 ],
353
+ [ 50, 40, 20 ]
354
+ ]
355
+
356
+ table = ANSI::Table.new(data)
357
+
358
+ table.to_s
359
+
360
+ The output will be:
361
+
362
+ +----+----+----+
363
+ | 10 | 20 | 30 |
364
+ | 20 | 10 | 20 |
365
+ | 50 | 40 | 20 |
366
+ +----+----+----+
367
+
368
+
369
+
370
+ # ANSI::Diff
371
+
372
+ require 'ansi/diff'
373
+
374
+ a = 'abcYefg'
375
+ b = 'abcXefg'
376
+
377
+ diff = ANSI::Diff.new(a,b)
378
+
379
+ diff.to_s.assert == "\e[31mabc\e[0m\e[33mYefg\e[0m\n\e[31mabc\e[0mXefg"
380
+
381
+ Try another.
382
+
383
+ a = 'abc'
384
+ b = 'abcdef'
385
+
386
+ diff = ANSI::Diff.new(a,b)
387
+
388
+ diff.to_s.assert == "\e[31mabc\e[0m\n\e[31mabc\e[0mdef"
389
+
390
+ And another.
391
+
392
+ a = 'abcXXXghi'
393
+ b = 'abcdefghi'
394
+
395
+ diff = ANSI::Diff.new(a,b)
396
+
397
+ diff.to_s.assert == "\e[31mabc\e[0m\e[33mXXXghi\e[0m\n\e[31mabc\e[0mdefghi"
398
+
399
+ And another.
400
+
401
+ a = 'abcXXXdefghi'
402
+ b = 'abcdefghi'
403
+
404
+ diff = ANSI::Diff.new(a,b)
405
+
406
+ diff.to_s.assert == "\e[31mabc\e[0m\e[33mXXX\e[0m\e[35mdefghi\e[0m\n\e[31mabc\e[0m\e[35mdefghi\e[0m"
407
+
408
+ Comparison that is mostly different.
409
+
410
+ a = 'abcpppz123'
411
+ b = 'abcxyzzz43'
412
+
413
+ diff = ANSI::Diff.new(a,b)
414
+
415
+ diff.to_s.assert == "\e[31mabc\e[0m\e[33mpppz123\e[0m\n\e[31mabc\e[0mxyzzz43"
416
+
417
+
418
+ # ANSI::BBCode
419
+
420
+ The BBCode module provides methods for converting between
421
+ BBCodes, basic HTML and ANSI codes.
422
+
423
+ require 'ansi/bbcode'
424
+
425
+ BBCodes are color and style codes in square brackets, quite
426
+ popular with on line forums.
427
+
428
+ bbcode = "this is [COLOR=red]red[/COLOR], this is [B]bold[/B]"
429
+
430
+ We can convert this to ANSI code simply enough:
431
+
432
+ ansi = ANSI::BBCode.bbcode_to_ansi(bbcode)
433
+
434
+ ansi.assert == "this is \e[0;31mred\e[0m, this is \e[1mbold\e[0m\n"
435
+
436
+ In addition the BBCode module supports conversion to simple HTML.
437
+
438
+ html = ANSI::BBCode.bbcode_to_html(bbcode)
439
+
440
+ html.assert == "this is <font color=\"red\">red</font>, this is <strong>bold</strong><br />\n"
441
+
442
+
443
+ # ANSI::Terminal
444
+
445
+ We should be ables to get the terminal width via the `terminal_width` method.
446
+
447
+ width = ANSI::Terminal.terminal_width
448
+
449
+ Fixnum.assert === width
450
+
451
+
@@ -0,0 +1,217 @@
1
+ # RELEASE HISTORY
2
+
3
+ ## 1.5.0 | 2015-01-16
4
+
5
+ ANSI 1.5 introduces one change that is not backward compatiable. The
6
+ `:clear_line` code no longer clears to the end of the line. Instead it
7
+ clears the entire line. If you have used this in the past you
8
+ will need to update your code to use `:clear_eol` or `:clear_right`
9
+ instead. In addition this release finally fixes some long time issues
10
+ with Windows compatability, and a few other bugs. Yeah!
11
+
12
+ Changes:
13
+
14
+ * Alias `:right` and `:left` as `:forward` and `:back` respectively.
15
+ * Change `:clear_line` to clear whole line, not just to the end of line.
16
+ * Add `:cursor_hide` and `:cursor_show` codes.
17
+ * Fix and adjust #rgb method to work as one would expect.
18
+ * Fix Windows compatability (old code was alwasy using stty).
19
+ * Fix duplicated hash key in chart.rb.
20
+
21
+
22
+ ## 1.4.3 | 2012-06-26
23
+
24
+ This release bring two small changes. The first improves support
25
+ for Windows by only rescuing LoadError when 'win32console' fails
26
+ to load. The second improves the heuritstics used for determining
27
+ the current terminal screen width.
28
+
29
+ Changes:
30
+
31
+ * Only rescue LoadError on windows require. (#9) [bug]
32
+ * Improvements for getting proper screen width.
33
+
34
+
35
+ ## 1.4.2 | 2012-01-29
36
+
37
+ ANSI chains are a new feature inspired by Kazuyoshi Tlacaelel's Isna project.
38
+ It is a fluid notation for the String#ansi method, e.g. `"foo".red.on_white`.
39
+ Also, ASNI now supports "smart codes", preventing previously applied codes
40
+ from undermining the applicaiton of additional codes --a subtle issue that
41
+ most other ANSI libraries overlook. Plus a few other improvements including
42
+ that of the API documentation.
43
+
44
+ Changes:
45
+
46
+ * Add ANSI::Chains, extending String#ansi method.
47
+ * Support smart code application.
48
+ * Add Diff#to_a and shortcut to it via Diff.diff().
49
+ * Improve #colorize method in ProgressBar.
50
+ * Change ProgressBar's default mark to `|` instead of `o`.
51
+ * Fix Curses return order of screen cols and rows.
52
+ * Support center alignment in Columns.
53
+ * Support custom padding for Columns.
54
+
55
+
56
+ ## 1.4.1 | 2011-11-09
57
+
58
+ This release simply fixes a documentation issue, to make sure
59
+ QED.rdoc appears in the YARD docs. And a shout-out to Chad Perrin
60
+ for submitting some doc fixes for this project and a few other
61
+ Rubyworks projects.
62
+
63
+ Changes:
64
+
65
+ * Adjust .yardopts file.
66
+ * Documentation fixes.
67
+
68
+
69
+ ## 1.4.0 | 2011-11-05
70
+
71
+ New release adds a HexDump class for colorized byte string dumps
72
+ and fixes some minor cell size issues with the Table class.
73
+ This release also modernizes the build config and changes the
74
+ license to BSD-2-Clause.
75
+
76
+ Changes:
77
+
78
+ * Add HexDump class.
79
+ * Fix cell size of tables when ANSI codes are used.
80
+ * Fix extra ansi codes in tables without format.
81
+ * Modernize build configuration.
82
+ * Switch to BSD-2-Clause license.
83
+
84
+
85
+ ## 1.3.0 | 2011-06-30
86
+
87
+ This release cleans up the Code module. It adds support for x-term
88
+ 256 color codes. Also, the Diff class is now awesome, making use of
89
+ an LCS algorithm. But the most important difference with this release
90
+ is that the String core extensions are in their own file, core.rb.
91
+ If you want to use them you will need to require `ansi` or `ansi/core`.
92
+
93
+ Changes:
94
+
95
+ * Clean-up Code module.
96
+ * Utilize common chart for Code methods.
97
+ * Constants now have their own module.
98
+ * Move core methods to `ansi/core.rb`.
99
+ * Add XTerm 256 color code support.
100
+ * Improved Diff class with LCS algorithm.
101
+
102
+
103
+ ## 1.2.5 | 2011-05-03
104
+
105
+ This release introduces a preliminary rendition of a Diff class
106
+ for getting colorized comparisons of strings and other objects.
107
+ It's not officially supported yet, so this is only a point release.
108
+
109
+ Changes:
110
+
111
+ * Added Diff class for colorized comparisons.
112
+ * Fixed minor issue with Columns format block; col comes before row.
113
+
114
+
115
+ ## 1.2.4 | 2011-04-29
116
+
117
+ This release improves to the ANSI::Columns class. In particular the
118
+ layout is more consistent with intended functionality.
119
+
120
+ Changes:
121
+
122
+ * Improved ANSI::Columns to give more consistent output.
123
+ * ANSI::Columns#to_s can override number of columns.
124
+ * ANSI::Columns can take a String or Array list.
125
+
126
+
127
+ ## 1.2.3 | 2011-04-08
128
+
129
+ Minor release to add #clear method to ProgressBar and provide bug
130
+ fix to BBCode.ansi_to_bbcode. Big thanks goes to Junegunn Choi
131
+ for this fix.
132
+
133
+ Changes:
134
+
135
+ * Add ProgressBar#clear method.
136
+ * Fixed ANSI::BBCode.ansi_to_bbcode and ansi_to_html from omitting lines
137
+ without any ansi code (Junegunn Choi).
138
+
139
+ ## 1.2.2 | 2010-06-12
140
+
141
+ This release removes warnings about string arguments for certain
142
+ ANSI::Code methods. While the string form is considered deprecated,
143
+ for a few methods there is no use for any argument, so the string
144
+ form can remain. In addition, String#unansi has been added to
145
+ compliment String#ansi. Lastly, this release also adds the #display
146
+ method to ANSI::Mixin.
147
+
148
+ Changes:
149
+
150
+ * Remove string argument warnings.
151
+ * Add String#unansi and String#unansi!
152
+ * Add ANSI::Mixin#display.
153
+
154
+
155
+ ## 1.2.1 | 2010-05-10
156
+
157
+ This release was simply a quick fix to remove the incorrect embedded
158
+ version number, until it gets fixed.
159
+
160
+
161
+ ## 1.2.0 | 2010-05-10
162
+
163
+ This release entails numerous improvements. First and foremost
164
+ the Code module is transitioning to a block interface only
165
+ and phasing out the string argument interface. Admittedly this
166
+ is mildly unconventional, but it allows the arguments to be used
167
+ as options with common defaults more elegantly.
168
+
169
+ Another important change is that ANSI::Code no longer provides
170
+ String extension methods when included. For this use the new
171
+ ANSI::Mixin.
172
+
173
+ Other improvements include a String extension, #ansi, added to
174
+ code.rb, which makes it even easier to apply ANSI codes to strings.
175
+ Also, the ANSI::String class has been fixed (a few bugs crept
176
+ it with the last release) and continues to improve. On top of all
177
+ this testing has substantially improved thanks to QED.
178
+
179
+ Changes:
180
+
181
+ * Support string argument for now but with warning
182
+ * Bug fixes for ANSI::String
183
+ * Add mixin.rb for alternate mixin.
184
+ * Many new tests and QED documents.
185
+
186
+
187
+ ## 1.1.0 | 2009-10-04
188
+
189
+ This release is the first toward making the ANSI library
190
+ more widely usable.
191
+
192
+ Changes:
193
+
194
+ * Add bbcode.rb for conversion between BBCode/ANSI/HTML.
195
+ * ProgressBar and Progressbar are the same.
196
+ * Other minor underthehood improvements.
197
+
198
+
199
+ ## 1.0.1 | 2009-08-15
200
+
201
+ The release fixes a single bug that should allow Ruby 1.9
202
+ to use the ANSI library.
203
+
204
+ Changes:
205
+
206
+ * Renamed PLATFORM to RUBY_PLATFORM
207
+
208
+
209
+ ## 1.0.0 | 2009-08-15
210
+
211
+ This is the initial stand-alone release of ANSI, a collection
212
+ of ANSI based classes spun-off from Ruby Facets.
213
+
214
+ Changes:
215
+
216
+ * Happy Birthday!
217
+
@@ -0,0 +1,23 @@
1
+ BSD-2-Clause License (http://spdx.org/licenses/BSD-2-Clause)
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are
4
+ permitted provided that the following conditions are met:
5
+
6
+ 1. Redistributions of source code must retain the above copyright notice, this list of
7
+ conditions and the following disclaimer.
8
+
9
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list
10
+ of conditions and the following disclaimer in the documentation and/or other materials
11
+ provided with the distribution.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESS OR IMPLIED
14
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
15
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
16
+ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
17
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
18
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
19
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
20
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
21
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22
+
23
+