mdap 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.gitignore +11 -0
  4. data/.rspec +3 -0
  5. data/.travis.yml +6 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +7 -0
  8. data/Gemfile.lock +34 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +58 -0
  11. data/Rakefile +6 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/lib/mdap.rb +95 -0
  15. data/lib/mdap/version.rb +3 -0
  16. data/mdap.gemspec +26 -0
  17. data/vendor/bundle/ruby/2.7.0/bin/htmldiff +29 -0
  18. data/vendor/bundle/ruby/2.7.0/bin/ldiff +29 -0
  19. data/vendor/bundle/ruby/2.7.0/bin/rake +27 -0
  20. data/vendor/bundle/ruby/2.7.0/bin/rspec +27 -0
  21. data/vendor/bundle/ruby/2.7.0/cache/diff-lcs-1.3.gem +0 -0
  22. data/vendor/bundle/ruby/2.7.0/cache/rake-12.3.3.gem +0 -0
  23. data/vendor/bundle/ruby/2.7.0/cache/rspec-3.9.0.gem +0 -0
  24. data/vendor/bundle/ruby/2.7.0/cache/rspec-core-3.9.1.gem +0 -0
  25. data/vendor/bundle/ruby/2.7.0/cache/rspec-expectations-3.9.0.gem +0 -0
  26. data/vendor/bundle/ruby/2.7.0/cache/rspec-mocks-3.9.1.gem +0 -0
  27. data/vendor/bundle/ruby/2.7.0/cache/rspec-support-3.9.2.gem +0 -0
  28. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/.rspec +1 -0
  29. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/Code-of-Conduct.md +74 -0
  30. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/Contributing.md +83 -0
  31. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/History.md +220 -0
  32. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/License.md +39 -0
  33. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/Manifest.txt +37 -0
  34. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/README.rdoc +84 -0
  35. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/Rakefile +57 -0
  36. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/autotest/discover.rb +1 -0
  37. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/bin/htmldiff +32 -0
  38. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/bin/ldiff +6 -0
  39. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/docs/COPYING.txt +339 -0
  40. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/docs/artistic.txt +127 -0
  41. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff-lcs.rb +3 -0
  42. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs.rb +725 -0
  43. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +7 -0
  44. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +37 -0
  45. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +322 -0
  46. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +181 -0
  47. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +149 -0
  48. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +276 -0
  49. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +307 -0
  50. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +167 -0
  51. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +5 -0
  52. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/change_spec.rb +65 -0
  53. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/diff_spec.rb +47 -0
  54. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +50 -0
  55. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +51 -0
  56. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/hunk_spec.rb +72 -0
  57. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/issues_spec.rb +49 -0
  58. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/lcs_spec.rb +56 -0
  59. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/ldiff_spec.rb +47 -0
  60. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/patch_spec.rb +422 -0
  61. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/sdiff_spec.rb +214 -0
  62. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/spec_helper.rb +321 -0
  63. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +310 -0
  64. data/vendor/bundle/ruby/2.7.0/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +139 -0
  65. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/CONTRIBUTING.rdoc +43 -0
  66. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/Gemfile +3 -0
  67. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/History.rdoc +2344 -0
  68. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/MIT-LICENSE +21 -0
  69. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/README.rdoc +156 -0
  70. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/Rakefile +41 -0
  71. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/azure-pipelines.yml +11 -0
  72. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/bin/bundle +105 -0
  73. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/bin/console +7 -0
  74. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/bin/rake +29 -0
  75. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/bin/rdoc +29 -0
  76. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/bin/rubocop +29 -0
  77. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/bin/setup +6 -0
  78. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/command_line_usage.rdoc +158 -0
  79. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile1 +38 -0
  80. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile2 +35 -0
  81. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/example/a.c +6 -0
  82. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/example/b.c +6 -0
  83. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/example/main.c +11 -0
  84. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/glossary.rdoc +42 -0
  85. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/jamis.rb +592 -0
  86. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/proto_rake.rdoc +127 -0
  87. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/rake.1 +156 -0
  88. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/rakefile.rdoc +622 -0
  89. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/doc/rational.rdoc +151 -0
  90. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/exe/rake +27 -0
  91. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake.rb +71 -0
  92. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/application.rb +824 -0
  93. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/backtrace.rb +24 -0
  94. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/clean.rb +78 -0
  95. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cloneable.rb +17 -0
  96. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cpu_counter.rb +107 -0
  97. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/default_loader.rb +15 -0
  98. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/dsl_definition.rb +195 -0
  99. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/early_time.rb +22 -0
  100. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/core.rb +26 -0
  101. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/string.rb +176 -0
  102. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_creation_task.rb +25 -0
  103. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_list.rb +435 -0
  104. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_task.rb +54 -0
  105. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils.rb +137 -0
  106. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils_ext.rb +145 -0
  107. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_chain.rb +57 -0
  108. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_exception_mixin.rb +17 -0
  109. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/late_time.rb +18 -0
  110. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/linked_list.rb +112 -0
  111. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/loaders/makefile.rb +54 -0
  112. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/multi_task.rb +14 -0
  113. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/name_space.rb +38 -0
  114. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/packagetask.rb +207 -0
  115. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/phony.rb +16 -0
  116. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/private_reader.rb +21 -0
  117. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/promise.rb +100 -0
  118. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/pseudo_status.rb +30 -0
  119. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_module.rb +67 -0
  120. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb +27 -0
  121. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rule_recursion_overflow_error.rb +20 -0
  122. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/scope.rb +43 -0
  123. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task.rb +413 -0
  124. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_argument_error.rb +8 -0
  125. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_arguments.rb +109 -0
  126. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_manager.rb +324 -0
  127. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/tasklib.rb +12 -0
  128. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/testtask.rb +224 -0
  129. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_history_display.rb +49 -0
  130. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_pool.rb +163 -0
  131. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/trace_output.rb +23 -0
  132. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/version.rb +10 -0
  133. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/win32.rb +51 -0
  134. data/vendor/bundle/ruby/2.7.0/gems/rake-12.3.3/rake.gemspec +42 -0
  135. data/vendor/bundle/ruby/2.7.0/gems/rspec-3.9.0/LICENSE.md +27 -0
  136. data/vendor/bundle/ruby/2.7.0/gems/rspec-3.9.0/README.md +43 -0
  137. data/vendor/bundle/ruby/2.7.0/gems/rspec-3.9.0/lib/rspec.rb +3 -0
  138. data/vendor/bundle/ruby/2.7.0/gems/rspec-3.9.0/lib/rspec/version.rb +5 -0
  139. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/.document +5 -0
  140. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/.yardopts +8 -0
  141. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/Changelog.md +2274 -0
  142. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/LICENSE.md +26 -0
  143. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/README.md +384 -0
  144. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/exe/rspec +4 -0
  145. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/autorun.rb +3 -0
  146. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core.rb +186 -0
  147. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/backtrace_formatter.rb +65 -0
  148. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/coordinator.rb +62 -0
  149. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  150. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/fork_runner.rb +135 -0
  151. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/server.rb +61 -0
  152. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/shell_command.rb +126 -0
  153. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/shell_runner.rb +73 -0
  154. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/utilities.rb +58 -0
  155. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb +2336 -0
  156. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration_options.rb +233 -0
  157. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/did_you_mean.rb +46 -0
  158. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/drb.rb +113 -0
  159. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/dsl.rb +98 -0
  160. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb +656 -0
  161. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb +889 -0
  162. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/example_status_persister.rb +235 -0
  163. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/filter_manager.rb +231 -0
  164. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/flat_map.rb +20 -0
  165. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters.rb +272 -0
  166. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  167. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_formatter.rb +70 -0
  168. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  169. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  170. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  171. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/console_codes.rb +68 -0
  172. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  173. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  174. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/exception_presenter.rb +508 -0
  175. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  176. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  177. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/helpers.rb +110 -0
  178. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_formatter.rb +153 -0
  179. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_printer.rb +414 -0
  180. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  181. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/json_formatter.rb +102 -0
  182. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  183. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  184. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/protocol.rb +182 -0
  185. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  186. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  187. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb +632 -0
  188. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/invocations.rb +87 -0
  189. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/memoized_helpers.rb +554 -0
  190. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb +498 -0
  191. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata_filter.rb +255 -0
  192. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  193. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  194. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  195. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/null.rb +14 -0
  196. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  197. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  198. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/notifications.rb +521 -0
  199. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/option_parser.rb +316 -0
  200. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/ordering.rb +158 -0
  201. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/output_wrapper.rb +29 -0
  202. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/pending.rb +165 -0
  203. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/profiler.rb +34 -0
  204. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer.rb +48 -0
  205. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer/.rspec +1 -0
  206. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer/spec/spec_helper.rb +100 -0
  207. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/rake_task.rb +188 -0
  208. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb +265 -0
  209. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/ruby_project.rb +53 -0
  210. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb +204 -0
  211. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/sandbox.rb +37 -0
  212. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/set.rb +54 -0
  213. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_context.rb +55 -0
  214. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb +269 -0
  215. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/shell_escape.rb +49 -0
  216. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  217. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/version.rb +9 -0
  218. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/warnings.rb +40 -0
  219. data/vendor/bundle/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/world.rb +275 -0
  220. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/.document +5 -0
  221. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/.yardopts +6 -0
  222. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/Changelog.md +1170 -0
  223. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/LICENSE.md +25 -0
  224. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/README.md +320 -0
  225. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations.rb +82 -0
  226. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  227. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations/configuration.rb +215 -0
  228. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations/expectation_target.rb +127 -0
  229. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations/fail_with.rb +39 -0
  230. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations/failure_aggregator.rb +194 -0
  231. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations/handler.rb +170 -0
  232. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations/minitest_integration.rb +58 -0
  233. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations/syntax.rb +132 -0
  234. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/expectations/version.rb +8 -0
  235. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers.rb +1038 -0
  236. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
  237. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in.rb +52 -0
  238. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/all.rb +86 -0
  239. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/base_matcher.rb +193 -0
  240. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be.rb +288 -0
  241. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
  242. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  243. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  244. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
  245. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/change.rb +428 -0
  246. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/compound.rb +276 -0
  247. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/contain_exactly.rb +302 -0
  248. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/cover.rb +24 -0
  249. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/eq.rb +40 -0
  250. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/eql.rb +34 -0
  251. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/equal.rb +81 -0
  252. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/exist.rb +90 -0
  253. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/has.rb +103 -0
  254. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  255. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/include.rb +149 -0
  256. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/match.rb +106 -0
  257. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/operators.rb +128 -0
  258. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/output.rb +200 -0
  259. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/raise_error.rb +230 -0
  260. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/respond_to.rb +174 -0
  261. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  262. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  263. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  264. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/yield.rb +432 -0
  265. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/composable.rb +171 -0
  266. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/dsl.rb +534 -0
  267. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/english_phrasing.rb +58 -0
  268. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  269. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/fail_matchers.rb +42 -0
  270. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/generated_descriptions.rb +41 -0
  271. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
  272. data/vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.9.0/lib/rspec/matchers/matcher_protocol.rb +99 -0
  273. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/.document +5 -0
  274. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/.yardopts +6 -0
  275. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/Changelog.md +1133 -0
  276. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/LICENSE.md +25 -0
  277. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/README.md +463 -0
  278. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks.rb +130 -0
  279. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance.rb +11 -0
  280. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/chain.rb +111 -0
  281. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  282. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  283. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  284. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  285. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  286. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/recorder.rb +294 -0
  287. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  288. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  289. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  290. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_matchers.rb +322 -0
  291. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/configuration.rb +212 -0
  292. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/error_generator.rb +369 -0
  293. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/example_methods.rb +434 -0
  294. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  295. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/marshal_extension.rb +41 -0
  296. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  297. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/have_received.rb +134 -0
  298. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive.rb +132 -0
  299. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  300. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  301. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_chain.rb +87 -0
  302. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb +751 -0
  303. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_double.rb +287 -0
  304. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_reference.rb +202 -0
  305. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/minitest_integration.rb +68 -0
  306. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/mutate_const.rb +339 -0
  307. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/object_reference.rb +149 -0
  308. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/order_group.rb +81 -0
  309. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/proxy.rb +503 -0
  310. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/space.rb +238 -0
  311. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/standalone.rb +3 -0
  312. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/syntax.rb +325 -0
  313. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/targets.rb +124 -0
  314. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/test_double.rb +171 -0
  315. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_double.rb +129 -0
  316. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
  317. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_proxy.rb +220 -0
  318. data/vendor/bundle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/version.rb +9 -0
  319. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/Changelog.md +292 -0
  320. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/LICENSE.md +23 -0
  321. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/README.md +40 -0
  322. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support.rb +149 -0
  323. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/caller_filter.rb +83 -0
  324. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/comparable_version.rb +46 -0
  325. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/differ.rb +215 -0
  326. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/directory_maker.rb +63 -0
  327. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/encoded_string.rb +161 -0
  328. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/fuzzy_matcher.rb +48 -0
  329. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/hunk_generator.rb +47 -0
  330. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/matcher_definition.rb +42 -0
  331. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/method_signature_verifier.rb +438 -0
  332. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/mutex.rb +73 -0
  333. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/object_formatter.rb +275 -0
  334. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/recursive_const_methods.rb +76 -0
  335. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/reentrant_mutex.rb +53 -0
  336. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/ruby_features.rb +185 -0
  337. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/source.rb +75 -0
  338. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/source/location.rb +21 -0
  339. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/source/node.rb +110 -0
  340. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/source/token.rb +87 -0
  341. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec.rb +81 -0
  342. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
  343. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/formatting_support.rb +9 -0
  344. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/in_sub_process.rb +69 -0
  345. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  346. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/shell_out.rb +89 -0
  347. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/stderr_splitter.rb +67 -0
  348. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/string_matcher.rb +46 -0
  349. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  350. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  351. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/version.rb +7 -0
  352. data/vendor/bundle/ruby/2.7.0/gems/rspec-support-3.9.2/lib/rspec/support/warnings.rb +39 -0
  353. data/vendor/bundle/ruby/2.7.0/specifications/diff-lcs-1.3.gemspec +51 -0
  354. data/vendor/bundle/ruby/2.7.0/specifications/rake-12.3.3.gemspec +43 -0
  355. data/vendor/bundle/ruby/2.7.0/specifications/rspec-3.9.0.gemspec +39 -0
  356. data/vendor/bundle/ruby/2.7.0/specifications/rspec-core-3.9.1.gemspec +53 -0
  357. data/vendor/bundle/ruby/2.7.0/specifications/rspec-expectations-3.9.0.gemspec +44 -0
  358. data/vendor/bundle/ruby/2.7.0/specifications/rspec-mocks-3.9.1.gemspec +44 -0
  359. data/vendor/bundle/ruby/2.7.0/specifications/rspec-support-3.9.2.gemspec +36 -0
  360. metadata +403 -0
