win32-api 1.6.0-universal-mingw32 → 1.6.1.beta1-universal-mingw32
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 +4 -4
- data/CHANGES +4 -0
- data/Gemfile.lock +5 -5
- data/Rakefile +45 -19
- data/appveyor.yml +12 -0
- data/appveyor/build.cmd +3 -0
- data/lib/win32/api.rb +8 -0
- data/lib/win32/ruby21_32/win32/api.so +0 -0
- data/lib/win32/ruby21_64/win32/api.so +0 -0
- data/lib/win32/ruby22_32/win32/api.so +0 -0
- data/lib/win32/ruby22_64/win32/api.so +0 -0
- data/lib/win32/ruby23_32/win32/api.so +0 -0
- data/lib/win32/ruby23_64/win32/api.so +0 -0
- data/lib/win32/ruby24_32/win32/api.so +0 -0
- data/lib/win32/ruby24_64/win32/api.so +0 -0
- data/lib/win32/ruby2_32/win32/api.so +0 -0
- data/lib/win32/ruby2_64/win32/api.so +0 -0
- data/win32-api.gemspec +1 -1
- metadata +8 -341
- data/vendor/bundle/ruby/2.2.0/bin/devkit +0 -23
- data/vendor/bundle/ruby/2.2.0/bin/devkit.bat +0 -6
- data/vendor/bundle/ruby/2.2.0/bin/rake +0 -23
- data/vendor/bundle/ruby/2.2.0/bin/rake.bat +0 -6
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/CHANGELOG +0 -55
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/LICENSE +0 -339
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/README.md +0 -73
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/Rakefile +0 -8
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/colorize.gemspec +0 -35
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize.rb +0 -12
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/class_methods.rb +0 -116
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb +0 -135
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/test/test_colorize.rb +0 -161
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Gemfile +0 -4
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/LICENSE.txt +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/README.md +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rakefile +0 -1
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rspec-example-matchers.txt +0 -184
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/bin/devkit +0 -87
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/devkit.gemspec +0 -27
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit.rb +0 -18
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/core.rb +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/identity.rb +0 -78
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/ssh_identity.rb +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/version.rb +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/core_spec.rb +0 -46
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/identity_spec.rb +0 -1
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/ssh_identity_spec.rb +0 -1
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit_spec.rb +0 -5
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/spec_helper.rb +0 -8
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/AUTHORS +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/COPYING +0 -339
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Changelog.md +0 -415
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Gemfile +0 -9
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/INSTALL +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/LICENSE +0 -7
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/README.rdoc +0 -74
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Rakefile +0 -30
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/TODO +0 -6
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/ansi_colors.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/asking_for_arrays.rb +0 -18
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/basic_usage.rb +0 -75
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/color_scheme.rb +0 -32
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/get_character.rb +0 -12
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/limit.rb +0 -12
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/menus.rb +0 -65
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/overwrite.rb +0 -19
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/page_and_wrap.rb +0 -322
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/password.rb +0 -7
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/repeat_entry.rb +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/trapping_eof.rb +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/using_readline.rb +0 -17
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/highline.gemspec +0 -37
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline.rb +0 -1048
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/color_scheme.rb +0 -134
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/compatibility.rb +0 -16
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/import.rb +0 -41
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/menu.rb +0 -381
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/question.rb +0 -480
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/simulate.rb +0 -48
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/style.rb +0 -192
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/version.rb +0 -4
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/setup.rb +0 -1360
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/highline.css +0 -65
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/images/logo.png +0 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/index.html +0 -58
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/string_methods.rb +0 -32
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_color_scheme.rb +0 -96
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_highline.rb +0 -1402
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_import.rb +0 -52
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_menu.rb +0 -439
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_simulator.rb +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_string_highline.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_style.rb +0 -578
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/BSDL +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/COPYING +0 -57
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Gemfile +0 -9
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/LEGAL +0 -4
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/README.rdoc +0 -19
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Rakefile +0 -16
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/bm_yhpg.rb +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/helper.rb +0 -8
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert.rb +0 -338
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/enable_tracepoint_events.rb +0 -82
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/version.rb +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/power_assert.gemspec +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/helper.rb +0 -10
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/test_power_assert.rb +0 -512
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/CONTRIBUTING.rdoc +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/History.rdoc +0 -719
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/MIT-LICENSE +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Manifest.txt +0 -154
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/README.rdoc +0 -157
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Rakefile +0 -82
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/bin/rake +0 -33
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/command_line_usage.rdoc +0 -158
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile1 +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile2 +0 -35
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/a.c +0 -6
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/b.c +0 -6
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/main.c +0 -11
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/glossary.rdoc +0 -42
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/jamis.rb +0 -591
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/proto_rake.rdoc +0 -127
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rake.1 +0 -141
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rakefile.rdoc +0 -624
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rational.rdoc +0 -151
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.14.rdoc +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.15.rdoc +0 -35
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.0.rdoc +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.3.rdoc +0 -78
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.4.rdoc +0 -46
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.6.0.rdoc +0 -141
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.0.rdoc +0 -119
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.1.rdoc +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.2.rdoc +0 -121
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.3.rdoc +0 -47
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.0.rdoc +0 -114
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.2.rdoc +0 -165
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.3.rdoc +0 -112
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.4.rdoc +0 -147
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.5.rdoc +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.6.rdoc +0 -37
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.7.rdoc +0 -55
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.0.rdoc +0 -112
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.1.rdoc +0 -52
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.rdoc +0 -49
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.3.rdoc +0 -102
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.4.rdoc +0 -60
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.5.rdoc +0 -55
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.6.rdoc +0 -64
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.0.rdoc +0 -178
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.1.rdoc +0 -58
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.2.rdoc +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.3.rdoc +0 -191
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.1.0.rdoc +0 -61
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake.rb +0 -73
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb +0 -787
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/backtrace.rb +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/clean.rb +0 -76
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cloneable.rb +0 -16
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/compositepublisher.rb +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/ftptools.rb +0 -137
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/sshpublisher.rb +0 -60
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cpu_counter.rb +0 -120
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/default_loader.rb +0 -14
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/dsl_definition.rb +0 -194
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/early_time.rb +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_creation_task.rb +0 -24
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_list.rb +0 -436
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_task.rb +0 -46
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_utils.rb +0 -123
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_chain.rb +0 -56
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_exception_mixin.rb +0 -16
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/late_time.rb +0 -17
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/linked_list.rb +0 -111
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/loaders/makefile.rb +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/multi_task.rb +0 -13
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/name_space.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/packagetask.rb +0 -199
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/phony.rb +0 -15
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/private_reader.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/promise.rb +0 -99
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/pseudo_status.rb +0 -29
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_module.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_test_loader.rb +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rule_recursion_overflow_error.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/scope.rb +0 -42
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task.rb +0 -391
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_argument_error.rb +0 -7
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_arguments.rb +0 -102
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_manager.rb +0 -316
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/tasklib.rb +0 -11
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/testtask.rb +0 -204
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_history_display.rb +0 -48
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_pool.rb +0 -163
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/trace_output.rb +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/version.rb +0 -7
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/win32.rb +0 -50
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/rakelib/test_times.rake +0 -25
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/file_creation.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/helper.rb +0 -134
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/rakefile_definitions.rb +0 -476
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/ruby_runner.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_private_reader.rb +0 -42
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake.rb +0 -40
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application.rb +0 -659
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application_options.rb +0 -468
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_backtrace.rb +0 -119
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_clean.rb +0 -61
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_cpu_counter.rb +0 -68
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_definitions.rb +0 -84
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_directory_task.rb +0 -76
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_dsl.rb +0 -40
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_early_time.rb +0 -31
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_creation_task.rb +0 -56
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list.rb +0 -687
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list_path_map.rb +0 -15
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_task.rb +0 -197
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_utils.rb +0 -318
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_ftp_file.rb +0 -74
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_functional.rb +0 -484
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_invocation_chain.rb +0 -64
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_late_time.rb +0 -18
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_linked_list.rb +0 -84
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_makefile_loader.rb +0 -46
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_multi_task.rb +0 -64
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_name_space.rb +0 -57
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_package_task.rb +0 -79
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map.rb +0 -168
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_explode.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_partial.rb +0 -18
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_pseudo_status.rb +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rake_test_loader.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_reduce_compat.rb +0 -26
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_require.rb +0 -40
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rules.rb +0 -388
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_scope.rb +0 -44
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task.rb +0 -430
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_argument_parsing.rb +0 -119
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_arguments.rb +0 -134
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager.rb +0 -178
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager_argument_resolution.rb +0 -19
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_with_arguments.rb +0 -172
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_test_task.rb +0 -130
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_thread_pool.rb +0 -145
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_top_level_functions.rb +0 -71
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_win32.rb +0 -72
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_thread_history_display.rb +0 -101
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_trace_output.rb +0 -52
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/COPYING +0 -64
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/GPL +0 -339
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/LGPL +0 -502
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/PSFL +0 -271
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/README.md +0 -101
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/Rakefile +0 -71
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test-unit.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit.rb +0 -505
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertion-failed-error.rb +0 -25
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertions.rb +0 -2218
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute-matcher.rb +0 -26
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute.rb +0 -158
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/auto-runner-loader.rb +0 -17
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/autorunner.rb +0 -536
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/code-snippet-fetcher.rb +0 -58
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector.rb +0 -73
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/descendant.rb +0 -19
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/dir.rb +0 -108
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/load.rb +0 -202
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/objectspace.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/xml.rb +0 -249
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color-scheme.rb +0 -198
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color.rb +0 -134
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/data.rb +0 -262
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/diff.rb +0 -746
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/error.rb +0 -158
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/exception-handler.rb +0 -82
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/failure.rb +0 -169
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fault-location-detector.rb +0 -100
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fixture.rb +0 -295
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/notification.rb +0 -136
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/omission.rb +0 -195
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/pending.rb +0 -154
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/priority.rb +0 -192
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/console.rb +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/emacs.rb +0 -8
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/xml.rb +0 -15
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/test-suite-creator.rb +0 -89
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testcase.rb +0 -811
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testresult.rb +0 -132
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testsuite.rb +0 -175
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/outputlevel.rb +0 -15
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/testrunner.rb +0 -693
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/emacs/testrunner.rb +0 -49
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunner.rb +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnermediator.rb +0 -114
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnerutilities.rb +0 -41
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/xml/testrunner.rb +0 -224
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/backtracefilter.rb +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/method-owner-finder.rb +0 -28
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/observable.rb +0 -90
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/output.rb +0 -31
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/procwrapper.rb +0 -48
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/version.rb +0 -5
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/adder.rb +0 -13
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/subtracter.rb +0 -12
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_adder.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_subtracter.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_user.rb +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-descendant.rb +0 -178
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-load.rb +0 -442
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_dir.rb +0 -406
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_objectspace.rb +0 -100
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.csv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.tsv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.csv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.tsv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.csv +0 -2
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.tsv +0 -2
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/plus.csv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/run-test.rb +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-assertions.rb +0 -2160
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute-matcher.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute.rb +0 -123
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-code-snippet.rb +0 -37
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color-scheme.rb +0 -82
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color.rb +0 -47
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-data.rb +0 -303
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-diff.rb +0 -518
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-emacs-runner.rb +0 -60
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-error.rb +0 -26
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-failure.rb +0 -33
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fault-location-detector.rb +0 -163
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fixture.rb +0 -713
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-notification.rb +0 -33
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-omission.rb +0 -81
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-pending.rb +0 -70
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-priority.rb +0 -173
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-case.rb +0 -1171
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-result.rb +0 -113
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite-creator.rb +0 -97
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite.rb +0 -150
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/testunit-test-util.rb +0 -31
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/ui/test_testrunmediator.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-method-owner-finder.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-output.rb +0 -11
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_backtracefilter.rb +0 -52
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_observable.rb +0 -102
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_procwrapper.rb +0 -36
- data/vendor/bundle/ruby/2.2.0/specifications/colorize-0.7.7.gemspec +0 -38
- data/vendor/bundle/ruby/2.2.0/specifications/devkit-0.1.0.gemspec +0 -46
- data/vendor/bundle/ruby/2.2.0/specifications/highline-1.7.8.gemspec +0 -37
- data/vendor/bundle/ruby/2.2.0/specifications/power_assert-0.3.0.gemspec +0 -41
- data/vendor/bundle/ruby/2.2.0/specifications/rake-11.1.2.gemspec +0 -43
- data/vendor/bundle/ruby/2.2.0/specifications/test-unit-3.1.9.gemspec +0 -47
| @@ -1,22 +0,0 @@ | |
| 1 | 
            -
            Copyright (C) 2014-2016 Kazuki Tsujimoto, All rights reserved.
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            Redistribution and use in source and binary forms, with or without
         | 
