lgrgic_palindrome_detector 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 (376) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +7 -0
  4. data/Gemfile +8 -0
  5. data/Gemfile.lock +31 -0
  6. data/README.md +39 -0
  7. data/Rakefile +10 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/lgrgic_palindrome_detector.gemspec +37 -0
  11. data/lib/lgrgic_palindrome_detector.rb +16 -0
  12. data/lib/lgrgic_palindrome_detector/version.rb +3 -0
  13. data/vendor/cache/ansi-1.5.0.gem +0 -0
  14. data/vendor/cache/bin/rake +27 -0
  15. data/vendor/cache/builder-3.2.3.gem +0 -0
  16. data/vendor/cache/cache/ansi-1.5.0.gem +0 -0
  17. data/vendor/cache/cache/builder-3.2.3.gem +0 -0
  18. data/vendor/cache/cache/minitest-5.11.3.gem +0 -0
  19. data/vendor/cache/cache/minitest-reporters-1.2.0.gem +0 -0
  20. data/vendor/cache/cache/rake-10.5.0.gem +0 -0
  21. data/vendor/cache/cache/ruby-progressbar-1.10.0.gem +0 -0
  22. data/vendor/cache/gems/ansi-1.5.0/.index +77 -0
  23. data/vendor/cache/gems/ansi-1.5.0/.yardopts +8 -0
  24. data/vendor/cache/gems/ansi-1.5.0/DEMO.md +451 -0
  25. data/vendor/cache/gems/ansi-1.5.0/HISTORY.md +217 -0
  26. data/vendor/cache/gems/ansi-1.5.0/LICENSE.txt +23 -0
  27. data/vendor/cache/gems/ansi-1.5.0/NOTICE.md +170 -0
  28. data/vendor/cache/gems/ansi-1.5.0/README.md +91 -0
  29. data/vendor/cache/gems/ansi-1.5.0/demo/01_ansicode.md +65 -0
  30. data/vendor/cache/gems/ansi-1.5.0/demo/02_core.md +11 -0
  31. data/vendor/cache/gems/ansi-1.5.0/demo/03_logger.md +30 -0
  32. data/vendor/cache/gems/ansi-1.5.0/demo/04_progressbar.md +62 -0
  33. data/vendor/cache/gems/ansi-1.5.0/demo/05_mixin.md +37 -0
  34. data/vendor/cache/gems/ansi-1.5.0/demo/06_string.md +56 -0
  35. data/vendor/cache/gems/ansi-1.5.0/demo/07_columns.md +89 -0
  36. data/vendor/cache/gems/ansi-1.5.0/demo/08_table.md +28 -0
  37. data/vendor/cache/gems/ansi-1.5.0/demo/09_diff.md +47 -0
  38. data/vendor/cache/gems/ansi-1.5.0/demo/10_bbcode.md +24 -0
  39. data/vendor/cache/gems/ansi-1.5.0/demo/11_terminal.md +8 -0
  40. data/vendor/cache/gems/ansi-1.5.0/demo/applique/ae.rb +1 -0
  41. data/vendor/cache/gems/ansi-1.5.0/demo/applique/output.rb +5 -0
  42. data/vendor/cache/gems/ansi-1.5.0/lib/ansi.rb +22 -0
  43. data/vendor/cache/gems/ansi-1.5.0/lib/ansi.yml +77 -0
  44. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/bbcode.rb +334 -0
  45. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/chain.rb +50 -0
  46. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/chart.rb +100 -0
  47. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/code.rb +349 -0
  48. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/columns.rb +197 -0
  49. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/constants.rb +25 -0
  50. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/core.rb +30 -0
  51. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/diff.rb +215 -0
  52. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/hexdump.rb +122 -0
  53. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/logger.rb +211 -0
  54. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/mixin.rb +121 -0
  55. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/progressbar.rb +292 -0
  56. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/string.rb +254 -0
  57. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/table.rb +179 -0
  58. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal.rb +44 -0
  59. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal/curses.rb +26 -0
  60. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal/stty.rb +62 -0
  61. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal/termios.rb +68 -0
  62. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal/win32.rb +107 -0
  63. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/version.rb +15 -0
  64. data/vendor/cache/gems/ansi-1.5.0/test/case_ansicode.rb +43 -0
  65. data/vendor/cache/gems/ansi-1.5.0/test/case_bbcode.rb +35 -0
  66. data/vendor/cache/gems/ansi-1.5.0/test/case_mixin.rb +35 -0
  67. data/vendor/cache/gems/ansi-1.5.0/test/case_progressbar.rb +21 -0
  68. data/vendor/cache/gems/ansi-1.5.0/test/test_helper.rb +3 -0
  69. data/vendor/cache/gems/builder-3.2.3/CHANGES +107 -0
  70. data/vendor/cache/gems/builder-3.2.3/MIT-LICENSE +20 -0
  71. data/vendor/cache/gems/builder-3.2.3/README.md +258 -0
  72. data/vendor/cache/gems/builder-3.2.3/Rakefile +195 -0
  73. data/vendor/cache/gems/builder-3.2.3/doc/jamis.rb +591 -0
  74. data/vendor/cache/gems/builder-3.2.3/doc/releases/builder-1.2.4.rdoc +31 -0
  75. data/vendor/cache/gems/builder-3.2.3/doc/releases/builder-2.0.0.rdoc +46 -0
  76. data/vendor/cache/gems/builder-3.2.3/doc/releases/builder-2.1.1.rdoc +58 -0
  77. data/vendor/cache/gems/builder-3.2.3/lib/blankslate.rb +137 -0
  78. data/vendor/cache/gems/builder-3.2.3/lib/builder.rb +13 -0
  79. data/vendor/cache/gems/builder-3.2.3/lib/builder/blankslate.rb +23 -0
  80. data/vendor/cache/gems/builder-3.2.3/lib/builder/version.rb +8 -0
  81. data/vendor/cache/gems/builder-3.2.3/lib/builder/xchar.rb +197 -0
  82. data/vendor/cache/gems/builder-3.2.3/lib/builder/xmlbase.rb +199 -0
  83. data/vendor/cache/gems/builder-3.2.3/lib/builder/xmlevents.rb +63 -0
  84. data/vendor/cache/gems/builder-3.2.3/lib/builder/xmlmarkup.rb +339 -0
  85. data/vendor/cache/gems/builder-3.2.3/rakelib/publish.rake +20 -0
  86. data/vendor/cache/gems/builder-3.2.3/rakelib/tags.rake +62 -0
  87. data/vendor/cache/gems/builder-3.2.3/rakelib/testing.rake +7 -0
  88. data/vendor/cache/gems/builder-3.2.3/test/helper.rb +12 -0
  89. data/vendor/cache/gems/builder-3.2.3/test/performance.rb +41 -0
  90. data/vendor/cache/gems/builder-3.2.3/test/preload.rb +39 -0
  91. data/vendor/cache/gems/builder-3.2.3/test/test_blankslate.rb +213 -0
  92. data/vendor/cache/gems/builder-3.2.3/test/test_eventbuilder.rb +150 -0
  93. data/vendor/cache/gems/builder-3.2.3/test/test_markupbuilder.rb +611 -0
  94. data/vendor/cache/gems/builder-3.2.3/test/test_method_caching.rb +62 -0
  95. data/vendor/cache/gems/builder-3.2.3/test/test_namecollision.rb +39 -0
  96. data/vendor/cache/gems/builder-3.2.3/test/test_xchar.rb +78 -0
  97. data/vendor/cache/gems/minitest-5.11.3/.autotest +34 -0
  98. data/vendor/cache/gems/minitest-5.11.3/History.rdoc +1310 -0
  99. data/vendor/cache/gems/minitest-5.11.3/Manifest.txt +26 -0
  100. data/vendor/cache/gems/minitest-5.11.3/README.rdoc +746 -0
  101. data/vendor/cache/gems/minitest-5.11.3/Rakefile +86 -0
  102. data/vendor/cache/gems/minitest-5.11.3/design_rationale.rb +52 -0
  103. data/vendor/cache/gems/minitest-5.11.3/lib/hoe/minitest.rb +32 -0
  104. data/vendor/cache/gems/minitest-5.11.3/lib/minitest.rb +987 -0
  105. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/assertions.rb +693 -0
  106. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/autorun.rb +13 -0
  107. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/benchmark.rb +455 -0
  108. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/expectations.rb +284 -0
  109. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/hell.rb +11 -0
  110. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/mock.rb +240 -0
  111. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/parallel.rb +70 -0
  112. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/pride.rb +4 -0
  113. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/pride_plugin.rb +142 -0
  114. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/spec.rb +331 -0
  115. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/test.rb +220 -0
  116. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/unit.rb +45 -0
  117. data/vendor/cache/gems/minitest-5.11.3/test/minitest/metametameta.rb +102 -0
  118. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_benchmark.rb +137 -0
  119. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_mock.rb +874 -0
  120. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_reporter.rb +299 -0
  121. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_spec.rb +987 -0
  122. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_test.rb +2142 -0
  123. data/vendor/cache/gems/minitest-reporters-1.2.0/.gitignore +27 -0
  124. data/vendor/cache/gems/minitest-reporters-1.2.0/.ruby-gemset +1 -0
  125. data/vendor/cache/gems/minitest-reporters-1.2.0/.travis.yml +10 -0
  126. data/vendor/cache/gems/minitest-reporters-1.2.0/.yardopts +6 -0
  127. data/vendor/cache/gems/minitest-reporters-1.2.0/CHANGELOG.md +40 -0
  128. data/vendor/cache/gems/minitest-reporters-1.2.0/Gemfile +2 -0
  129. data/vendor/cache/gems/minitest-reporters-1.2.0/LICENSE +20 -0
  130. data/vendor/cache/gems/minitest-reporters-1.2.0/README.md +115 -0
  131. data/vendor/cache/gems/minitest-reporters-1.2.0/Rakefile +60 -0
  132. data/vendor/cache/gems/minitest-reporters-1.2.0/assets/default-reporter.png +0 -0
  133. data/vendor/cache/gems/minitest-reporters-1.2.0/assets/mean_time_reporter.png +0 -0
  134. data/vendor/cache/gems/minitest-reporters-1.2.0/assets/progress-reporter.png +0 -0
  135. data/vendor/cache/gems/minitest-reporters-1.2.0/assets/spec-reporter.png +0 -0
  136. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/extensible_backtrace_filter.rb +67 -0
  137. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/minitest_reporter_plugin.rb +75 -0
  138. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/old_activesupport_fix.rb +24 -0
  139. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/relative_position.rb +26 -0
  140. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters.rb +89 -0
  141. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/ansi.rb +31 -0
  142. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/base_reporter.rb +117 -0
  143. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/default_reporter.rb +228 -0
  144. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/html_reporter.rb +221 -0
  145. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/junit_reporter.rb +157 -0
  146. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/mean_time_reporter.rb +392 -0
  147. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/progress_reporter.rb +96 -0
  148. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/ruby_mate_reporter.rb +54 -0
  149. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/rubymine_reporter.rb +117 -0
  150. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/spec_reporter.rb +61 -0
  151. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/version.rb +5 -0
  152. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/templates/index.html.erb +83 -0
  153. data/vendor/cache/gems/minitest-reporters-1.2.0/minitest-reporters.gemspec +31 -0
  154. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/junit_filename_bug_example_test.rb +21 -0
  155. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/mean_time_test.rb +8 -0
  156. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/progress_detailed_skip_test.rb +8 -0
  157. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/progress_test.rb +8 -0
  158. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/sample_test.rb +15 -0
  159. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/spec_test.rb +13 -0
  160. data/vendor/cache/gems/minitest-reporters-1.2.0/test/gallery/bad_test.rb +25 -0
  161. data/vendor/cache/gems/minitest-reporters-1.2.0/test/gallery/good_test.rb +14 -0
  162. data/vendor/cache/gems/minitest-reporters-1.2.0/test/integration/reporters/junit_reporter_test.rb +12 -0
  163. data/vendor/cache/gems/minitest-reporters-1.2.0/test/integration/reporters/mean_time_reporter_test.rb +7 -0
  164. data/vendor/cache/gems/minitest-reporters-1.2.0/test/integration/reporters/progress_reporter_test.rb +34 -0
  165. data/vendor/cache/gems/minitest-reporters-1.2.0/test/test_helper.rb +22 -0
  166. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/extensible_backtrace_filter_test.rb +42 -0
  167. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/mean_time_reporter_unit_test.rb +152 -0
  168. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/minitest_reporter_plugin_test.rb +14 -0
  169. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/reporters_test.rb +52 -0
  170. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/spec_reporter_test.rb +41 -0
  171. data/vendor/cache/gems/rake-10.5.0/.autotest +7 -0
  172. data/vendor/cache/gems/rake-10.5.0/.rubocop.yml +27 -0
  173. data/vendor/cache/gems/rake-10.5.0/.togglerc +7 -0
  174. data/vendor/cache/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  175. data/vendor/cache/gems/rake-10.5.0/History.rdoc +659 -0
  176. data/vendor/cache/gems/rake-10.5.0/MIT-LICENSE +21 -0
  177. data/vendor/cache/gems/rake-10.5.0/Manifest.txt +166 -0
  178. data/vendor/cache/gems/rake-10.5.0/README.rdoc +139 -0
  179. data/vendor/cache/gems/rake-10.5.0/Rakefile +81 -0
  180. data/vendor/cache/gems/rake-10.5.0/bin/rake +33 -0
  181. data/vendor/cache/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  182. data/vendor/cache/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  183. data/vendor/cache/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  184. data/vendor/cache/gems/rake-10.5.0/doc/example/a.c +6 -0
  185. data/vendor/cache/gems/rake-10.5.0/doc/example/b.c +6 -0
  186. data/vendor/cache/gems/rake-10.5.0/doc/example/main.c +11 -0
  187. data/vendor/cache/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  188. data/vendor/cache/gems/rake-10.5.0/doc/jamis.rb +591 -0
  189. data/vendor/cache/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  190. data/vendor/cache/gems/rake-10.5.0/doc/rake.1 +141 -0
  191. data/vendor/cache/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  192. data/vendor/cache/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  193. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  194. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  195. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  196. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  197. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  198. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  199. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  200. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  201. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  202. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  203. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  204. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  205. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  206. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  207. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  208. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  209. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  210. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  211. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  212. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  213. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  214. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  215. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  216. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  217. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  218. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  219. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  220. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  221. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  222. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  223. data/vendor/cache/gems/rake-10.5.0/lib/rake.rb +79 -0
  224. data/vendor/cache/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  225. data/vendor/cache/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  226. data/vendor/cache/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  227. data/vendor/cache/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  228. data/vendor/cache/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  229. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  230. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  231. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  232. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  233. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  234. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  235. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  236. data/vendor/cache/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  237. data/vendor/cache/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  238. data/vendor/cache/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  239. data/vendor/cache/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  240. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  241. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  242. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  243. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  244. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  245. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  246. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  247. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  248. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  249. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  250. data/vendor/cache/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  251. data/vendor/cache/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  252. data/vendor/cache/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  253. data/vendor/cache/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  254. data/vendor/cache/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  255. data/vendor/cache/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  256. data/vendor/cache/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  257. data/vendor/cache/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  258. data/vendor/cache/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  259. data/vendor/cache/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  260. data/vendor/cache/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  261. data/vendor/cache/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  262. data/vendor/cache/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  263. data/vendor/cache/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  264. data/vendor/cache/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  265. data/vendor/cache/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  266. data/vendor/cache/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  267. data/vendor/cache/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  268. data/vendor/cache/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  269. data/vendor/cache/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  270. data/vendor/cache/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  271. data/vendor/cache/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  272. data/vendor/cache/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  273. data/vendor/cache/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  274. data/vendor/cache/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  275. data/vendor/cache/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  276. data/vendor/cache/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  277. data/vendor/cache/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  278. data/vendor/cache/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  279. data/vendor/cache/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  280. data/vendor/cache/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  281. data/vendor/cache/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  282. data/vendor/cache/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  283. data/vendor/cache/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  284. data/vendor/cache/gems/rake-10.5.0/test/file_creation.rb +34 -0
  285. data/vendor/cache/gems/rake-10.5.0/test/helper.rb +129 -0
  286. data/vendor/cache/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  287. data/vendor/cache/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  288. data/vendor/cache/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  289. data/vendor/cache/gems/rake-10.5.0/test/test_rake.rb +40 -0
  290. data/vendor/cache/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  291. data/vendor/cache/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  292. data/vendor/cache/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  293. data/vendor/cache/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  294. data/vendor/cache/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  295. data/vendor/cache/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  296. data/vendor/cache/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  297. data/vendor/cache/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  298. data/vendor/cache/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  299. data/vendor/cache/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  300. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  301. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  302. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  303. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  304. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  305. data/vendor/cache/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  306. data/vendor/cache/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  307. data/vendor/cache/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  308. data/vendor/cache/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  309. data/vendor/cache/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  310. data/vendor/cache/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  311. data/vendor/cache/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  312. data/vendor/cache/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  313. data/vendor/cache/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  314. data/vendor/cache/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  315. data/vendor/cache/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  316. data/vendor/cache/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  317. data/vendor/cache/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  318. data/vendor/cache/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  319. data/vendor/cache/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  320. data/vendor/cache/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  321. data/vendor/cache/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  322. data/vendor/cache/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  323. data/vendor/cache/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  324. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  325. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  326. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  327. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  328. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  329. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  330. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  331. data/vendor/cache/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  332. data/vendor/cache/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  333. data/vendor/cache/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  334. data/vendor/cache/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  335. data/vendor/cache/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  336. data/vendor/cache/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  337. data/vendor/cache/gems/ruby-progressbar-1.10.0/LICENSE.txt +19 -0
  338. data/vendor/cache/gems/ruby-progressbar-1.10.0/README.md +38 -0
  339. data/vendor/cache/gems/ruby-progressbar-1.10.0/Rakefile +2 -0
  340. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar.rb +18 -0
  341. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/base.rb +183 -0
  342. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/calculators/length.rb +100 -0
  343. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/calculators/running_average.rb +9 -0
  344. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components.rb +5 -0
  345. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/bar.rb +102 -0
  346. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/percentage.rb +29 -0
  347. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/rate.rb +43 -0
  348. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/time.rb +107 -0
  349. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/title.rb +13 -0
  350. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  351. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format.rb +3 -0
  352. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format/formatter.rb +27 -0
  353. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format/molecule.rb +60 -0
  354. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format/string.rb +36 -0
  355. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/output.rb +68 -0
  356. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  357. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/outputs/null.rb +33 -0
  358. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/outputs/tty.rb +32 -0
  359. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/progress.rb +118 -0
  360. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/refinements.rb +1 -0
  361. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/refinements/enumerator.rb +23 -0
  362. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/throttle.rb +25 -0
  363. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/time.rb +32 -0
  364. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/timer.rb +72 -0
  365. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/version.rb +3 -0
  366. data/vendor/cache/minitest-5.11.3.gem +0 -0
  367. data/vendor/cache/minitest-reporters-1.2.0.gem +0 -0
  368. data/vendor/cache/rake-10.5.0.gem +0 -0
  369. data/vendor/cache/ruby-progressbar-1.10.0.gem +0 -0
  370. data/vendor/cache/specifications/ansi-1.5.0.gemspec +49 -0
  371. data/vendor/cache/specifications/builder-3.2.3.gemspec +21 -0
  372. data/vendor/cache/specifications/minitest-5.11.3.gemspec +39 -0
  373. data/vendor/cache/specifications/minitest-reporters-1.2.0.gemspec +49 -0
  374. data/vendor/cache/specifications/rake-10.5.0.gemspec +43 -0
  375. data/vendor/cache/specifications/ruby-progressbar-1.10.0.gemspec +46 -0
  376. metadata +460 -0