@@ -0,0 +1,120 @@
1
+ module RSpec
2
+ module Core
3
+ module Formatters
4
+ # @api private
5
+ #
6
+ # Extracts code snippets by looking at the backtrace of the passed error
7
+ # and applies synax highlighting and line numbers using html.
8
+ class HtmlSnippetExtractor
9
+ # @private
10
+ module NullConverter
11
+ def self.convert(code)
12
+ %Q(#{code}\n<span class="comment"># Install the coderay gem to get syntax highlighting</span>)
13
+ end
14
+ end
15
+
16
+ # @private
17
+ module CoderayConverter
18
+ def self.convert(code)
19
+ CodeRay.scan(code, :ruby).html(:line_numbers => false)
20
+ end
21
+ end
22
+
23
+ # rubocop:disable Style/ClassVars
24
+ # @private
25
+ @@converter = NullConverter
26
+
27
+ begin
28
+ require 'coderay'
29
+ RSpec::Support.require_rspec_core 'formatters/syntax_highlighter'
30
+ RSpec::Core::Formatters::SyntaxHighlighter.attempt_to_add_rspec_terms_to_coderay_keywords
31
+ @@converter = CoderayConverter
32
+ # rubocop:disable Lint/HandleExceptions
33
+ rescue LoadError
34
+ # it'll fall back to the NullConverter assigned above
35
+ # rubocop:enable Lint/HandleExceptions
36
+ end
37
+
38
+ # rubocop:enable Style/ClassVars
39
+
40
+ # @api private
41
+ #
42
+ # Extract lines of code corresponding to a backtrace.
43
+ #
44
+ # @param backtrace [String] the backtrace from a test failure
45
+ # @return [String] highlighted code snippet indicating where the test
46
+ # failure occured
47
+ #
48
+ # @see #post_process
49
+ def snippet(backtrace)
50
+ raw_code, line = snippet_for(backtrace[0])
51
+ highlighted = @@converter.convert(raw_code)
52
+ post_process(highlighted, line)
53
+ end
54
+ # rubocop:enable Style/ClassVars
55
+
56
+ # @api private
57
+ #
58
+ # Create a snippet from a line of code.
59
+ #
60
+ # @param error_line [String] file name with line number (i.e.
61
+ # 'foo_spec.rb:12')
62
+ # @return [String] lines around the target line within the file
63
+ #
64
+ # @see #lines_around
65
+ def snippet_for(error_line)
66
+ if error_line =~ /(.*):(\d+)/
67
+ file = Regexp.last_match[1]
68
+ line = Regexp.last_match[2].to_i
69
+ [lines_around(file, line), line]
70
+ else
71
+ ["# Couldn't get snippet for #{error_line}", 1]
72
+ end
73
+ end
74
+
75
+ # @api private
76
+ #
77
+ # Extract lines of code centered around a particular line within a
78
+ # source file.
79
+ #
80
+ # @param file [String] filename
81
+ # @param line [Fixnum] line number
82
+ # @return [String] lines around the target line within the file (2 above
83
+ # and 1 below).
84
+ def lines_around(file, line)
85
+ if File.file?(file)
86
+ lines = File.read(file).split("\n")
87
+ min = [0, line - 3].max
88
+ max = [line + 1, lines.length - 1].min
89
+ selected_lines = []
90
+ selected_lines.join("\n")
91
+ lines[min..max].join("\n")
92
+ else
93
+ "# Couldn't get snippet for #{file}"
94
+ end
95
+ rescue SecurityError
96
+ "# Couldn't get snippet for #{file}"
97
+ end
98
+
99
+ # @api private
100
+ #
101
+ # Adds line numbers to all lines and highlights the line where the
102
+ # failure occurred using html `span` tags.
103
+ #
104
+ # @param highlighted [String] syntax-highlighted snippet surrounding the
105
+ # offending line of code
106
+ # @param offending_line [Fixnum] line where failure occured
107
+ # @return [String] completed snippet
108
+ def post_process(highlighted, offending_line)
109
+ new_lines = []
110
+ highlighted.split("\n").each_with_index do |line, i|
111
+ new_line = "<span class=\"linenum\">#{offending_line + i - 2}</span>#{line}"
112
+ new_line = "<span class=\"offending\">#{new_line}</span>" if i == 2
113
+ new_lines << new_line
114
+ end
115
+ new_lines.join("\n")
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -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
@@ -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
@@ -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