| 4 | 
            -
            modification, are permitted provided that the following conditions
         | 
| 5 | 
            -
            are met:
         | 
| 6 | 
            -
            1. Redistributions of source code must retain the above copyright
         | 
| 7 | 
            -
            notice, this list of conditions and the following disclaimer.
         | 
| 8 | 
            -
            2. Redistributions in binary form must reproduce the above copyright
         | 
| 9 | 
            -
            notice, this list of conditions and the following disclaimer in the
         | 
| 10 | 
            -
            documentation and/or other materials provided with the distribution.
         | 
| 11 | 
            -
             | 
| 12 | 
            -
            THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
         | 
| 13 | 
            -
            ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
         | 
| 14 | 
            -
            IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
         | 
| 15 | 
            -
            ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
         | 
| 16 | 
            -
            FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
         | 
| 17 | 
            -
            DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
         | 
| 18 | 
            -
            OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
         | 
| 19 | 
            -
            HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
         | 
| 20 | 
            -
            LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
         | 
| 21 | 
            -
            OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
         | 
| 22 | 
            -
            SUCH DAMAGE.
         | 
| @@ -1,57 +0,0 @@ | |
| 1 | 
            -
            Copyright (C) 2014-2016 Kazuki Tsujimoto, All rights reserved.
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            You can redistribute it and/or modify it under either the terms of the
         | 
