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.
- checksums.yaml +7 -0
- data/.DS_Store +0 -0
- data/.gitignore +8 -0
- data/.travis.yml +6 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +30 -0
- data/README.md +36 -0
- data/Rakefile +10 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/hirohig_palindrome.gemspec +33 -0
- data/lib/hirohig_palindrome/version.rb +3 -0
- data/lib/hirohig_palindrome.rb +17 -0
- data/vendor/.DS_Store +0 -0
- data/vendor/bundle/.DS_Store +0 -0
- data/vendor/bundle/ruby/.DS_Store +0 -0
- data/vendor/bundle/ruby/2.6.0/.DS_Store +0 -0
- data/vendor/bundle/ruby/2.6.0/bin/rake +27 -0
- data/vendor/bundle/ruby/2.6.0/cache/ansi-1.5.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/builder-3.2.4.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/minitest-5.14.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/minitest-reporters-1.2.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rake-12.3.3.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/ruby-progressbar-1.10.1.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/gems/.DS_Store +0 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/.index +77 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/.yardopts +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/DEMO.md +451 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/HISTORY.md +217 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/LICENSE.txt +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/NOTICE.md +170 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/README.md +91 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/01_ansicode.md +65 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/02_core.md +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/03_logger.md +30 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/04_progressbar.md +62 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/05_mixin.md +37 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/06_string.md +56 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/07_columns.md +89 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/08_table.md +28 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/09_diff.md +47 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/10_bbcode.md +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/11_terminal.md +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/applique/ae.rb +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/demo/applique/output.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/bbcode.rb +334 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/chain.rb +50 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/chart.rb +100 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/code.rb +349 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/columns.rb +197 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/constants.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/core.rb +30 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/diff.rb +215 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/hexdump.rb +122 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/logger.rb +211 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/mixin.rb +121 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/progressbar.rb +292 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/string.rb +254 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/table.rb +179 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal/curses.rb +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal/stty.rb +62 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal/termios.rb +68 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal/win32.rb +107 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/terminal.rb +44 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi/version.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi.rb +22 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/lib/ansi.yml +77 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/case_ansicode.rb +43 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/case_bbcode.rb +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/case_mixin.rb +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/case_progressbar.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/ansi-1.5.0/test/test_helper.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/CHANGES +119 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/README.md +258 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/Rakefile +194 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/builder.blurb +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/builder.gemspec +45 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/doc/jamis.rb +592 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/doc/releases/builder-1.2.4.rdoc +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/doc/releases/builder-2.0.0.rdoc +46 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/doc/releases/builder-2.1.1.rdoc +58 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/blankslate.rb +138 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/blankslate.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/version.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/xchar.rb +198 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/xmlbase.rb +200 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/xmlevents.rb +64 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder/xmlmarkup.rb +345 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/lib/builder.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/rakelib/publish.rake +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/rakelib/tags.rake +63 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/rakelib/testing.rake +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/helper.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/performance.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/preload.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_blankslate.rb +208 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_eventbuilder.rb +151 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_markupbuilder.rb +617 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_method_caching.rb +63 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_namecollision.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/builder-3.2.4/test/test_xchar.rb +85 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/.autotest +34 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/History.rdoc +1380 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/Manifest.txt +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/README.rdoc +764 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/Rakefile +72 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/design_rationale.rb +52 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/hoe/minitest.rb +32 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/assertions.rb +807 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/autorun.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/benchmark.rb +455 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/expectations.rb +303 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/hell.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/mock.rb +240 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/parallel.rb +70 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/pride.rb +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/pride_plugin.rb +142 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/spec.rb +342 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/test.rb +220 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/unit.rb +45 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest.rb +1053 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/metametameta.rb +117 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_assertions.rb +1567 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_benchmark.rb +137 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_mock.rb +872 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_reporter.rb +299 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_spec.rb +1041 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_test.rb +1080 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/.gitignore +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/.ruby-gemset +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/.travis.yml +10 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/.yardopts +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/CHANGELOG.md +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/Gemfile +2 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/LICENSE +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/README.md +115 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/Rakefile +60 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/assets/default-reporter.png +0 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/assets/mean_time_reporter.png +0 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/assets/progress-reporter.png +0 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/assets/spec-reporter.png +0 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/extensible_backtrace_filter.rb +67 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/minitest_reporter_plugin.rb +75 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/old_activesupport_fix.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/relative_position.rb +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/ansi.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/base_reporter.rb +117 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/default_reporter.rb +228 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/html_reporter.rb +221 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/junit_reporter.rb +157 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/mean_time_reporter.rb +392 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/progress_reporter.rb +96 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/ruby_mate_reporter.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/rubymine_reporter.rb +117 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/spec_reporter.rb +61 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters/version.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/reporters.rb +89 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/lib/minitest/templates/index.html.erb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/minitest-reporters.gemspec +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/junit_filename_bug_example_test.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/mean_time_test.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/progress_detailed_skip_test.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/progress_test.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/sample_test.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/fixtures/spec_test.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/gallery/bad_test.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/gallery/good_test.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/integration/reporters/junit_reporter_test.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/integration/reporters/mean_time_reporter_test.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/integration/reporters/progress_reporter_test.rb +34 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/test_helper.rb +22 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/extensible_backtrace_filter_test.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/mean_time_reporter_unit_test.rb +152 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/minitest_reporter_plugin_test.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/reporters_test.rb +52 -0
- data/vendor/bundle/ruby/2.6.0/gems/minitest-reporters-1.2.0/test/unit/minitest/spec_reporter_test.rb +41 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/CONTRIBUTING.rdoc +43 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/Gemfile +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/History.rdoc +2344 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/README.rdoc +156 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/Rakefile +41 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/azure-pipelines.yml +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/bundle +105 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/console +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/rake +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/rdoc +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/rubocop +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/bin/setup +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/jamis.rb +592 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/rakefile.rdoc +622 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/exe/rake +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/application.rb +824 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/backtrace.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/clean.rb +78 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/cloneable.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/cpu_counter.rb +107 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/default_loader.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/dsl_definition.rb +195 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/early_time.rb +22 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/ext/core.rb +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/ext/string.rb +176 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_creation_task.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_list.rb +435 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_task.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_utils.rb +137 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/file_utils_ext.rb +145 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/invocation_chain.rb +57 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/invocation_exception_mixin.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/late_time.rb +18 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/linked_list.rb +112 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/loaders/makefile.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/multi_task.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/packagetask.rb +207 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/phony.rb +16 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/private_reader.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/promise.rb +100 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/pseudo_status.rb +30 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/rake_module.rb +67 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/scope.rb +43 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/task.rb +413 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/task_argument_error.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/task_arguments.rb +109 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/task_manager.rb +324 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/tasklib.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/testtask.rb +224 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/thread_history_display.rb +49 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/thread_pool.rb +163 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/trace_output.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/version.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake/win32.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/lib/rake.rb +71 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-12.3.3/rake.gemspec +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/LICENSE.txt +19 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/README.md +38 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/Rakefile +2 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/base.rb +183 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/calculators/length.rb +100 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/calculators/running_average.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/bar.rb +102 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/percentage.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/rate.rb +43 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/time.rb +107 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/title.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/formatter.rb +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/molecule.rb +60 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/string.rb +36 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/output.rb +68 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/null.rb +33 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/tty.rb +32 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/progress.rb +118 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/refinements/enumerator.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/refinements.rb +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/throttle.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/time.rb +32 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/timer.rb +72 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/version.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar.rb +22 -0
- data/vendor/bundle/ruby/2.6.0/specifications/ansi-1.5.0.gemspec +49 -0
- data/vendor/bundle/ruby/2.6.0/specifications/builder-3.2.4.gemspec +23 -0
- data/vendor/bundle/ruby/2.6.0/specifications/minitest-5.14.0.gemspec +41 -0
- data/vendor/bundle/ruby/2.6.0/specifications/minitest-reporters-1.2.0.gemspec +48 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rake-12.3.3.gemspec +49 -0
- data/vendor/bundle/ruby/2.6.0/specifications/ruby-progressbar-1.10.1.gemspec +46 -0
- 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
|
+
|