xaiml 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (780) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config-2.0.yml +160 -0
  3. data/.circleci/config.yml +48 -0
  4. data/.gitignore +1 -2
  5. data/.reek.yml +5 -2
  6. data/.rubocop.rspec.yml +67 -0
  7. data/.rubocop.ruby.yml +423 -0
  8. data/.rubocop.yml +18 -15
  9. data/.ruby-version +1 -1
  10. data/Gemfile +2 -0
  11. data/Gemfile.lock +95 -0
  12. data/Rakefile +3 -1
  13. data/bin/console +1 -0
  14. data/lib/xaiml/document.rb +11 -7
  15. data/lib/xaiml/element/base.rb +5 -0
  16. data/lib/xaiml/element/category.rb +6 -1
  17. data/lib/xaiml/element/condition.rb +5 -1
  18. data/lib/xaiml/element/conditional_random.rb +5 -1
  19. data/lib/xaiml/element/ext.rb +5 -1
  20. data/lib/xaiml/element/topic.rb +5 -1
  21. data/lib/xaiml/element.rb +32 -28
  22. data/lib/xaiml/exceptions.rb +2 -0
  23. data/lib/xaiml/version.rb +3 -1
  24. data/lib/xaiml.rb +6 -4
  25. data/xaiml.gemspec +9 -2
  26. metadata +86 -766
  27. data/vendor/bundle/ruby/2.5.0/bin/coderay +0 -27
  28. data/vendor/bundle/ruby/2.5.0/bin/htmldiff +0 -29
  29. data/vendor/bundle/ruby/2.5.0/bin/ldiff +0 -29
  30. data/vendor/bundle/ruby/2.5.0/bin/pry +0 -27
  31. data/vendor/bundle/ruby/2.5.0/bin/rake +0 -27
  32. data/vendor/bundle/ruby/2.5.0/bin/rspec +0 -27
  33. data/vendor/bundle/ruby/2.5.0/cache/coderay-1.1.2.gem +0 -0
  34. data/vendor/bundle/ruby/2.5.0/cache/diff-lcs-1.3.gem +0 -0
  35. data/vendor/bundle/ruby/2.5.0/cache/method_source-0.9.0.gem +0 -0
  36. data/vendor/bundle/ruby/2.5.0/cache/ox-2.10.0.gem +0 -0
  37. data/vendor/bundle/ruby/2.5.0/cache/pry-0.11.3.gem +0 -0
  38. data/vendor/bundle/ruby/2.5.0/cache/rake-10.5.0.gem +0 -0
  39. data/vendor/bundle/ruby/2.5.0/cache/rspec-3.8.0.gem +0 -0
  40. data/vendor/bundle/ruby/2.5.0/cache/rspec-core-3.8.0.gem +0 -0
  41. data/vendor/bundle/ruby/2.5.0/cache/rspec-expectations-3.8.1.gem +0 -0
  42. data/vendor/bundle/ruby/2.5.0/cache/rspec-mocks-3.8.0.gem +0 -0
  43. data/vendor/bundle/ruby/2.5.0/cache/rspec-support-3.8.0.gem +0 -0
  44. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/ox-2.10.0/gem.build_complete +0 -0
  45. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/ox-2.10.0/gem_make.out +0 -93
  46. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/ox-2.10.0/ox.bundle +0 -0
  47. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/MIT-LICENSE +0 -22
  48. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/README_INDEX.rdoc +0 -123
  49. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/bin/coderay +0 -215
  50. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/duo.rb +0 -81
  51. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/_map.rb +0 -17
  52. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/comment_filter.rb +0 -25
  53. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/count.rb +0 -39
  54. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/debug.rb +0 -49
  55. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/debug_lint.rb +0 -63
  56. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/div.rb +0 -23
  57. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/encoder.rb +0 -190
  58. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/filter.rb +0 -58
  59. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/html/css.rb +0 -65
  60. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/html/numbering.rb +0 -108
  61. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/html/output.rb +0 -166
  62. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/html.rb +0 -333
  63. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/json.rb +0 -83
  64. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/lines_of_code.rb +0 -45
  65. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/lint.rb +0 -59
  66. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/null.rb +0 -18
  67. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/page.rb +0 -24
  68. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/span.rb +0 -23
  69. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/statistic.rb +0 -95
  70. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/terminal.rb +0 -195
  71. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/text.rb +0 -46
  72. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/token_kind_filter.rb +0 -111
  73. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/xml.rb +0 -72
  74. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders/yaml.rb +0 -50
  75. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/encoders.rb +0 -18
  76. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/for_redcloth.rb +0 -95
  77. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/helpers/file_type.rb +0 -151
  78. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/helpers/plugin.rb +0 -55
  79. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/helpers/plugin_host.rb +0 -221
  80. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/helpers/word_list.rb +0 -72
  81. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/_map.rb +0 -24
  82. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/c.rb +0 -189
  83. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/clojure.rb +0 -217
  84. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/cpp.rb +0 -217
  85. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/css.rb +0 -196
  86. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/debug.rb +0 -75
  87. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/delphi.rb +0 -144
  88. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/diff.rb +0 -221
  89. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/erb.rb +0 -81
  90. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/go.rb +0 -208
  91. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/groovy.rb +0 -268
  92. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/haml.rb +0 -168
  93. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/html.rb +0 -275
  94. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/java/builtin_types.rb +0 -421
  95. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/java.rb +0 -174
  96. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/java_script.rb +0 -237
  97. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/json.rb +0 -98
  98. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/lua.rb +0 -280
  99. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/php.rb +0 -527
  100. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/python.rb +0 -287
  101. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/raydebug.rb +0 -75
  102. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/ruby/patterns.rb +0 -178
  103. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/ruby/string_state.rb +0 -79
  104. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/ruby.rb +0 -477
  105. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/sass.rb +0 -232
  106. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/scanner.rb +0 -337
  107. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/sql.rb +0 -169
  108. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/taskpaper.rb +0 -36
  109. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/text.rb +0 -26
  110. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/xml.rb +0 -17
  111. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners/yaml.rb +0 -140
  112. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/scanners.rb +0 -27
  113. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/styles/_map.rb +0 -7
  114. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/styles/alpha.rb +0 -153
  115. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/styles/style.rb +0 -18
  116. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/styles.rb +0 -15
  117. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/token_kinds.rb +0 -85
  118. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/tokens.rb +0 -161
  119. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/tokens_proxy.rb +0 -55
  120. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay/version.rb +0 -3
  121. data/vendor/bundle/ruby/2.5.0/gems/coderay-1.1.2/lib/coderay.rb +0 -284
  122. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/.rspec +0 -1
  123. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/Code-of-Conduct.md +0 -74
  124. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/Contributing.md +0 -83
  125. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/History.md +0 -220
  126. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/License.md +0 -39
  127. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/Manifest.txt +0 -37
  128. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/README.rdoc +0 -84
  129. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/Rakefile +0 -57
  130. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/autotest/discover.rb +0 -1
  131. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/bin/htmldiff +0 -32
  132. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/bin/ldiff +0 -6
  133. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/docs/COPYING.txt +0 -339
  134. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/docs/artistic.txt +0 -127
  135. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +0 -7
  136. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +0 -37
  137. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +0 -322
  138. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +0 -181
  139. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +0 -149
  140. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +0 -276
  141. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +0 -307
  142. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +0 -167
  143. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +0 -5
  144. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs.rb +0 -725
  145. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff-lcs.rb +0 -3
  146. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/change_spec.rb +0 -65
  147. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/diff_spec.rb +0 -47
  148. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +0 -50
  149. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +0 -51
  150. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/hunk_spec.rb +0 -72
  151. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/issues_spec.rb +0 -49
  152. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/lcs_spec.rb +0 -56
  153. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/ldiff_spec.rb +0 -47
  154. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/patch_spec.rb +0 -422
  155. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/sdiff_spec.rb +0 -214
  156. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/spec_helper.rb +0 -321
  157. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +0 -310
  158. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +0 -139
  159. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/.gemtest +0 -0
  160. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/.travis.yml +0 -30
  161. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/.yardopts +0 -1
  162. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/Gemfile +0 -2
  163. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/LICENSE +0 -25
  164. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/README.markdown +0 -91
  165. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/Rakefile +0 -80
  166. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/lib/method_source/code_helpers.rb +0 -154
  167. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/lib/method_source/source_location.rb +0 -138
  168. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/lib/method_source/version.rb +0 -3
  169. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/lib/method_source.rb +0 -141
  170. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/method_source.gemspec +0 -34
  171. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/spec/method_source/code_helpers_spec.rb +0 -43
  172. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/spec/method_source_spec.rb +0 -143
  173. data/vendor/bundle/ruby/2.5.0/gems/method_source-0.9.0/spec/spec_helper.rb +0 -101
  174. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/CHANGELOG.md +0 -455
  175. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/LICENSE +0 -21
  176. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/README.md +0 -307
  177. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/.sitearchdir.time +0 -0
  178. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/Makefile +0 -264
  179. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/attr.h +0 -84
  180. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/base64.c +0 -99
  181. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/base64.h +0 -18
  182. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/base64.o +0 -0
  183. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/buf.h +0 -160
  184. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/builder.c +0 -937
  185. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/builder.o +0 -0
  186. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/cache.c +0 -160
  187. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/cache.h +0 -19
  188. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/cache.o +0 -0
  189. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/cache8.c +0 -109
  190. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/cache8.h +0 -23
  191. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/cache8.o +0 -0
  192. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/dump.c +0 -1321
  193. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/dump.o +0 -0
  194. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/err.c +0 -43
  195. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/err.h +0 -36
  196. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/err.o +0 -0
  197. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/extconf.rb +0 -67
  198. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/gen_load.c +0 -492
  199. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/gen_load.o +0 -0
  200. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/hash_load.c +0 -228
  201. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/hash_load.o +0 -0
  202. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/helper.h +0 -91
  203. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/obj_load.c +0 -986
  204. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/obj_load.o +0 -0
  205. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/ox.bundle +0 -0
  206. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/ox.c +0 -1562
  207. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/ox.h +0 -279
  208. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/ox.o +0 -0
  209. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/parse.c +0 -1177
  210. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/parse.o +0 -0
  211. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax.c +0 -1750
  212. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax.h +0 -55
  213. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax.o +0 -0
  214. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_as.c +0 -276
  215. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_as.o +0 -0
  216. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_buf.c +0 -228
  217. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_buf.h +0 -222
  218. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_buf.o +0 -0
  219. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_has.h +0 -53
  220. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_hint.c +0 -216
  221. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_hint.h +0 -40
  222. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_hint.o +0 -0
  223. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/sax_stack.h +0 -85
  224. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/special.c +0 -51
  225. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/special.h +0 -13
  226. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/special.o +0 -0
  227. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/ext/ox/type.h +0 -39
  228. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/bag.rb +0 -99
  229. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/cdata.rb +0 -12
  230. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/comment.rb +0 -13
  231. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/doctype.rb +0 -13
  232. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/document.rb +0 -30
  233. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/element.rb +0 -319
  234. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/error.rb +0 -24
  235. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/hasattrs.rb +0 -48
  236. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/instruct.rb +0 -36
  237. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/node.rb +0 -24
  238. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/raw.rb +0 -14
  239. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/sax.rb +0 -113
  240. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/version.rb +0 -5
  241. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox/xmlrpc_adapter.rb +0 -34
  242. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox.bundle +0 -0
  243. data/vendor/bundle/ruby/2.5.0/gems/ox-2.10.0/lib/ox.rb +0 -79
  244. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/CHANGELOG.md +0 -797
  245. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/LICENSE +0 -25
  246. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/README.md +0 -407
  247. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/bin/pry +0 -12
  248. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/basic_object.rb +0 -6
  249. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/cli.rb +0 -225
  250. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/code/code_file.rb +0 -109
  251. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/code/code_range.rb +0 -71
  252. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/code/loc.rb +0 -92
  253. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/code.rb +0 -353
  254. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/code_object.rb +0 -195
  255. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/color_printer.rb +0 -64
  256. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/command.rb +0 -716
  257. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/command_set.rb +0 -450
  258. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/amend_line.rb +0 -99
  259. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/bang.rb +0 -20
  260. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/bang_pry.rb +0 -17
  261. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/cat/abstract_formatter.rb +0 -27
  262. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/cat/exception_formatter.rb +0 -78
  263. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/cat/file_formatter.rb +0 -71
  264. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/cat/input_expression_formatter.rb +0 -43
  265. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/cat.rb +0 -62
  266. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/cd.rb +0 -41
  267. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/change_inspector.rb +0 -27
  268. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/change_prompt.rb +0 -26
  269. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/code_collector.rb +0 -167
  270. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/disable_pry.rb +0 -27
  271. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/disabled_commands.rb +0 -2
  272. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/easter_eggs.rb +0 -112
  273. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/edit/exception_patcher.rb +0 -25
  274. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/edit/file_and_line_locator.rb +0 -36
  275. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/edit.rb +0 -199
  276. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/exit.rb +0 -42
  277. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/exit_all.rb +0 -29
  278. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/exit_program.rb +0 -23
  279. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/find_method.rb +0 -193
  280. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/fix_indent.rb +0 -19
  281. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/gem_cd.rb +0 -26
  282. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/gem_install.rb +0 -32
  283. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/gem_list.rb +0 -33
  284. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/gem_open.rb +0 -29
  285. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/gem_readme.rb +0 -25
  286. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/gem_search.rb +0 -40
  287. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/gist.rb +0 -101
  288. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/help.rb +0 -164
  289. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/hist.rb +0 -180
  290. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/import_set.rb +0 -22
  291. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/install_command.rb +0 -53
  292. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/jump_to.rb +0 -29
  293. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/list_inspectors.rb +0 -35
  294. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/list_prompts.rb +0 -35
  295. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/constants.rb +0 -58
  296. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/formatter.rb +0 -50
  297. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/globals.rb +0 -48
  298. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/grep.rb +0 -21
  299. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/instance_vars.rb +0 -39
  300. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/interrogatable.rb +0 -18
  301. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/jruby_hacks.rb +0 -49
  302. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/local_names.rb +0 -35
  303. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/local_vars.rb +0 -39
  304. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/ls_entity.rb +0 -70
  305. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/methods.rb +0 -57
  306. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/methods_helper.rb +0 -46
  307. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls/self_methods.rb +0 -34
  308. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ls.rb +0 -116
  309. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/nesting.rb +0 -25
  310. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/play.rb +0 -103
  311. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/pry_backtrace.rb +0 -25
  312. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/pry_version.rb +0 -17
  313. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/raise_up.rb +0 -32
  314. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/reload_code.rb +0 -62
  315. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/reset.rb +0 -18
  316. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/ri.rb +0 -64
  317. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/save_file.rb +0 -61
  318. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/shell_command.rb +0 -74
  319. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/shell_mode.rb +0 -25
  320. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/show_doc.rb +0 -83
  321. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/show_info.rb +0 -209
  322. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/show_input.rb +0 -17
  323. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/show_source.rb +0 -50
  324. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/simple_prompt.rb +0 -22
  325. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/stat.rb +0 -40
  326. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/switch_to.rb +0 -23
  327. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/toggle_color.rb +0 -24
  328. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/watch_expression/expression.rb +0 -38
  329. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/watch_expression.rb +0 -105
  330. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/whereami.rb +0 -197
  331. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands/wtf.rb +0 -57
  332. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/commands.rb +0 -6
  333. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/config/behavior.rb +0 -231
  334. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/config/convenience.rb +0 -25
  335. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/config/default.rb +0 -149
  336. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/config/memoization.rb +0 -44
  337. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/config.rb +0 -11
  338. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/core_extensions.rb +0 -141
  339. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/editor.rb +0 -135
  340. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/exceptions.rb +0 -78
  341. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/forwardable.rb +0 -23
  342. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/helpers/base_helpers.rb +0 -71
  343. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/helpers/command_helpers.rb +0 -156
  344. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/helpers/documentation_helpers.rb +0 -76
  345. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/helpers/options_helpers.rb +0 -27
  346. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/helpers/table.rb +0 -109
  347. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/helpers/text.rb +0 -116
  348. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/helpers.rb +0 -5
  349. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/history.rb +0 -148
  350. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/history_array.rb +0 -121
  351. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/hooks.rb +0 -171
  352. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/indent.rb +0 -410
  353. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/input_completer.rb +0 -260
  354. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/input_lock.rb +0 -132
  355. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/inspector.rb +0 -27
  356. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/last_exception.rb +0 -61
  357. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/method/disowned.rb +0 -54
  358. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/method/patcher.rb +0 -122
  359. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/method/weird_method_locator.rb +0 -199
  360. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/method.rb +0 -546
  361. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/object_path.rb +0 -82
  362. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/output.rb +0 -49
  363. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/pager.rb +0 -242
  364. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/platform.rb +0 -93
  365. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/plugins.rb +0 -118
  366. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/prompt.rb +0 -26
  367. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/pry_class.rb +0 -401
  368. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/pry_instance.rb +0 -666
  369. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/rbx_path.rb +0 -22
  370. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/repl.rb +0 -232
  371. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/repl_file_loader.rb +0 -74
  372. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/rubygem.rb +0 -84
  373. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/slop/LICENSE +0 -20
  374. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/slop/commands.rb +0 -196
  375. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/slop/option.rb +0 -208
  376. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/slop.rb +0 -661
  377. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/terminal.rb +0 -90
  378. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/testable/evalable.rb +0 -15
  379. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/testable/mockable.rb +0 -14
  380. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/testable/pry_tester.rb +0 -73
  381. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/testable/utility.rb +0 -26
  382. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/testable/variables.rb +0 -46
  383. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/testable.rb +0 -70
  384. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/version.rb +0 -3
  385. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/wrapped_module/candidate.rb +0 -131
  386. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry/wrapped_module.rb +0 -378
  387. data/vendor/bundle/ruby/2.5.0/gems/pry-0.11.3/lib/pry.rb +0 -162
  388. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/.autotest +0 -7
  389. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/.rubocop.yml +0 -27
  390. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/.togglerc +0 -7
  391. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/CONTRIBUTING.rdoc +0 -38
  392. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/History.rdoc +0 -659
  393. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/MIT-LICENSE +0 -21
  394. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/Manifest.txt +0 -166
  395. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/README.rdoc +0 -139
  396. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/Rakefile +0 -81
  397. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/bin/rake +0 -33
  398. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/command_line_usage.rdoc +0 -158
  399. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/Rakefile1 +0 -38
  400. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/Rakefile2 +0 -35
  401. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/a.c +0 -6
  402. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/b.c +0 -6
  403. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/main.c +0 -11
  404. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/glossary.rdoc +0 -42
  405. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/jamis.rb +0 -591
  406. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/proto_rake.rdoc +0 -127
  407. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/rake.1 +0 -141
  408. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/rakefile.rdoc +0 -624
  409. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/rational.rdoc +0 -151
  410. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +0 -23
  411. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +0 -35
  412. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +0 -53
  413. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +0 -78
  414. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +0 -46
  415. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +0 -141
  416. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +0 -119
  417. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +0 -59
  418. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +0 -121
  419. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +0 -47
  420. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +0 -114
  421. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +0 -165
  422. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +0 -112
  423. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +0 -147
  424. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +0 -53
  425. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +0 -37
  426. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +0 -55
  427. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +0 -112
  428. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +0 -52
  429. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  430. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +0 -49
  431. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +0 -102
  432. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +0 -60
  433. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +0 -55
  434. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +0 -64
  435. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +0 -178
  436. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +0 -58
  437. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +0 -53
  438. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +0 -191
  439. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +0 -61
  440. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/alt_system.rb +0 -110
  441. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/application.rb +0 -790
  442. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/backtrace.rb +0 -23
  443. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/clean.rb +0 -76
  444. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/cloneable.rb +0 -16
  445. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/.document +0 -1
  446. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +0 -21
  447. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +0 -137
  448. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +0 -81
  449. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  450. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +0 -61
  451. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/sys.rb +0 -4
  452. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/cpu_counter.rb +0 -125
  453. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/default_loader.rb +0 -14
  454. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/dsl_definition.rb +0 -201
  455. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/early_time.rb +0 -21
  456. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/core.rb +0 -25
  457. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/module.rb +0 -2
  458. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/pathname.rb +0 -25
  459. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/string.rb +0 -175
  460. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/time.rb +0 -18
  461. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_creation_task.rb +0 -24
  462. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_list.rb +0 -428
  463. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_task.rb +0 -46
  464. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_utils.rb +0 -128
  465. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +0 -144
  466. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/gempackagetask.rb +0 -4
  467. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/invocation_chain.rb +0 -56
  468. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +0 -16
  469. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/late_time.rb +0 -17
  470. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/linked_list.rb +0 -103
  471. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +0 -53
  472. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/multi_task.rb +0 -13
  473. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/name_space.rb +0 -38
  474. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/packagetask.rb +0 -199
  475. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/pathmap.rb +0 -3
  476. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/phony.rb +0 -15
  477. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/private_reader.rb +0 -20
  478. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/promise.rb +0 -99
  479. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/pseudo_status.rb +0 -29
  480. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rake_module.rb +0 -38
  481. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +0 -22
  482. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rdoctask.rb +0 -4
  483. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +0 -29
  484. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +0 -20
  485. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/runtest.rb +0 -27
  486. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/scope.rb +0 -42
  487. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task.rb +0 -383
  488. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task_argument_error.rb +0 -7
  489. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task_arguments.rb +0 -98
  490. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task_manager.rb +0 -307
  491. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/tasklib.rb +0 -24
  492. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/testtask.rb +0 -213
  493. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/thread_history_display.rb +0 -48
  494. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/thread_pool.rb +0 -164
  495. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/trace_output.rb +0 -22
  496. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/version.rb +0 -7
  497. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/win32.rb +0 -56
  498. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake.rb +0 -79
  499. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/rakelib/publish.rake +0 -20
  500. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/rakelib/test_times.rake +0 -25
  501. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/file_creation.rb +0 -34
  502. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/helper.rb +0 -129
  503. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/support/rakefile_definitions.rb +0 -478
  504. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/support/ruby_runner.rb +0 -34
  505. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_private_reader.rb +0 -42
  506. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake.rb +0 -40
  507. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_application.rb +0 -643
  508. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_application_options.rb +0 -468
  509. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_backtrace.rb +0 -119
  510. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_clean.rb +0 -61
  511. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +0 -68
  512. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_definitions.rb +0 -84
  513. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_directory_task.rb +0 -76
  514. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_dsl.rb +0 -40
  515. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_early_time.rb +0 -31
  516. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_extension.rb +0 -59
  517. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +0 -56
  518. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_list.rb +0 -670
  519. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +0 -8
  520. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_task.rb +0 -197
  521. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_utils.rb +0 -314
  522. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_ftp_file.rb +0 -74
  523. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_functional.rb +0 -482
  524. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +0 -64
  525. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_late_time.rb +0 -18
  526. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_linked_list.rb +0 -84
  527. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +0 -46
  528. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_multi_task.rb +0 -64
  529. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_name_space.rb +0 -57
  530. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_package_task.rb +0 -79
  531. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_path_map.rb +0 -168
  532. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +0 -34
  533. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +0 -18
  534. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +0 -15
  535. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +0 -21
  536. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +0 -20
  537. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +0 -26
  538. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_require.rb +0 -40
  539. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_rules.rb +0 -388
  540. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_scope.rb +0 -44
  541. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task.rb +0 -393
  542. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +0 -119
  543. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_arguments.rb +0 -127
  544. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_lib.rb +0 -9
  545. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_manager.rb +0 -178
  546. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +0 -19
  547. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +0 -172
  548. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_test_task.rb +0 -146
  549. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_thread_pool.rb +0 -145
  550. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +0 -71
  551. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_win32.rb +0 -72
  552. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_thread_history_display.rb +0 -101
  553. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_trace_output.rb +0 -52
  554. data/vendor/bundle/ruby/2.5.0/gems/rspec-3.8.0/LICENSE.md +0 -27
  555. data/vendor/bundle/ruby/2.5.0/gems/rspec-3.8.0/README.md +0 -43
  556. data/vendor/bundle/ruby/2.5.0/gems/rspec-3.8.0/lib/rspec/version.rb +0 -5
  557. data/vendor/bundle/ruby/2.5.0/gems/rspec-3.8.0/lib/rspec.rb +0 -3
  558. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/.document +0 -5
  559. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/.yardopts +0 -8
  560. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/Changelog.md +0 -2221
  561. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/LICENSE.md +0 -26
  562. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/README.md +0 -384
  563. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/exe/rspec +0 -4
  564. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/autorun.rb +0 -3
  565. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/backtrace_formatter.rb +0 -65
  566. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/bisect/coordinator.rb +0 -62
  567. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/bisect/example_minimizer.rb +0 -173
  568. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/bisect/fork_runner.rb +0 -134
  569. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/bisect/server.rb +0 -61
  570. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/bisect/shell_command.rb +0 -126
  571. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/bisect/shell_runner.rb +0 -73
  572. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/bisect/utilities.rb +0 -58
  573. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb +0 -2289
  574. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration_options.rb +0 -233
  575. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/drb.rb +0 -113
  576. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/dsl.rb +0 -98
  577. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb +0 -653
  578. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb +0 -885
  579. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/example_status_persister.rb +0 -235
  580. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/filter_manager.rb +0 -231
  581. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/flat_map.rb +0 -20
  582. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/base_bisect_formatter.rb +0 -45
  583. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/base_formatter.rb +0 -70
  584. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/base_text_formatter.rb +0 -75
  585. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/bisect_drb_formatter.rb +0 -29
  586. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -157
  587. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/console_codes.rb +0 -68
  588. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  589. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/documentation_formatter.rb +0 -70
  590. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/exception_presenter.rb +0 -497
  591. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  592. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/helpers.rb +0 -110
  593. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/html_formatter.rb +0 -153
  594. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/html_printer.rb +0 -414
  595. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -120
  596. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/json_formatter.rb +0 -102
  597. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  598. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/progress_formatter.rb +0 -29
  599. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/protocol.rb +0 -182
  600. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/snippet_extractor.rb +0 -134
  601. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters/syntax_highlighter.rb +0 -91
  602. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/formatters.rb +0 -269
  603. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb +0 -624
  604. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/invocations.rb +0 -87
  605. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb +0 -535
  606. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/metadata.rb +0 -499
  607. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/metadata_filter.rb +0 -255
  608. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  609. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  610. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  611. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/mocking_adapters/null.rb +0 -14
  612. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  613. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  614. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/notifications.rb +0 -521
  615. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/option_parser.rb +0 -309
  616. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/ordering.rb +0 -158
  617. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/output_wrapper.rb +0 -29
  618. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/pending.rb +0 -165
  619. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/profiler.rb +0 -34
  620. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/project_initializer/.rspec +0 -1
  621. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -100
  622. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/project_initializer.rb +0 -48
  623. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/rake_task.rb +0 -168
  624. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/reporter.rb +0 -257
  625. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/ruby_project.rb +0 -53
  626. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb +0 -199
  627. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/sandbox.rb +0 -37
  628. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/set.rb +0 -54
  629. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/shared_context.rb +0 -55
  630. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/shared_example_group.rb +0 -269
  631. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/shell_escape.rb +0 -49
  632. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  633. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/version.rb +0 -9
  634. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/warnings.rb +0 -40
  635. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/world.rb +0 -275
  636. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core.rb +0 -185
  637. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/.document +0 -5
  638. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/.yardopts +0 -6
  639. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/Changelog.md +0 -1110
  640. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/LICENSE.md +0 -25
  641. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/README.md +0 -305
  642. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations/block_snippet_extractor.rb +0 -253
  643. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations/configuration.rb +0 -215
  644. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations/expectation_target.rb +0 -127
  645. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations/fail_with.rb +0 -39
  646. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations/failure_aggregator.rb +0 -194
  647. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations/handler.rb +0 -170
  648. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations/minitest_integration.rb +0 -58
  649. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations/syntax.rb +0 -132
  650. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations/version.rb +0 -8
  651. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/expectations.rb +0 -82
  652. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/aliased_matcher.rb +0 -116
  653. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/all.rb +0 -85
  654. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/base_matcher.rb +0 -193
  655. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/be.rb +0 -288
  656. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/be_between.rb +0 -77
  657. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/be_instance_of.rb +0 -22
  658. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/be_kind_of.rb +0 -16
  659. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/be_within.rb +0 -72
  660. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/change.rb +0 -426
  661. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/compound.rb +0 -271
  662. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/contain_exactly.rb +0 -302
  663. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/cover.rb +0 -24
  664. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/eq.rb +0 -40
  665. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/eql.rb +0 -34
  666. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/equal.rb +0 -81
  667. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/exist.rb +0 -90
  668. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/has.rb +0 -103
  669. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  670. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/include.rb +0 -149
  671. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/match.rb +0 -106
  672. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/operators.rb +0 -128
  673. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/output.rb +0 -200
  674. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/raise_error.rb +0 -230
  675. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/respond_to.rb +0 -165
  676. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/satisfy.rb +0 -60
  677. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  678. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  679. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in/yield.rb +0 -432
  680. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/built_in.rb +0 -52
  681. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/composable.rb +0 -171
  682. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/dsl.rb +0 -527
  683. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/english_phrasing.rb +0 -58
  684. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -73
  685. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/fail_matchers.rb +0 -42
  686. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/generated_descriptions.rb +0 -41
  687. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/matcher_delegator.rb +0 -35
  688. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers/matcher_protocol.rb +0 -99
  689. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.8.1/lib/rspec/matchers.rb +0 -1034
  690. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/.document +0 -5
  691. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/.yardopts +0 -6
  692. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/Changelog.md +0 -1100
  693. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/LICENSE.md +0 -25
  694. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/README.md +0 -460
  695. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance/chain.rb +0 -110
  696. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  697. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -31
  698. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -50
  699. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  700. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  701. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance/recorder.rb +0 -289
  702. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance/stub_chain.rb +0 -51
  703. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -23
  704. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/any_instance.rb +0 -11
  705. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  706. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/argument_matchers.rb +0 -320
  707. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/configuration.rb +0 -212
  708. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/error_generator.rb +0 -369
  709. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/example_methods.rb +0 -434
  710. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/instance_method_stasher.rb +0 -146
  711. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/marshal_extension.rb +0 -41
  712. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  713. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/matchers/have_received.rb +0 -134
  714. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/matchers/receive.rb +0 -132
  715. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
  716. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
  717. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/message_chain.rb +0 -87
  718. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/message_expectation.rb +0 -741
  719. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/method_double.rb +0 -287
  720. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/method_reference.rb +0 -202
  721. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/minitest_integration.rb +0 -68
  722. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/mutate_const.rb +0 -339
  723. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/object_reference.rb +0 -149
  724. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/order_group.rb +0 -81
  725. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/proxy.rb +0 -485
  726. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/space.rb +0 -238
  727. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/standalone.rb +0 -3
  728. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/syntax.rb +0 -325
  729. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/targets.rb +0 -124
  730. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/test_double.rb +0 -171
  731. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/verifying_double.rb +0 -129
  732. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  733. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/verifying_proxy.rb +0 -220
  734. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks/version.rb +0 -9
  735. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.8.0/lib/rspec/mocks.rb +0 -130
  736. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/Changelog.md +0 -242
  737. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/LICENSE.md +0 -23
  738. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/README.md +0 -40
  739. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/caller_filter.rb +0 -83
  740. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/comparable_version.rb +0 -46
  741. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/differ.rb +0 -215
  742. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/directory_maker.rb +0 -63
  743. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/encoded_string.rb +0 -165
  744. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/fuzzy_matcher.rb +0 -48
  745. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/hunk_generator.rb +0 -47
  746. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/matcher_definition.rb +0 -42
  747. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/method_signature_verifier.rb +0 -426
  748. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/mutex.rb +0 -73
  749. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/object_formatter.rb +0 -275
  750. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/recursive_const_methods.rb +0 -76
  751. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/reentrant_mutex.rb +0 -53
  752. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/ruby_features.rb +0 -176
  753. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/source/location.rb +0 -21
  754. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/source/node.rb +0 -110
  755. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/source/token.rb +0 -87
  756. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/source.rb +0 -75
  757. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  758. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec/formatting_support.rb +0 -9
  759. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec/in_sub_process.rb +0 -69
  760. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec/library_wide_checks.rb +0 -150
  761. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec/shell_out.rb +0 -84
  762. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec/stderr_splitter.rb +0 -63
  763. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec/string_matcher.rb +0 -46
  764. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
  765. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  766. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/spec.rb +0 -81
  767. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/version.rb +0 -7
  768. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support/warnings.rb +0 -39
  769. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.8.0/lib/rspec/support.rb +0 -149
  770. data/vendor/bundle/ruby/2.5.0/specifications/coderay-1.1.2.gemspec +0 -26
  771. data/vendor/bundle/ruby/2.5.0/specifications/diff-lcs-1.3.gemspec +0 -61
  772. data/vendor/bundle/ruby/2.5.0/specifications/method_source-0.9.0.gemspec +0 -34
  773. data/vendor/bundle/ruby/2.5.0/specifications/ox-2.10.0.gemspec +0 -0
  774. data/vendor/bundle/ruby/2.5.0/specifications/pry-0.11.3.gemspec +0 -41
  775. data/vendor/bundle/ruby/2.5.0/specifications/rake-10.5.0.gemspec +0 -43
  776. data/vendor/bundle/ruby/2.5.0/specifications/rspec-3.8.0.gemspec +0 -42
  777. data/vendor/bundle/ruby/2.5.0/specifications/rspec-core-3.8.0.gemspec +0 -62
  778. data/vendor/bundle/ruby/2.5.0/specifications/rspec-expectations-3.8.1.gemspec +0 -50
  779. data/vendor/bundle/ruby/2.5.0/specifications/rspec-mocks-3.8.0.gemspec +0 -50
  780. data/vendor/bundle/ruby/2.5.0/specifications/rspec-support-3.8.0.gemspec +0 -41