| 4 | 
            -
            2-clause BSDL (see the file BSDL), or the conditions below:
         | 
| 5 | 
            -
             | 
| 6 | 
            -
              1. You may make and give away verbatim copies of the source form of the
         | 
| 7 | 
            -
                 software without restriction, provided that you duplicate all of the
         | 
| 8 | 
            -
                 original copyright notices and associated disclaimers.
         | 
| 9 | 
            -
             | 
| 10 | 
            -
              2. You may modify your copy of the software in any way, provided that
         | 
| 11 | 
            -
                 you do at least ONE of the following:
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                   a) place your modifications in the Public Domain or otherwise
         | 
| 14 | 
            -
                      make them Freely Available, such as by posting said
         | 
| 15 | 
            -
            	  modifications to Usenet or an equivalent medium, or by allowing
         | 
| 16 | 
            -
            	  the author to include your modifications in the software.
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                   b) use the modified software only within your corporation or
         | 
| 19 | 
            -
                      organization.
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                   c) give non-standard binaries non-standard names, with
         | 
| 22 | 
            -
                      instructions on where to get the original software distribution.
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                   d) make other distribution arrangements with the author.
         | 
| 25 | 
            -
             | 
| 26 | 
            -
              3. You may distribute the software in object code or binary form,
         | 
| 27 | 
            -
                 provided that you do at least ONE of the following:
         | 
| 28 | 
            -
             | 
| 29 | 
            -
                   a) distribute the binaries and library files of the software,
         | 
| 30 | 
            -
            	  together with instructions (in the manual page or equivalent)
         | 
| 31 | 
            -
            	  on where to get the original distribution.
         | 
| 32 | 
            -
             | 
| 33 | 
            -
                   b) accompany the distribution with the machine-readable source of
         | 
| 34 | 
            -
            	  the software.
         | 
| 35 | 
            -
             | 
| 36 | 
            -
                   c) give non-standard binaries non-standard names, with
         | 
| 37 | 
            -
                      instructions on where to get the original software distribution.
         | 
| 38 | 
            -
             | 
| 39 | 
            -
                   d) make other distribution arrangements with the author.
         | 
| 40 | 
            -
             | 
| 41 | 
            -
              4. You may modify and include the part of the software into any other
         | 
| 42 | 
            -
                 software (possibly commercial).  But some files in the distribution
         | 
| 43 | 
            -
                 are not written by the author, so that they are not under these terms.
         | 
| 44 | 
            -
             | 
| 45 | 
            -
                 For the list of those files and their copying conditions, see the
         | 
| 46 | 
            -
                 file LEGAL.
         | 
| 47 | 
            -
             | 
| 48 | 
            -
              5. The scripts and library files supplied as input to or produced as
         | 
| 49 | 
            -
                 output from the software do not automatically fall under the
         | 
| 50 | 
            -
                 copyright of the software, but belong to whomever generated them,
         | 
| 51 | 
            -
                 and may be sold commercially, and may be aggregated with this
         | 
| 52 | 
            -
                 software.
         | 
| 53 | 
            -
             | 
| 54 | 
            -
              6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
         | 
| 55 | 
            -
                 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
         | 
| 56 | 
            -
                 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
         | 
| 57 | 
            -
                 PURPOSE.
         | 
| @@ -1,19 +0,0 @@ | |
| 1 | 
            -
            = power_assert
         | 
| 2 | 
            -
            == About
         | 
| 3 | 
            -
            Power Assert for Ruby.
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            == Related Projects
         | 