@@ -0,0 +1,122 @@
1
+ module ANSI
2
+
3
+ require 'ansi/code'
4
+
5
+ # TODO: split dump method into two parts, the first should create a hex table
6
+ # then the second, #dump method, will print it out.
7
+
8
+ # Create a colorized hex dump of byte string.
9
+ #
10
+ # Output looks something like the following, but colorized.
11
+ #
12
+ # 000352c0: ed 33 8c 85 6e cc f6 f7 72 79 1c e3 3a b4 c2 c6 |.3..n...ry..:...|
13
+ # 000352d0: c8 8d d6 ee 3e 68 a1 a5 ae b2 b7 97 a4 1d 5f a7 |....>h........_.|
14
+ # 000352e0: d8 7d 28 db f6 8a e7 8a 7b 8d 0b bd 35 7d 25 3c |.}(.....{...5}%<|
15
+ # 000352f0: 8b 3c c8 9d ec 04 85 54 92 a0 f7 a8 ed cf 05 7d |.<.....T.......}|
16
+ # 00035300: b5 e3 9e 35 f0 79 9f 51 74 e3 60 ee 0f 03 8e 3f |...5.y.Qt.`....?|
17
+ # 00035310: 05 5b 91 87 e6 48 48 ee a3 77 ae ad 5e 2a 56 a2 |.[...HH..w..^*V.|
18
+ # 00035320: b6 96 86 f3 3c 92 b3 c8 62 4a 6f 96 10 5c 9c bb |....<...bJo..\..|
19
+ #
20
+ # In the future, we will make the colorization more customizable and
21
+ # allow the groupings to be selectable at 2, 4, 8 or 16.
22
+ #
23
+ class HexDump
24
+
25
+ # Printable ASCII codes.
26
+ ASCII_PRINTABLE = (33..126)
27
+
28
+ #
29
+ def initialize(options={})
30
+ @offset = 0
31
+
32
+ options.each do |k,v|
33
+ __send__("#{k}=", v)
34
+ end
35
+
36
+ @color = true if color.nil?
37
+ end
38
+
39
+ # Use color?
40
+ attr_accessor :color
41
+
42
+ # Show index?
43
+ attr_accessor :index
44
+
45
+ # Offset byte count.
46
+ attr_accessor :offset
47
+
48
+ # Dump data string as colorized hex table.
49
+ #
50
+ # @param data [String]
51
+ # String to convert to hex and display.
52
+ #
53
+ def dump(data)
54
+ lines = data.to_s.scan(/.{1,16}/m)
55
+ max_offset = (offset + data.size) / 256 #16 * 16
56
+ max_offset_width = max_offset.to_s.size + 1
57
+ max_hex_width = 49 #3 * 16 + 1
58
+
59
+ out = template()
60
+ off = offset()
61
+
62
+ if index?
63
+ puts((' ' * max_offset_width) + " 0 1 2 3 4 5 6 7 8 9 A B C D E F\n")
64
+ end
65
+
66
+ lines.each_with_index do |line, n|
67
+ offset = off + n * 16
68
+ bytes = line.unpack("C*")
69
+ hex = bytes.map{ |c| "%0.2x" % c }.insert(8, '').join(' ')
70
+
71
+ plain = bytes.map do |c|
72
+ if ASCII_PRINTABLE.include?(c)
73
+ c = c.chr
74
+ else
75
+ color ? Code::WHITE + Code::STRIKE + '.' + Code::CLEAR : '.'
76
+ end
77
+ end.join('')
78
+
79
+ fill = [offset.to_s.rjust(max_offset_width), hex.ljust(max_hex_width), plain]
80
+
81
+ puts(out % fill)
82
+ end
83
+ end
84
+
85
+ # Hex dump a random string.
86
+ #
87
+ def dump_random(size=64)
88
+ data = (0..size).map{ rand(255).chr }.join('')
89
+ dump(data)
90
+ end
91
+
92
+ #
93
+ def index?
94
+ @index
95
+ end
96
+
97
+ private
98
+
99
+ # Hex dump line template.
100
+ #
101
+ # @return [String] hex dump line template
102
+ def template
103
+ if color
104
+ Code::CYAN +
105
+ "%s: " +
106
+ Code::YELLOW +
107
+ "%s " +
108
+ Code::BLUE +
109
+ "|" +
110
+ Code::CLEAR +
111
+ "%s" +
112
+ Code::BLUE +
113
+ "|" +
114
+ Code::CLEAR
115
+ else
116
+ "%s: %s |%s|"
117
+ end
118
+ end
119
+
120
+ end
121
+
122
+ end
@@ -0,0 +1,211 @@
1
+ # Ansi::Logger
2
+ # Copyright (c) 2009 Thomas Sawyer
3
+ # Copyright (c) 2005 George Moschovitis
4
+
5
+ require "logger"
6
+ require "time"
7
+ require "ansi/code"
8
+
9
+ # = ANSI::Logger
10
+ #
11
+ # Extended variation of Ruby's standard Logger library that supports
12
+ # color output.
13
+ #
14
+ # log = ANSI::Logger.new
15
+ #
16
+ # log.formatter do |severity, timestamp, progname, msg|
17
+ # ANSI::Logger::SIMPLE_FORMAT % [severity, msg]
18
+ # end
19
+ #
20
+ #--
21
+ # TODO: What's all this about then?
22
+ #
23
+ # When using debug level logger messages always append 'if $DBG'
24
+ # at the end. This hack is needed because Ruby does not support
25
+ # lazy evaluation (lisp macros).
26
+ #++
27
+ class ANSI::Logger < Logger
28
+
29
+ # Some available logging formats.
30
+ SIMPLE_FORMAT = "%5s: %s\n"
31
+ DETAILED_FORMAT = "%s %5s: %s\n"
32
+
33
+ # TODO: Not sure I like this approach.
34
+ class ::Logger #:nodoc:
35
+ class LogDevice #:nodoc:
36
+ attr_writer :ansicolor
37
+
38
+ def ansicolor?
39
+ @ansicolor.nil? ? true : @ansicolor
40
+ end
41
+ end
42
+ end
43
+
44
+ #
45
+ def ansicolor?
46
+ @logdev.ansicolor?
47
+ end
48
+
49
+ #
50
+ def ansicolor=(on)
51
+ @logdev.ansicolor = on
52
+ end
53
+
54
+ # Dictate the way in which this logger should format the
55
+ # messages it displays. This method requires a block. The
56
+ # block should return formatted strings given severity,
57
+ # timestamp, progname and msg.
58
+ #
59
+ # === Example
60
+ #
61
+ # logger = ANSI::Logger.new
62
+ #
63
+ # logger.formatter do |severity, timestamp, progname, msg|
64
+ # "#{progname}@#{timestamp} - #{severity}::#{msg}"
65
+ # end
66
+ #
67
+ def formatter(&block)
68
+ self.formatter = block if block
69
+ super
70
+ end
71
+
72
+ def styles(options=nil)
73
+ @styles ||= {
74
+ :info => [],
75
+ :warn => [:yellow],
76
+ :debug => [:cyan],
77
+ :error => [:red],
78
+ :fatal => [:bold, :red]
79
+ }
80
+ @styles.merge!(options) if options
81
+ @styles
82
+ end
83
+
84
+ #
85
+ def info(progname=nil, &block)
86
+ return unless info?
87
+ @logdev.ansicolor? ? info_with_color{ super } : super
88
+ end
89
+
90
+ #
91
+ def warn(progname=nil, &block)
92
+ return unless warn?
93
+ @logdev.ansicolor? ? warn_with_color{ super } : super
94
+ end
95
+
96
+ #
97
+ def debug(progname=nil, &block)
98
+ return unless debug?
99
+ @logdev.ansicolor? ? debug_with_color{ super } : super
100
+ end
101
+
102
+ #
103
+ def error(progname=nil, &block)
104
+ return unless error?
105
+ @logdev.ansicolor? ? error_with_color{ super } : super
106
+ end
107
+
108
+ #
109
+ def fatal(progname=nil, &block)
110
+ return unless error?
111
+ @logdev.ansicolor? ? fatal_with_color{ super } : super
112
+ end
113
+
114
+ private
115
+
116
+ def info_with_color #:yield:
117
+ styles[:info].each{ |s| self << ANSI::Code.send(s) }
118
+ yield
119
+ self << ANSI::Code.clear
120
+ end
121
+
122
+ def warn_with_color #:yield:
123
+ styles[:warn].each{ |s| self << ANSI::Code.send(s) }
124
+ yield
125
+ self << ANSI::Code.clear
126
+ end
127
+
128
+ def error_with_color #:yield:
129
+ styles[:error].each{ |s| self << ANSI::Code.send(s) }
130
+ yield
131
+ self << ANSI::Code.clear
132
+ end
133
+
134
+ def debug_with_color #:yield:
135
+ styles[:debug].each{ |s| self << ANSI::Code.send(s) }
136
+ yield
137
+ self << ANSI::Code.clear
138
+ end
139
+
140
+ def fatal_with_color #:yield:
141
+ styles[:fatal].each{ |s| self << ANSI::Code.send(s) }
142
+ yield
143
+ self << ANSI::Code.clear
144
+ end
145
+
146
+ end
147
+
148
+
149
+ # NOTE: trace is deprecated b/c binding of caller is no longer possible.
150
+ =begin
151
+ # Prints a trace message to DEBUGLOG (at debug level).
152
+ # Useful for emitting the value of variables, etc. Use
153
+ # like this:
154
+ #
155
+ # x = y = 5
156
+ # trace 'x' # -> 'x = 5'
157
+ # trace 'x ** y' # -> 'x ** y = 3125'
158
+ #
159
+ # If you have a more complicated value, like an array of
160
+ # hashes, then you'll probably want to use an alternative
161
+ # output format. For instance:
162
+ #
163
+ # trace 'value', :yaml
164
+ #
165
+ # Valid output format values (the _style_ parameter) are:
166
+ #
167
+ # :p :inspect
168
+ # :pp (pretty-print, using 'pp' library)
169
+ # :s :to_s
170
+ # :y :yaml :to_yaml (using the 'yaml' library')
171
+ #
172
+ # The default is <tt>:p</tt>.
173
+ #
174
+ # CREDITS:
175
+ #
176
+ # This code comes straight from the dev-utils Gem.
177
+ # Author: Gavin Sinclair <gsinclair@soyabean.com.au>
178
+
179
+ def trace(expr, style=:p)
180
+ unless expr.respond_to? :to_str
181
+ warn "trace: Can't evaluate the given value: #{caller.first}"
182
+ else
183
+ raise "FACETS: binding/or_caller is no longer possible"
184
+ require "facets/core/binding/self/of_caller"
185
+
186
+ Binding.of_caller do |b|
187
+ value = b.eval(expr.to_str)
188
+ formatter = TRACE_STYLES[style] || :inspect
189
+ case formatter
190
+ when :pp then require 'pp'
191
+ when :y, :yaml, :to_yaml then require 'yaml'
192
+ end
193
+ value_s = value.send(formatter)
194
+ message = "#{expr} = #{value_s}"
195
+ lines = message.split(/\n/)
196
+ indent = " "
197
+ debug(lines.shift)
198
+ lines.each do |line|
199
+ debug(indent + line)
200
+ end
201
+ end
202
+ end
203
+ end
204
+
205
+ TRACE_STYLES = {} # :nodoc:
206
+ TRACE_STYLES.update(
207
+ :pp => :pp_s, :s => :to_s, :p => :inspect,
208
+ :y => :to_yaml, :yaml => :to_yaml,
209
+ :inspect => :inspect, :to_yaml => :to_yaml
210
+ )
211
+ =end
@@ -0,0 +1,121 @@
1
+ module ANSI
2
+ require 'ansi/code'
3
+
4
+ # This module is designed specifically for mixing into
5
+ # String-like classes or extending String-like objects.
6
+ #
7
+ # Generally speaking the String#ansi method is the more
8
+ # elegant approach to modifying a string with codes
9
+ # via a method call. But in some cases this Mixin's design
10
+ # might be preferable. Indeed, it original intent was
11
+ # as a compatability layer for the +colored+ gem.
12
+
13
+ module Mixin
14
+
15
+ def bold ; ANSI::Code.bold { to_s } ; end
16
+ def dark ; ANSI::Code.dark { to_s } ; end
17
+ def italic ; ANSI::Code.italic { to_s } ; end
18
+ def underline ; ANSI::Code.underline { to_s } ; end
19
+ def underscore ; ANSI::Code.underscore { to_s } ; end
20
+ def blink ; ANSI::Code.blink { to_s } ; end
21
+ def rapid ; ANSI::Code.rapid { to_s } ; end
22
+ def reverse ; ANSI::Code.reverse { to_s } ; end
23
+ def negative ; ANSI::Code.negative { to_s } ; end
24
+ def concealed ; ANSI::Code.concealed { to_s } ; end
25
+ def strike ; ANSI::Code.strike { to_s } ; end
26
+
27
+ def black ; ANSI::Code.black { to_s } ; end
28
+ def red ; ANSI::Code.red { to_s } ; end
29
+ def green ; ANSI::Code.green { to_s } ; end
30
+ def yellow ; ANSI::Code.yellow { to_s } ; end
31
+ def blue ; ANSI::Code.blue { to_s } ; end
32
+ def magenta ; ANSI::Code.magenta { to_s } ; end
33
+ def cyan ; ANSI::Code.cyan { to_s } ; end
34
+ def white ; ANSI::Code.white { to_s } ; end
35
+
36
+ def on_black ; ANSI::Code.on_black { to_s } ; end
37
+ def on_red ; ANSI::Code.on_red { to_s } ; end
38
+ def on_green ; ANSI::Code.on_green { to_s } ; end
39
+ def on_yellow ; ANSI::Code.on_yellow { to_s } ; end
40
+ def on_blue ; ANSI::Code.on_blue { to_s } ; end
41
+ def on_magenta ; ANSI::Code.on_magenta { to_s } ; end
42
+ def on_cyan ; ANSI::Code.on_cyan { to_s } ; end
43
+ def on_white ; ANSI::Code.on_white { to_s } ; end
44
+
45
+ def black_on_red ; ANSI::Code.black_on_red { to_s } ; end
46
+ def black_on_green ; ANSI::Code.black_on_green { to_s } ; end
47
+ def black_on_yellow ; ANSI::Code.black_on_yellow { to_s } ; end
48
+ def black_on_blue ; ANSI::Code.black_on_blue { to_s } ; end
49
+ def black_on_magenta ; ANSI::Code.black_on_magenta { to_s } ; end
50
+ def black_on_cyan ; ANSI::Code.black_on_cyan { to_s } ; end
51
+ def black_on_white ; ANSI::Code.black_on_white { to_s } ; end
52
+
53
+ def red_on_black ; ANSI::Code.red_on_black { to_s } ; end
54
+ def red_on_green ; ANSI::Code.red_on_green { to_s } ; end
55
+ def red_on_yellow ; ANSI::Code.red_on_yellow { to_s } ; end
56
+ def red_on_blue ; ANSI::Code.red_on_blue { to_s } ; end
57
+ def red_on_magenta ; ANSI::Code.red_on_magenta { to_s } ; end
58
+ def red_on_cyan ; ANSI::Code.red_on_cyan { to_s } ; end
59
+ def red_on_white ; ANSI::Code.red_on_white { to_s } ; end
60
+
61
+ def green_on_black ; ANSI::Code.green_on_black { to_s } ; end
62
+ def green_on_red ; ANSI::Code.green_on_red { to_s } ; end
63
+ def green_on_yellow ; ANSI::Code.green_on_yellow { to_s } ; end
64
+ def green_on_blue ; ANSI::Code.green_on_blue { to_s } ; end
65
+ def green_on_magenta ; ANSI::Code.green_on_magenta { to_s } ; end
66
+ def green_on_cyan ; ANSI::Code.green_on_cyan { to_s } ; end
67
+ def green_on_white ; ANSI::Code.green_on_white { to_s } ; end
68
+
69
+ def yellow_on_black ; ANSI::Code.yellow_on_black { to_s } ; end
70
+ def yellow_on_red ; ANSI::Code.yellow_on_red { to_s } ; end
71
+ def yellow_on_green ; ANSI::Code.yellow_on_green { to_s } ; end
72
+ def yellow_on_blue ; ANSI::Code.yellow_on_blue { to_s } ; end
73
+ def yellow_on_magenta ; ANSI::Code.yellow_on_magenta { to_s } ; end
74
+ def yellow_on_cyan ; ANSI::Code.yellow_on_cyan { to_s } ; end
75
+ def yellow_on_white ; ANSI::Code.yellow_on_white { to_s } ; end
76
+
77
+ def blue_on_black ; ANSI::Code.blue_on_black { to_s } ; end
78
+ def blue_on_red ; ANSI::Code.blue_on_red { to_s } ; end
79
+ def blue_on_green ; ANSI::Code.blue_on_green { to_s } ; end
80
+ def blue_on_yellow ; ANSI::Code.blue_on_yellow { to_s } ; end
81
+ def blue_on_magenta ; ANSI::Code.blue_on_magenta { to_s } ; end
82
+ def blue_on_cyan ; ANSI::Code.blue_on_cyan { to_s } ; end
83
+ def blue_on_white ; ANSI::Code.blue_on_white { to_s } ; end
84
+
85
+ def magenta_on_black ; ANSI::Code.magenta_on_black { to_s } ; end
86
+ def magenta_on_red ; ANSI::Code.magenta_on_red { to_s } ; end
87
+ def magenta_on_green ; ANSI::Code.magenta_on_green { to_s } ; end
88
+ def magenta_on_yellow ; ANSI::Code.magenta_on_yellow { to_s } ; end
89
+ def magenta_on_blue ; ANSI::Code.magenta_on_blue { to_s } ; end
90
+ def magenta_on_cyan ; ANSI::Code.magenta_on_cyan { to_s } ; end
91
+ def magenta_on_white ; ANSI::Code.magenta_on_white { to_s } ; end
92
+
93
+ def cyan_on_black ; ANSI::Code.cyan_on_black { to_s } ; end
94
+ def cyan_on_red ; ANSI::Code.cyan_on_red { to_s } ; end
95
+ def cyan_on_green ; ANSI::Code.cyan_on_green { to_s } ; end
96
+ def cyan_on_yellow ; ANSI::Code.cyan_on_yellow { to_s } ; end
97
+ def cyan_on_blue ; ANSI::Code.cyan_on_blue { to_s } ; end
98
+ def cyan_on_magenta ; ANSI::Code.cyan_on_magenta { to_s } ; end
99
+ def cyan_on_white ; ANSI::Code.cyan_on_white { to_s } ; end
100
+
101
+ def white_on_black ; ANSI::Code.white_on_black { to_s } ; end
102
+ def white_on_red ; ANSI::Code.white_on_red { to_s } ; end
103
+ def white_on_green ; ANSI::Code.white_on_green { to_s } ; end
104
+ def white_on_yellow ; ANSI::Code.white_on_yellow { to_s } ; end
105
+ def white_on_blue ; ANSI::Code.white_on_blue { to_s } ; end
106
+ def white_on_magenta ; ANSI::Code.white_on_magenta { to_s } ; end
107
+ def white_on_cyan ; ANSI::Code.white_on_cyan { to_s } ; end
108
+
109
+ # Move cursor to line and column, insert +self.to_s+ and return to
110
+ # original positon.
111
+ def display(line, column=0)
112
+ result = "\e[s"
113
+ result << "\e[#{line.to_i};#{column.to_i}H"
114
+ result << to_s
115
+ result << "\e[u"
116
+ result
117
+ end
118
+
119
+ end
120
+
121
+ end