pad_character 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/.rspec +3 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +35 -0
- data/LICENSE.txt +21 -0
- data/README.md +46 -0
- data/Rakefile +8 -0
- data/lib/pad_character/format_pad_character.rb +6 -0
- data/lib/pad_character/version.rb +5 -0
- data/lib/pad_character.rb +9 -0
- data/pad_character.gemspec +39 -0
- data/sig/pad_character.rbs +4 -0
- data/vendor/bundle/ruby/2.6.0/bin/htmldiff +29 -0
- data/vendor/bundle/ruby/2.6.0/bin/ldiff +29 -0
- data/vendor/bundle/ruby/2.6.0/bin/rake +29 -0
- data/vendor/bundle/ruby/2.6.0/bin/rspec +29 -0
- data/vendor/bundle/ruby/2.6.0/cache/diff-lcs-1.5.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rake-13.0.6.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-core-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-expectations-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/.rspec +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Code-of-Conduct.md +74 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Contributing.md +119 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/History.md +400 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/License.md +39 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Manifest.txt +59 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/README.rdoc +84 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Rakefile +121 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/bin/htmldiff +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/bin/ldiff +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/docs/COPYING.txt +339 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/docs/artistic.txt +127 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/array.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/backports.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/block.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/callbacks.rb +325 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/change.rb +174 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/htmldiff.rb +150 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/hunk.rb +358 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/internals.rb +308 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/ldiff.rb +171 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/string.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs.rb +739 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff-lcs.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/change_spec.rb +89 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/diff_spec.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/aX +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/bXaX +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ds1.csv +50 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ds2.csv +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-c +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-e +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-f +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-u +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-c +15 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-e +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-f +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-u +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2 +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef2 +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef2 +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/hunk_spec.rb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/issues_spec.rb +154 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/lcs_spec.rb +56 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/ldiff_spec.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/patch_spec.rb +416 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/sdiff_spec.rb +214 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/spec_helper.rb +374 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/traverse_balanced_spec.rb +310 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/traverse_sequences_spec.rb +137 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/History.rdoc +2403 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/README.rdoc +155 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/jamis.rb +592 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rakefile.rdoc +622 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/exe/rake +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/application.rb +831 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/backtrace.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/clean.rb +78 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/cloneable.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/cpu_counter.rb +107 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/default_loader.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/dsl_definition.rb +195 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/early_time.rb +22 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/ext/core.rb +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/ext/string.rb +176 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_creation_task.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_list.rb +435 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_task.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_utils.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/invocation_chain.rb +57 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/invocation_exception_mixin.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/late_time.rb +18 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/linked_list.rb +112 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/loaders/makefile.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/multi_task.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/packagetask.rb +222 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/phony.rb +16 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/private_reader.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/promise.rb +100 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/pseudo_status.rb +30 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rake_module.rb +67 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/scope.rb +43 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task.rb +434 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_argument_error.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_arguments.rb +109 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_manager.rb +331 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/tasklib.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/testtask.rb +189 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/thread_history_display.rb +49 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/thread_pool.rb +163 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/trace_output.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/version.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/win32.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake.rb +71 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/rake.gemspec +100 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/LICENSE.md +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/README.md +47 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/lib/rspec/version.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/lib/rspec.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/.document +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/.yardopts +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/Changelog.md +2360 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/LICENSE.md +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/README.md +384 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/exe/rspec +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/autorun.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/backtrace_formatter.rb +65 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/coordinator.rb +62 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/example_minimizer.rb +173 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/fork_runner.rb +138 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/server.rb +61 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_command.rb +126 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_runner.rb +73 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/utilities.rb +69 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb +2385 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration_options.rb +233 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/did_you_mean.rb +46 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/drb.rb +120 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/dsl.rb +98 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example.rb +666 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb +905 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example_status_persister.rb +235 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/filter_manager.rb +231 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/flat_map.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_formatter.rb +70 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/console_codes.rb +76 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/exception_presenter.rb +525 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/helpers.rb +118 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_formatter.rb +153 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_printer.rb +412 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/json_formatter.rb +102 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/profile_formatter.rb +68 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/progress_formatter.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/protocol.rb +182 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters.rb +279 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb +646 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/invocations.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/memoized_helpers.rb +580 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata.rb +498 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata_filter.rb +255 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/null.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rr.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/notifications.rb +521 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/option_parser.rb +323 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb +169 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/output_wrapper.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/pending.rb +157 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/profiler.rb +34 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/.rspec +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer.rb +48 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/rake_task.rb +188 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb +265 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/ruby_project.rb +53 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/sandbox.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/set.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_context.rb +55 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_example_group.rb +271 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shell_escape.rb +49 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/version.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/warnings.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/world.rb +287 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/.document +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/.yardopts +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/Changelog.md +1285 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/LICENSE.md +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/README.md +320 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/configuration.rb +230 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/expectation_target.rb +163 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/fail_with.rb +39 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/failure_aggregator.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/handler.rb +182 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/minitest_integration.rb +58 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/syntax.rb +132 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/version.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/all.rb +86 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/base_matcher.rb +198 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be.rb +191 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/change.rb +450 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/compound.rb +290 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/contain_exactly.rb +310 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/cover.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/eq.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/eql.rb +34 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/equal.rb +81 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/exist.rb +90 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/has.rb +167 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/include.rb +206 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/match.rb +106 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/operators.rb +128 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/output.rb +207 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/raise_error.rb +271 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/respond_to.rb +200 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/satisfy.rb +60 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/yield.rb +375 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in.rb +53 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/composable.rb +171 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/dsl.rb +544 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/english_phrasing.rb +58 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/fail_matchers.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/generated_descriptions.rb +41 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/matcher_protocol.rb +105 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers.rb +1044 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/.document +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/.yardopts +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/Changelog.md +1212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/LICENSE.md +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/README.md +463 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/chain.rb +111 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/proxy.rb +116 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/recorder.rb +295 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/argument_list_matcher.rb +115 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/argument_matchers.rb +322 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/configuration.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/error_generator.rb +380 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/example_methods.rb +434 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/instance_method_stasher.rb +146 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/marshal_extension.rb +41 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/have_received.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive.rb +133 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/message_chain.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/message_expectation.rb +820 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/method_double.rb +291 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/method_reference.rb +214 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/minitest_integration.rb +68 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/mutate_const.rb +339 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/object_reference.rb +149 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/order_group.rb +81 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/proxy.rb +525 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/space.rb +238 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/standalone.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/syntax.rb +325 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/targets.rb +124 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/test_double.rb +171 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_double.rb +121 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_proxy.rb +220 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/version.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks.rb +133 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/Changelog.md +364 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/LICENSE.md +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/README.md +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/caller_filter.rb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/comparable_version.rb +46 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/differ.rb +215 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/directory_maker.rb +63 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/encoded_string.rb +161 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/hunk_generator.rb +47 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/matcher_definition.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/method_signature_verifier.rb +438 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/mutex.rb +73 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/object_formatter.rb +275 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/recursive_const_methods.rb +76 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/reentrant_mutex.rb +78 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/ruby_features.rb +198 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/location.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/node.rb +110 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/token.rb +94 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source.rb +85 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/deprecation_helpers.rb +48 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/diff_helpers.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/formatting_support.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/in_sub_process.rb +67 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/shell_out.rb +105 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/stderr_splitter.rb +75 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/string_matcher.rb +45 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/version.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/warnings.rb +39 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/with_keywords_when_needed.rb +33 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support.rb +154 -0
- data/vendor/bundle/ruby/2.6.0/specifications/diff-lcs-1.5.0.gemspec +50 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rake-13.0.6.gemspec +26 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-3.12.0.gemspec +39 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-core-3.12.0.gemspec +53 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-expectations-3.12.0.gemspec +44 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-mocks-3.12.0.gemspec +44 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-support-3.12.0.gemspec +36 -0
- metadata +419 -0
data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/json_formatter.rb
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
RSpec::Support.require_rspec_core "formatters/base_formatter"
|
|
2
|
+
require 'json'
|
|
3
|
+
|
|
4
|
+
module RSpec
|
|
5
|
+
module Core
|
|
6
|
+
module Formatters
|
|
7
|
+
# @private
|
|
8
|
+
class JsonFormatter < BaseFormatter
|
|
9
|
+
Formatters.register self, :message, :dump_summary, :dump_profile, :stop, :seed, :close
|
|
10
|
+
|
|
11
|
+
attr_reader :output_hash
|
|
12
|
+
|
|
13
|
+
def initialize(output)
|
|
14
|
+
super
|
|
15
|
+
@output_hash = {
|
|
16
|
+
:version => RSpec::Core::Version::STRING
|
|
17
|
+
}
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def message(notification)
|
|
21
|
+
(@output_hash[:messages] ||= []) << notification.message
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def dump_summary(summary)
|
|
25
|
+
@output_hash[:summary] = {
|
|
26
|
+
:duration => summary.duration,
|
|
27
|
+
:example_count => summary.example_count,
|
|
28
|
+
:failure_count => summary.failure_count,
|
|
29
|
+
:pending_count => summary.pending_count,
|
|
30
|
+
:errors_outside_of_examples_count => summary.errors_outside_of_examples_count
|
|
31
|
+
}
|
|
32
|
+
@output_hash[:summary_line] = summary.totals_line
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def stop(notification)
|
|
36
|
+
@output_hash[:examples] = notification.examples.map do |example|
|
|
37
|
+
format_example(example).tap do |hash|
|
|
38
|
+
e = example.exception
|
|
39
|
+
if e
|
|
40
|
+
hash[:exception] = {
|
|
41
|
+
:class => e.class.name,
|
|
42
|
+
:message => e.message,
|
|
43
|
+
:backtrace => e.backtrace,
|
|
44
|
+
}
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def seed(notification)
|
|
51
|
+
return unless notification.seed_used?
|
|
52
|
+
@output_hash[:seed] = notification.seed
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def close(_notification)
|
|
56
|
+
output.write @output_hash.to_json
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def dump_profile(profile)
|
|
60
|
+
@output_hash[:profile] = {}
|
|
61
|
+
dump_profile_slowest_examples(profile)
|
|
62
|
+
dump_profile_slowest_example_groups(profile)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# @api private
|
|
66
|
+
def dump_profile_slowest_examples(profile)
|
|
67
|
+
@output_hash[:profile] = {}
|
|
68
|
+
@output_hash[:profile][:examples] = profile.slowest_examples.map do |example|
|
|
69
|
+
format_example(example).tap do |hash|
|
|
70
|
+
hash[:run_time] = example.execution_result.run_time
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
@output_hash[:profile][:slowest] = profile.slow_duration
|
|
74
|
+
@output_hash[:profile][:total] = profile.duration
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# @api private
|
|
78
|
+
def dump_profile_slowest_example_groups(profile)
|
|
79
|
+
@output_hash[:profile] ||= {}
|
|
80
|
+
@output_hash[:profile][:groups] = profile.slowest_groups.map do |loc, hash|
|
|
81
|
+
hash.update(:location => loc)
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
private
|
|
86
|
+
|
|
87
|
+
def format_example(example)
|
|
88
|
+
{
|
|
89
|
+
:id => example.id,
|
|
90
|
+
:description => example.description,
|
|
91
|
+
:full_description => example.full_description,
|
|
92
|
+
:status => example.execution_result.status.to_s,
|
|
93
|
+
:file_path => example.metadata[:file_path],
|
|
94
|
+
:line_number => example.metadata[:line_number],
|
|
95
|
+
:run_time => example.execution_result.run_time,
|
|
96
|
+
:pending_message => example.execution_result.pending_message,
|
|
97
|
+
}
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/profile_formatter.rb
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
RSpec::Support.require_rspec_core "formatters/console_codes"
|
|
2
|
+
|
|
3
|
+
module RSpec
|
|
4
|
+
module Core
|
|
5
|
+
module Formatters
|
|
6
|
+
# @api private
|
|
7
|
+
# Formatter for providing profile output.
|
|
8
|
+
class ProfileFormatter
|
|
9
|
+
Formatters.register self, :dump_profile
|
|
10
|
+
|
|
11
|
+
def initialize(output)
|
|
12
|
+
@output = output
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @private
|
|
16
|
+
attr_reader :output
|
|
17
|
+
|
|
18
|
+
# @api public
|
|
19
|
+
#
|
|
20
|
+
# This method is invoked after the dumping the summary if profiling is
|
|
21
|
+
# enabled.
|
|
22
|
+
#
|
|
23
|
+
# @param profile [ProfileNotification] containing duration,
|
|
24
|
+
# slowest_examples and slowest_example_groups
|
|
25
|
+
def dump_profile(profile)
|
|
26
|
+
dump_profile_slowest_examples(profile)
|
|
27
|
+
dump_profile_slowest_example_groups(profile)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
private
|
|
31
|
+
|
|
32
|
+
def dump_profile_slowest_examples(profile)
|
|
33
|
+
@output.puts "\nTop #{profile.slowest_examples.size} slowest " \
|
|
34
|
+
"examples (#{Helpers.format_seconds(profile.slow_duration)} " \
|
|
35
|
+
"seconds, #{profile.percentage}% of total time):\n"
|
|
36
|
+
|
|
37
|
+
profile.slowest_examples.each do |example|
|
|
38
|
+
@output.puts " #{example.full_description}"
|
|
39
|
+
@output.puts " #{bold(Helpers.format_seconds(example.execution_result.run_time))} " \
|
|
40
|
+
"#{bold("seconds")} #{format_caller(example.location)}"
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def dump_profile_slowest_example_groups(profile)
|
|
45
|
+
return if profile.slowest_groups.empty?
|
|
46
|
+
|
|
47
|
+
@output.puts "\nTop #{profile.slowest_groups.size} slowest example groups:"
|
|
48
|
+
profile.slowest_groups.each do |loc, hash|
|
|
49
|
+
average = "#{bold(Helpers.format_seconds(hash[:average]))} #{bold("seconds")} average"
|
|
50
|
+
total = "#{Helpers.format_seconds(hash[:total_time])} seconds"
|
|
51
|
+
count = Helpers.pluralize(hash[:count], "example")
|
|
52
|
+
@output.puts " #{hash[:description]}"
|
|
53
|
+
@output.puts " #{average} (#{total} / #{count}) #{loc}"
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def format_caller(caller_info)
|
|
58
|
+
RSpec.configuration.backtrace_formatter.backtrace_line(
|
|
59
|
+
caller_info.to_s.split(':in `block').first)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def bold(text)
|
|
63
|
+
ConsoleCodes.wrap(text, :bold)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/progress_formatter.rb
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
RSpec::Support.require_rspec_core "formatters/base_text_formatter"
|
|
2
|
+
RSpec::Support.require_rspec_core "formatters/console_codes"
|
|
3
|
+
|
|
4
|
+
module RSpec
|
|
5
|
+
module Core
|
|
6
|
+
module Formatters
|
|
7
|
+
# @private
|
|
8
|
+
class ProgressFormatter < BaseTextFormatter
|
|
9
|
+
Formatters.register self, :example_passed, :example_pending, :example_failed, :start_dump
|
|
10
|
+
|
|
11
|
+
def example_passed(_notification)
|
|
12
|
+
output.print ConsoleCodes.wrap('.', :success)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def example_pending(_notification)
|
|
16
|
+
output.print ConsoleCodes.wrap('*', :pending)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def example_failed(_notification)
|
|
20
|
+
output.print ConsoleCodes.wrap('F', :failure)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def start_dump(_notification)
|
|
24
|
+
output.puts
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Core
|
|
3
|
+
module Formatters
|
|
4
|
+
# This class isn't loaded at runtime but serves to document all of the
|
|
5
|
+
# notifications implemented as part of the standard interface. The
|
|
6
|
+
# reporter will issue these during a normal test suite run, but a
|
|
7
|
+
# formatter will only receive those notifications it has registered
|
|
8
|
+
# itself to receive. To register a formatter call:
|
|
9
|
+
#
|
|
10
|
+
# `::RSpec::Core::Formatters.register class, :list, :of, :notifications`
|
|
11
|
+
#
|
|
12
|
+
# e.g.
|
|
13
|
+
#
|
|
14
|
+
# `::RSpec::Core::Formatters.register self, :start, :example_started`
|
|
15
|
+
#
|
|
16
|
+
# @see RSpec::Core::Formatters::BaseFormatter
|
|
17
|
+
# @see RSpec::Core::Formatters::BaseTextFormatter
|
|
18
|
+
# @see RSpec::Core::Reporter
|
|
19
|
+
class Protocol
|
|
20
|
+
# @method initialize(output)
|
|
21
|
+
# @api public
|
|
22
|
+
#
|
|
23
|
+
# @param output [IO] the formatter output
|
|
24
|
+
|
|
25
|
+
# @method start(notification)
|
|
26
|
+
# @api public
|
|
27
|
+
# @group Suite Notifications
|
|
28
|
+
#
|
|
29
|
+
# This method is invoked before any examples are run, right after
|
|
30
|
+
# they have all been collected. This can be useful for special
|
|
31
|
+
# formatters that need to provide progress on feedback (graphical ones).
|
|
32
|
+
#
|
|
33
|
+
# This will only be invoked once, and the next one to be invoked
|
|
34
|
+
# is {#example_group_started}.
|
|
35
|
+
#
|
|
36
|
+
# @param notification [Notifications::StartNotification]
|
|
37
|
+
|
|
38
|
+
# @method example_group_started(notification)
|
|
39
|
+
# @api public
|
|
40
|
+
# @group Group Notifications
|
|
41
|
+
#
|
|
42
|
+
# This method is invoked at the beginning of the execution of each
|
|
43
|
+
# example group.
|
|
44
|
+
#
|
|
45
|
+
# The next method to be invoked after this is {#example_passed},
|
|
46
|
+
# {#example_pending}, or {#example_group_finished}.
|
|
47
|
+
#
|
|
48
|
+
# @param notification [Notifications::GroupNotification] containing example_group
|
|
49
|
+
# subclass of {ExampleGroup}
|
|
50
|
+
|
|
51
|
+
# @method example_group_finished(notification)
|
|
52
|
+
# @api public
|
|
53
|
+
# @group Group Notifications
|
|
54
|
+
#
|
|
55
|
+
# Invoked at the end of the execution of each example group.
|
|
56
|
+
#
|
|
57
|
+
# @param notification [Notifications::GroupNotification] containing example_group
|
|
58
|
+
# subclass of {ExampleGroup}
|
|
59
|
+
|
|
60
|
+
# @method example_started(notification)
|
|
61
|
+
# @api public
|
|
62
|
+
# @group Example Notifications
|
|
63
|
+
#
|
|
64
|
+
# Invoked at the beginning of the execution of each example.
|
|
65
|
+
#
|
|
66
|
+
# @param notification [Notifications::ExampleNotification] containing example subclass
|
|
67
|
+
# of {Example}
|
|
68
|
+
|
|
69
|
+
# @method example_finished(notification)
|
|
70
|
+
# @api public
|
|
71
|
+
# @group Example Notifications
|
|
72
|
+
#
|
|
73
|
+
# Invoked at the end of the execution of each example.
|
|
74
|
+
#
|
|
75
|
+
# @param notification [Notifications::ExampleNotification] containing example subclass
|
|
76
|
+
# of {Example}
|
|
77
|
+
|
|
78
|
+
# @method example_passed(notification)
|
|
79
|
+
# @api public
|
|
80
|
+
# @group Example Notifications
|
|
81
|
+
#
|
|
82
|
+
# Invoked when an example passes.
|
|
83
|
+
#
|
|
84
|
+
# @param notification [Notifications::ExampleNotification] containing example subclass
|
|
85
|
+
# of {Example}
|
|
86
|
+
|
|
87
|
+
# @method example_pending(notification)
|
|
88
|
+
# @api public
|
|
89
|
+
# @group Example Notifications
|
|
90
|
+
#
|
|
91
|
+
# Invoked when an example is pending.
|
|
92
|
+
#
|
|
93
|
+
# @param notification [Notifications::ExampleNotification] containing example subclass
|
|
94
|
+
# of {Example}
|
|
95
|
+
|
|
96
|
+
# @method example_failed(notification)
|
|
97
|
+
# @api public
|
|
98
|
+
# @group Example Notifications
|
|
99
|
+
#
|
|
100
|
+
# Invoked when an example fails.
|
|
101
|
+
#
|
|
102
|
+
# @param notification [Notifications::ExampleNotification] containing example subclass
|
|
103
|
+
# of {Example}
|
|
104
|
+
|
|
105
|
+
# @method message(notification)
|
|
106
|
+
# @api public
|
|
107
|
+
# @group Suite Notifications
|
|
108
|
+
#
|
|
109
|
+
# Used by the reporter to send messages to the output stream.
|
|
110
|
+
#
|
|
111
|
+
# @param notification [Notifications::MessageNotification] containing message
|
|
112
|
+
|
|
113
|
+
# @method stop(notification)
|
|
114
|
+
# @api public
|
|
115
|
+
# @group Suite Notifications
|
|
116
|
+
#
|
|
117
|
+
# Invoked after all examples have executed, before dumping post-run
|
|
118
|
+
# reports.
|
|
119
|
+
#
|
|
120
|
+
# @param notification [Notifications::NullNotification]
|
|
121
|
+
|
|
122
|
+
# @method start_dump(notification)
|
|
123
|
+
# @api public
|
|
124
|
+
# @group Suite Notifications
|
|
125
|
+
#
|
|
126
|
+
# This method is invoked after all of the examples have executed. The
|
|
127
|
+
# next method to be invoked after this one is {#dump_failures}
|
|
128
|
+
# (BaseTextFormatter then calls {#dump_failures} once for each failed
|
|
129
|
+
# example).
|
|
130
|
+
#
|
|
131
|
+
# @param notification [Notifications::NullNotification]
|
|
132
|
+
|
|
133
|
+
# @method dump_failures(notification)
|
|
134
|
+
# @api public
|
|
135
|
+
# @group Suite Notifications
|
|
136
|
+
#
|
|
137
|
+
# Dumps detailed information about each example failure.
|
|
138
|
+
#
|
|
139
|
+
# @param notification [Notifications::NullNotification]
|
|
140
|
+
|
|
141
|
+
# @method dump_summary(summary)
|
|
142
|
+
# @api public
|
|
143
|
+
# @group Suite Notifications
|
|
144
|
+
#
|
|
145
|
+
# This method is invoked after the dumping of examples and failures.
|
|
146
|
+
# Each parameter is assigned to a corresponding attribute.
|
|
147
|
+
#
|
|
148
|
+
# @param summary [Notifications::SummaryNotification] containing duration,
|
|
149
|
+
# example_count, failure_count and pending_count
|
|
150
|
+
|
|
151
|
+
# @method dump_profile(profile)
|
|
152
|
+
# @api public
|
|
153
|
+
# @group Suite Notifications
|
|
154
|
+
#
|
|
155
|
+
# This method is invoked after the dumping the summary if profiling is
|
|
156
|
+
# enabled.
|
|
157
|
+
#
|
|
158
|
+
# @param profile [Notifications::ProfileNotification] containing duration,
|
|
159
|
+
# slowest_examples and slowest_example_groups
|
|
160
|
+
|
|
161
|
+
# @method dump_pending(notification)
|
|
162
|
+
# @api public
|
|
163
|
+
# @group Suite Notifications
|
|
164
|
+
#
|
|
165
|
+
# Outputs a report of pending examples. This gets invoked
|
|
166
|
+
# after the summary if option is set to do so.
|
|
167
|
+
#
|
|
168
|
+
# @param notification [Notifications::NullNotification]
|
|
169
|
+
|
|
170
|
+
# @method close(notification)
|
|
171
|
+
# @api public
|
|
172
|
+
# @group Suite Notifications
|
|
173
|
+
#
|
|
174
|
+
# Invoked at the end of a suite run. Allows the formatter to do any
|
|
175
|
+
# tidying up, but be aware that formatter output streams may be used
|
|
176
|
+
# elsewhere so don't actually close them.
|
|
177
|
+
#
|
|
178
|
+
# @param notification [Notifications::NullNotification]
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
end
|
data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/snippet_extractor.rb
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Core
|
|
3
|
+
module Formatters
|
|
4
|
+
# @private
|
|
5
|
+
class SnippetExtractor
|
|
6
|
+
NoSuchFileError = Class.new(StandardError)
|
|
7
|
+
NoSuchLineError = Class.new(StandardError)
|
|
8
|
+
|
|
9
|
+
def self.extract_line_at(file_path, line_number)
|
|
10
|
+
source = source_from_file(file_path)
|
|
11
|
+
line = source.lines[line_number - 1]
|
|
12
|
+
raise NoSuchLineError unless line
|
|
13
|
+
line
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def self.source_from_file(path)
|
|
17
|
+
raise NoSuchFileError unless File.exist?(path)
|
|
18
|
+
RSpec.world.source_from_file(path)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
if RSpec::Support::RubyFeatures.ripper_supported?
|
|
22
|
+
NoExpressionAtLineError = Class.new(StandardError)
|
|
23
|
+
|
|
24
|
+
attr_reader :source, :beginning_line_number, :max_line_count
|
|
25
|
+
|
|
26
|
+
def self.extract_expression_lines_at(file_path, beginning_line_number, max_line_count=nil)
|
|
27
|
+
if max_line_count == 1
|
|
28
|
+
[extract_line_at(file_path, beginning_line_number)]
|
|
29
|
+
else
|
|
30
|
+
source = source_from_file(file_path)
|
|
31
|
+
new(source, beginning_line_number, max_line_count).expression_lines
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def initialize(source, beginning_line_number, max_line_count=nil)
|
|
36
|
+
@source = source
|
|
37
|
+
@beginning_line_number = beginning_line_number
|
|
38
|
+
@max_line_count = max_line_count
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def expression_lines
|
|
42
|
+
line_range = line_range_of_expression
|
|
43
|
+
|
|
44
|
+
if max_line_count && line_range.count > max_line_count
|
|
45
|
+
line_range = (line_range.begin)..(line_range.begin + max_line_count - 1)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
source.lines[(line_range.begin - 1)..(line_range.end - 1)]
|
|
49
|
+
rescue SyntaxError, NoExpressionAtLineError
|
|
50
|
+
[self.class.extract_line_at(source.path, beginning_line_number)]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
private
|
|
54
|
+
|
|
55
|
+
def line_range_of_expression
|
|
56
|
+
@line_range_of_expression ||= begin
|
|
57
|
+
line_range = line_range_of_location_nodes_in_expression
|
|
58
|
+
initial_unclosed_tokens = unclosed_tokens_in_line_range(line_range)
|
|
59
|
+
unclosed_tokens = initial_unclosed_tokens
|
|
60
|
+
|
|
61
|
+
until (initial_unclosed_tokens & unclosed_tokens).empty?
|
|
62
|
+
line_range = (line_range.begin)..(line_range.end + 1)
|
|
63
|
+
unclosed_tokens = unclosed_tokens_in_line_range(line_range)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
line_range
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def unclosed_tokens_in_line_range(line_range)
|
|
71
|
+
tokens = FlatMap.flat_map(line_range) do |line_number|
|
|
72
|
+
source.tokens_by_line_number[line_number]
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
tokens.each_with_object([]) do |token, unclosed_tokens|
|
|
76
|
+
if token.opening?
|
|
77
|
+
unclosed_tokens << token
|
|
78
|
+
else
|
|
79
|
+
index = unclosed_tokens.rindex do |unclosed_token|
|
|
80
|
+
unclosed_token.closed_by?(token)
|
|
81
|
+
end
|
|
82
|
+
unclosed_tokens.delete_at(index) if index
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def line_range_of_location_nodes_in_expression
|
|
88
|
+
line_numbers = expression_node.each_with_object(Set.new) do |node, set|
|
|
89
|
+
set << node.location.line if node.location
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
line_numbers.min..line_numbers.max
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def expression_node
|
|
96
|
+
raise NoExpressionAtLineError if location_nodes_at_beginning_line.empty?
|
|
97
|
+
|
|
98
|
+
@expression_node ||= begin
|
|
99
|
+
common_ancestor_nodes = location_nodes_at_beginning_line.map do |node|
|
|
100
|
+
node.each_ancestor.to_a
|
|
101
|
+
end.reduce(:&)
|
|
102
|
+
|
|
103
|
+
common_ancestor_nodes.find { |node| expression_outmost_node?(node) }
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def expression_outmost_node?(node)
|
|
108
|
+
return true unless node.parent
|
|
109
|
+
return false if node.type.to_s.start_with?('@')
|
|
110
|
+
![node, node.parent].all? do |n|
|
|
111
|
+
# See `Ripper::PARSER_EVENTS` for the complete list of sexp types.
|
|
112
|
+
type = n.type.to_s
|
|
113
|
+
type.end_with?('call') || type.start_with?('method_add_')
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def location_nodes_at_beginning_line
|
|
118
|
+
source.nodes_by_line_number[beginning_line_number]
|
|
119
|
+
end
|
|
120
|
+
else
|
|
121
|
+
# :nocov:
|
|
122
|
+
def self.extract_expression_lines_at(file_path, beginning_line_number, *)
|
|
123
|
+
[extract_line_at(file_path, beginning_line_number)]
|
|
124
|
+
end
|
|
125
|
+
# :nocov:
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def self.least_indentation_from(lines)
|
|
129
|
+
lines.map { |line| line[/^[ \t]*/] }.min
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/syntax_highlighter.rb
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Core
|
|
3
|
+
module Formatters
|
|
4
|
+
# @private
|
|
5
|
+
# Provides terminal syntax highlighting of code snippets
|
|
6
|
+
# when coderay is available.
|
|
7
|
+
class SyntaxHighlighter
|
|
8
|
+
def initialize(configuration)
|
|
9
|
+
@configuration = configuration
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def highlight(lines)
|
|
13
|
+
implementation.highlight_syntax(lines)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# rubocop:disable Lint/RescueException
|
|
17
|
+
# rubocop:disable Lint/HandleExceptions
|
|
18
|
+
def self.attempt_to_add_rspec_terms_to_coderay_keywords
|
|
19
|
+
CodeRay::Scanners::Ruby::Patterns::IDENT_KIND.add(%w[
|
|
20
|
+
describe context
|
|
21
|
+
it specify
|
|
22
|
+
before after around
|
|
23
|
+
let subject
|
|
24
|
+
expect allow
|
|
25
|
+
], :keyword)
|
|
26
|
+
rescue Exception
|
|
27
|
+
# Mutating CodeRay's contants like this is not a public API
|
|
28
|
+
# and might not always work. If we cannot add our keywords
|
|
29
|
+
# to CodeRay it is not a big deal and not worth raising an
|
|
30
|
+
# error over, so we ignore it.
|
|
31
|
+
end
|
|
32
|
+
# rubocop:enable Lint/HandleExceptions
|
|
33
|
+
# rubocop:enable Lint/RescueException
|
|
34
|
+
|
|
35
|
+
private
|
|
36
|
+
|
|
37
|
+
if RSpec::Support::OS.windows?
|
|
38
|
+
# :nocov:
|
|
39
|
+
def implementation
|
|
40
|
+
WindowsImplementation
|
|
41
|
+
end
|
|
42
|
+
# :nocov:
|
|
43
|
+
else
|
|
44
|
+
def implementation
|
|
45
|
+
return color_enabled_implementation if @configuration.color_enabled?
|
|
46
|
+
NoSyntaxHighlightingImplementation
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def color_enabled_implementation
|
|
51
|
+
@color_enabled_implementation ||= begin
|
|
52
|
+
require 'coderay'
|
|
53
|
+
self.class.attempt_to_add_rspec_terms_to_coderay_keywords
|
|
54
|
+
CodeRayImplementation
|
|
55
|
+
rescue LoadError
|
|
56
|
+
NoSyntaxHighlightingImplementation
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# @private
|
|
61
|
+
module CodeRayImplementation
|
|
62
|
+
RESET_CODE = "\e[0m"
|
|
63
|
+
|
|
64
|
+
def self.highlight_syntax(lines)
|
|
65
|
+
highlighted = begin
|
|
66
|
+
CodeRay.encode(lines.join("\n"), :ruby, :terminal)
|
|
67
|
+
rescue Support::AllExceptionsExceptOnesWeMustNotRescue
|
|
68
|
+
return lines
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
highlighted.split("\n").map do |line|
|
|
72
|
+
line.sub(/\S/) { |char| char.insert(0, RESET_CODE) }
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# @private
|
|
78
|
+
module NoSyntaxHighlightingImplementation
|
|
79
|
+
def self.highlight_syntax(lines)
|
|
80
|
+
lines
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# @private
|
|
85
|
+
# Not sure why, but our code above (and/or coderay itself) does not work
|
|
86
|
+
# on Windows, so we disable the feature on Windows.
|
|
87
|
+
WindowsImplementation = NoSyntaxHighlightingImplementation
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|