| 6 | 
            -
            * {test-unit}[https://github.com/test-unit/test-unit](>= 3.0.0)
         | 
| 7 | 
            -
            * {test-unit-power_assert}[https://github.com/k-tsj/test-unit-power_assert]
         | 
| 8 | 
            -
            * {minitest-power_assert}[https://github.com/hsbt/minitest-power_assert]
         | 
| 9 | 
            -
            * {pry-power_assert}[https://github.com/yui-knk/pry-power_assert]
         | 
| 10 | 
            -
            * {rspec-power_assert}[https://github.com/joker1007/rspec-power_assert]
         | 
| 11 | 
            -
            * {power_p}[https://github.com/k-tsj/power_p]
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            == Requirement
         | 
| 14 | 
            -
            * CRuby 2.0.0 or later
         | 
| 15 | 
            -
             | 
| 16 | 
            -
            == Reference
         | 
| 17 | 
            -
            * {Power Assert in Ruby (at RubyKaigi 2014) // Speaker Deck}[https://speakerdeck.com/k_tsj/power-assert-in-ruby]
         | 
| 18 | 
            -
             | 
| 19 | 
            -
            == Travis Build Status {<img src="https://secure.travis-ci.org/k-tsj/power_assert.png?branch=master"/>}[http://travis-ci.org/k-tsj/power_assert]
         | 
| @@ -1,16 +0,0 @@ | |
| 1 | 
            -
            require "bundler/gem_tasks"
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "rake/testtask"
         | 
| 4 | 
            -
            task :default => :test
         | 
| 5 | 
            -
            Rake::TestTask.new do |t|
         | 
| 6 | 
            -
              # helper(simplecov) must be required before loading power_assert
         | 
| 7 | 
            -
              t.ruby_opts = ["-w", "-r./test/helper"]
         | 
| 8 | 
            -
              t.test_files = FileList["test/test_*.rb"]
         | 
| 9 | 
            -
            end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            desc "Run the benchmark suite"
         | 
| 12 | 
            -
            task('benchmark') do
         | 
| 13 | 
            -
              Dir.glob('benchmarks/bm_*.rb').each do |f|
         | 
| 14 | 
            -
                load(f)
         | 
| 15 | 
            -
              end
         | 
| 16 | 
            -
            end
         | 
| @@ -1,59 +0,0 @@ | |
| 1 | 
            -
            # Yhpg
         | 
| 2 | 
            -
            #   https://gist.github.com/yancya/37d79e02a91afcfdeed1
         | 
| 3 | 
            -
            #
         | 
| 4 | 
            -
            # Auhtor: yancya
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            require_relative 'helper'
         | 
| 7 | 
            -
             | 
| 8 | 
            -
            class Yhpg
         | 
| 9 | 
            -
              MAPPING = [*'0'..'9', *'A'..'Z', *'a'..'z']
         | 
| 10 | 
            -
             | 
| 11 | 
            -
              def initialize(data)
         | 
| 12 | 
            -
                @n, @list = data.split(":").tap { |n, list| break [n.to_i, list.split(",").map { |str| Yhpg.decode(str) }] }
         | 
| 13 | 
            -
                x_nominee = @list.map { |x, _| x }.map { |x| [x, x + 1] }.flatten.tap { |a| a.push(*[0, 62])}.uniq
         | 
| 14 | 
            -
                y_nominee = @list.map { |_, y| y }.map { |y| [y, y + 1] }.flatten.tap { |a| a.push(*[0, 62])}.uniq
         | 
| 15 | 
            -
                x_range_patterns = x_nominee.combination(2).map { |a| (a.min..a.max) }
         | 
| 16 | 
            -
                y_range_patterns = y_nominee.combination(2).map { |a| (a.min..a.max) }
         | 
| 17 | 
            -
                squares = x_range_patterns.product(y_range_patterns)
         | 
| 18 | 
            -
                targets = squares.select { |xrange, yrange| @list.select { |p| check(xrange, yrange, p) }.size == @n }
         | 
| 19 | 
            -
                @areas = targets.map { |x, y| [(x.max - x.min) * (y.max - y.min), x, y] }
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
              def debug
         | 
| 23 | 
            -
                p [@areas.min_by(&:first), @areas.max_by(&:first)]
         | 
| 24 | 
            -
              end
         | 
| 25 | 
            -
             | 
| 26 | 
            -
              def Yhpg.decode(str)
         | 
| 27 | 
            -
                str.chars.map { |w| MAPPING.index(w) }
         | 
| 28 | 
            -
              end
         | 
| 29 | 
            -
             | 
| 30 | 
            -
              def check(xrange, yrange, target)
         | 
| 31 | 
            -
                x, y = target
         | 
| 32 | 
            -
                (xrange.include?(x) && xrange.include?(x + 1)) &&
         | 
| 33 | 
            -
                  (yrange.include?(y) && yrange.include?(y + 1))
         | 
| 34 | 
            -
              end
         | 
| 35 | 
            -
             | 
| 36 | 
            -
              def output
         | 
| 37 | 
            -
                case res = [@areas.map(&:first).min, @areas.map(&:first).max].join(',')
         | 
| 38 | 
            -
                when ','
         | 
| 39 | 
            -
                  '-'
         | 
| 40 | 
            -
                else
         | 
| 41 | 
            -
                  res
         | 
| 42 | 
            -
                end
         | 
| 43 | 
            -
              end
         | 
| 44 | 
            -
            end
         | 
| 45 | 
            -
             | 
| 46 | 
            -
            [
         | 
| 47 | 
            -
              ["4:00,11,zz,yy,1y,y1", "3600,3721"], # /*05*/
         | 
| 48 | 
            -
            ].each do |(actual, expect)|
         | 
| 49 | 
            -
              Benchmark.bm(30) do |x|
         | 
| 50 | 
            -
                x.report("expr") { Yhpg.new(actual).output == expect }
         | 
| 51 | 
            -
                x.report("TracePoint.trace { expr }") { TracePoint.new(:return, :c_return) {}.enable { Yhpg.new(actual).output == expect } }
         | 
| 52 | 
            -
                x.report("assertion_message { expr }") {
         | 
| 53 | 
            -
                  assertion_message { Yhpg.new(actual).output == expect }
         | 
| 54 | 
            -
                }
         | 
| 55 | 
            -
                x.report("assertion_message { !expr }") {
         | 
| 56 | 
            -
                  assertion_message { not Yhpg.new(actual).output == expect }
         | 
| 57 | 
            -
                }
         | 
| 58 | 
            -
              end
         | 
| 59 | 
            -
            end
         | 
| @@ -1,8 +0,0 @@ | |
| 1 | 
            -
            require 'benchmark'
         | 
| 2 | 
            -
            require 'power_assert'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            def assertion_message(source = nil, source_binding = TOPLEVEL_BINDING, &blk)
         | 
| 5 | 
            -
              ::PowerAssert.start(source || blk, assertion_method: __callee__, source_binding: source_binding) do |pa|
         | 
| 6 | 
            -
                pa.message unless pa.yield
         | 
| 7 | 
            -
              end
         | 
| 8 | 
            -
            end
         | 
| @@ -1,338 +0,0 @@ | |
| 1 | 
            -
            # power_assert.rb
         | 
| 2 | 
            -
            #
         | 
| 3 | 
            -
            # Copyright (C) 2014-2016 Kazuki Tsujimoto, All rights reserved.
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            begin
         | 
| 6 | 
            -
              captured = false
         | 
| 7 | 
            -
              TracePoint.new(:return, :c_return) do |tp|
         | 
| 8 | 
            -
                captured = true
         | 
| 9 | 
            -
                unless tp.binding and tp.return_value
         | 
| 10 | 
            -
                  raise
         | 
| 11 | 
            -
                end
         | 
| 12 | 
            -
              end.enable { __id__ }
         | 
| 13 | 
            -
              raise unless captured
         | 
| 14 | 
            -
            rescue
         | 
| 15 | 
            -
              raise LoadError, 'Fully compatible TracePoint API required'
         | 
| 16 | 
            -
            end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            require 'power_assert/version'
         | 
| 19 | 
            -
            require 'power_assert/enable_tracepoint_events'
         | 
| 20 | 
            -
            require 'ripper'
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            module PowerAssert
         | 
| 23 | 
            -
              class << self
         | 
| 24 | 
            -
                def configuration
         | 
| 25 | 
            -
                  @configuration ||= Configuration[false, false]
         | 
| 26 | 
            -
                end
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                def configure
         | 
| 29 | 
            -
                  yield configuration
         | 
| 30 | 
            -
                end
         | 
| 31 | 
            -
             | 
| 32 | 
            -
                def start(assertion_proc_or_source, assertion_method: nil, source_binding: TOPLEVEL_BINDING)
         | 
| 33 | 
            -
                  if respond_to?(:clear_global_method_cache, true)
         | 
| 34 | 
            -
                    clear_global_method_cache
         | 
| 35 | 
            -
                  end
         | 
| 36 | 
            -
                  yield Context.new(assertion_proc_or_source, assertion_method, source_binding)
         | 
| 37 | 
            -
                end
         | 
| 38 | 
            -
             | 
| 39 | 
            -
                private
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                if defined?(RubyVM)
         | 
| 42 | 
            -
                  def clear_global_method_cache
         | 
| 43 | 
            -
                    eval('using PowerAssert.const_get(:Empty)', TOPLEVEL_BINDING)
         | 
| 44 | 
            -
                  end
         | 
| 45 | 
            -
                end
         | 
| 46 | 
            -
              end
         | 
| 47 | 
            -
             | 
| 48 | 
            -
              Configuration = Struct.new(:lazy_inspection, :_trace_alias_method)
         | 
| 49 | 
            -
              private_constant :Configuration
         | 
| 50 | 
            -
             | 
| 51 | 
            -
              module Empty
         | 
| 52 | 
            -
              end
         | 
| 53 | 
            -
              private_constant :Empty
         | 
| 54 | 
            -
             | 
| 55 | 
            -
              class InspectedValue
         | 
| 56 | 
            -
                def initialize(value)
         | 
| 57 | 
            -
                  @value = value
         | 
| 58 | 
            -
                end
         | 
| 59 | 
            -
             | 
| 60 | 
            -
                def inspect
         | 
| 61 | 
            -
                  @value
         | 
| 62 | 
            -
                end
         | 
| 63 | 
            -
              end
         | 
| 64 | 
            -
              private_constant :InspectedValue
         | 
| 65 | 
            -
             | 
| 66 | 
            -
              class SafeInspectable
         | 
| 67 | 
            -
                def initialize(value)
         | 
| 68 | 
            -
                  @value = value
         | 
| 69 | 
            -
                end
         | 
| 70 | 
            -
             | 
| 71 | 
            -
                def inspect
         | 
| 72 | 
            -
                  inspected = @value.inspect
         | 
| 73 | 
            -
                  if Encoding.compatible?(Encoding.default_external, inspected)
         | 
| 74 | 
            -
                    inspected
         | 
| 75 | 
            -
                  else
         | 
| 76 | 
            -
                    begin
         | 
| 77 | 
            -
                      "#{inspected.encode(Encoding.default_external)}(#{inspected.encoding})"
         | 
| 78 | 
            -
                    rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
         | 
| 79 | 
            -
                      inspected.force_encoding(Encoding.default_external)
         | 
| 80 | 
            -
                    end
         | 
| 81 | 
            -
                  end
         | 
| 82 | 
            -
                rescue => e
         | 
| 83 | 
            -
                  "InspectionFailure: #{e.class}: #{e.message.each_line.first}"
         | 
| 84 | 
            -
                end
         | 
| 85 | 
            -
              end
         | 
| 86 | 
            -
              private_constant :SafeInspectable
         | 
| 87 | 
            -
             | 
| 88 | 
            -
              class Context
         | 
| 89 | 
            -
                Value = Struct.new(:name, :value, :column)
         | 
| 90 | 
            -
                Ident = Struct.new(:type, :name, :column)
         | 
| 91 | 
            -
             | 
| 92 | 
            -
                TARGET_CALLER_DIFF = {return: 5, c_return: 4}
         | 
| 93 | 
            -
                TARGET_INDEX_OFFSET = 2
         | 
| 94 | 
            -
             | 
| 95 | 
            -
                attr_reader :message_proc
         | 
| 96 | 
            -
             | 
| 97 | 
            -
                def initialize(assertion_proc_or_source, assertion_method, source_binding)
         | 
| 98 | 
            -
                  if assertion_proc_or_source.kind_of?(Proc)
         | 
| 99 | 
            -
                    @assertion_proc = assertion_proc_or_source
         | 
| 100 | 
            -
                    @line = nil
         | 
| 101 | 
            -
                  else
         | 
| 102 | 
            -
                    @assertion_proc = source_binding.eval "Proc.new {#{assertion_proc_or_source}}"
         | 
| 103 | 
            -
                    @line = assertion_proc_or_source
         | 
| 104 | 
            -
                  end
         | 
| 105 | 
            -
                  path = nil
         | 
| 106 | 
            -
                  lineno = nil
         | 
| 107 | 
            -
                  methods = nil
         | 
| 108 | 
            -
                  refs = nil
         | 
| 109 | 
            -
                  method_ids = nil
         | 
| 110 | 
            -
                  return_values = []
         | 
| 111 | 
            -
                  @base_caller_length = -1
         | 
| 112 | 
            -
                  @assertion_method_name = assertion_method.to_s
         | 
| 113 | 
            -
                  @message_proc = -> {
         | 
| 114 | 
            -
                    raise RuntimeError, 'call #yield at first' if @base_caller_length < 0
         | 
| 115 | 
            -
                    @message ||= build_assertion_message(@line || '', methods || [], return_values, refs || [], @assertion_proc.binding).freeze
         | 
| 116 | 
            -
                  }
         | 
| 117 | 
            -
                  @proc_local_variables = @assertion_proc.binding.eval('local_variables').map(&:to_s)
         | 
| 118 | 
            -
                  target_thread = Thread.current
         | 
| 119 | 
            -
                  @trace_call = TracePoint.new(:call, :c_call) do |tp|
         | 
| 120 | 
            -
                    next if @base_caller_length < 0
         | 
| 121 | 
            -
                    locs = caller_locations
         | 
| 122 | 
            -
                    if locs.length >= @base_caller_length+TARGET_INDEX_OFFSET and Thread.current == target_thread
         | 
| 123 | 
            -
                      idx = -(@base_caller_length+TARGET_INDEX_OFFSET)
         | 
| 124 | 
            -
                      path = locs[idx].path
         | 
| 125 | 
            -
                      lineno = locs[idx].lineno
         | 
| 126 | 
            -
                      @line ||= open(path).each_line.drop(lineno - 1).first
         | 
| 127 | 
            -
                      idents = extract_idents(Ripper.sexp(@line))
         | 
| 128 | 
            -
                      methods, refs = idents.partition {|i| i.type == :method }
         | 
| 129 | 
            -
                      method_ids = methods.map(&:name).map(&:to_sym).each_with_object({}) {|i, h| h[i] = true }
         | 
| 130 | 
            -
                      @trace_call.disable
         | 
| 131 | 
            -
                    end
         | 
| 132 | 
            -
                  end
         | 
| 133 | 
            -
                  trace_alias_method = PowerAssert.configuration._trace_alias_method
         | 
| 134 | 
            -
                  @trace = TracePoint.new(:return, :c_return) do |tp|
         | 
| 135 | 
            -
                    method_id = (trace_alias_method &&
         | 
| 136 | 
            -
                                 tp.event == :return &&
         | 
| 137 | 
            -
                                 tp.binding.eval('::Kernel.__callee__')) || tp.method_id
         | 
| 138 | 
            -
                    next if method_ids and ! method_ids[method_id]
         | 
| 139 | 
            -
                    next unless tp.binding # workaround for ruby 2.2
         | 
| 140 | 
            -
                    if tp.event == :c_return
         | 
| 141 | 
            -
                      loc = tp.binding.eval('[__LINE__, __FILE__]')
         | 
| 142 | 
            -
                      next unless lineno == loc[0] and path == loc[1]
         | 
| 143 | 
            -
                    end
         | 
| 144 | 
            -
                    locs = tp.binding.eval('::Kernel.caller_locations')
         | 
| 145 | 
            -
                    current_diff = locs.length - @base_caller_length
         | 
| 146 | 
            -
                    if current_diff <= TARGET_CALLER_DIFF[tp.event] and Thread.current == target_thread
         | 
| 147 | 
            -
                      idx = -(@base_caller_length+TARGET_INDEX_OFFSET)
         | 
| 148 | 
            -
                      if path == locs[idx].path and lineno == locs[idx].lineno
         | 
| 149 | 
            -
                        val = PowerAssert.configuration.lazy_inspection ?
         | 
| 150 | 
            -
                          tp.return_value :
         | 
| 151 | 
            -
                          InspectedValue.new(SafeInspectable.new(tp.return_value).inspect)
         | 
| 152 | 
            -
                        return_values << Value[method_id.to_s, val, nil]
         | 
| 153 | 
            -
                      end
         | 
| 154 | 
            -
                    end
         | 
| 155 | 
            -
                  end
         | 
| 156 | 
            -
                end
         | 
| 157 | 
            -
             | 
| 158 | 
            -
                def yield
         | 
| 159 | 
            -
                  @trace_call.enable do
         | 
| 160 | 
            -
                    do_yield(&@assertion_proc)
         | 
| 161 | 
            -
                  end
         | 
| 162 | 
            -
                end
         | 
| 163 | 
            -
             | 
| 164 | 
            -
                def message
         | 
| 165 | 
            -
                  @message_proc.()
         | 
| 166 | 
            -
                end
         | 
| 167 | 
            -
             | 
| 168 | 
            -
                private
         | 
| 169 | 
            -
             | 
| 170 | 
            -
                def do_yield
         | 
| 171 | 
            -
                  @trace.enable do
         | 
| 172 | 
            -
                    @base_caller_length = caller_locations.length
         | 
| 173 | 
            -
                    yield
         | 
| 174 | 
            -
                  end
         | 
| 175 | 
            -
                end
         | 
| 176 | 
            -
             | 
| 177 | 
            -
                def build_assertion_message(line, methods, return_values, refs, proc_binding)
         | 
| 178 | 
            -
                  set_column(methods, return_values)
         | 
| 179 | 
            -
                  ref_values = refs.map {|i| Value[i.name, proc_binding.eval(i.name), i.column] }
         | 
| 180 | 
            -
                  vals = (return_values + ref_values).find_all(&:column).sort_by(&:column).reverse
         | 
| 181 | 
            -
                  if vals.empty?
         | 
| 182 | 
            -
                    return line
         | 
| 183 | 
            -
                  end
         | 
| 184 | 
            -
                  fmt = (0..vals[0].column).map {|i| vals.find {|v| v.column == i } ? "%<#{i}>s" : ' '  }.join
         | 
| 185 | 
            -
                  lines = []
         | 
| 186 | 
            -
                  lines << line.chomp
         | 
| 187 | 
            -
                  lines << sprintf(fmt, vals.each_with_object({}) {|v, h| h[v.column.to_s.to_sym] = '|' }).chomp
         | 
| 188 | 
            -
                  vals.each do |i|
         | 
| 189 | 
            -
                    inspected_vals = vals.each_with_object({}) do |j, h|
         | 
| 190 | 
            -
                      h[j.column.to_s.to_sym] = [SafeInspectable.new(i.value).inspect, '|', ' '][i.column <=> j.column]
         | 
| 191 | 
            -
                    end
         | 
| 192 | 
            -
                    lines << encoding_safe_rstrip(sprintf(fmt, inspected_vals))
         | 
| 193 | 
            -
                  end
         | 
| 194 | 
            -
                  lines.join("\n")
         | 
| 195 | 
            -
                end
         | 
| 196 | 
            -
             | 
| 197 | 
            -
                def set_column(methods, return_values)
         | 
| 198 | 
            -
                  methods = methods.dup
         | 
| 199 | 
            -
                  return_values.each do |val|
         | 
| 200 | 
            -
                    idx = methods.index {|method| method.name == val.name }
         | 
| 201 | 
            -
                    if idx
         | 
| 202 | 
            -
                      val.column = methods.delete_at(idx).column
         | 
| 203 | 
            -
                    end
         | 
| 204 | 
            -
                  end
         | 
| 205 | 
            -
                end
         | 
| 206 | 
            -
             | 
| 207 | 
            -
                def encoding_safe_rstrip(str)
         | 
| 208 | 
            -
                  str.rstrip
         | 
| 209 | 
            -
                rescue ArgumentError, Encoding::CompatibilityError
         | 
| 210 | 
            -
                  enc = str.encoding
         | 
| 211 | 
            -
                  if enc.ascii_compatible?
         | 
| 212 | 
            -
                    str.b.rstrip.force_encoding(enc)
         | 
| 213 | 
            -
                  else
         | 
| 214 | 
            -
                    str
         | 
| 215 | 
            -
                  end
         | 
| 216 | 
            -
                end
         | 
| 217 | 
            -
             | 
| 218 | 
            -
                def extract_idents(sexp)
         | 
| 219 | 
            -
                  tag, * = sexp
         | 
| 220 | 
            -
                  case tag
         | 
| 221 | 
            -
                  when :arg_paren, :assoc_splat, :fcall, :hash, :method_add_block, :string_literal
         | 
| 222 | 
            -
                    extract_idents(sexp[1])
         | 
| 223 | 
            -
                  when :assign, :massign
         | 
| 224 | 
            -
                    extract_idents(sexp[2])
         | 
| 225 | 
            -
                  when :assoclist_from_args, :bare_assoc_hash, :dyna_symbol, :paren, :string_embexpr,
         | 
| 226 | 
            -
                    :regexp_literal, :xstring_literal
         | 
| 227 | 
            -
                    sexp[1].flat_map {|s| extract_idents(s) }
         | 
| 228 | 
            -
                  when :assoc_new, :command, :dot2, :dot3, :string_content
         | 
| 229 | 
            -
                    sexp[1..-1].flat_map {|s| extract_idents(s) }
         | 
| 230 | 
            -
                  when :unary
         | 
| 231 | 
            -
                    handle_columnless_ident([], sexp[1], extract_idents(sexp[2]))
         | 
| 232 | 
            -
                  when :binary
         | 
| 233 | 
            -
                    handle_columnless_ident(extract_idents(sexp[1]), sexp[2], extract_idents(sexp[3]))
         | 
| 234 | 
            -
                  when :call
         | 
| 235 | 
            -
                    if sexp[3] == :call
         | 
| 236 | 
            -
                      handle_columnless_ident(extract_idents(sexp[1]), :call, [])
         | 
| 237 | 
            -
                    else
         | 
| 238 | 
            -
                      [sexp[1], sexp[3]].flat_map {|s| extract_idents(s) }
         | 
| 239 | 
            -
                    end
         | 
| 240 | 
            -
                  when :array
         | 
| 241 | 
            -
                    sexp[1] ? sexp[1].flat_map {|s| extract_idents(s) } : []
         | 
| 242 | 
            -
                  when :command_call
         | 
| 243 | 
            -
                    [sexp[1], sexp[4], sexp[3]].flat_map {|s| extract_idents(s) }
         | 
| 244 | 
            -
                  when :aref
         | 
| 245 | 
            -
                    handle_columnless_ident(extract_idents(sexp[1]), :[], extract_idents(sexp[2]))
         | 
| 246 | 
            -
                  when :method_add_arg
         | 
| 247 | 
            -
                    idents = extract_idents(sexp[1])
         | 
| 248 | 
            -
                    if idents.empty?
         | 
| 249 | 
            -
                      # idents may be empty(e.g. ->{}.())
         | 
| 250 | 
            -
                      extract_idents(sexp[2])
         | 
| 251 | 
            -
                    else
         | 
| 252 | 
            -
                      idents[0..-2] + extract_idents(sexp[2]) + [idents[-1]]
         | 
| 253 | 
            -
                    end
         | 
| 254 | 
            -
                  when :args_add_block
         | 
| 255 | 
            -
                    _, (tag, ss0, *ss1), _ = sexp
         | 
| 256 | 
            -
                    if tag == :args_add_star
         | 
| 257 | 
            -
                      (ss0 + ss1).flat_map {|s| extract_idents(s) }
         | 
| 258 | 
            -
                    else
         | 
| 259 | 
            -
                      sexp[1].flat_map {|s| extract_idents(s) }
         | 
| 260 | 
            -
                    end
         | 
| 261 | 
            -
                  when :vcall
         | 
| 262 | 
            -
                    _, (tag, name, (_, column)) = sexp
         | 
| 263 | 
            -
                    if tag == :@ident
         | 
| 264 | 
            -
                      [Ident[@proc_local_variables.include?(name) ? :ref : :method, name, column]]
         | 
| 265 | 
            -
                    else
         | 
| 266 | 
            -
                      []
         | 
| 267 | 
            -
                    end
         | 
| 268 | 
            -
                  when :program
         | 
| 269 | 
            -
                    _, ((tag0, (tag1, (tag2, (tag3, mname, _)), _), (tag4, _, ss))) = sexp
         | 
| 270 | 
            -
                    if tag0 == :method_add_block and tag1 == :method_add_arg and tag2 == :fcall and
         | 
| 271 | 
            -
                        (tag3 == :@ident or tag3 == :@const) and mname == @assertion_method_name and (tag4 == :brace_block or tag4 == :do_block)
         | 
| 272 | 
            -
                      ss.flat_map {|s| extract_idents(s) }
         | 
| 273 | 
            -
                    else
         | 
| 274 | 
            -
                      _, (s, *) = sexp
         | 
| 275 | 
            -
                      extract_idents(s)
         | 
| 276 | 
            -
                    end
         | 
| 277 | 
            -
                  when :var_ref
         | 
| 278 | 
            -
                    _, (tag, ref_name, (_, column)) = sexp
         | 
| 279 | 
            -
                    case tag
         | 
| 280 | 
            -
                    when :@kw
         | 
| 281 | 
            -
                      if ref_name == 'self'
         | 
| 282 | 
            -
                        [Ident[:ref, 'self', column]]
         | 
| 283 | 
            -
                      else
         | 
| 284 | 
            -
                        []
         | 
| 285 | 
            -
                      end
         | 
| 286 | 
            -
                    when :@const, :@cvar, :@ivar, :@gvar
         | 
| 287 | 
            -
                      [Ident[:ref, ref_name, column]]
         | 
| 288 | 
            -
                    else
         | 
| 289 | 
            -
                      []
         | 
| 290 | 
            -
                    end
         | 
| 291 | 
            -
                  when :@ident, :@const
         | 
| 292 | 
            -
                    _, method_name, (_, column) = sexp
         | 
| 293 | 
            -
                    [Ident[:method, method_name, column]]
         | 
| 294 | 
            -
                  else
         | 
| 295 | 
            -
                    []
         | 
| 296 | 
            -
                  end
         | 
| 297 | 
            -
                end
         | 
| 298 | 
            -
             | 
| 299 | 
            -
                def str_indices(str, re, offset, limit)
         | 
| 300 | 
            -
                  idx = str.index(re, offset)
         | 
| 301 | 
            -
                  if idx and idx <= limit
         | 
| 302 | 
            -
                    [idx, *str_indices(str, re, idx + 1, limit)]
         | 
| 303 | 
            -
                  else
         | 
| 304 | 
            -
                    []
         | 
| 305 | 
            -
                  end
         | 
| 306 | 
            -
                end
         | 
| 307 | 
            -
             | 
| 308 | 
            -
                MID2SRCTXT = {
         | 
| 309 | 
            -
                  :[] => '[',
         | 
| 310 | 
            -
                  :+@ => '+',
         | 
| 311 | 
            -
                  :-@ => '-',
         | 
| 312 | 
            -
                  :call => '('
         | 
| 313 | 
            -
                }
         | 
| 314 | 
            -
             | 
| 315 | 
            -
                def handle_columnless_ident(left_idents, mid, right_idents)
         | 
| 316 | 
            -
                  left_max = left_idents.max_by(&:column)
         | 
| 317 | 
            -
                  right_min = right_idents.min_by(&:column)
         | 
| 318 | 
            -
                  bg = left_max ? left_max.column + left_max.name.length : 0
         | 
| 319 | 
            -
                  ed = right_min ? right_min.column - 1 : @line.length - 1
         | 
| 320 | 
            -
                  mname = mid.to_s
         | 
| 321 | 
            -
                  srctxt = MID2SRCTXT[mid] || mname
         | 
| 322 | 
            -
                  re = /
         | 
| 323 | 
            -
                    #{'\b' if /\A\w/ =~ srctxt}
         | 
| 324 | 
            -
                    #{Regexp.escape(srctxt)}
         | 
| 325 | 
            -
                    #{'\b' if /\w\z/ =~ srctxt}
         | 
| 326 | 
            -
                  /x
         | 
| 327 | 
            -
                  indices = str_indices(@line, re, bg, ed)
         | 
| 328 | 
            -
                  if left_idents.empty? and right_idents.empty?
         | 
| 329 | 
            -
                    left_idents + right_idents
         | 
| 330 | 
            -
                  elsif left_idents.empty?
         | 
| 331 | 
            -
                    left_idents + right_idents + [Ident[:method, mname, indices.last]]
         | 
| 332 | 
            -
                  else
         | 
| 333 | 
            -
                    left_idents + right_idents + [Ident[:method, mname, indices.first]]
         | 
| 334 | 
            -
                  end
         | 
| 335 | 
            -
                end
         | 
| 336 | 
            -
              end
         | 
| 337 | 
            -
              private_constant :Context
         | 
| 338 | 
            -
            end
         |