@@ -1,1321 +0,0 @@
1
- /* dump.c
2
- * Copyright (c) 2011, Peter Ohler
3
- * All rights reserved.
4
- */
5
-
6
- #include <stdlib.h>
7
- #include <errno.h>
8
- #include <time.h>
9
- #include <stdio.h>
10
- #include <string.h>
11
-
12
- #include "base64.h"
13
- #include "cache8.h"
14
- #include "ox.h"
15
-
16
- #define USE_B64 0
17
- #define MAX_DEPTH 1000
18
-
19
- typedef unsigned long ulong;
20
-
21
- typedef struct _Str {
22
- const char *str;
23
- size_t len;
24
- } *Str;
25
-
26
- typedef struct _Element {
27
- struct _Str clas;
28
- struct _Str attr;
29
- unsigned long id;
30
- int indent; /* < 0 indicates no \n */
31
- int closed;
32
- char type;
33
- } *Element;
34
-
35
- typedef struct _Out {
36
- void (*w_start)(struct _Out *out, Element e);
37
- void (*w_end)(struct _Out *out, Element e);
38
- void (*w_time)(struct _Out *out, VALUE obj);
39
- char *buf;
40
- char *end;
41
- char *cur;
42
- Cache8 circ_cache;
43
- unsigned long circ_cnt;
44
- int indent;
45
- int depth; /* used by dumpHash */
46
- Options opts;
47
- VALUE obj;
48
- } *Out;
49
-
50
- static void dump_obj_to_xml(VALUE obj, Options copts, Out out);
51
-
52
- static void dump_first_obj(VALUE obj, Out out);
53
- static void dump_obj(ID aid, VALUE obj, int depth, Out out);
54
- static void dump_gen_doc(VALUE obj, int depth, Out out);
55
- static void dump_gen_element(VALUE obj, int depth, Out out);
56
- static void dump_gen_instruct(VALUE obj, int depth, Out out);
57
- static int dump_gen_attr(VALUE key, VALUE value, Out out);
58
- static int dump_gen_nodes(VALUE obj, int depth, Out out);
59
- static void dump_gen_val_node(VALUE obj, int depth,
60
- const char *pre, size_t plen,
61
- const char *suf, size_t slen, Out out);
62
-
63
- static void dump_start(Out out, Element e);
64
- static void dump_end(Out out, Element e);
65
-
66
- static void grow(Out out, size_t len);
67
-
68
- static void dump_value(Out out, const char *value, size_t size);
69
- static void dump_str_value(Out out, const char *value, size_t size, const char *table);
70
- static int dump_var(ID key, VALUE value, Out out);
71
- static void dump_num(Out out, VALUE obj);
72
- static void dump_date(Out out, VALUE obj);
73
- static void dump_time_thin(Out out, VALUE obj);
74
- static void dump_time_xsd(Out out, VALUE obj);
75
- static int dump_hash(VALUE key, VALUE value, Out out);
76
-
77
- static int is_xml_friendly(const uchar *str, int len, const char *table);
78
-
79
- static const char hex_chars[17] = "0123456789abcdef";
80
-
81
- // The : character is equivalent to 10. Used for replacement characters up to 10
82
- // characters long such as '&#x10FFFF;'.
83
- static const char xml_friendly_chars[257] = "\
84
- :::::::::11::1::::::::::::::::::\
85
- 11611156111111111111111111114141\
86
- 11111111111111111111111111111111\
87
- 11111111111111111111111111111111\
88
- 11111111111111111111111111111111\
89
- 11111111111111111111111111111111\
90
- 11111111111111111111111111111111\
91
- 11111111111111111111111111111111";
92
-
93
- static const char xml_quote_chars[257] = "\
94
- :::::::::11::1::::::::::::::::::\
95
- 11611151111111111111111111114141\
96
- 11111111111111111111111111111111\
97
- 11111111111111111111111111111111\
98
- 11111111111111111111111111111111\
99
- 11111111111111111111111111111111\
100
- 11111111111111111111111111111111\
101
- 11111111111111111111111111111111";
102
-
103
- static const char xml_element_chars[257] = "\
104
- :::::::::11::1::::::::::::::::::\
105
- 11111151111111111111111111114141\
106
- 11111111111111111111111111111111\
107
- 11111111111111111111111111111111\
108
- 11111111111111111111111111111111\
109
- 11111111111111111111111111111111\
110
- 11111111111111111111111111111111\
111
- 11111111111111111111111111111111";
112
-
113
- inline static int
114
- is_xml_friendly(const uchar *str, int len, const char *table) {
115
- for (; 0 < len; str++, len--) {
116
- if ('1' != table[*str]) {
117
- return 0;
118
- }
119
- }
120
- return 1;
121
- }
122
-
123
- inline static size_t
124
- xml_str_len(const uchar *str, size_t len, const char *table) {
125
- size_t size = 0;
126
-
127
- for (; 0 < len; str++, len--) {
128
- size += xml_friendly_chars[*str];
129
- }
130
- return size - len * (size_t)'0';
131
- }
132
-
133
- inline static void
134
- dump_hex(uchar c, Out out) {
135
- uchar d = (c >> 4) & 0x0F;
136
-
137
- *out->cur++ = hex_chars[d];
138
- d = c & 0x0F;
139
- *out->cur++ = hex_chars[d];
140
- }
141
-
142
- static Type
143
- obj_class_code(VALUE obj) {
144
- VALUE clas = rb_obj_class(obj);
145
-
146
- switch (rb_type(obj)) {
147
- case T_NIL: return NilClassCode;
148
- case T_ARRAY: return ArrayCode;
149
- case T_HASH: return HashCode;
150
- case T_TRUE: return TrueClassCode;
151
- case T_FALSE: return FalseClassCode;
152
- case T_FIXNUM: return FixnumCode;
153
- case T_FLOAT: return FloatCode;
154
- case T_STRING: return (is_xml_friendly((uchar*)StringValuePtr(obj), (int)RSTRING_LEN(obj), xml_element_chars)) ? StringCode : String64Code;
155
- case T_SYMBOL:
156
- {
157
- const char *sym = rb_id2name(SYM2ID(obj));
158
-
159
- return (is_xml_friendly((uchar*)sym, (int)strlen(sym), xml_element_chars)) ? SymbolCode : Symbol64Code;
160
- }
161
- case T_DATA: return (rb_cTime == clas) ? TimeCode : ((ox_date_class == clas) ? DateCode : 0);
162
- case T_STRUCT: return (rb_cRange == clas) ? RangeCode : StructCode;
163
- case T_OBJECT: return (ox_document_clas == clas || ox_element_clas == clas) ? RawCode : ObjectCode;
164
- case T_REGEXP: return RegexpCode;
165
- case T_BIGNUM: return BignumCode;
166
- #ifdef T_COMPLEX
167
- case T_COMPLEX: return ComplexCode;
168
- #endif
169
- #ifdef T_RATIONAL
170
- case T_RATIONAL: return RationalCode;
171
- #endif
172
- case T_CLASS: return ClassCode;
173
- default: return 0;
174
- }
175
- }
176
-
177
- inline static void
178
- fill_indent(Out out, int cnt) {
179
- if (0 <= cnt) {
180
- *out->cur++ = '\n';
181
- if (0 < out->opts->margin_len) {
182
- memcpy(out->cur, out->opts->margin, out->opts->margin_len);
183
- out->cur += out->opts->margin_len;
184
- }
185
- for (; 0 < cnt; cnt--) {
186
- *out->cur++ = ' ';
187
- }
188
- }
189
- }
190
-
191
- inline static void
192
- fill_value(Out out, const char *value, size_t len) {
193
- if (6 < len) {
194
- memcpy(out->cur, value, len);
195
- out->cur += len;
196
- } else {
197
- for (; 0 < len; len--, value++) {
198
- *out->cur++ = *value;
199
- }
200
- }
201
- }
202
-
203
- inline static void
204
- fill_attr(Out out, char name, const char *value, size_t len) {
205
- *out->cur++ = ' ';
206
- *out->cur++ = name;
207
- *out->cur++ = '=';
208
- *out->cur++ = '"';
209
- if (6 < len) {
210
- memcpy(out->cur, value, len);
211
- out->cur += len;
212
- } else {
213
- for (; 0 < len; len--, value++) {
214
- *out->cur++ = *value;
215
- }
216
- }
217
- *out->cur++ = '"';
218
- }
219
-
220
- inline static const char*
221
- ulong2str(ulong num, char *end) {
222
- char *b;
223
-
224
- *end-- = '\0';
225
- for (b = end; 0 < num || b == end; num /= 10, b--) {
226
- *b = (num % 10) + '0';
227
- }
228
- b++;
229
-
230
- return b;
231
- }
232
-
233
- static int
234
- check_circular(Out out, VALUE obj, Element e) {
235
- slot_t *slot;
236
- slot_t id;
237
- int result;
238
-
239
- if (0 == (id = ox_cache8_get(out->circ_cache, obj, &slot))) {
240
- out->circ_cnt++;
241
- id = out->circ_cnt;
242
- *slot = id;
243
- e->id = id;
244
- result = 0;
245
- } else {
246
- e->type = RefCode; e->clas.len = 0; e->clas.str = 0;
247
- e->closed = 1;
248
- e->id = id;
249
- out->w_start(out, e);
250
- result = 1;
251
- }
252
- return result;
253
- }
254
-
255
- static void
256
- grow(Out out, size_t len) {
257
- size_t size = out->end - out->buf;
258
- long pos = out->cur - out->buf;
259
-
260
- size *= 2;
261
- if (size <= len * 2 + pos) {
262
- size += len;
263
- }
264
- REALLOC_N(out->buf, char, size + 10); /* 10 extra for terminator character plus extra (paranoid) */
265
- out->end = out->buf + size;
266
- out->cur = out->buf + pos;
267
- }
268
-
269
- static void
270
- dump_start(Out out, Element e) {
271
- size_t size = e->indent + 4 + out->opts->margin_len;
272
-
273
- if (0 < e->attr.len) { /* a="attr" */
274
- size += e->attr.len + 5;
275
- }
276
- if (0 < e->clas.len) { /* c="class" */
277
- size += e->clas.len + 5;
278
- }
279
- if (0 < e->id) { /* i="id" */
280
- size += 24; /* over estimate, 19 digits */
281
- }
282
- if (out->end - out->cur <= (long)size) {
283
- grow(out, size);
284
- }
285
- if (out->buf + out->opts->margin_len < out->cur) {
286
- fill_indent(out, e->indent);
287
- }
288
- *out->cur++ = '<';
289
- *out->cur++ = e->type;
290
- if (0 < e->attr.len) {
291
- fill_attr(out, 'a', e->attr.str, e->attr.len);
292
- }
293
- if ((ObjectCode == e->type || ExceptionCode == e->type || StructCode == e->type || ClassCode == e->type) && 0 < e->clas.len) {
294
- fill_attr(out, 'c', e->clas.str, e->clas.len);
295
- }
296
- if (0 < e->id) {
297
- char buf[32];
298
- char *end = buf + sizeof(buf) - 1;
299
- const char *s = ulong2str(e->id, end);
300
-
301
- fill_attr(out, 'i', s, end - s);
302
- }
303
- if (e->closed) {
304
- *out->cur++ = '/';
305
- }
306
- *out->cur++ = '>';
307
- *out->cur = '\0';
308
- }
309
-
310
- static void
311
- dump_end(Out out, Element e) {
312
- size_t size = e->indent + 5 + out->opts->margin_len;
313
-
314
- if (out->end - out->cur <= (long)size) {
315
- grow(out, size);
316
- }
317
- fill_indent(out, e->indent);
318
- *out->cur++ = '<';
319
- *out->cur++ = '/';
320
- *out->cur++ = e->type;
321
- *out->cur++ = '>';
322
- *out->cur = '\0';
323
- }
324
-
325
- inline static void
326
- dump_value(Out out, const char *value, size_t size) {
327
- if (out->end - out->cur <= (long)size) {
328
- grow(out, size);
329
- }
330
- if (6 < size) {
331
- memcpy(out->cur, value, size);
332
- out->cur += size;
333
- } else {
334
- for (; 0 < size; size--, value++) {
335
- *out->cur++ = *value;
336
- }
337
- }
338
- *out->cur = '\0';
339
- }
340
-
341
- inline static void
342
- dump_str_value(Out out, const char *value, size_t size, const char *table) {
343
- size_t xsize = xml_str_len((const uchar*)value, size, table);
344
-
345
- if (out->end - out->cur <= (long)xsize) {
346
- grow(out, xsize);
347
- }
348
- for (; 0 < size; size--, value++) {
349
- if ('1' == table[(uchar)*value]) {
350
- *out->cur++ = *value;
351
- } else {
352
- switch (*value) {
353
- case '"':
354
- *out->cur++ = '&';
355
- *out->cur++ = 'q';
356
- *out->cur++ = 'u';
357
- *out->cur++ = 'o';
358
- *out->cur++ = 't';
359
- *out->cur++ = ';';
360
- break;
361
- case '&':
362
- *out->cur++ = '&';
363
- *out->cur++ = 'a';
364
- *out->cur++ = 'm';
365
- *out->cur++ = 'p';
366
- *out->cur++ = ';';
367
- break;
368
- case '\'':
369
- *out->cur++ = '&';
370
- *out->cur++ = 'a';
371
- *out->cur++ = 'p';
372
- *out->cur++ = 'o';
373
- *out->cur++ = 's';
374
- *out->cur++ = ';';
375
- break;
376
- case '<':
377
- *out->cur++ = '&';
378
- *out->cur++ = 'l';
379
- *out->cur++ = 't';
380
- *out->cur++ = ';';
381
- break;
382
- case '>':
383
- *out->cur++ = '&';
384
- *out->cur++ = 'g';
385
- *out->cur++ = 't';
386
- *out->cur++ = ';';
387
- break;
388
- default:
389
- // Must be one of the invalid characters.
390
- if (StrictEffort == out->opts->effort) {
391
- rb_raise(rb_eSyntaxError, "'\\#x%02x' is not a valid XML character.", *value);
392
- }
393
- if (Yes == out->opts->allow_invalid) {
394
- *out->cur++ = '&';
395
- *out->cur++ = '#';
396
- *out->cur++ = 'x';
397
- *out->cur++ = '0';
398
- *out->cur++ = '0';
399
- dump_hex(*value, out);
400
- *out->cur++ = ';';
401
- } else if ('\0' != *out->opts->inv_repl) {
402
- // If the empty string then ignore. The first character of
403
- // the replacement is the length.
404
- memcpy(out->cur, out->opts->inv_repl + 1, (size_t)*out->opts->inv_repl);
405
- out->cur += *out->opts->inv_repl;
406
- }
407
- break;
408
- }
409
- }
410
- }
411
- *out->cur = '\0';
412
- }
413
-
414
- inline static void
415
- dump_num(Out out, VALUE obj) {
416
- char buf[32];
417
- char *b = buf + sizeof(buf) - 1;
418
- long num = NUM2LONG(obj);
419
- int neg = 0;
420
-
421
- if (0 > num) {
422
- neg = 1;
423
- num = -num;
424
- }
425
- *b-- = '\0';
426
- if (0 < num) {
427
- for (; 0 < num; num /= 10, b--) {
428
- *b = (num % 10) + '0';
429
- }
430
- if (neg) {
431
- *b = '-';
432
- } else {
433
- b++;
434
- }
435
- } else {
436
- *b = '0';
437
- }
438
- if (out->end - out->cur <= (long)(sizeof(buf) - (b - buf))) {
439
- grow(out, sizeof(buf) - (b - buf));
440
- }
441
- for (; '\0' != *b; b++) {
442
- *out->cur++ = *b;
443
- }
444
- *out->cur = '\0';
445
- }
446
-
447
- static void
448
- dump_time_thin(Out out, VALUE obj) {
449
- char buf[64];
450
- char *b = buf + sizeof(buf) - 1;
451
- #if HAS_RB_TIME_TIMESPEC
452
- struct timespec ts = rb_time_timespec(obj);
453
- time_t sec = ts.tv_sec;
454
- long nsec = ts.tv_nsec;
455
- #else
456
- time_t sec = NUM2LONG(rb_funcall2(obj, ox_tv_sec_id, 0, 0));
457
- #if HAS_NANO_TIME
458
- long nsec = NUM2LONG(rb_funcall2(obj, ox_tv_nsec_id, 0, 0));
459
- #else
460
- long nsec = NUM2LONG(rb_funcall2(obj, ox_tv_usec_id, 0, 0)) * 1000;
461
- #endif
462
- #endif
463
- char *dot = b - 10;
464
- long size;
465
-
466
- *b-- = '\0';
467
- for (; dot < b; b--, nsec /= 10) {
468
- *b = '0' + (nsec % 10);
469
- }
470
- *b-- = '.';
471
- for (; 0 < sec; b--, sec /= 10) {
472
- *b = '0' + (sec % 10);
473
- }
474
- b++;
475
- size = sizeof(buf) - (b - buf) - 1;
476
- if (out->end - out->cur <= size) {
477
- grow(out, size);
478
- }
479
- memcpy(out->cur, b, size);
480
- out->cur += size;
481
- }
482
-
483
- static void
484
- dump_date(Out out, VALUE obj) {
485
- char buf[64];
486
- char *b = buf + sizeof(buf) - 1;
487
- long jd = NUM2LONG(rb_funcall2(obj, ox_jd_id, 0, 0));
488
- long size;
489
-
490
- *b-- = '\0';
491
- for (; 0 < jd; b--, jd /= 10) {
492
- *b = '0' + (jd % 10);
493
- }
494
- b++;
495
- if ('\0' == *b) {
496
- b--;
497
- *b = '0';
498
- }
499
- size = sizeof(buf) - (b - buf) - 1;
500
- if (out->end - out->cur <= size) {
501
- grow(out, size);
502
- }
503
- memcpy(out->cur, b, size);
504
- out->cur += size;
505
- }
506
-
507
- static void
508
- dump_time_xsd(Out out, VALUE obj) {
509
- struct tm *tm;
510
- #if HAS_RB_TIME_TIMESPEC
511
- struct timespec ts = rb_time_timespec(obj);
512
- time_t sec = ts.tv_sec;
513
- long nsec = ts.tv_nsec;
514
- #else
515
- time_t sec = NUM2LONG(rb_funcall2(obj, ox_tv_sec_id, 0, 0));
516
- #if HAS_NANO_TIME
517
- long nsec = NUM2LONG(rb_funcall2(obj, ox_tv_nsec_id, 0, 0));
518
- #else
519
- long nsec = NUM2LONG(rb_funcall2(obj, ox_tv_usec_id, 0, 0)) * 1000;
520
- #endif
521
- #endif
522
- int tzhour, tzmin;
523
- char tzsign = '+';
524
-
525
- if (out->end - out->cur <= 33) {
526
- grow(out, 33);
527
- }
528
- /* 2010-07-09T10:47:45.895826+09:00 */
529
- tm = localtime(&sec);
530
- #if HAS_TM_GMTOFF
531
- if (0 > tm->tm_gmtoff) {
532
- tzsign = '-';
533
- tzhour = (int)(tm->tm_gmtoff / -3600);
534
- tzmin = (int)(tm->tm_gmtoff / -60) - (tzhour * 60);
535
- } else {
536
- tzhour = (int)(tm->tm_gmtoff / 3600);
537
- tzmin = (int)(tm->tm_gmtoff / 60) - (tzhour * 60);
538
- }
539
- #else
540
- tzhour = 0;
541
- tzmin = 0;
542
- #endif
543
- /* TBD replace with more efficient printer */
544
- out->cur += sprintf(out->cur, "%04d-%02d-%02dT%02d:%02d:%02d.%06ld%c%02d:%02d",
545
- tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
546
- tm->tm_hour, tm->tm_min, tm->tm_sec, nsec / 1000,
547
- tzsign, tzhour, tzmin);
548
- }
549
-
550
- static void
551
- dump_first_obj(VALUE obj, Out out) {
552
- char buf[128];
553
- Options copts = out->opts;
554
- int cnt;
555
-
556
- if (Yes == copts->with_xml) {
557
- if (0 < copts->margin_len) {
558
- dump_value(out, copts->margin, copts->margin_len);
559
- }
560
- if ('\0' == *copts->encoding) {
561
- dump_value(out, "<?xml version=\"1.0\"?>", 21);
562
- } else {
563
- cnt = snprintf(buf, sizeof(buf), "<?xml version=\"1.0\" encoding=\"%s\"?>", copts->encoding);
564
- dump_value(out, buf, cnt);
565
- }
566
- }
567
- if (Yes == copts->with_instruct) {
568
- if (out->buf < out->cur) {
569
- dump_value(out, "\n", 1);
570
- }
571
- if (0 < copts->margin_len) {
572
- dump_value(out, copts->margin, copts->margin_len);
573
- }
574
- cnt = snprintf(buf, sizeof(buf), "<?ox version=\"1.0\" mode=\"object\"%s%s?>",
575
- (Yes == copts->circular) ? " circular=\"yes\"" : ((No == copts->circular) ? " circular=\"no\"" : ""),
576
- (Yes == copts->xsd_date) ? " xsd_date=\"yes\"" : ((No == copts->xsd_date) ? " xsd_date=\"no\"" : ""));
577
- dump_value(out, buf, cnt);
578
- }
579
- if (Yes == copts->with_dtd) {
580
- if (0 < copts->margin_len) {
581
- dump_value(out, copts->margin, copts->margin_len);
582
- }
583
- cnt = snprintf(buf, sizeof(buf), "%s<!DOCTYPE %c SYSTEM \"ox.dtd\">", (out->buf < out->cur) ? "\n" : "", obj_class_code(obj));
584
- dump_value(out, buf, cnt);
585
- }
586
- if (0 < copts->margin_len) {
587
- dump_value(out, copts->margin, copts->margin_len);
588
- }
589
- dump_obj(0, obj, 0, out);
590
- }
591
-
592
- static void
593
- dump_obj(ID aid, VALUE obj, int depth, Out out) {
594
- struct _Element e;
595
- VALUE prev_obj = out->obj;
596
- char value_buf[64];
597
- int cnt;
598
-
599
- if (MAX_DEPTH < depth) {
600
- rb_raise(rb_eSysStackError, "maximum depth exceeded");
601
- }
602
- out->obj = obj;
603
- if (0 == aid) {
604
- e.attr.str = 0;
605
- e.attr.len = 0;
606
- } else {
607
- e.attr.str = rb_id2name(aid);
608
- // Ruby 2.3 started to return NULL for some IDs so check for
609
- // NULL. Ignore if NULL aid.
610
- if (NULL == e.attr.str) {
611
- return;
612
- }
613
- e.attr.len = strlen(e.attr.str);
614
- }
615
- e.closed = 0;
616
- if (0 == depth) {
617
- e.indent = (0 <= out->indent) ? 0 : -1;
618
- } else if (0 > out->indent) {
619
- e.indent = -1;
620
- } else if (0 == out->indent) {
621
- e.indent = 0;
622
- } else {
623
- e.indent = depth * out->indent;
624
- }
625
- e.id = 0;
626
- e.clas.len = 0;
627
- e.clas.str = 0;
628
- switch (rb_type(obj)) {
629
- case T_NIL:
630
- e.type = NilClassCode;
631
- e.closed = 1;
632
- out->w_start(out, &e);
633
- break;
634
- case T_ARRAY:
635
- if (0 != out->circ_cache && check_circular(out, obj, &e)) {
636
- break;
637
- }
638
- cnt = (int)RARRAY_LEN(obj);
639
- e.type = ArrayCode;
640
- e.closed = (0 >= cnt);
641
- out->w_start(out, &e);
642
- if (!e.closed) {
643
- const VALUE *np = RARRAY_PTR(obj);
644
- int i;
645
- int d2 = depth + 1;
646
-
647
- for (i = cnt; 0 < i; i--, np++) {
648
- dump_obj(0, *np, d2, out);
649
- }
650
- out->w_end(out, &e);
651
- }
652
- break;
653
- case T_HASH:
654
- if (0 != out->circ_cache && check_circular(out, obj, &e)) {
655
- break;
656
- }
657
- cnt = (int)RHASH_SIZE(obj);
658
- e.type = HashCode;
659
- e.closed = (0 >= cnt);
660
- out->w_start(out, &e);
661
- if (0 < cnt) {
662
- unsigned int od = out->depth;
663
-
664
- out->depth = depth + 1;
665
- rb_hash_foreach(obj, dump_hash, (VALUE)out);
666
- out->depth = od;
667
- out->w_end(out, &e);
668
- }
669
- break;
670
- case T_TRUE:
671
- e.type = TrueClassCode;
672
- e.closed = 1;
673
- out->w_start(out, &e);
674
- break;
675
- case T_FALSE:
676
- e.type = FalseClassCode;
677
- e.closed = 1;
678
- out->w_start(out, &e);
679
- break;
680
- case T_FIXNUM:
681
- e.type = FixnumCode;
682
- out->w_start(out, &e);
683
- dump_num(out, obj);
684
- e.indent = -1;
685
- out->w_end(out, &e);
686
- break;
687
- case T_FLOAT:
688
- e.type = FloatCode;
689
- cnt = snprintf(value_buf, sizeof(value_buf), "%0.16g", rb_num2dbl(obj));
690
- out->w_start(out, &e);
691
- dump_value(out, value_buf, cnt);
692
- e.indent = -1;
693
- out->w_end(out, &e);
694
- break;
695
- case T_STRING:
696
- {
697
- const char *str;
698
-
699
- if (0 != out->circ_cache && check_circular(out, obj, &e)) {
700
- break;
701
- }
702
- str = StringValuePtr(obj);
703
- cnt = (int)RSTRING_LEN(obj);
704
- #if USE_B64
705
- if (is_xml_friendly((uchar*)str, cnt)) {
706
- e.type = StringCode;
707
- out->w_start(out, &e);
708
- dump_str_value(out, str, cnt, '<');
709
- e.indent = -1;
710
- out->w_end(out, &e);
711
- } else {
712
- ulong size = b64_size(cnt);
713
- char *b64 = ALLOCA_N(char, size + 1);
714
-
715
- e.type = String64Code;
716
- to_base64((uchar*)str, cnt, b64);
717
- out->w_start(out, &e);
718
- dump_value(out, b64, size);
719
- e.indent = -1;
720
- out->w_end(out, &e);
721
- }
722
- #else
723
- e.type = StringCode;
724
- out->w_start(out, &e);
725
- dump_str_value(out, str, cnt, xml_element_chars);
726
- e.indent = -1;
727
- out->w_end(out, &e);
728
- #endif
729
- break;
730
- }
731
- case T_SYMBOL:
732
- {
733
- const char *sym = rb_id2name(SYM2ID(obj));
734
-
735
- cnt = (int)strlen(sym);
736
- #if USE_B64
737
- if (is_xml_friendly((uchar*)sym, cnt)) {
738
- e.type = SymbolCode;
739
- out->w_start(out, &e);
740
- dump_str_value(out, sym, cnt, '<');
741
- e.indent = -1;
742
- out->w_end(out, &e);
743
- } else {
744
- ulong size = b64_size(cnt);
745
- char *b64 = ALLOCA_N(char, size + 1);
746
-
747
- e.type = Symbol64Code;
748
- to_base64((uchar*)sym, cnt, b64);
749
- out->w_start(out, &e);
750
- dump_value(out, b64, size);
751
- e.indent = -1;
752
- out->w_end(out, &e);
753
- }
754
- #else
755
- e.type = SymbolCode;
756
- out->w_start(out, &e);
757
- dump_str_value(out, sym, cnt, xml_element_chars);
758
- e.indent = -1;
759
- out->w_end(out, &e);
760
- #endif
761
- break;
762
- }
763
- case T_DATA:
764
- {
765
- VALUE clas;
766
-
767
- clas = rb_obj_class(obj);
768
- if (rb_cTime == clas) {
769
- e.type = TimeCode;
770
- out->w_start(out, &e);
771
- out->w_time(out, obj);
772
- e.indent = -1;
773
- out->w_end(out, &e);
774
- } else {
775
- const char *classname = rb_class2name(clas);
776
-
777
- if (0 == strcmp("Date", classname)) {
778
- e.type = DateCode;
779
- out->w_start(out, &e);
780
- dump_date(out, obj);
781
- e.indent = -1;
782
- out->w_end(out, &e);
783
- } else if (0 == strcmp("BigDecimal", classname)) {
784
- volatile VALUE rs = rb_funcall(obj, ox_to_s_id, 0);
785
-
786
- e.type = BigDecimalCode;
787
- out->w_start(out, &e);
788
- dump_value(out, StringValuePtr(rs), RSTRING_LEN(rs));
789
- e.indent = -1;
790
- out->w_end(out, &e);
791
- } else {
792
- if (StrictEffort == out->opts->effort) {
793
- rb_raise(rb_eNotImpError, "Failed to dump T_DATA %s\n", classname);
794
- } else {
795
- e.type = NilClassCode;
796
- e.closed = 1;
797
- out->w_start(out, &e);
798
- }
799
- }
800
- }
801
- break;
802
- }
803
- case T_STRUCT:
804
- {
805
- #if HAS_RSTRUCT
806
- VALUE clas;
807
-
808
- if (0 != out->circ_cache && check_circular(out, obj, &e)) {
809
- break;
810
- }
811
- clas = rb_obj_class(obj);
812
- if (rb_cRange == clas) {
813
- VALUE beg = RSTRUCT_GET(obj, 0);
814
- VALUE end = RSTRUCT_GET(obj, 1);
815
- VALUE excl = RSTRUCT_GET(obj, 2);
816
- int d2 = depth + 1;
817
-
818
- e.type = RangeCode; e.clas.len = 5; e.clas.str = "Range";
819
- out->w_start(out, &e);
820
- dump_obj(ox_beg_id, beg, d2, out);
821
- dump_obj(ox_end_id, end, d2, out);
822
- dump_obj(ox_excl_id, excl, d2, out);
823
- out->w_end(out, &e);
824
- } else {
825
- char num_buf[16];
826
- int d2 = depth + 1;
827
- #if UNIFY_FIXNUM_AND_BIGNUM
828
- long i;
829
- long cnt = NUM2LONG(rb_struct_size(obj));
830
- #else // UNIFY_FIXNUM_AND_INTEGER
831
- int i;
832
- int cnt = (int)RSTRUCT_LEN(obj);
833
- #endif // UNIFY_FIXNUM_AND_INTEGER
834
- e.type = StructCode;
835
- e.clas.str = rb_class2name(clas);
836
- e.clas.len = strlen(e.clas.str);
837
- out->w_start(out, &e);
838
-
839
- for (i = 0; i < cnt; i++) {
840
- VALUE v = RSTRUCT_GET(obj, i);
841
- dump_obj(rb_intern(ulong2str(i, num_buf + sizeof(num_buf) - 1)), v, d2, out);
842
- }
843
- out->w_end(out, &e);
844
- }
845
- #else
846
- e.type = NilClassCode;
847
- e.closed = 1;
848
- out->w_start(out, &e);
849
- #endif
850
- break;
851
- }
852
- case T_OBJECT:
853
- {
854
- VALUE clas;
855
-
856
- if (0 != out->circ_cache && check_circular(out, obj, &e)) {
857
- break;
858
- }
859
- clas = rb_obj_class(obj);
860
- e.clas.str = rb_class2name(clas);
861
- e.clas.len = strlen(e.clas.str);
862
- if (ox_document_clas == clas) {
863
- e.type = RawCode;
864
- out->w_start(out, &e);
865
- dump_gen_doc(obj, depth + 1, out);
866
- out->w_end(out, &e);
867
- } else if (ox_element_clas == clas) {
868
- e.type = RawCode;
869
- out->w_start(out, &e);
870
- dump_gen_element(obj, depth + 1, out);
871
- out->w_end(out, &e);
872
- } else { /* Object */
873
- #if HAS_IVAR_HELPERS
874
- e.type = (Qtrue == rb_obj_is_kind_of(obj, rb_eException)) ? ExceptionCode : ObjectCode;
875
- cnt = (int)rb_ivar_count(obj);
876
- e.closed = (0 >= cnt);
877
- out->w_start(out, &e);
878
- if (0 < cnt) {
879
- unsigned int od = out->depth;
880
-
881
- out->depth = depth + 1;
882
- rb_ivar_foreach(obj, dump_var, (VALUE)out);
883
- out->depth = od;
884
- out->w_end(out, &e);
885
- }
886
- #else
887
- volatile VALUE vars = rb_obj_instance_variables(obj);
888
- //volatile VALUE vars = rb_funcall2(obj, rb_intern("instance_variables"), 0, 0);
889
-
890
- e.type = (Qtrue == rb_obj_is_kind_of(obj, rb_eException)) ? ExceptionCode : ObjectCode;
891
- cnt = (int)RARRAY_LEN(vars);
892
- e.closed = (0 >= cnt);
893
- out->w_start(out, &e);
894
- if (0 < cnt) {
895
- const VALUE *np = RARRAY_PTR(vars);
896
- ID vid;
897
- unsigned int od = out->depth;
898
- int i;
899
-
900
- out->depth = depth + 1;
901
- for (i = cnt; 0 < i; i--, np++) {
902
- vid = rb_to_id(*np);
903
- dump_var(vid, rb_ivar_get(obj, vid), out);
904
- }
905
- out->depth = od;
906
- out->w_end(out, &e);
907
- }
908
- #endif
909
- }
910
- break;
911
- }
912
- case T_REGEXP:
913
- {
914
- volatile VALUE rs = rb_funcall2(obj, ox_inspect_id, 0, 0);
915
- const char *s = StringValuePtr(rs);
916
-
917
- cnt = (int)RSTRING_LEN(rs);
918
- e.type = RegexpCode;
919
- out->w_start(out, &e);
920
- #if USE_B64
921
- if (is_xml_friendly((uchar*)s, cnt)) {
922
- /*dump_value(out, "/", 1); */
923
- dump_str_value(out, s, cnt, '<');
924
- } else {
925
- ulong size = b64_size(cnt);
926
- char *b64 = ALLOCA_N(char, size + 1);
927
-
928
- to_base64((uchar*)s, cnt, b64);
929
- dump_value(out, b64, size);
930
- }
931
- #else
932
- dump_str_value(out, s, cnt, xml_element_chars);
933
- #endif
934
- e.indent = -1;
935
- out->w_end(out, &e);
936
- break;
937
- }
938
- case T_BIGNUM:
939
- {
940
- volatile VALUE rs = rb_big2str(obj, 10);
941
-
942
- e.type = BignumCode;
943
- out->w_start(out, &e);
944
- dump_value(out, StringValuePtr(rs), RSTRING_LEN(rs));
945
- e.indent = -1;
946
- out->w_end(out, &e);
947
- break;
948
- }
949
- #ifdef T_COMPLEX
950
- case T_COMPLEX:
951
- e.type = ComplexCode;
952
- out->w_start(out, &e);
953
- #ifdef RCOMPLEX
954
- dump_obj(0, RCOMPLEX(obj)->real, depth + 1, out);
955
- dump_obj(0, RCOMPLEX(obj)->imag, depth + 1, out);
956
- #else
957
- dump_obj(0, rb_funcall2(obj, rb_intern("real"), 0, 0), depth + 1, out);
958
- dump_obj(0, rb_funcall2(obj, rb_intern("imag"), 0, 0), depth + 1, out);
959
- #endif
960
- out->w_end(out, &e);
961
- break;
962
- #endif
963
- #ifdef T_RATIONAL
964
- case T_RATIONAL:
965
- e.type = RationalCode;
966
- out->w_start(out, &e);
967
- #ifdef RRATIONAL
968
- dump_obj(0, RRATIONAL(obj)->num, depth + 1, out);
969
- dump_obj(0, RRATIONAL(obj)->den, depth + 1, out);
970
- #else
971
- dump_obj(0, rb_funcall2(obj, rb_intern("numerator"), 0, 0), depth + 1, out);
972
- dump_obj(0, rb_funcall2(obj, rb_intern("denominator"), 0, 0), depth + 1, out);
973
- #endif
974
- out->w_end(out, &e);
975
- break;
976
- #endif
977
- case T_CLASS:
978
- {
979
- e.type = ClassCode;
980
- e.clas.str = rb_class2name(obj);
981
- e.clas.len = strlen(e.clas.str);
982
- e.closed = 1;
983
- out->w_start(out, &e);
984
- break;
985
- }
986
- default:
987
- if (StrictEffort == out->opts->effort) {
988
- rb_raise(rb_eNotImpError, "Failed to dump %s Object (%02x)\n",
989
- rb_obj_classname(obj), rb_type(obj));
990
- } else {
991
- e.type = NilClassCode;
992
- e.closed = 1;
993
- out->w_start(out, &e);
994
- }
995
- break;
996
- }
997
- out->obj = prev_obj;
998
- }
999
-
1000
- static int
1001
- dump_var(ID key, VALUE value, Out out) {
1002
- if (T_DATA == rb_type(value) && key == ox_mesg_id) {
1003
- /* There is a secret recipe that keeps Exception mesg attributes as a
1004
- * T_DATA until it is needed. The safe way around this hack is to call
1005
- * the message() method and use the returned string as the
1006
- * message. Not pretty but it solves the most common use of this
1007
- * hack. If there are others they will have to be handled one at a
1008
- * time.
1009
- */
1010
- value = rb_funcall(out->obj, ox_message_id, 0);
1011
- }
1012
- dump_obj(key, value, out->depth, out);
1013
-
1014
- return ST_CONTINUE;
1015
- }
1016
-
1017
- static int
1018
- dump_hash(VALUE key, VALUE value, Out out) {
1019
- dump_obj(0, key, out->depth, out);
1020
- dump_obj(0, value, out->depth, out);
1021
-
1022
- return ST_CONTINUE;
1023
- }
1024
-
1025
- static void
1026
- dump_gen_doc(VALUE obj, int depth, Out out) {
1027
- volatile VALUE attrs = rb_attr_get(obj, ox_attributes_id);
1028
- volatile VALUE nodes = rb_attr_get(obj, ox_nodes_id);
1029
-
1030
- if ('\0' == *out->opts->encoding && Qnil != attrs) {
1031
- volatile VALUE renc = rb_hash_lookup(attrs, ox_encoding_sym);
1032
-
1033
- if (Qnil != renc) {
1034
- const char *enc = StringValuePtr(renc);
1035
-
1036
- strncpy(out->opts->encoding, enc, sizeof(out->opts->encoding) - 1);
1037
- }
1038
- }
1039
- if (Yes == out->opts->with_xml) {
1040
- if (0 < out->opts->margin_len) {
1041
- dump_value(out, out->opts->margin, out->opts->margin_len);
1042
- }
1043
- dump_value(out, "<?xml", 5);
1044
- if (Qnil != attrs) {
1045
- rb_hash_foreach(attrs, dump_gen_attr, (VALUE)out);
1046
- }
1047
- dump_value(out, "?>", 2);
1048
- }
1049
- if (Yes == out->opts->with_instruct) {
1050
- if (out->buf < out->cur) {
1051
- dump_value(out, "\n", 1);
1052
- }
1053
- if (0 < out->opts->margin_len) {
1054
- dump_value(out, out->opts->margin, out->opts->margin_len);
1055
- }
1056
- dump_value(out, "<?ox version=\"1.0\" mode=\"generic\"?>", 35);
1057
- }
1058
- if (Qnil != nodes) {
1059
- dump_gen_nodes(nodes, depth, out);
1060
- }
1061
- }
1062
-
1063
- static void
1064
- dump_gen_element(VALUE obj, int depth, Out out) {
1065
- volatile VALUE rname = rb_attr_get(obj, ox_at_value_id);
1066
- volatile VALUE attrs = rb_attr_get(obj, ox_attributes_id);
1067
- volatile VALUE nodes = rb_attr_get(obj, ox_nodes_id);
1068
- const char *name = StringValuePtr(rname);
1069
- long nlen = RSTRING_LEN(rname);
1070
- size_t size;
1071
- int indent;
1072
-
1073
- if (0 > out->indent) {
1074
- indent = -1;
1075
- } else if (0 == out->indent) {
1076
- indent = 0;
1077
- } else {
1078
- indent = depth * out->indent;
1079
- }
1080
- size = indent + 4 + nlen + out->opts->margin_len;
1081
- if (out->end - out->cur <= (long)size) {
1082
- grow(out, size);
1083
- }
1084
- if (0 == depth && 0 < out->opts->margin_len && 0 < out->indent) {
1085
- memcpy(out->cur, out->opts->margin, out->opts->margin_len);
1086
- out->cur += out->opts->margin_len;
1087
- }
1088
- fill_indent(out, indent);
1089
- *out->cur++ = '<';
1090
- fill_value(out, name, nlen);
1091
- if (Qnil != attrs) {
1092
- rb_hash_foreach(attrs, dump_gen_attr, (VALUE)out);
1093
- }
1094
- if (Qnil != nodes && 0 < RARRAY_LEN(nodes)) {
1095
- int do_indent;
1096
-
1097
- *out->cur++ = '>';
1098
- do_indent = dump_gen_nodes(nodes, depth, out);
1099
- if (out->end - out->cur <= (long)size) {
1100
- grow(out, size);
1101
- }
1102
- if (do_indent) {
1103
- fill_indent(out, indent);
1104
- }
1105
- *out->cur++ = '<';
1106
- *out->cur++ = '/';
1107
- fill_value(out, name, nlen);
1108
- } else {
1109
- *out->cur++ = '/';
1110
- }
1111
- *out->cur++ = '>';
1112
- *out->cur = '\0';
1113
- }
1114
-
1115
- static void
1116
- dump_gen_instruct(VALUE obj, int depth, Out out) {
1117
- volatile VALUE rname = rb_attr_get(obj, ox_at_value_id);
1118
- volatile VALUE attrs = rb_attr_get(obj, ox_attributes_id);
1119
- volatile VALUE rcontent = rb_attr_get(obj, ox_at_content_id);
1120
- const char *name = StringValuePtr(rname);
1121
- const char *content = 0;
1122
- long nlen = RSTRING_LEN(rname);
1123
- long clen = 0;
1124
- size_t size;
1125
-
1126
- if (T_STRING == rb_type(rcontent)) {
1127
- content = StringValuePtr(rcontent);
1128
- clen = RSTRING_LEN(rcontent);
1129
- size = 4 + nlen + clen;
1130
- } else {
1131
- size = 4 + nlen;
1132
- }
1133
- if (out->end - out->cur <= (long)size) {
1134
- grow(out, size);
1135
- }
1136
- *out->cur++ = '<';
1137
- *out->cur++ = '?';
1138
- fill_value(out, name, nlen);
1139
- if (0 != content) {
1140
- fill_value(out, content, clen);
1141
- } else if (Qnil != attrs) {
1142
- rb_hash_foreach(attrs, dump_gen_attr, (VALUE)out);
1143
- }
1144
- *out->cur++ = '?';
1145
- *out->cur++ = '>';
1146
- *out->cur = '\0';
1147
- }
1148
-
1149
- static int
1150
- dump_gen_nodes(VALUE obj, int depth, Out out) {
1151
- long cnt = RARRAY_LEN(obj);
1152
- int indent_needed = 1;
1153
-
1154
- if (0 < cnt) {
1155
- const VALUE *np = RARRAY_PTR(obj);
1156
- VALUE clas;
1157
- int d2 = depth + 1;
1158
-
1159
- if (MAX_DEPTH < depth) {
1160
- rb_raise(rb_eSysStackError, "maximum depth exceeded");
1161
- }
1162
- for (; 0 < cnt; cnt--, np++) {
1163
- clas = rb_obj_class(*np);
1164
- if (ox_element_clas == clas) {
1165
- dump_gen_element(*np, d2, out);
1166
- } else if (ox_instruct_clas == clas) {
1167
- dump_gen_instruct(*np, d2, out);
1168
- indent_needed = (1 == cnt) ? 0 : 1;
1169
- } else if (rb_cString == clas) {
1170
- dump_str_value(out, StringValuePtr(*(VALUE*)np), RSTRING_LEN(*np), xml_element_chars);
1171
- indent_needed = (1 == cnt) ? 0 : 1;
1172
- } else if (ox_comment_clas == clas) {
1173
- dump_gen_val_node(*np, d2, "<!-- ", 5, " -->", 4, out);
1174
- } else if (ox_raw_clas == clas) {
1175
- dump_gen_val_node(*np, d2, "", 0, "", 0, out);
1176
- } else if (ox_cdata_clas == clas) {
1177
- dump_gen_val_node(*np, d2, "<![CDATA[", 9, "]]>", 3, out);
1178
- } else if (ox_doctype_clas == clas) {
1179
- dump_gen_val_node(*np, d2, "<!DOCTYPE ", 10, " >", 2, out);
1180
- } else {
1181
- rb_raise(rb_eTypeError, "Unexpected class, %s, while dumping generic XML\n", rb_class2name(clas));
1182
- }
1183
- }
1184
- }
1185
- return indent_needed;
1186
- }
1187
-
1188
- static int
1189
- dump_gen_attr(VALUE key, VALUE value, Out out) {
1190
- const char *ks;
1191
- size_t klen;
1192
- size_t size;
1193
-
1194
- #if HAS_PRIVATE_ENCODING
1195
- // There seems to be a bug in jruby for converting symbols to strings and preserving the encoding. This is a work
1196
- // around.
1197
- ks = rb_str_ptr(rb_String(key));
1198
- #else
1199
- switch (rb_type(key)) {
1200
- case T_SYMBOL:
1201
- ks = rb_id2name(SYM2ID(key));
1202
- break;
1203
- case T_STRING:
1204
- ks = StringValuePtr(key);
1205
- break;
1206
- default:
1207
- key = rb_String(key);
1208
- ks = StringValuePtr(key);
1209
- break;
1210
- }
1211
- #endif
1212
- klen = strlen(ks);
1213
- value = rb_String(value);
1214
- size = 4 + klen + RSTRING_LEN(value);
1215
- if (out->end - out->cur <= (long)size) {
1216
- grow(out, size);
1217
- }
1218
- *out->cur++ = ' ';
1219
- fill_value(out, ks, klen);
1220
- *out->cur++ = '=';
1221
- *out->cur++ = '"';
1222
- dump_str_value(out, StringValuePtr(value), RSTRING_LEN(value), xml_quote_chars);
1223
- *out->cur++ = '"';
1224
-
1225
- return ST_CONTINUE;
1226
- }
1227
-
1228
- static void
1229
- dump_gen_val_node(VALUE obj, int depth,
1230
- const char *pre, size_t plen,
1231
- const char *suf, size_t slen, Out out) {
1232
- volatile VALUE v = rb_attr_get(obj, ox_at_value_id);
1233
- const char *val;
1234
- size_t vlen;
1235
- size_t size;
1236
- int indent;
1237
-
1238
- if (T_STRING != rb_type(v)) {
1239
- return;
1240
- }
1241
- val = StringValuePtr(v);
1242
- vlen = RSTRING_LEN(v);
1243
- if (0 > out->indent) {
1244
- indent = -1;
1245
- } else if (0 == out->indent) {
1246
- indent = 0;
1247
- } else {
1248
- indent = depth * out->indent;
1249
- }
1250
- size = indent + plen + slen + vlen + out->opts->margin_len;
1251
- if (out->end - out->cur <= (long)size) {
1252
- grow(out, size);
1253
- }
1254
- fill_indent(out, indent);
1255
- fill_value(out, pre, plen);
1256
- fill_value(out, val, vlen);
1257
- fill_value(out, suf, slen);
1258
- *out->cur = '\0';
1259
- }
1260
-
1261
- static void
1262
- dump_obj_to_xml(VALUE obj, Options copts, Out out) {
1263
- VALUE clas = rb_obj_class(obj);
1264
-
1265
- out->w_time = (Yes == copts->xsd_date) ? dump_time_xsd : dump_time_thin;
1266
- out->buf = ALLOC_N(char, 65336);
1267
- out->end = out->buf + 65325; /* 10 less than end plus extra for possible errors */
1268
- out->cur = out->buf;
1269
- out->circ_cache = 0;
1270
- out->circ_cnt = 0;
1271
- out->opts = copts;
1272
- out->obj = obj;
1273
- *out->cur = '\0';
1274
- if (Yes == copts->circular) {
1275
- ox_cache8_new(&out->circ_cache);
1276
- }
1277
- out->indent = copts->indent;
1278
-
1279
- if (ox_document_clas == clas) {
1280
- dump_gen_doc(obj, -1, out);
1281
- } else if (ox_element_clas == clas) {
1282
- dump_gen_element(obj, 0, out);
1283
- } else {
1284
- out->w_start = dump_start;
1285
- out->w_end = dump_end;
1286
- dump_first_obj(obj, out);
1287
- }
1288
- if (0 <= out->indent) {
1289
- dump_value(out, "\n", 1);
1290
- }
1291
- if (Yes == copts->circular) {
1292
- ox_cache8_delete(out->circ_cache);
1293
- }
1294
- }
1295
-
1296
- char*
1297
- ox_write_obj_to_str(VALUE obj, Options copts) {
1298
- struct _Out out;
1299
-
1300
- dump_obj_to_xml(obj, copts, &out);
1301
- return out.buf;
1302
- }
1303
-
1304
- void
1305
- ox_write_obj_to_file(VALUE obj, const char *path, Options copts) {
1306
- struct _Out out;
1307
- size_t size;
1308
- FILE *f;
1309
-
1310
- dump_obj_to_xml(obj, copts, &out);
1311
- size = out.cur - out.buf;
1312
- if (0 == (f = fopen(path, "w"))) {
1313
- rb_raise(rb_eIOError, "%s\n", strerror(errno));
1314
- }
1315
- if (size != fwrite(out.buf, 1, size, f)) {
1316
- int err = ferror(f);
1317
- rb_raise(rb_eIOError, "Write failed. [%d:%s]\n", err, strerror(err));
1318
- }
1319
- xfree(out.buf);
1320
- fclose(f);
1321
- }