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
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
#
|
|
6
|
+
# Used _internally_ as a base class for matchers that ship with
|
|
7
|
+
# rspec-expectations and rspec-rails.
|
|
8
|
+
#
|
|
9
|
+
# ### Warning:
|
|
10
|
+
#
|
|
11
|
+
# This class is for internal use, and subject to change without notice.
|
|
12
|
+
# We strongly recommend that you do not base your custom matchers on this
|
|
13
|
+
# class. If/when this changes, we will announce it and remove this warning.
|
|
14
|
+
class BaseMatcher
|
|
15
|
+
include RSpec::Matchers::Composable
|
|
16
|
+
|
|
17
|
+
# @api private
|
|
18
|
+
# Used to detect when no arg is passed to `initialize`.
|
|
19
|
+
# `nil` cannot be used because it's a valid value to pass.
|
|
20
|
+
UNDEFINED = Object.new.freeze
|
|
21
|
+
|
|
22
|
+
# @private
|
|
23
|
+
attr_reader :actual, :expected, :rescued_exception
|
|
24
|
+
|
|
25
|
+
# @private
|
|
26
|
+
attr_writer :matcher_name
|
|
27
|
+
|
|
28
|
+
def initialize(expected=UNDEFINED)
|
|
29
|
+
@expected = expected unless UNDEFINED.equal?(expected)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# @api private
|
|
33
|
+
# Indicates if the match is successful. Delegates to `match`, which
|
|
34
|
+
# should be defined on a subclass. Takes care of consistently
|
|
35
|
+
# initializing the `actual` attribute.
|
|
36
|
+
def matches?(actual)
|
|
37
|
+
@actual = actual
|
|
38
|
+
match(expected, actual)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# @api private
|
|
42
|
+
# Used to wrap a block of code that will indicate failure by
|
|
43
|
+
# raising one of the named exceptions.
|
|
44
|
+
#
|
|
45
|
+
# This is used by rspec-rails for some of its matchers that
|
|
46
|
+
# wrap rails' assertions.
|
|
47
|
+
def match_unless_raises(*exceptions)
|
|
48
|
+
exceptions.unshift Exception if exceptions.empty?
|
|
49
|
+
begin
|
|
50
|
+
yield
|
|
51
|
+
true
|
|
52
|
+
rescue *exceptions => @rescued_exception
|
|
53
|
+
false
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# @api private
|
|
58
|
+
# Generates a description using {EnglishPhrasing}.
|
|
59
|
+
# @return [String]
|
|
60
|
+
def description
|
|
61
|
+
desc = EnglishPhrasing.split_words(self.class.matcher_name)
|
|
62
|
+
desc << EnglishPhrasing.list(@expected) if defined?(@expected)
|
|
63
|
+
desc
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# @api private
|
|
67
|
+
# Matchers are not diffable by default. Override this to make your
|
|
68
|
+
# subclass diffable.
|
|
69
|
+
def diffable?
|
|
70
|
+
false
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# @api private
|
|
74
|
+
# Most matchers are value matchers (i.e. meant to work with `expect(value)`)
|
|
75
|
+
# rather than block matchers (i.e. meant to work with `expect { }`), so
|
|
76
|
+
# this defaults to false. Block matchers must override this to return true.
|
|
77
|
+
def supports_block_expectations?
|
|
78
|
+
false
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# @private
|
|
82
|
+
def supports_value_expectations?
|
|
83
|
+
true
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @api private
|
|
87
|
+
def expects_call_stack_jump?
|
|
88
|
+
false
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# @private
|
|
92
|
+
def expected_formatted
|
|
93
|
+
RSpec::Support::ObjectFormatter.format(@expected)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# @private
|
|
97
|
+
def actual_formatted
|
|
98
|
+
RSpec::Support::ObjectFormatter.format(@actual)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# @private
|
|
102
|
+
def self.matcher_name
|
|
103
|
+
@matcher_name ||= underscore(name.split('::').last)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# @private
|
|
107
|
+
def matcher_name
|
|
108
|
+
if defined?(@matcher_name)
|
|
109
|
+
@matcher_name
|
|
110
|
+
else
|
|
111
|
+
self.class.matcher_name
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# @private
|
|
116
|
+
# Borrowed from ActiveSupport.
|
|
117
|
+
def self.underscore(camel_cased_word)
|
|
118
|
+
word = camel_cased_word.to_s.dup
|
|
119
|
+
word.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
|
120
|
+
word.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
|
|
121
|
+
word.tr!('-', '_')
|
|
122
|
+
word.downcase!
|
|
123
|
+
word
|
|
124
|
+
end
|
|
125
|
+
private_class_method :underscore
|
|
126
|
+
|
|
127
|
+
private
|
|
128
|
+
|
|
129
|
+
def assert_ivars(*expected_ivars)
|
|
130
|
+
return unless (expected_ivars - present_ivars).any?
|
|
131
|
+
ivar_list = EnglishPhrasing.list(expected_ivars)
|
|
132
|
+
raise "#{self.class.name} needs to supply#{ivar_list}"
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
if RUBY_VERSION.to_f < 1.9
|
|
136
|
+
# :nocov:
|
|
137
|
+
def present_ivars
|
|
138
|
+
instance_variables.map(&:to_sym)
|
|
139
|
+
end
|
|
140
|
+
# :nocov:
|
|
141
|
+
else
|
|
142
|
+
alias present_ivars instance_variables
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# @private
|
|
146
|
+
module HashFormatting
|
|
147
|
+
# `{ :a => 5, :b => 2 }.inspect` produces:
|
|
148
|
+
#
|
|
149
|
+
# {:a=>5, :b=>2}
|
|
150
|
+
#
|
|
151
|
+
# ...but it looks much better as:
|
|
152
|
+
#
|
|
153
|
+
# {:a => 5, :b => 2}
|
|
154
|
+
#
|
|
155
|
+
# This is idempotent and safe to run on a string multiple times.
|
|
156
|
+
def improve_hash_formatting(inspect_string)
|
|
157
|
+
inspect_string.gsub(/(\S)=>(\S)/, '\1 => \2')
|
|
158
|
+
end
|
|
159
|
+
module_function :improve_hash_formatting
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
include HashFormatting
|
|
163
|
+
|
|
164
|
+
# @api private
|
|
165
|
+
# Provides default implementations of failure messages, based on the `description`.
|
|
166
|
+
module DefaultFailureMessages
|
|
167
|
+
# @api private
|
|
168
|
+
# Provides a good generic failure message. Based on `description`.
|
|
169
|
+
# When subclassing, if you are not satisfied with this failure message
|
|
170
|
+
# you often only need to override `description`.
|
|
171
|
+
# @return [String]
|
|
172
|
+
def failure_message
|
|
173
|
+
"expected #{description_of @actual} to #{description}".dup
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
# @api private
|
|
177
|
+
# Provides a good generic negative failure message. Based on `description`.
|
|
178
|
+
# When subclassing, if you are not satisfied with this failure message
|
|
179
|
+
# you often only need to override `description`.
|
|
180
|
+
# @return [String]
|
|
181
|
+
def failure_message_when_negated
|
|
182
|
+
"expected #{description_of @actual} not to #{description}".dup
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
# @private
|
|
186
|
+
def self.has_default_failure_messages?(matcher)
|
|
187
|
+
matcher.method(:failure_message).owner == self &&
|
|
188
|
+
matcher.method(:failure_message_when_negated).owner == self
|
|
189
|
+
rescue NameError
|
|
190
|
+
false
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
include DefaultFailureMessages
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
end
|
data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be.rb
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
# Provides the implementation for `be_truthy`.
|
|
6
|
+
# Not intended to be instantiated directly.
|
|
7
|
+
class BeTruthy < BaseMatcher
|
|
8
|
+
# @api private
|
|
9
|
+
# @return [String]
|
|
10
|
+
def failure_message
|
|
11
|
+
"expected: truthy value\n got: #{actual_formatted}"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# @api private
|
|
15
|
+
# @return [String]
|
|
16
|
+
def failure_message_when_negated
|
|
17
|
+
"expected: falsey value\n got: #{actual_formatted}"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
|
|
22
|
+
def match(_, actual)
|
|
23
|
+
!!actual
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# @api private
|
|
28
|
+
# Provides the implementation for `be_falsey`.
|
|
29
|
+
# Not intended to be instantiated directly.
|
|
30
|
+
class BeFalsey < BaseMatcher
|
|
31
|
+
# @api private
|
|
32
|
+
# @return [String]
|
|
33
|
+
def failure_message
|
|
34
|
+
"expected: falsey value\n got: #{actual_formatted}"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# @api private
|
|
38
|
+
# @return [String]
|
|
39
|
+
def failure_message_when_negated
|
|
40
|
+
"expected: truthy value\n got: #{actual_formatted}"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
private
|
|
44
|
+
|
|
45
|
+
def match(_, actual)
|
|
46
|
+
!actual
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# @api private
|
|
51
|
+
# Provides the implementation for `be_nil`.
|
|
52
|
+
# Not intended to be instantiated directly.
|
|
53
|
+
class BeNil < BaseMatcher
|
|
54
|
+
# @api private
|
|
55
|
+
# @return [String]
|
|
56
|
+
def failure_message
|
|
57
|
+
"expected: nil\n got: #{actual_formatted}"
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# @api private
|
|
61
|
+
# @return [String]
|
|
62
|
+
def failure_message_when_negated
|
|
63
|
+
"expected: not nil\n got: nil"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
private
|
|
67
|
+
|
|
68
|
+
def match(_, actual)
|
|
69
|
+
actual.nil?
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# @private
|
|
74
|
+
module BeHelpers
|
|
75
|
+
private
|
|
76
|
+
|
|
77
|
+
def args_to_s
|
|
78
|
+
@args.empty? ? "" : parenthesize(inspected_args.join(', '))
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def parenthesize(string)
|
|
82
|
+
"(#{string})"
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def inspected_args
|
|
86
|
+
@args.map { |a| RSpec::Support::ObjectFormatter.format(a) }
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def expected_to_sentence
|
|
90
|
+
EnglishPhrasing.split_words(@expected)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def args_to_sentence
|
|
94
|
+
EnglishPhrasing.list(@args)
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# @api private
|
|
99
|
+
# Provides the implementation for `be`.
|
|
100
|
+
# Not intended to be instantiated directly.
|
|
101
|
+
class Be < BaseMatcher
|
|
102
|
+
include BeHelpers
|
|
103
|
+
|
|
104
|
+
def initialize(*args)
|
|
105
|
+
@args = args
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# @api private
|
|
109
|
+
# @return [String]
|
|
110
|
+
def failure_message
|
|
111
|
+
"expected #{actual_formatted} to evaluate to true"
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# @api private
|
|
115
|
+
# @return [String]
|
|
116
|
+
def failure_message_when_negated
|
|
117
|
+
"expected #{actual_formatted} to evaluate to false"
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
[:==, :<, :<=, :>=, :>, :===, :=~].each do |operator|
|
|
121
|
+
define_method operator do |operand|
|
|
122
|
+
BeComparedTo.new(operand, operator)
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
private
|
|
127
|
+
|
|
128
|
+
def match(_, actual)
|
|
129
|
+
!!actual
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# @api private
|
|
134
|
+
# Provides the implementation of `be <operator> value`.
|
|
135
|
+
# Not intended to be instantiated directly.
|
|
136
|
+
class BeComparedTo < BaseMatcher
|
|
137
|
+
include BeHelpers
|
|
138
|
+
|
|
139
|
+
def initialize(operand, operator)
|
|
140
|
+
@expected = operand
|
|
141
|
+
@operator = operator
|
|
142
|
+
@args = []
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
def matches?(actual)
|
|
146
|
+
perform_match(actual)
|
|
147
|
+
rescue ArgumentError, NoMethodError
|
|
148
|
+
false
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
def does_not_match?(actual)
|
|
152
|
+
!perform_match(actual)
|
|
153
|
+
rescue ArgumentError, NoMethodError
|
|
154
|
+
false
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# @api private
|
|
158
|
+
# @return [String]
|
|
159
|
+
def failure_message
|
|
160
|
+
"expected: #{@operator} #{expected_formatted}\n" \
|
|
161
|
+
" got: #{@operator.to_s.gsub(/./, ' ')} #{actual_formatted}"
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# @api private
|
|
165
|
+
# @return [String]
|
|
166
|
+
def failure_message_when_negated
|
|
167
|
+
message = "`expect(#{actual_formatted}).not_to " \
|
|
168
|
+
"be #{@operator} #{expected_formatted}`"
|
|
169
|
+
if [:<, :>, :<=, :>=].include?(@operator)
|
|
170
|
+
message + " not only FAILED, it is a bit confusing."
|
|
171
|
+
else
|
|
172
|
+
message
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
# @api private
|
|
177
|
+
# @return [String]
|
|
178
|
+
def description
|
|
179
|
+
"be #{@operator} #{expected_to_sentence}#{args_to_sentence}"
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
private
|
|
183
|
+
|
|
184
|
+
def perform_match(actual)
|
|
185
|
+
@actual = actual
|
|
186
|
+
@actual.__send__ @operator, @expected
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
# Provides the implementation for `be_between`.
|
|
6
|
+
# Not intended to be instantiated directly.
|
|
7
|
+
class BeBetween < BaseMatcher
|
|
8
|
+
def initialize(min, max)
|
|
9
|
+
@min, @max = min, max
|
|
10
|
+
inclusive
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# @api public
|
|
14
|
+
# Makes the between comparison inclusive.
|
|
15
|
+
#
|
|
16
|
+
# @example
|
|
17
|
+
# expect(3).to be_between(2, 3).inclusive
|
|
18
|
+
#
|
|
19
|
+
# @note The matcher is inclusive by default; this simply provides
|
|
20
|
+
# a way to be more explicit about it.
|
|
21
|
+
def inclusive
|
|
22
|
+
@less_than_operator = :<=
|
|
23
|
+
@greater_than_operator = :>=
|
|
24
|
+
@mode = :inclusive
|
|
25
|
+
self
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @api public
|
|
29
|
+
# Makes the between comparison exclusive.
|
|
30
|
+
#
|
|
31
|
+
# @example
|
|
32
|
+
# expect(3).to be_between(2, 4).exclusive
|
|
33
|
+
def exclusive
|
|
34
|
+
@less_than_operator = :<
|
|
35
|
+
@greater_than_operator = :>
|
|
36
|
+
@mode = :exclusive
|
|
37
|
+
self
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @api private
|
|
41
|
+
# @return [Boolean]
|
|
42
|
+
def matches?(actual)
|
|
43
|
+
@actual = actual
|
|
44
|
+
comparable? && compare
|
|
45
|
+
rescue ArgumentError
|
|
46
|
+
false
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @api private
|
|
50
|
+
# @return [String]
|
|
51
|
+
def failure_message
|
|
52
|
+
"#{super}#{not_comparable_clause}"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# @api private
|
|
56
|
+
# @return [String]
|
|
57
|
+
def description
|
|
58
|
+
"be between #{description_of @min} and #{description_of @max} (#{@mode})"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
private
|
|
62
|
+
|
|
63
|
+
def comparable?
|
|
64
|
+
@actual.respond_to?(@less_than_operator) && @actual.respond_to?(@greater_than_operator)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def not_comparable_clause
|
|
68
|
+
", but it does not respond to `#{@less_than_operator}` and `#{@greater_than_operator}`" unless comparable?
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def compare
|
|
72
|
+
@actual.__send__(@greater_than_operator, @min) && @actual.__send__(@less_than_operator, @max)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
# Provides the implementation for `be_an_instance_of`.
|
|
6
|
+
# Not intended to be instantiated directly.
|
|
7
|
+
class BeAnInstanceOf < BaseMatcher
|
|
8
|
+
# @api private
|
|
9
|
+
# @return [String]
|
|
10
|
+
def description
|
|
11
|
+
"be an instance of #{expected}"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def match(expected, actual)
|
|
17
|
+
actual.instance_of?(expected)
|
|
18
|
+
rescue NoMethodError
|
|
19
|
+
raise ::ArgumentError, "The #{matcher_name} matcher requires that " \
|
|
20
|
+
"the actual object responds to #instance_of? method " \
|
|
21
|
+
"but a `NoMethodError` was encountered instead."
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
# Provides the implementation for `be_a_kind_of`.
|
|
6
|
+
# Not intended to be instantiated directly.
|
|
7
|
+
class BeAKindOf < BaseMatcher
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
def match(expected, actual)
|
|
11
|
+
actual.kind_of?(expected)
|
|
12
|
+
rescue NoMethodError
|
|
13
|
+
raise ::ArgumentError, "The #{matcher_name} matcher requires that " \
|
|
14
|
+
"the actual object responds to #kind_of? method " \
|
|
15
|
+
"but a `NoMethodError` was encountered instead."
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
# Provides the implementation for `be_within`.
|
|
6
|
+
# Not intended to be instantiated directly.
|
|
7
|
+
class BeWithin < BaseMatcher
|
|
8
|
+
def initialize(delta)
|
|
9
|
+
@delta = delta
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# @api public
|
|
13
|
+
# Sets the expected value.
|
|
14
|
+
def of(expected)
|
|
15
|
+
@expected = expected
|
|
16
|
+
@tolerance = @delta
|
|
17
|
+
@unit = ''
|
|
18
|
+
self
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @api public
|
|
22
|
+
# Sets the expected value, and makes the matcher do
|
|
23
|
+
# a percent comparison.
|
|
24
|
+
def percent_of(expected)
|
|
25
|
+
@expected = expected
|
|
26
|
+
@tolerance = @expected.abs * @delta / 100.0
|
|
27
|
+
@unit = '%'
|
|
28
|
+
self
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @private
|
|
32
|
+
def matches?(actual)
|
|
33
|
+
@actual = actual
|
|
34
|
+
raise needs_expected unless defined? @expected
|
|
35
|
+
numeric? && (@actual - @expected).abs <= @tolerance
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @api private
|
|
39
|
+
# @return [String]
|
|
40
|
+
def failure_message
|
|
41
|
+
"expected #{actual_formatted} to #{description}#{not_numeric_clause}"
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# @api private
|
|
45
|
+
# @return [String]
|
|
46
|
+
def failure_message_when_negated
|
|
47
|
+
"expected #{actual_formatted} not to #{description}"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# @api private
|
|
51
|
+
# @return [String]
|
|
52
|
+
def description
|
|
53
|
+
"be within #{@delta}#{@unit} of #{expected_formatted}"
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
private
|
|
57
|
+
|
|
58
|
+
def numeric?
|
|
59
|
+
@actual.respond_to?(:-)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def needs_expected
|
|
63
|
+
ArgumentError.new "You must set an expected value using #of: be_within(#{@delta}).of(expected_value)"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def not_numeric_clause
|
|
67
|
+
", but it could not be treated as a numeric value" unless numeric?
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|