video_chat_get 0.1.4 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (863) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +20 -4
  3. data/.gitignore +1 -0
  4. data/Gemfile.lock +3 -3
  5. data/README.md +6 -1
  6. data/lib/file_operats/file_operat_chatdata.rb +11 -9
  7. data/lib/requests/request.rb +8 -6
  8. data/lib/site_list/mildom_analyze.rb +19 -19
  9. data/lib/site_list/openrec_analyze.rb +20 -18
  10. data/lib/site_list/twitcasting_analyze.rb +36 -27
  11. data/lib/site_list/whowatch_analyze.rb +5 -7
  12. data/lib/site_list/youtubelive_analyze.rb +77 -56
  13. data/lib/video_chat_get.rb +19 -16
  14. data/lib/video_chat_get/version.rb +1 -1
  15. metadata +3 -851
  16. data/vendor/bundle/ruby/2.5.0/bin/htmldiff +0 -29
  17. data/vendor/bundle/ruby/2.5.0/bin/httpclient +0 -27
  18. data/vendor/bundle/ruby/2.5.0/bin/ldiff +0 -29
  19. data/vendor/bundle/ruby/2.5.0/bin/nokogiri +0 -27
  20. data/vendor/bundle/ruby/2.5.0/bin/rake +0 -27
  21. data/vendor/bundle/ruby/2.5.0/bin/rspec +0 -27
  22. data/vendor/bundle/ruby/2.5.0/bin/videochatget +0 -27
  23. data/vendor/bundle/ruby/2.5.0/cache/diff-lcs-1.3.gem +0 -0
  24. data/vendor/bundle/ruby/2.5.0/cache/httpclient-2.8.3.gem +0 -0
  25. data/vendor/bundle/ruby/2.5.0/cache/json-2.3.0.gem +0 -0
  26. data/vendor/bundle/ruby/2.5.0/cache/mini_portile2-2.4.0.gem +0 -0
  27. data/vendor/bundle/ruby/2.5.0/cache/nokogiri-1.10.9.gem +0 -0
  28. data/vendor/bundle/ruby/2.5.0/cache/rake-10.5.0.gem +0 -0
  29. data/vendor/bundle/ruby/2.5.0/cache/rspec-3.9.0.gem +0 -0
  30. data/vendor/bundle/ruby/2.5.0/cache/rspec-core-3.9.2.gem +0 -0
  31. data/vendor/bundle/ruby/2.5.0/cache/rspec-expectations-3.9.2.gem +0 -0
  32. data/vendor/bundle/ruby/2.5.0/cache/rspec-mocks-3.9.1.gem +0 -0
  33. data/vendor/bundle/ruby/2.5.0/cache/rspec-support-3.9.3.gem +0 -0
  34. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/json-2.3.0/gem.build_complete +0 -0
  35. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/json-2.3.0/gem_make.out +0 -13
  36. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/json-2.3.0/json/ext/generator.bundle +0 -0
  37. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/json-2.3.0/json/ext/parser.bundle +0 -0
  38. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/json-2.3.0/mkmf.log +0 -60
  39. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/nokogiri-1.10.9/gem.build_complete +0 -0
  40. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/nokogiri-1.10.9/gem_make.out +0 -155
  41. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/nokogiri-1.10.9/mkmf.log +0 -542
  42. data/vendor/bundle/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0/nokogiri-1.10.9/nokogiri/nokogiri.bundle +0 -0
  43. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/.rspec +0 -1
  44. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/Code-of-Conduct.md +0 -74
  45. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/Contributing.md +0 -83
  46. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/History.md +0 -220
  47. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/License.md +0 -39
  48. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/Manifest.txt +0 -37
  49. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/README.rdoc +0 -84
  50. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/Rakefile +0 -57
  51. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/autotest/discover.rb +0 -1
  52. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/bin/htmldiff +0 -32
  53. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/bin/ldiff +0 -6
  54. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/docs/COPYING.txt +0 -339
  55. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/docs/artistic.txt +0 -127
  56. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff-lcs.rb +0 -3
  57. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs.rb +0 -725
  58. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +0 -7
  59. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +0 -37
  60. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +0 -322
  61. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +0 -181
  62. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +0 -149
  63. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +0 -276
  64. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +0 -307
  65. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +0 -167
  66. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +0 -5
  67. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/change_spec.rb +0 -65
  68. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/diff_spec.rb +0 -47
  69. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +0 -50
  70. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +0 -51
  71. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/hunk_spec.rb +0 -72
  72. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/issues_spec.rb +0 -49
  73. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/lcs_spec.rb +0 -56
  74. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/ldiff_spec.rb +0 -47
  75. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/patch_spec.rb +0 -422
  76. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/sdiff_spec.rb +0 -214
  77. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/spec_helper.rb +0 -321
  78. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +0 -310
  79. data/vendor/bundle/ruby/2.5.0/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +0 -139
  80. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/README.md +0 -85
  81. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/bin/httpclient +0 -77
  82. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/bin/jsonclient +0 -85
  83. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/hexdump.rb +0 -50
  84. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/http-access2.rb +0 -55
  85. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/http-access2/cookie.rb +0 -1
  86. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/http-access2/http.rb +0 -1
  87. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient.rb +0 -1327
  88. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/auth.rb +0 -924
  89. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/cacert.pem +0 -3952
  90. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/cacert1024.pem +0 -3866
  91. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/connection.rb +0 -88
  92. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/cookie.rb +0 -220
  93. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/http.rb +0 -1082
  94. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/include_client.rb +0 -85
  95. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/jruby_ssl_socket.rb +0 -588
  96. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/session.rb +0 -960
  97. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/ssl_config.rb +0 -424
  98. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/ssl_socket.rb +0 -150
  99. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/timeout.rb +0 -140
  100. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/util.rb +0 -222
  101. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/version.rb +0 -3
  102. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/httpclient/webagent-cookie.rb +0 -459
  103. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/jsonclient.rb +0 -63
  104. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/lib/oauthclient.rb +0 -111
  105. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/async.rb +0 -8
  106. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/auth.rb +0 -11
  107. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/cookie.rb +0 -18
  108. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/dav.rb +0 -103
  109. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/howto.rb +0 -49
  110. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/jsonclient.rb +0 -67
  111. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/oauth_buzz.rb +0 -57
  112. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/oauth_friendfeed.rb +0 -59
  113. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/oauth_twitter.rb +0 -61
  114. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/ssl/0cert.pem +0 -22
  115. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/ssl/0key.pem +0 -30
  116. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/ssl/1000cert.pem +0 -19
  117. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/ssl/1000key.pem +0 -18
  118. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/ssl/htdocs/index.html +0 -10
  119. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/ssl/ssl_client.rb +0 -22
  120. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/ssl/webrick_httpsd.rb +0 -29
  121. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/stream.rb +0 -21
  122. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/thread.rb +0 -27
  123. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/sample/wcat.rb +0 -21
  124. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/ca-chain.pem +0 -44
  125. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/ca.cert +0 -23
  126. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/client-pass.key +0 -18
  127. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/client.cert +0 -19
  128. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/client.key +0 -15
  129. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/helper.rb +0 -131
  130. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/htdigest +0 -1
  131. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/htpasswd +0 -2
  132. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/jruby_ssl_socket/test_pemutils.rb +0 -32
  133. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/runner.rb +0 -2
  134. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/server.cert +0 -19
  135. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/server.key +0 -15
  136. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/sslsvr.rb +0 -65
  137. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/subca.cert +0 -21
  138. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/test_auth.rb +0 -492
  139. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/test_cookie.rb +0 -309
  140. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/test_hexdump.rb +0 -14
  141. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/test_http-access2.rb +0 -508
  142. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/test_httpclient.rb +0 -2145
  143. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/test_include_client.rb +0 -52
  144. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/test_jsonclient.rb +0 -80
  145. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/test_ssl.rb +0 -559
  146. data/vendor/bundle/ruby/2.5.0/gems/httpclient-2.8.3/test/test_webagent-cookie.rb +0 -465
  147. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/.gitignore +0 -18
  148. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/.travis.yml +0 -24
  149. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/CHANGES.md +0 -391
  150. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/Gemfile +0 -14
  151. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/LICENSE +0 -56
  152. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/README-json-jruby.md +0 -33
  153. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/README.md +0 -409
  154. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/Rakefile +0 -413
  155. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/VERSION +0 -1
  156. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/diagrams/.keep +0 -0
  157. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/fbuffer/fbuffer.h +0 -187
  158. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/generator/.sitearchdir.-.json.-.ext.time +0 -0
  159. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/generator/depend +0 -1
  160. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/generator/extconf.rb +0 -4
  161. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/generator/generator.c +0 -1499
  162. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/generator/generator.h +0 -171
  163. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/parser/.sitearchdir.-.json.-.ext.time +0 -0
  164. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/parser/depend +0 -1
  165. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/parser/extconf.rb +0 -6
  166. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/parser/parser.c +0 -2136
  167. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/parser/parser.h +0 -91
  168. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/ext/parser/parser.rl +0 -896
  169. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/ext/json/extconf.rb +0 -2
  170. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/install.rb +0 -23
  171. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/ByteListTranscoder.java +0 -166
  172. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/Generator.java +0 -466
  173. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/GeneratorMethods.java +0 -231
  174. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/GeneratorService.java +0 -42
  175. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/GeneratorState.java +0 -490
  176. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/OptionsReader.java +0 -113
  177. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/Parser.java +0 -2362
  178. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/Parser.rl +0 -893
  179. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/ParserService.java +0 -34
  180. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/RuntimeInfo.java +0 -116
  181. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/StringDecoder.java +0 -166
  182. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/StringEncoder.java +0 -111
  183. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/java/src/json/ext/Utils.java +0 -88
  184. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/json-java.gemspec +0 -37
  185. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/json.gemspec +0 -0
  186. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/json_pure.gemspec +0 -38
  187. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json.rb +0 -63
  188. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/bigdecimal.rb +0 -29
  189. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/complex.rb +0 -29
  190. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/core.rb +0 -12
  191. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/date.rb +0 -34
  192. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/date_time.rb +0 -50
  193. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/exception.rb +0 -31
  194. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/ostruct.rb +0 -31
  195. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/range.rb +0 -29
  196. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/rational.rb +0 -28
  197. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/regexp.rb +0 -30
  198. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/set.rb +0 -29
  199. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/struct.rb +0 -30
  200. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/symbol.rb +0 -25
  201. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/add/time.rb +0 -38
  202. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/common.rb +0 -456
  203. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/ext.rb +0 -15
  204. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/ext/.keep +0 -0
  205. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/generic_object.rb +0 -71
  206. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/pure.rb +0 -15
  207. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/pure/generator.rb +0 -459
  208. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/pure/parser.rb +0 -319
  209. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/lib/json/version.rb +0 -9
  210. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/references/rfc7159.txt +0 -899
  211. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail10.json +0 -1
  212. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail11.json +0 -1
  213. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail12.json +0 -1
  214. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail13.json +0 -1
  215. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail14.json +0 -1
  216. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail18.json +0 -1
  217. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail19.json +0 -1
  218. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail2.json +0 -1
  219. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail20.json +0 -1
  220. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail21.json +0 -1
  221. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail22.json +0 -1
  222. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail23.json +0 -1
  223. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail24.json +0 -1
  224. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail25.json +0 -1
  225. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail27.json +0 -2
  226. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail28.json +0 -2
  227. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail3.json +0 -1
  228. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail4.json +0 -1
  229. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail5.json +0 -1
  230. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail6.json +0 -1
  231. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail7.json +0 -1
  232. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail8.json +0 -1
  233. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/fail9.json +0 -1
  234. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/obsolete_fail1.json +0 -1
  235. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/pass1.json +0 -56
  236. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/pass15.json +0 -1
  237. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/pass16.json +0 -1
  238. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/pass17.json +0 -1
  239. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/pass2.json +0 -1
  240. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/pass26.json +0 -1
  241. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/fixtures/pass3.json +0 -6
  242. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/json_addition_test.rb +0 -203
  243. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/json_common_interface_test.rb +0 -126
  244. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/json_encoding_test.rb +0 -107
  245. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/json_ext_parser_test.rb +0 -15
  246. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/json_fixtures_test.rb +0 -32
  247. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/json_generator_test.rb +0 -421
  248. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/json_generic_object_test.rb +0 -82
  249. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/json_parser_test.rb +0 -472
  250. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/json_string_matching_test.rb +0 -38
  251. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tests/test_helper.rb +0 -17
  252. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tools/diff.sh +0 -18
  253. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tools/fuzz.rb +0 -131
  254. data/vendor/bundle/ruby/2.5.0/gems/json-2.3.0/tools/server.rb +0 -62
  255. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/.concourse.yml +0 -83
  256. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/.gitignore +0 -7
  257. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/.travis.yml +0 -15
  258. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/CHANGELOG.md +0 -209
  259. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/Gemfile +0 -4
  260. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/LICENSE.txt +0 -20
  261. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/README.md +0 -245
  262. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/Rakefile +0 -29
  263. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/appveyor.yml +0 -25
  264. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/concourse/mini_portile.yml +0 -141
  265. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/concourse/tasks/rake-test/task.ps1 +0 -11
  266. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/concourse/tasks/rake-test/task.sh +0 -13
  267. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/lib/mini_portile2.rb +0 -3
  268. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/lib/mini_portile2/mini_portile.rb +0 -556
  269. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/lib/mini_portile2/mini_portile_cmake.rb +0 -40
  270. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/lib/mini_portile2/version.rb +0 -3
  271. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/mini_portile2.gemspec +0 -42
  272. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/assets/git/config +0 -4
  273. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/assets/gpg-fixtures/data +0 -1
  274. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/assets/gpg-fixtures/data.asc +0 -9
  275. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/assets/gpg-fixtures/data.invalid.asc +0 -9
  276. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/assets/patch 1.diff +0 -7
  277. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/assets/test mini portile-1.0.0/configure +0 -11
  278. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/assets/test-cmake-1.0/CMakeLists.txt +0 -7
  279. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/assets/test-cmake-1.0/hello.c +0 -4
  280. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/assets/test-download-archive.tar.gz +0 -1
  281. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/helper.rb +0 -60
  282. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/test_cmake.rb +0 -64
  283. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/test_cook.rb +0 -115
  284. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/test_digest.rb +0 -215
  285. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/test_download.rb +0 -71
  286. data/vendor/bundle/ruby/2.5.0/gems/mini_portile2-2.4.0/test/test_proxy.rb +0 -121
  287. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/LICENSE-DEPENDENCIES.md +0 -1614
  288. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/LICENSE.md +0 -9
  289. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/README.md +0 -198
  290. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/bin/nokogiri +0 -118
  291. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/dependencies.yml +0 -74
  292. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/.sitearchdir.-.nokogiri.time +0 -0
  293. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/Makefile +0 -626
  294. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/depend +0 -358
  295. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/extconf.rb +0 -686
  296. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_document.c +0 -170
  297. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_document.h +0 -10
  298. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_document.o +0 -0
  299. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_element_description.c +0 -279
  300. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_element_description.h +0 -10
  301. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_element_description.o +0 -0
  302. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_entity_lookup.c +0 -32
  303. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_entity_lookup.h +0 -8
  304. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_entity_lookup.o +0 -0
  305. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_sax_parser_context.c +0 -116
  306. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_sax_parser_context.h +0 -11
  307. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_sax_parser_context.o +0 -0
  308. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_sax_push_parser.c +0 -87
  309. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_sax_push_parser.h +0 -9
  310. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/html_sax_push_parser.o +0 -0
  311. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/nokogiri.bundle +0 -0
  312. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/nokogiri.c +0 -141
  313. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/nokogiri.h +0 -121
  314. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/nokogiri.o +0 -0
  315. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_attr.c +0 -103
  316. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_attr.h +0 -9
  317. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_attr.o +0 -0
  318. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_attribute_decl.c +0 -70
  319. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_attribute_decl.h +0 -9
  320. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_attribute_decl.o +0 -0
  321. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_cdata.c +0 -62
  322. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_cdata.h +0 -9
  323. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_cdata.o +0 -0
  324. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_comment.c +0 -69
  325. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_comment.h +0 -9
  326. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_comment.o +0 -0
  327. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_document.c +0 -608
  328. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_document.h +0 -23
  329. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_document.o +0 -0
  330. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_document_fragment.c +0 -48
  331. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_document_fragment.h +0 -10
  332. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_document_fragment.o +0 -0
  333. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_dtd.c +0 -202
  334. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_dtd.h +0 -10
  335. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_dtd.o +0 -0
  336. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_element_content.c +0 -123
  337. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_element_content.h +0 -10
  338. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_element_content.o +0 -0
  339. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_element_decl.c +0 -69
  340. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_element_decl.h +0 -9
  341. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_element_decl.o +0 -0
  342. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_encoding_handler.c +0 -79
  343. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_encoding_handler.h +0 -8
  344. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_encoding_handler.o +0 -0
  345. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_entity_decl.c +0 -110
  346. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_entity_decl.h +0 -10
  347. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_entity_decl.o +0 -0
  348. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_entity_reference.c +0 -52
  349. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_entity_reference.h +0 -9
  350. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_entity_reference.o +0 -0
  351. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_io.c +0 -61
  352. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_io.h +0 -11
  353. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_io.o +0 -0
  354. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  355. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  356. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_libxml2_hacks.o +0 -0
  357. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_namespace.c +0 -111
  358. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_namespace.h +0 -14
  359. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_namespace.o +0 -0
  360. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_node.c +0 -1753
  361. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_node.h +0 -13
  362. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_node.o +0 -0
  363. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_node_set.c +0 -486
  364. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_node_set.h +0 -12
  365. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_node_set.o +0 -0
  366. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_processing_instruction.c +0 -56
  367. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_processing_instruction.h +0 -9
  368. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_processing_instruction.o +0 -0
  369. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_reader.c +0 -668
  370. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_reader.h +0 -10
  371. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_reader.o +0 -0
  372. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_relax_ng.c +0 -161
  373. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_relax_ng.h +0 -9
  374. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_relax_ng.o +0 -0
  375. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_parser.c +0 -310
  376. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_parser.h +0 -39
  377. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_parser.o +0 -0
  378. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_parser_context.c +0 -262
  379. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_parser_context.h +0 -10
  380. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_parser_context.o +0 -0
  381. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_push_parser.c +0 -159
  382. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_push_parser.h +0 -9
  383. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_sax_push_parser.o +0 -0
  384. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_schema.c +0 -234
  385. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_schema.h +0 -9
  386. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_schema.o +0 -0
  387. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_syntax_error.c +0 -64
  388. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_syntax_error.h +0 -13
  389. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_syntax_error.o +0 -0
  390. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_text.c +0 -52
  391. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_text.h +0 -9
  392. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_text.o +0 -0
  393. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_xpath_context.c +0 -298
  394. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_xpath_context.h +0 -10
  395. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xml_xpath_context.o +0 -0
  396. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xslt_stylesheet.c +0 -270
  397. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xslt_stylesheet.h +0 -14
  398. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/ext/nokogiri/xslt_stylesheet.o +0 -0
  399. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri.rb +0 -144
  400. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/css.rb +0 -27
  401. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/css/node.rb +0 -52
  402. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/css/parser.rb +0 -750
  403. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/css/parser.y +0 -272
  404. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/css/parser_extras.rb +0 -91
  405. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/css/syntax_error.rb +0 -7
  406. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/css/tokenizer.rb +0 -153
  407. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/css/tokenizer.rex +0 -55
  408. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/css/xpath_visitor.rb +0 -230
  409. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/decorators/slop.rb +0 -42
  410. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html.rb +0 -37
  411. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html/builder.rb +0 -35
  412. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html/document.rb +0 -335
  413. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html/document_fragment.rb +0 -49
  414. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html/element_description.rb +0 -23
  415. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html/element_description_defaults.rb +0 -671
  416. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html/entity_lookup.rb +0 -13
  417. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html/sax/parser.rb +0 -62
  418. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html/sax/parser_context.rb +0 -16
  419. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/html/sax/push_parser.rb +0 -36
  420. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/nokogiri.bundle +0 -0
  421. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/syntax_error.rb +0 -4
  422. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/version.rb +0 -109
  423. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml.rb +0 -75
  424. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/attr.rb +0 -14
  425. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/attribute_decl.rb +0 -18
  426. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/builder.rb +0 -446
  427. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/cdata.rb +0 -11
  428. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/character_data.rb +0 -7
  429. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/document.rb +0 -285
  430. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/document_fragment.rb +0 -160
  431. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/dtd.rb +0 -32
  432. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/element_content.rb +0 -36
  433. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/element_decl.rb +0 -13
  434. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/entity_decl.rb +0 -19
  435. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/entity_reference.rb +0 -18
  436. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/namespace.rb +0 -13
  437. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/node.rb +0 -902
  438. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/node/save_options.rb +0 -61
  439. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/node_set.rb +0 -371
  440. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/notation.rb +0 -6
  441. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/parse_options.rb +0 -120
  442. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/pp.rb +0 -2
  443. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/pp/character_data.rb +0 -18
  444. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/pp/node.rb +0 -56
  445. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/processing_instruction.rb +0 -8
  446. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/reader.rb +0 -112
  447. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/relax_ng.rb +0 -32
  448. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/sax.rb +0 -4
  449. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/sax/document.rb +0 -171
  450. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/sax/parser.rb +0 -122
  451. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/sax/parser_context.rb +0 -16
  452. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/sax/push_parser.rb +0 -60
  453. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/schema.rb +0 -63
  454. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/searchable.rb +0 -230
  455. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/syntax_error.rb +0 -70
  456. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/text.rb +0 -9
  457. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/xpath.rb +0 -10
  458. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/xpath/syntax_error.rb +0 -11
  459. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xml/xpath_context.rb +0 -16
  460. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xslt.rb +0 -56
  461. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/nokogiri/xslt/stylesheet.rb +0 -25
  462. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/lib/xsd/xmlparser/nokogiri.rb +0 -102
  463. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  464. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0002-Remove-script-macro-support.patch +0 -40
  465. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch +0 -44
  466. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +0 -25
  467. data/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.10.9/patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch +0 -32
  468. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/.autotest +0 -7
  469. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/.rubocop.yml +0 -27
  470. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/.togglerc +0 -7
  471. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/CONTRIBUTING.rdoc +0 -38
  472. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/History.rdoc +0 -659
  473. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/MIT-LICENSE +0 -21
  474. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/Manifest.txt +0 -166
  475. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/README.rdoc +0 -139
  476. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/Rakefile +0 -81
  477. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/bin/rake +0 -33
  478. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/command_line_usage.rdoc +0 -158
  479. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/Rakefile1 +0 -38
  480. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/Rakefile2 +0 -35
  481. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/a.c +0 -6
  482. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/b.c +0 -6
  483. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/example/main.c +0 -11
  484. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/glossary.rdoc +0 -42
  485. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/jamis.rb +0 -591
  486. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/proto_rake.rdoc +0 -127
  487. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/rake.1 +0 -141
  488. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/rakefile.rdoc +0 -624
  489. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/rational.rdoc +0 -151
  490. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +0 -23
  491. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +0 -35
  492. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +0 -53
  493. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +0 -78
  494. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +0 -46
  495. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +0 -141
  496. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +0 -119
  497. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +0 -59
  498. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +0 -121
  499. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +0 -47
  500. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +0 -114
  501. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +0 -165
  502. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +0 -112
  503. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +0 -147
  504. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +0 -53
  505. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +0 -37
  506. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +0 -55
  507. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +0 -112
  508. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +0 -52
  509. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  510. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +0 -49
  511. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +0 -102
  512. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +0 -60
  513. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +0 -55
  514. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +0 -64
  515. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +0 -178
  516. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +0 -58
  517. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +0 -53
  518. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +0 -191
  519. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +0 -61
  520. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake.rb +0 -79
  521. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/alt_system.rb +0 -110
  522. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/application.rb +0 -790
  523. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/backtrace.rb +0 -23
  524. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/clean.rb +0 -76
  525. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/cloneable.rb +0 -16
  526. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/.document +0 -1
  527. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +0 -21
  528. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +0 -137
  529. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +0 -81
  530. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  531. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +0 -61
  532. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/sys.rb +0 -4
  533. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/cpu_counter.rb +0 -125
  534. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/default_loader.rb +0 -14
  535. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/dsl_definition.rb +0 -201
  536. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/early_time.rb +0 -21
  537. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/core.rb +0 -25
  538. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/module.rb +0 -2
  539. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/pathname.rb +0 -25
  540. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/string.rb +0 -175
  541. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/time.rb +0 -18
  542. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_creation_task.rb +0 -24
  543. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_list.rb +0 -428
  544. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_task.rb +0 -46
  545. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_utils.rb +0 -128
  546. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +0 -144
  547. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/gempackagetask.rb +0 -4
  548. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/invocation_chain.rb +0 -56
  549. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +0 -16
  550. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/late_time.rb +0 -17
  551. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/linked_list.rb +0 -103
  552. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +0 -53
  553. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/multi_task.rb +0 -13
  554. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/name_space.rb +0 -38
  555. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/packagetask.rb +0 -199
  556. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/pathmap.rb +0 -3
  557. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/phony.rb +0 -15
  558. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/private_reader.rb +0 -20
  559. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/promise.rb +0 -99
  560. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/pseudo_status.rb +0 -29
  561. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rake_module.rb +0 -38
  562. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +0 -22
  563. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rdoctask.rb +0 -4
  564. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +0 -29
  565. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +0 -20
  566. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/runtest.rb +0 -27
  567. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/scope.rb +0 -42
  568. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task.rb +0 -383
  569. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task_argument_error.rb +0 -7
  570. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task_arguments.rb +0 -98
  571. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task_manager.rb +0 -307
  572. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/tasklib.rb +0 -24
  573. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/testtask.rb +0 -213
  574. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/thread_history_display.rb +0 -48
  575. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/thread_pool.rb +0 -164
  576. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/trace_output.rb +0 -22
  577. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/version.rb +0 -7
  578. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/lib/rake/win32.rb +0 -56
  579. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/rakelib/publish.rake +0 -20
  580. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/rakelib/test_times.rake +0 -25
  581. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/file_creation.rb +0 -34
  582. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/helper.rb +0 -129
  583. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/support/rakefile_definitions.rb +0 -478
  584. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/support/ruby_runner.rb +0 -34
  585. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_private_reader.rb +0 -42
  586. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake.rb +0 -40
  587. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_application.rb +0 -643
  588. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_application_options.rb +0 -468
  589. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_backtrace.rb +0 -119
  590. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_clean.rb +0 -61
  591. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +0 -68
  592. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_definitions.rb +0 -84
  593. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_directory_task.rb +0 -76
  594. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_dsl.rb +0 -40
  595. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_early_time.rb +0 -31
  596. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_extension.rb +0 -59
  597. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +0 -56
  598. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_list.rb +0 -670
  599. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +0 -8
  600. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_task.rb +0 -197
  601. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_utils.rb +0 -314
  602. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_ftp_file.rb +0 -74
  603. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_functional.rb +0 -482
  604. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +0 -64
  605. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_late_time.rb +0 -18
  606. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_linked_list.rb +0 -84
  607. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +0 -46
  608. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_multi_task.rb +0 -64
  609. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_name_space.rb +0 -57
  610. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_package_task.rb +0 -79
  611. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_path_map.rb +0 -168
  612. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +0 -34
  613. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +0 -18
  614. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +0 -15
  615. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +0 -21
  616. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +0 -20
  617. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +0 -26
  618. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_require.rb +0 -40
  619. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_rules.rb +0 -388
  620. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_scope.rb +0 -44
  621. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task.rb +0 -393
  622. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +0 -119
  623. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_arguments.rb +0 -127
  624. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_lib.rb +0 -9
  625. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_manager.rb +0 -178
  626. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +0 -19
  627. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +0 -172
  628. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_test_task.rb +0 -146
  629. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_thread_pool.rb +0 -145
  630. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +0 -71
  631. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_win32.rb +0 -72
  632. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_thread_history_display.rb +0 -101
  633. data/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/test/test_trace_output.rb +0 -52
  634. data/vendor/bundle/ruby/2.5.0/gems/rspec-3.9.0/LICENSE.md +0 -27
  635. data/vendor/bundle/ruby/2.5.0/gems/rspec-3.9.0/README.md +0 -43
  636. data/vendor/bundle/ruby/2.5.0/gems/rspec-3.9.0/lib/rspec.rb +0 -3
  637. data/vendor/bundle/ruby/2.5.0/gems/rspec-3.9.0/lib/rspec/version.rb +0 -5
  638. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/.document +0 -5
  639. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/.yardopts +0 -8
  640. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/Changelog.md +0 -2291
  641. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/LICENSE.md +0 -26
  642. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/README.md +0 -384
  643. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/exe/rspec +0 -4
  644. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/autorun.rb +0 -3
  645. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core.rb +0 -186
  646. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/backtrace_formatter.rb +0 -65
  647. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/coordinator.rb +0 -62
  648. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/example_minimizer.rb +0 -173
  649. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/fork_runner.rb +0 -135
  650. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/server.rb +0 -61
  651. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/shell_command.rb +0 -126
  652. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/shell_runner.rb +0 -73
  653. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/utilities.rb +0 -58
  654. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb +0 -2363
  655. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration_options.rb +0 -233
  656. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/did_you_mean.rb +0 -46
  657. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/drb.rb +0 -113
  658. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/dsl.rb +0 -98
  659. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb +0 -656
  660. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb +0 -900
  661. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/example_status_persister.rb +0 -235
  662. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/filter_manager.rb +0 -231
  663. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/flat_map.rb +0 -20
  664. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters.rb +0 -273
  665. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_bisect_formatter.rb +0 -45
  666. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_formatter.rb +0 -70
  667. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_text_formatter.rb +0 -75
  668. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/bisect_drb_formatter.rb +0 -29
  669. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -157
  670. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/console_codes.rb +0 -68
  671. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  672. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/documentation_formatter.rb +0 -102
  673. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb +0 -511
  674. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/failure_list_formatter.rb +0 -23
  675. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  676. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/helpers.rb +0 -110
  677. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_formatter.rb +0 -153
  678. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_printer.rb +0 -414
  679. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -120
  680. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/json_formatter.rb +0 -102
  681. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  682. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/progress_formatter.rb +0 -29
  683. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/protocol.rb +0 -182
  684. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/snippet_extractor.rb +0 -134
  685. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/syntax_highlighter.rb +0 -91
  686. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb +0 -641
  687. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/invocations.rb +0 -87
  688. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/memoized_helpers.rb +0 -554
  689. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/metadata.rb +0 -498
  690. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/metadata_filter.rb +0 -255
  691. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  692. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  693. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  694. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/null.rb +0 -14
  695. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  696. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  697. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb +0 -521
  698. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/option_parser.rb +0 -316
  699. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/ordering.rb +0 -158
  700. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/output_wrapper.rb +0 -29
  701. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/pending.rb +0 -165
  702. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/profiler.rb +0 -34
  703. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer.rb +0 -48
  704. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer/.rspec +0 -1
  705. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -100
  706. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/rake_task.rb +0 -188
  707. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb +0 -265
  708. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/ruby_project.rb +0 -53
  709. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb +0 -204
  710. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/sandbox.rb +0 -37
  711. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/set.rb +0 -54
  712. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/shared_context.rb +0 -55
  713. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/shared_example_group.rb +0 -271
  714. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/shell_escape.rb +0 -49
  715. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  716. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/version.rb +0 -9
  717. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/warnings.rb +0 -40
  718. data/vendor/bundle/ruby/2.5.0/gems/rspec-core-3.9.2/lib/rspec/core/world.rb +0 -276
  719. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/.document +0 -5
  720. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/.yardopts +0 -6
  721. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/Changelog.md +0 -1191
  722. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/LICENSE.md +0 -25
  723. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/README.md +0 -320
  724. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations.rb +0 -82
  725. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/block_snippet_extractor.rb +0 -253
  726. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/configuration.rb +0 -215
  727. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/expectation_target.rb +0 -127
  728. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/fail_with.rb +0 -39
  729. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/failure_aggregator.rb +0 -194
  730. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/handler.rb +0 -170
  731. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/minitest_integration.rb +0 -58
  732. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/syntax.rb +0 -132
  733. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/version.rb +0 -8
  734. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers.rb +0 -1038
  735. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/aliased_matcher.rb +0 -116
  736. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in.rb +0 -52
  737. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/all.rb +0 -86
  738. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/base_matcher.rb +0 -193
  739. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be.rb +0 -288
  740. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_between.rb +0 -77
  741. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_instance_of.rb +0 -26
  742. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_kind_of.rb +0 -20
  743. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_within.rb +0 -72
  744. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/change.rb +0 -428
  745. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/compound.rb +0 -276
  746. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/contain_exactly.rb +0 -302
  747. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/cover.rb +0 -24
  748. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/eq.rb +0 -40
  749. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/eql.rb +0 -34
  750. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/equal.rb +0 -81
  751. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/exist.rb +0 -90
  752. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/has.rb +0 -103
  753. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  754. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/include.rb +0 -149
  755. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/match.rb +0 -106
  756. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/operators.rb +0 -128
  757. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/output.rb +0 -200
  758. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/raise_error.rb +0 -230
  759. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/respond_to.rb +0 -199
  760. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/satisfy.rb +0 -60
  761. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  762. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  763. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/yield.rb +0 -441
  764. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/composable.rb +0 -171
  765. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/dsl.rb +0 -540
  766. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/english_phrasing.rb +0 -58
  767. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -82
  768. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/fail_matchers.rb +0 -42
  769. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/generated_descriptions.rb +0 -41
  770. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/matcher_delegator.rb +0 -35
  771. data/vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/matcher_protocol.rb +0 -99
  772. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/.document +0 -5
  773. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/.yardopts +0 -6
  774. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/Changelog.md +0 -1133
  775. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/LICENSE.md +0 -25
  776. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/README.md +0 -463
  777. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks.rb +0 -130
  778. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance.rb +0 -11
  779. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/chain.rb +0 -111
  780. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  781. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -31
  782. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -50
  783. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  784. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  785. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/recorder.rb +0 -294
  786. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain.rb +0 -51
  787. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -23
  788. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  789. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_matchers.rb +0 -322
  790. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/configuration.rb +0 -212
  791. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/error_generator.rb +0 -369
  792. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/example_methods.rb +0 -434
  793. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/instance_method_stasher.rb +0 -146
  794. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/marshal_extension.rb +0 -41
  795. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  796. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/have_received.rb +0 -134
  797. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive.rb +0 -132
  798. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
  799. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
  800. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_chain.rb +0 -87
  801. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb +0 -751
  802. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_double.rb +0 -287
  803. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_reference.rb +0 -202
  804. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/minitest_integration.rb +0 -68
  805. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/mutate_const.rb +0 -339
  806. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/object_reference.rb +0 -149
  807. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/order_group.rb +0 -81
  808. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/proxy.rb +0 -503
  809. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/space.rb +0 -238
  810. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/standalone.rb +0 -3
  811. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/syntax.rb +0 -325
  812. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/targets.rb +0 -124
  813. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/test_double.rb +0 -171
  814. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_double.rb +0 -129
  815. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  816. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_proxy.rb +0 -220
  817. data/vendor/bundle/ruby/2.5.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/version.rb +0 -9
  818. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/Changelog.md +0 -302
  819. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/LICENSE.md +0 -23
  820. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/README.md +0 -40
  821. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support.rb +0 -149
  822. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/caller_filter.rb +0 -83
  823. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/comparable_version.rb +0 -46
  824. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/differ.rb +0 -215
  825. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/directory_maker.rb +0 -63
  826. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/encoded_string.rb +0 -161
  827. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/fuzzy_matcher.rb +0 -48
  828. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/hunk_generator.rb +0 -47
  829. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/matcher_definition.rb +0 -42
  830. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/method_signature_verifier.rb +0 -438
  831. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/mutex.rb +0 -73
  832. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/object_formatter.rb +0 -275
  833. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/recursive_const_methods.rb +0 -76
  834. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/reentrant_mutex.rb +0 -61
  835. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/ruby_features.rb +0 -190
  836. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/source.rb +0 -75
  837. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/source/location.rb +0 -21
  838. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/source/node.rb +0 -110
  839. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/source/token.rb +0 -87
  840. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec.rb +0 -81
  841. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  842. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/formatting_support.rb +0 -9
  843. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/in_sub_process.rb +0 -69
  844. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/library_wide_checks.rb +0 -150
  845. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/shell_out.rb +0 -89
  846. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/stderr_splitter.rb +0 -75
  847. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/string_matcher.rb +0 -46
  848. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
  849. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  850. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/version.rb +0 -7
  851. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/warnings.rb +0 -39
  852. data/vendor/bundle/ruby/2.5.0/gems/rspec-support-3.9.3/lib/rspec/support/with_keywords_when_needed.rb +0 -33
  853. data/vendor/bundle/ruby/2.5.0/specifications/diff-lcs-1.3.gemspec +0 -61
  854. data/vendor/bundle/ruby/2.5.0/specifications/httpclient-2.8.3.gemspec +0 -21
  855. data/vendor/bundle/ruby/2.5.0/specifications/json-2.3.0.gemspec +0 -0
  856. data/vendor/bundle/ruby/2.5.0/specifications/mini_portile2-2.4.0.gemspec +0 -48
  857. data/vendor/bundle/ruby/2.5.0/specifications/nokogiri-1.10.9.gemspec +0 -85
  858. data/vendor/bundle/ruby/2.5.0/specifications/rake-10.5.0.gemspec +0 -43
  859. data/vendor/bundle/ruby/2.5.0/specifications/rspec-3.9.0.gemspec +0 -43
  860. data/vendor/bundle/ruby/2.5.0/specifications/rspec-core-3.9.2.gemspec +0 -63
  861. data/vendor/bundle/ruby/2.5.0/specifications/rspec-expectations-3.9.2.gemspec +0 -51
  862. data/vendor/bundle/ruby/2.5.0/specifications/rspec-mocks-3.9.1.gemspec +0 -51
  863. data/vendor/bundle/ruby/2.5.0/specifications/rspec-support-3.9.3.gemspec +0 -39
@@ -1,12 +0,0 @@
1
- #ifndef HAVE_XMLFIRSTELEMENTCHILD
2
-
3
- #ifndef XML_LIBXML2_HACKS
4
- #define XML_LIBXML2_HACKS
5
-
6
- xmlNodePtr xmlFirstElementChild(xmlNodePtr parent);
7
- xmlNodePtr xmlNextElementSibling(xmlNodePtr node);
8
- xmlNodePtr xmlLastElementChild(xmlNodePtr parent);
9
-
10
- #endif
11
-
12
- #endif
@@ -1,111 +0,0 @@
1
- #include <xml_namespace.h>
2
-
3
- VALUE cNokogiriXmlNamespace ;
4
-
5
- static void dealloc_namespace(xmlNsPtr ns)
6
- {
7
- /*
8
- *
9
- * this deallocator is only used for namespace nodes that are part of an xpath
10
- * node set.
11
- *
12
- * see Nokogiri_wrap_xml_namespace() for more details.
13
- *
14
- */
15
- NOKOGIRI_DEBUG_START(ns) ;
16
- if (ns->href) {
17
- xmlFree((xmlChar *)(uintptr_t)ns->href);
18
- }
19
- if (ns->prefix) {
20
- xmlFree((xmlChar *)(uintptr_t)ns->prefix);
21
- }
22
- xmlFree(ns);
23
- NOKOGIRI_DEBUG_END(ns) ;
24
- }
25
-
26
-
27
- /*
28
- * call-seq:
29
- * prefix
30
- *
31
- * Get the prefix for this namespace. Returns +nil+ if there is no prefix.
32
- */
33
- static VALUE prefix(VALUE self)
34
- {
35
- xmlNsPtr ns;
36
-
37
- Data_Get_Struct(self, xmlNs, ns);
38
- if(!ns->prefix) return Qnil;
39
-
40
- return NOKOGIRI_STR_NEW2(ns->prefix);
41
- }
42
-
43
- /*
44
- * call-seq:
45
- * href
46
- *
47
- * Get the href for this namespace
48
- */
49
- static VALUE href(VALUE self)
50
- {
51
- xmlNsPtr ns;
52
-
53
- Data_Get_Struct(self, xmlNs, ns);
54
- if(!ns->href) return Qnil;
55
-
56
- return NOKOGIRI_STR_NEW2(ns->href);
57
- }
58
-
59
- static int part_of_an_xpath_node_set_eh(xmlNsPtr node)
60
- {
61
- return (node->next && ! NOKOGIRI_NAMESPACE_EH(node->next));
62
- }
63
-
64
- VALUE Nokogiri_wrap_xml_namespace(xmlDocPtr doc, xmlNsPtr node)
65
- {
66
- VALUE ns = 0, document, node_cache;
67
-
68
- assert(doc->type == XML_DOCUMENT_NODE || doc->type == XML_HTML_DOCUMENT_NODE);
69
-
70
- if (node->_private) return (VALUE)node->_private;
71
-
72
- if (doc->type == XML_DOCUMENT_FRAG_NODE) doc = doc->doc;
73
-
74
- if (DOC_RUBY_OBJECT_TEST(doc)) {
75
- document = DOC_RUBY_OBJECT(doc);
76
-
77
- if (part_of_an_xpath_node_set_eh(node)) {
78
- /*
79
- * this is a duplicate returned as part of an xpath query node set, and so
80
- * we need to make sure we manage this memory.
81
- *
82
- * see comments in xml_node_set.c for more details.
83
- */
84
- ns = Data_Wrap_Struct(cNokogiriXmlNamespace, 0, dealloc_namespace, node);
85
- } else {
86
- ns = Data_Wrap_Struct(cNokogiriXmlNamespace, 0, 0, node);
87
- node_cache = rb_iv_get(document, "@node_cache");
88
- rb_ary_push(node_cache, ns);
89
- }
90
-
91
- rb_iv_set(ns, "@document", document);
92
- } else {
93
- ns = Data_Wrap_Struct(cNokogiriXmlNamespace, 0, 0, node);
94
- }
95
-
96
- node->_private = (void *)ns;
97
-
98
- return ns;
99
- }
100
-
101
- void init_xml_namespace()
102
- {
103
- VALUE nokogiri = rb_define_module("Nokogiri");
104
- VALUE xml = rb_define_module_under(nokogiri, "XML");
105
- VALUE klass = rb_define_class_under(xml, "Namespace", rb_cObject);
106
-
107
- cNokogiriXmlNamespace = klass;
108
-
109
- rb_define_method(klass, "prefix", prefix, 0);
110
- rb_define_method(klass, "href", href, 0);
111
- }
@@ -1,14 +0,0 @@
1
- #ifndef NOKOGIRI_XML_NAMESPACE
2
- #define NOKOGIRI_XML_NAMESPACE
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_namespace();
7
-
8
- extern VALUE cNokogiriXmlNamespace ;
9
-
10
- VALUE Nokogiri_wrap_xml_namespace(xmlDocPtr doc, xmlNsPtr node);
11
-
12
- #define NOKOGIRI_NAMESPACE_EH(node) ((node)->type == XML_NAMESPACE_DECL)
13
-
14
- #endif
@@ -1,1753 +0,0 @@
1
- #include <xml_node.h>
2
-
3
- static ID decorate, decorate_bang;
4
-
5
- #ifdef DEBUG
6
- static void debug_node_dealloc(xmlNodePtr x)
7
- {
8
- NOKOGIRI_DEBUG_START(x)
9
- NOKOGIRI_DEBUG_END(x)
10
- }
11
- #else
12
- # define debug_node_dealloc 0
13
- #endif
14
-
15
- static void mark(xmlNodePtr node)
16
- {
17
- xmlDocPtr doc = node->doc;
18
- if(doc->type == XML_DOCUMENT_NODE || doc->type == XML_HTML_DOCUMENT_NODE) {
19
- if(DOC_RUBY_OBJECT_TEST(doc)) {
20
- rb_gc_mark(DOC_RUBY_OBJECT(doc));
21
- }
22
- } else if(node->doc->_private) {
23
- rb_gc_mark((VALUE)doc->_private);
24
- }
25
- }
26
-
27
- /* :nodoc: */
28
- typedef xmlNodePtr (*pivot_reparentee_func)(xmlNodePtr, xmlNodePtr);
29
-
30
- /* :nodoc: */
31
- static void relink_namespace(xmlNodePtr reparented)
32
- {
33
- xmlNodePtr child;
34
-
35
- if (reparented->type != XML_ATTRIBUTE_NODE &&
36
- reparented->type != XML_ELEMENT_NODE) { return; }
37
-
38
- if (reparented->ns == NULL || reparented->ns->prefix == NULL) {
39
- xmlNsPtr ns = NULL;
40
- xmlChar *name = NULL, *prefix = NULL;
41
-
42
- name = xmlSplitQName2(reparented->name, &prefix);
43
-
44
- if (reparented->type == XML_ATTRIBUTE_NODE) {
45
- if (prefix == NULL || strcmp((char*)prefix, XMLNS_PREFIX) == 0) {
46
- xmlFree(name);
47
- xmlFree(prefix);
48
- return;
49
- }
50
- }
51
-
52
- ns = xmlSearchNs(reparented->doc, reparented, prefix);
53
-
54
- if (ns != NULL) {
55
- xmlNodeSetName(reparented, name);
56
- xmlSetNs(reparented, ns);
57
- }
58
-
59
- xmlFree(name);
60
- xmlFree(prefix);
61
- }
62
-
63
- /* Avoid segv when relinking against unlinked nodes. */
64
- if (reparented->type != XML_ELEMENT_NODE || !reparented->parent) { return; }
65
-
66
- /* Make sure that our reparented node has the correct namespaces */
67
- if (!reparented->ns && reparented->doc != (xmlDocPtr)reparented->parent) {
68
- xmlSetNs(reparented, reparented->parent->ns);
69
- }
70
-
71
- /* Search our parents for an existing definition */
72
- if (reparented->nsDef) {
73
- xmlNsPtr curr = reparented->nsDef;
74
- xmlNsPtr prev = NULL;
75
-
76
- while (curr) {
77
- xmlNsPtr ns = xmlSearchNsByHref(
78
- reparented->doc,
79
- reparented->parent,
80
- curr->href
81
- );
82
- /* If we find the namespace is already declared, remove it from this
83
- * definition list. */
84
- if (ns && ns != curr && xmlStrEqual(ns->prefix, curr->prefix)) {
85
- if (prev) {
86
- prev->next = curr->next;
87
- } else {
88
- reparented->nsDef = curr->next;
89
- }
90
- nokogiri_root_nsdef(curr, reparented->doc);
91
- } else {
92
- prev = curr;
93
- }
94
- curr = curr->next;
95
- }
96
- }
97
-
98
- /*
99
- * Search our parents for an existing definition of current namespace,
100
- * because the definition it's pointing to may have just been removed nsDef.
101
- *
102
- * And although that would technically probably be OK, I'd feel better if we
103
- * referred to a namespace that's still present in a node's nsDef somewhere
104
- * in the doc.
105
- */
106
- if (reparented->ns) {
107
- xmlNsPtr ns = xmlSearchNs(reparented->doc, reparented, reparented->ns->prefix);
108
- if (ns
109
- && ns != reparented->ns
110
- && xmlStrEqual(ns->prefix, reparented->ns->prefix)
111
- && xmlStrEqual(ns->href, reparented->ns->href)
112
- ) {
113
- xmlSetNs(reparented, ns);
114
- }
115
- }
116
-
117
- /* Only walk all children if there actually is a namespace we need to */
118
- /* reparent. */
119
- if (NULL == reparented->ns) { return; }
120
-
121
- /* When a node gets reparented, walk it's children to make sure that */
122
- /* their namespaces are reparented as well. */
123
- child = reparented->children;
124
- while (NULL != child) {
125
- relink_namespace(child);
126
- child = child->next;
127
- }
128
-
129
- if (reparented->type == XML_ELEMENT_NODE) {
130
- child = (xmlNodePtr)((xmlElementPtr)reparented)->attributes;
131
- while(NULL != child) {
132
- relink_namespace(child);
133
- child = child->next;
134
- }
135
- }
136
- }
137
-
138
- /* :nodoc: */
139
- static xmlNodePtr xmlReplaceNodeWrapper(xmlNodePtr pivot, xmlNodePtr new_node)
140
- {
141
- xmlNodePtr retval ;
142
-
143
- retval = xmlReplaceNode(pivot, new_node) ;
144
-
145
- if (retval == pivot) {
146
- retval = new_node ; /* return semantics for reparent_node_with */
147
- }
148
-
149
- /* work around libxml2 issue: https://bugzilla.gnome.org/show_bug.cgi?id=615612 */
150
- if (retval && retval->type == XML_TEXT_NODE) {
151
- if (retval->prev && retval->prev->type == XML_TEXT_NODE) {
152
- retval = xmlTextMerge(retval->prev, retval);
153
- }
154
- if (retval->next && retval->next->type == XML_TEXT_NODE) {
155
- retval = xmlTextMerge(retval, retval->next);
156
- }
157
- }
158
-
159
- return retval ;
160
- }
161
-
162
- /* :nodoc: */
163
- static VALUE reparent_node_with(VALUE pivot_obj, VALUE reparentee_obj, pivot_reparentee_func prf)
164
- {
165
- VALUE reparented_obj ;
166
- xmlNodePtr reparentee, pivot, reparented, next_text, new_next_text, parent ;
167
- int original_ns_prefix_is_default = 0 ;
168
-
169
- if(!rb_obj_is_kind_of(reparentee_obj, cNokogiriXmlNode)) {
170
- rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node");
171
- }
172
- if(rb_obj_is_kind_of(reparentee_obj, cNokogiriXmlDocument)) {
173
- rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node");
174
- }
175
-
176
- Data_Get_Struct(reparentee_obj, xmlNode, reparentee);
177
- Data_Get_Struct(pivot_obj, xmlNode, pivot);
178
-
179
- /*
180
- * Check if nodes given are appropriate to have a parent-child
181
- * relationship, based on the DOM specification.
182
- *
183
- * cf. http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-1590626202
184
- */
185
- if (prf == xmlAddChild) {
186
- parent = pivot;
187
- } else {
188
- parent = pivot->parent;
189
- }
190
-
191
- if (parent) {
192
- switch (parent->type) {
193
- case XML_DOCUMENT_NODE:
194
- case XML_HTML_DOCUMENT_NODE:
195
- switch (reparentee->type) {
196
- case XML_ELEMENT_NODE:
197
- case XML_PI_NODE:
198
- case XML_COMMENT_NODE:
199
- case XML_DOCUMENT_TYPE_NODE:
200
- /*
201
- * The DOM specification says no to adding text-like nodes
202
- * directly to a document, but we allow it for compatibility.
203
- */
204
- case XML_TEXT_NODE:
205
- case XML_CDATA_SECTION_NODE:
206
- case XML_ENTITY_REF_NODE:
207
- goto ok;
208
- default:
209
- break;
210
- }
211
- break;
212
- case XML_DOCUMENT_FRAG_NODE:
213
- case XML_ENTITY_REF_NODE:
214
- case XML_ELEMENT_NODE:
215
- switch (reparentee->type) {
216
- case XML_ELEMENT_NODE:
217
- case XML_PI_NODE:
218
- case XML_COMMENT_NODE:
219
- case XML_TEXT_NODE:
220
- case XML_CDATA_SECTION_NODE:
221
- case XML_ENTITY_REF_NODE:
222
- goto ok;
223
- default:
224
- break;
225
- }
226
- break;
227
- case XML_ATTRIBUTE_NODE:
228
- switch (reparentee->type) {
229
- case XML_TEXT_NODE:
230
- case XML_ENTITY_REF_NODE:
231
- goto ok;
232
- default:
233
- break;
234
- }
235
- break;
236
- case XML_TEXT_NODE:
237
- /*
238
- * xmlAddChild() breaks the DOM specification in that it allows
239
- * adding a text node to another, in which case text nodes are
240
- * coalesced, but since our JRuby version does not support such
241
- * operation, we should inhibit it.
242
- */
243
- break;
244
- default:
245
- break;
246
- }
247
-
248
- rb_raise(rb_eArgError, "cannot reparent %s there", rb_obj_classname(reparentee_obj));
249
- }
250
-
251
- ok:
252
- xmlUnlinkNode(reparentee);
253
-
254
- if (reparentee->doc != pivot->doc || reparentee->type == XML_TEXT_NODE) {
255
- /*
256
- * if the reparentee is a text node, there's a very good chance it will be
257
- * merged with an adjacent text node after being reparented, and in that case
258
- * libxml will free the underlying C struct.
259
- *
260
- * since we clearly have a ruby object which references the underlying
261
- * memory, we can't let the C struct get freed. let's pickle the original
262
- * reparentee by rooting it; and then we'll reparent a duplicate of the
263
- * node that we don't care about preserving.
264
- *
265
- * alternatively, if the reparentee is from a different document than the
266
- * pivot node, libxml2 is going to get confused about which document's
267
- * "dictionary" the node's strings belong to (this is an otherwise
268
- * uninteresting libxml2 implementation detail). as a result, we cannot
269
- * reparent the actual reparentee, so we reparent a duplicate.
270
- */
271
- if (reparentee->type == XML_TEXT_NODE && reparentee->_private) {
272
- /*
273
- * additionally, since we know this C struct isn't going to be related to
274
- * a Ruby object anymore, let's break the relationship on this end as
275
- * well.
276
- *
277
- * this is not absolutely necessary unless libxml-ruby is also in effect,
278
- * in which case its global callback `rxml_node_deregisterNode` will try
279
- * to do things to our data.
280
- *
281
- * for more details on this particular (and particularly nasty) edge
282
- * case, see:
283
- *
284
- * https://github.com/sparklemotion/nokogiri/issues/1426
285
- */
286
- reparentee->_private = NULL ;
287
- }
288
-
289
- if (reparentee->ns != NULL && reparentee->ns->prefix == NULL) {
290
- original_ns_prefix_is_default = 1;
291
- }
292
-
293
- nokogiri_root_node(reparentee);
294
-
295
- if (!(reparentee = xmlDocCopyNode(reparentee, pivot->doc, 1))) {
296
- rb_raise(rb_eRuntimeError, "Could not reparent node (xmlDocCopyNode)");
297
- }
298
-
299
- if (original_ns_prefix_is_default && reparentee->ns != NULL && reparentee->ns->prefix != NULL) {
300
- /*
301
- * issue #391, where new node's prefix may become the string "default"
302
- * see libxml2 tree.c xmlNewReconciliedNs which implements this behavior.
303
- */
304
- xmlFree(reparentee->ns->prefix);
305
- reparentee->ns->prefix = NULL;
306
- }
307
- }
308
-
309
- if (prf != xmlAddPrevSibling && prf != xmlAddNextSibling
310
- && reparentee->type == XML_TEXT_NODE && pivot->next && pivot->next->type == XML_TEXT_NODE) {
311
- /*
312
- * libxml merges text nodes in a right-to-left fashion, meaning that if
313
- * there are two text nodes who would be adjacent, the right (or following,
314
- * or next) node will be merged into the left (or preceding, or previous)
315
- * node.
316
- *
317
- * and by "merged" I mean the string contents will be concatenated onto the
318
- * left node's contents, and then the node will be freed.
319
- *
320
- * which means that if we have a ruby object wrapped around the right node,
321
- * its memory would be freed out from under it.
322
- *
323
- * so, we detect this edge case and unlink-and-root the text node before it gets
324
- * merged. then we dup the node and insert that duplicate back into the
325
- * document where the real node was.
326
- *
327
- * yes, this is totally lame.
328
- */
329
- next_text = pivot->next ;
330
- new_next_text = xmlDocCopyNode(next_text, pivot->doc, 1) ;
331
-
332
- xmlUnlinkNode(next_text);
333
- nokogiri_root_node(next_text);
334
-
335
- xmlAddNextSibling(pivot, new_next_text);
336
- }
337
-
338
- if(!(reparented = (*prf)(pivot, reparentee))) {
339
- rb_raise(rb_eRuntimeError, "Could not reparent node");
340
- }
341
-
342
- /*
343
- * make sure the ruby object is pointed at the just-reparented node, which
344
- * might be a duplicate (see above) or might be the result of merging
345
- * adjacent text nodes.
346
- */
347
- DATA_PTR(reparentee_obj) = reparented ;
348
-
349
- relink_namespace(reparented);
350
-
351
- reparented_obj = Nokogiri_wrap_xml_node(Qnil, reparented);
352
-
353
- rb_funcall(reparented_obj, decorate_bang, 0);
354
-
355
- return reparented_obj ;
356
- }
357
-
358
-
359
- /*
360
- * call-seq:
361
- * document
362
- *
363
- * Get the document for this Node
364
- */
365
- static VALUE document(VALUE self)
366
- {
367
- xmlNodePtr node;
368
- Data_Get_Struct(self, xmlNode, node);
369
- return DOC_RUBY_OBJECT(node->doc);
370
- }
371
-
372
- /*
373
- * call-seq:
374
- * pointer_id
375
- *
376
- * Get the internal pointer number
377
- */
378
- static VALUE pointer_id(VALUE self)
379
- {
380
- xmlNodePtr node;
381
- Data_Get_Struct(self, xmlNode, node);
382
-
383
- return INT2NUM((long)(node));
384
- }
385
-
386
- /*
387
- * call-seq:
388
- * encode_special_chars(string)
389
- *
390
- * Encode any special characters in +string+
391
- */
392
- static VALUE encode_special_chars(VALUE self, VALUE string)
393
- {
394
- xmlNodePtr node;
395
- xmlChar *encoded;
396
- VALUE encoded_str;
397
-
398
- Data_Get_Struct(self, xmlNode, node);
399
- encoded = xmlEncodeSpecialChars(
400
- node->doc,
401
- (const xmlChar *)StringValueCStr(string)
402
- );
403
-
404
- encoded_str = NOKOGIRI_STR_NEW2(encoded);
405
- xmlFree(encoded);
406
-
407
- return encoded_str;
408
- }
409
-
410
- /*
411
- * call-seq:
412
- * create_internal_subset(name, external_id, system_id)
413
- *
414
- * Create the internal subset of a document.
415
- *
416
- * doc.create_internal_subset("chapter", "-//OASIS//DTD DocBook XML//EN", "chapter.dtd")
417
- * # => <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML//EN" "chapter.dtd">
418
- *
419
- * doc.create_internal_subset("chapter", nil, "chapter.dtd")
420
- * # => <!DOCTYPE chapter SYSTEM "chapter.dtd">
421
- */
422
- static VALUE create_internal_subset(VALUE self, VALUE name, VALUE external_id, VALUE system_id)
423
- {
424
- xmlNodePtr node;
425
- xmlDocPtr doc;
426
- xmlDtdPtr dtd;
427
-
428
- Data_Get_Struct(self, xmlNode, node);
429
-
430
- doc = node->doc;
431
-
432
- if(xmlGetIntSubset(doc)) {
433
- rb_raise(rb_eRuntimeError, "Document already has an internal subset");
434
- }
435
-
436
- dtd = xmlCreateIntSubset(
437
- doc,
438
- NIL_P(name) ? NULL : (const xmlChar *)StringValueCStr(name),
439
- NIL_P(external_id) ? NULL : (const xmlChar *)StringValueCStr(external_id),
440
- NIL_P(system_id) ? NULL : (const xmlChar *)StringValueCStr(system_id)
441
- );
442
-
443
- if(!dtd) { return Qnil; }
444
-
445
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)dtd);
446
- }
447
-
448
- /*
449
- * call-seq:
450
- * create_external_subset(name, external_id, system_id)
451
- *
452
- * Create an external subset
453
- */
454
- static VALUE create_external_subset(VALUE self, VALUE name, VALUE external_id, VALUE system_id)
455
- {
456
- xmlNodePtr node;
457
- xmlDocPtr doc;
458
- xmlDtdPtr dtd;
459
-
460
- Data_Get_Struct(self, xmlNode, node);
461
-
462
- doc = node->doc;
463
-
464
- if(doc->extSubset) {
465
- rb_raise(rb_eRuntimeError, "Document already has an external subset");
466
- }
467
-
468
- dtd = xmlNewDtd(
469
- doc,
470
- NIL_P(name) ? NULL : (const xmlChar *)StringValueCStr(name),
471
- NIL_P(external_id) ? NULL : (const xmlChar *)StringValueCStr(external_id),
472
- NIL_P(system_id) ? NULL : (const xmlChar *)StringValueCStr(system_id)
473
- );
474
-
475
- if(!dtd) { return Qnil; }
476
-
477
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)dtd);
478
- }
479
-
480
- /*
481
- * call-seq:
482
- * external_subset
483
- *
484
- * Get the external subset
485
- */
486
- static VALUE external_subset(VALUE self)
487
- {
488
- xmlNodePtr node;
489
- xmlDocPtr doc;
490
- xmlDtdPtr dtd;
491
-
492
- Data_Get_Struct(self, xmlNode, node);
493
-
494
- if(!node->doc) { return Qnil; }
495
-
496
- doc = node->doc;
497
- dtd = doc->extSubset;
498
-
499
- if(!dtd) { return Qnil; }
500
-
501
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)dtd);
502
- }
503
-
504
- /*
505
- * call-seq:
506
- * internal_subset
507
- *
508
- * Get the internal subset
509
- */
510
- static VALUE internal_subset(VALUE self)
511
- {
512
- xmlNodePtr node;
513
- xmlDocPtr doc;
514
- xmlDtdPtr dtd;
515
-
516
- Data_Get_Struct(self, xmlNode, node);
517
-
518
- if(!node->doc) { return Qnil; }
519
-
520
- doc = node->doc;
521
- dtd = xmlGetIntSubset(doc);
522
-
523
- if(!dtd) { return Qnil; }
524
-
525
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)dtd);
526
- }
527
-
528
- /*
529
- * call-seq:
530
- * dup
531
- * dup(depth)
532
- * dup(depth, new_parent_doc)
533
- *
534
- * Copy this node.
535
- * An optional depth may be passed in. 0 is a shallow copy, 1 (the default) is a deep copy.
536
- * An optional new_parent_doc may also be passed in, which will be the new
537
- * node's parent document. Defaults to the current node's document.
538
- * current document.
539
- */
540
- static VALUE duplicate_node(int argc, VALUE *argv, VALUE self)
541
- {
542
- VALUE r_level, r_new_parent_doc;
543
- int level;
544
- int n_args;
545
- xmlDocPtr new_parent_doc;
546
- xmlNodePtr node, dup;
547
-
548
- Data_Get_Struct(self, xmlNode, node);
549
-
550
- n_args = rb_scan_args(argc, argv, "02", &r_level, &r_new_parent_doc);
551
-
552
- if (n_args < 1) {
553
- r_level = INT2NUM((long)1);
554
- }
555
- level = (int)NUM2INT(r_level);
556
-
557
- if (n_args < 2) {
558
- new_parent_doc = node->doc;
559
- } else {
560
- Data_Get_Struct(r_new_parent_doc, xmlDoc, new_parent_doc);
561
- }
562
-
563
- dup = xmlDocCopyNode(node, new_parent_doc, level);
564
- if(dup == NULL) { return Qnil; }
565
-
566
- nokogiri_root_node(dup);
567
-
568
- return Nokogiri_wrap_xml_node(rb_obj_class(self), dup);
569
- }
570
-
571
- /*
572
- * call-seq:
573
- * unlink
574
- *
575
- * Unlink this node from its current context.
576
- */
577
- static VALUE unlink_node(VALUE self)
578
- {
579
- xmlNodePtr node;
580
- Data_Get_Struct(self, xmlNode, node);
581
- xmlUnlinkNode(node);
582
- nokogiri_root_node(node);
583
- return self;
584
- }
585
-
586
- /*
587
- * call-seq:
588
- * blank?
589
- *
590
- * Is this node blank?
591
- */
592
- static VALUE blank_eh(VALUE self)
593
- {
594
- xmlNodePtr node;
595
- Data_Get_Struct(self, xmlNode, node);
596
- return (1 == xmlIsBlankNode(node)) ? Qtrue : Qfalse ;
597
- }
598
-
599
- /*
600
- * call-seq:
601
- * next_sibling
602
- *
603
- * Returns the next sibling node
604
- */
605
- static VALUE next_sibling(VALUE self)
606
- {
607
- xmlNodePtr node, sibling;
608
- Data_Get_Struct(self, xmlNode, node);
609
-
610
- sibling = node->next;
611
- if(!sibling) { return Qnil; }
612
-
613
- return Nokogiri_wrap_xml_node(Qnil, sibling) ;
614
- }
615
-
616
- /*
617
- * call-seq:
618
- * previous_sibling
619
- *
620
- * Returns the previous sibling node
621
- */
622
- static VALUE previous_sibling(VALUE self)
623
- {
624
- xmlNodePtr node, sibling;
625
- Data_Get_Struct(self, xmlNode, node);
626
-
627
- sibling = node->prev;
628
- if(!sibling) { return Qnil; }
629
-
630
- return Nokogiri_wrap_xml_node(Qnil, sibling);
631
- }
632
-
633
- /*
634
- * call-seq:
635
- * next_element
636
- *
637
- * Returns the next Nokogiri::XML::Element type sibling node.
638
- */
639
- static VALUE next_element(VALUE self)
640
- {
641
- xmlNodePtr node, sibling;
642
- Data_Get_Struct(self, xmlNode, node);
643
-
644
- sibling = xmlNextElementSibling(node);
645
- if(!sibling) { return Qnil; }
646
-
647
- return Nokogiri_wrap_xml_node(Qnil, sibling);
648
- }
649
-
650
- /*
651
- * call-seq:
652
- * previous_element
653
- *
654
- * Returns the previous Nokogiri::XML::Element type sibling node.
655
- */
656
- static VALUE previous_element(VALUE self)
657
- {
658
- xmlNodePtr node, sibling;
659
- Data_Get_Struct(self, xmlNode, node);
660
-
661
- /*
662
- * note that we don't use xmlPreviousElementSibling here because it's buggy pre-2.7.7.
663
- */
664
- sibling = node->prev;
665
- if(!sibling) { return Qnil; }
666
-
667
- while(sibling && sibling->type != XML_ELEMENT_NODE) {
668
- sibling = sibling->prev;
669
- }
670
-
671
- return sibling ? Nokogiri_wrap_xml_node(Qnil, sibling) : Qnil ;
672
- }
673
-
674
- /* :nodoc: */
675
- static VALUE replace(VALUE self, VALUE new_node)
676
- {
677
- VALUE reparent = reparent_node_with(self, new_node, xmlReplaceNodeWrapper);
678
-
679
- xmlNodePtr pivot;
680
- Data_Get_Struct(self, xmlNode, pivot);
681
- nokogiri_root_node(pivot);
682
-
683
- return reparent;
684
- }
685
-
686
- /*
687
- * call-seq:
688
- * children
689
- *
690
- * Get the list of children for this node as a NodeSet
691
- */
692
- static VALUE children(VALUE self)
693
- {
694
- xmlNodePtr node;
695
- xmlNodePtr child;
696
- xmlNodeSetPtr set;
697
- VALUE document;
698
- VALUE node_set;
699
-
700
- Data_Get_Struct(self, xmlNode, node);
701
-
702
- child = node->children;
703
- set = xmlXPathNodeSetCreate(child);
704
-
705
- document = DOC_RUBY_OBJECT(node->doc);
706
-
707
- if(!child) { return Nokogiri_wrap_xml_node_set(set, document); }
708
-
709
- child = child->next;
710
- while(NULL != child) {
711
- xmlXPathNodeSetAddUnique(set, child);
712
- child = child->next;
713
- }
714
-
715
- node_set = Nokogiri_wrap_xml_node_set(set, document);
716
-
717
- return node_set;
718
- }
719
-
720
- /*
721
- * call-seq:
722
- * element_children
723
- *
724
- * Get the list of children for this node as a NodeSet. All nodes will be
725
- * element nodes.
726
- *
727
- * Example:
728
- *
729
- * @doc.root.element_children.all? { |x| x.element? } # => true
730
- */
731
- static VALUE element_children(VALUE self)
732
- {
733
- xmlNodePtr node;
734
- xmlNodePtr child;
735
- xmlNodeSetPtr set;
736
- VALUE document;
737
- VALUE node_set;
738
-
739
- Data_Get_Struct(self, xmlNode, node);
740
-
741
- child = xmlFirstElementChild(node);
742
- set = xmlXPathNodeSetCreate(child);
743
-
744
- document = DOC_RUBY_OBJECT(node->doc);
745
-
746
- if(!child) { return Nokogiri_wrap_xml_node_set(set, document); }
747
-
748
- child = xmlNextElementSibling(child);
749
- while(NULL != child) {
750
- xmlXPathNodeSetAddUnique(set, child);
751
- child = xmlNextElementSibling(child);
752
- }
753
-
754
- node_set = Nokogiri_wrap_xml_node_set(set, document);
755
-
756
- return node_set;
757
- }
758
-
759
- /*
760
- * call-seq:
761
- * child
762
- *
763
- * Returns the child node
764
- */
765
- static VALUE child(VALUE self)
766
- {
767
- xmlNodePtr node, child;
768
- Data_Get_Struct(self, xmlNode, node);
769
-
770
- child = node->children;
771
- if(!child) { return Qnil; }
772
-
773
- return Nokogiri_wrap_xml_node(Qnil, child);
774
- }
775
-
776
- /*
777
- * call-seq:
778
- * first_element_child
779
- *
780
- * Returns the first child node of this node that is an element.
781
- *
782
- * Example:
783
- *
784
- * @doc.root.first_element_child.element? # => true
785
- */
786
- static VALUE first_element_child(VALUE self)
787
- {
788
- xmlNodePtr node, child;
789
- Data_Get_Struct(self, xmlNode, node);
790
-
791
- child = xmlFirstElementChild(node);
792
- if(!child) { return Qnil; }
793
-
794
- return Nokogiri_wrap_xml_node(Qnil, child);
795
- }
796
-
797
- /*
798
- * call-seq:
799
- * last_element_child
800
- *
801
- * Returns the last child node of this node that is an element.
802
- *
803
- * Example:
804
- *
805
- * @doc.root.last_element_child.element? # => true
806
- */
807
- static VALUE last_element_child(VALUE self)
808
- {
809
- xmlNodePtr node, child;
810
- Data_Get_Struct(self, xmlNode, node);
811
-
812
- child = xmlLastElementChild(node);
813
- if(!child) { return Qnil; }
814
-
815
- return Nokogiri_wrap_xml_node(Qnil, child);
816
- }
817
-
818
- /*
819
- * call-seq:
820
- * key?(attribute)
821
- *
822
- * Returns true if +attribute+ is set
823
- */
824
- static VALUE key_eh(VALUE self, VALUE attribute)
825
- {
826
- xmlNodePtr node;
827
- Data_Get_Struct(self, xmlNode, node);
828
- if(xmlHasProp(node, (xmlChar *)StringValueCStr(attribute))) {
829
- return Qtrue;
830
- }
831
- return Qfalse;
832
- }
833
-
834
- /*
835
- * call-seq:
836
- * namespaced_key?(attribute, namespace)
837
- *
838
- * Returns true if +attribute+ is set with +namespace+
839
- */
840
- static VALUE namespaced_key_eh(VALUE self, VALUE attribute, VALUE namespace)
841
- {
842
- xmlNodePtr node;
843
- Data_Get_Struct(self, xmlNode, node);
844
- if(xmlHasNsProp(node, (xmlChar *)StringValueCStr(attribute),
845
- NIL_P(namespace) ? NULL : (xmlChar *)StringValueCStr(namespace))) {
846
- return Qtrue;
847
- }
848
- return Qfalse;
849
- }
850
-
851
- /*
852
- * call-seq:
853
- * []=(property, value)
854
- *
855
- * Set the +property+ to +value+
856
- */
857
- static VALUE set(VALUE self, VALUE property, VALUE value)
858
- {
859
- xmlNodePtr node, cur;
860
- xmlAttrPtr prop;
861
- Data_Get_Struct(self, xmlNode, node);
862
-
863
- /* If a matching attribute node already exists, then xmlSetProp will destroy
864
- * the existing node's children. However, if Nokogiri has a node object
865
- * pointing to one of those children, we are left with a broken reference.
866
- *
867
- * We can avoid this by unlinking these nodes first.
868
- */
869
- if (node->type != XML_ELEMENT_NODE) {
870
- return(Qnil);
871
- }
872
- prop = xmlHasProp(node, (xmlChar *)StringValueCStr(property));
873
- if (prop && prop->children) {
874
- for (cur = prop->children; cur; cur = cur->next) {
875
- if (cur->_private) {
876
- nokogiri_root_node(cur);
877
- xmlUnlinkNode(cur);
878
- }
879
- }
880
- }
881
-
882
- xmlSetProp(node, (xmlChar *)StringValueCStr(property),
883
- (xmlChar *)StringValueCStr(value));
884
-
885
- return value;
886
- }
887
-
888
- /*
889
- * call-seq:
890
- * get(attribute)
891
- *
892
- * Get the value for +attribute+
893
- */
894
- static VALUE get(VALUE self, VALUE rattribute)
895
- {
896
- xmlNodePtr node;
897
- xmlChar *value = 0;
898
- VALUE rvalue;
899
- xmlChar *colon;
900
- xmlChar *attribute, *attr_name, *prefix;
901
- xmlNsPtr ns;
902
-
903
- if (NIL_P(rattribute)) { return Qnil; }
904
-
905
- Data_Get_Struct(self, xmlNode, node);
906
- attribute = xmlCharStrdup(StringValueCStr(rattribute));
907
-
908
- colon = (xmlChar *)(uintptr_t)xmlStrchr(attribute, (const xmlChar)':');
909
- if (colon) {
910
- /* split the attribute string into separate prefix and name by
911
- * null-terminating the prefix at the colon */
912
- prefix = attribute;
913
- attr_name = colon + 1;
914
- (*colon) = 0;
915
-
916
- ns = xmlSearchNs(node->doc, node, prefix);
917
- if (ns) {
918
- value = xmlGetNsProp(node, attr_name, ns->href);
919
- } else {
920
- value = xmlGetProp(node, (xmlChar*)StringValueCStr(rattribute));
921
- }
922
- } else {
923
- value = xmlGetNoNsProp(node, attribute);
924
- }
925
-
926
- xmlFree((void *)attribute);
927
- if (!value) { return Qnil; }
928
-
929
- rvalue = NOKOGIRI_STR_NEW2(value);
930
- xmlFree((void *)value);
931
-
932
- return rvalue ;
933
- }
934
-
935
- /*
936
- * call-seq:
937
- * set_namespace(namespace)
938
- *
939
- * Set the namespace to +namespace+
940
- */
941
- static VALUE set_namespace(VALUE self, VALUE namespace)
942
- {
943
- xmlNodePtr node;
944
- xmlNsPtr ns = NULL;
945
-
946
- Data_Get_Struct(self, xmlNode, node);
947
-
948
- if(!NIL_P(namespace)) {
949
- Data_Get_Struct(namespace, xmlNs, ns);
950
- }
951
-
952
- xmlSetNs(node, ns);
953
-
954
- return self;
955
- }
956
-
957
- /*
958
- * call-seq:
959
- * attribute(name)
960
- *
961
- * Get the attribute node with +name+
962
- */
963
- static VALUE attr(VALUE self, VALUE name)
964
- {
965
- xmlNodePtr node;
966
- xmlAttrPtr prop;
967
- Data_Get_Struct(self, xmlNode, node);
968
- prop = xmlHasProp(node, (xmlChar *)StringValueCStr(name));
969
-
970
- if(! prop) { return Qnil; }
971
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)prop);
972
- }
973
-
974
- /*
975
- * call-seq:
976
- * attribute_with_ns(name, namespace)
977
- *
978
- * Get the attribute node with +name+ and +namespace+
979
- */
980
- static VALUE attribute_with_ns(VALUE self, VALUE name, VALUE namespace)
981
- {
982
- xmlNodePtr node;
983
- xmlAttrPtr prop;
984
- Data_Get_Struct(self, xmlNode, node);
985
- prop = xmlHasNsProp(node, (xmlChar *)StringValueCStr(name),
986
- NIL_P(namespace) ? NULL : (xmlChar *)StringValueCStr(namespace));
987
-
988
- if(! prop) { return Qnil; }
989
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)prop);
990
- }
991
-
992
- /*
993
- * call-seq:
994
- * attribute_nodes()
995
- *
996
- * returns a list containing the Node attributes.
997
- */
998
- static VALUE attribute_nodes(VALUE self)
999
- {
1000
- /* this code in the mode of xmlHasProp() */
1001
- xmlNodePtr node;
1002
- VALUE attr;
1003
-
1004
- Data_Get_Struct(self, xmlNode, node);
1005
-
1006
- attr = rb_ary_new();
1007
- Nokogiri_xml_node_properties(node, attr);
1008
-
1009
- return attr ;
1010
- }
1011
-
1012
-
1013
- /*
1014
- * call-seq:
1015
- * namespace()
1016
- *
1017
- * returns the namespace of the element or attribute node as a Namespace
1018
- * object, or nil if there is no namespace for the element or attribute.
1019
- */
1020
- static VALUE namespace(VALUE self)
1021
- {
1022
- xmlNodePtr node ;
1023
- Data_Get_Struct(self, xmlNode, node);
1024
-
1025
- if (node->ns) {
1026
- return Nokogiri_wrap_xml_namespace(node->doc, node->ns);
1027
- }
1028
-
1029
- return Qnil ;
1030
- }
1031
-
1032
- /*
1033
- * call-seq:
1034
- * namespace_definitions()
1035
- *
1036
- * returns namespaces defined on self element directly, as an array of Namespace objects. Includes both a default namespace (as in"xmlns="), and prefixed namespaces (as in "xmlns:prefix=").
1037
- */
1038
- static VALUE namespace_definitions(VALUE self)
1039
- {
1040
- /* this code in the mode of xmlHasProp() */
1041
- xmlNodePtr node ;
1042
- VALUE list;
1043
- xmlNsPtr ns;
1044
-
1045
- Data_Get_Struct(self, xmlNode, node);
1046
-
1047
- list = rb_ary_new();
1048
-
1049
- ns = node->nsDef;
1050
-
1051
- if(!ns) { return list; }
1052
-
1053
- while(NULL != ns) {
1054
- rb_ary_push(list, Nokogiri_wrap_xml_namespace(node->doc, ns));
1055
- ns = ns->next;
1056
- }
1057
-
1058
- return list;
1059
- }
1060
-
1061
- /*
1062
- * call-seq:
1063
- * namespace_scopes()
1064
- *
1065
- * returns namespaces in scope for self -- those defined on self element
1066
- * directly or any ancestor node -- as an array of Namespace objects. Default
1067
- * namespaces ("xmlns=" style) for self are included in this array; Default
1068
- * namespaces for ancestors, however, are not. See also #namespaces
1069
- */
1070
- static VALUE namespace_scopes(VALUE self)
1071
- {
1072
- xmlNodePtr node ;
1073
- VALUE list;
1074
- xmlNsPtr *ns_list;
1075
- int j;
1076
-
1077
- Data_Get_Struct(self, xmlNode, node);
1078
-
1079
- list = rb_ary_new();
1080
- ns_list = xmlGetNsList(node->doc, node);
1081
-
1082
- if(!ns_list) { return list; }
1083
-
1084
- for (j = 0 ; ns_list[j] != NULL ; ++j) {
1085
- rb_ary_push(list, Nokogiri_wrap_xml_namespace(node->doc, ns_list[j]));
1086
- }
1087
-
1088
- xmlFree(ns_list);
1089
- return list;
1090
- }
1091
-
1092
- /*
1093
- * call-seq:
1094
- * node_type
1095
- *
1096
- * Get the type for this Node
1097
- */
1098
- static VALUE node_type(VALUE self)
1099
- {
1100
- xmlNodePtr node;
1101
- Data_Get_Struct(self, xmlNode, node);
1102
- return INT2NUM((long)node->type);
1103
- }
1104
-
1105
- /*
1106
- * call-seq:
1107
- * content=
1108
- *
1109
- * Set the content for this Node
1110
- */
1111
- static VALUE set_native_content(VALUE self, VALUE content)
1112
- {
1113
- xmlNodePtr node, child, next ;
1114
- Data_Get_Struct(self, xmlNode, node);
1115
-
1116
- child = node->children;
1117
- while (NULL != child) {
1118
- next = child->next ;
1119
- xmlUnlinkNode(child) ;
1120
- nokogiri_root_node(child);
1121
- child = next ;
1122
- }
1123
-
1124
- xmlNodeSetContent(node, (xmlChar *)StringValueCStr(content));
1125
- return content;
1126
- }
1127
-
1128
- /*
1129
- * call-seq:
1130
- * content
1131
- *
1132
- * Returns the plaintext content for this Node. Note that entities will always
1133
- * be expanded in the returned string.
1134
- */
1135
- static VALUE get_native_content(VALUE self)
1136
- {
1137
- xmlNodePtr node;
1138
- xmlChar * content;
1139
-
1140
- Data_Get_Struct(self, xmlNode, node);
1141
-
1142
- content = xmlNodeGetContent(node);
1143
- if(content) {
1144
- VALUE rval = NOKOGIRI_STR_NEW2(content);
1145
- xmlFree(content);
1146
- return rval;
1147
- }
1148
- return Qnil;
1149
- }
1150
-
1151
- /*
1152
- * call-seq:
1153
- * lang=
1154
- *
1155
- * Set the language of a node, i.e. the values of the xml:lang attribute.
1156
- */
1157
- static VALUE set_lang(VALUE self_rb, VALUE lang_rb)
1158
- {
1159
- xmlNodePtr self ;
1160
- xmlChar* lang ;
1161
-
1162
- Data_Get_Struct(self_rb, xmlNode, self);
1163
- lang = (xmlChar*)StringValueCStr(lang_rb);
1164
-
1165
- xmlNodeSetLang(self, lang);
1166
-
1167
- return Qnil ;
1168
- }
1169
-
1170
- /*
1171
- * call-seq:
1172
- * lang
1173
- *
1174
- * Searches the language of a node, i.e. the values of the xml:lang attribute or
1175
- * the one carried by the nearest ancestor.
1176
- */
1177
- static VALUE get_lang(VALUE self_rb)
1178
- {
1179
- xmlNodePtr self ;
1180
- xmlChar* lang ;
1181
- VALUE lang_rb ;
1182
-
1183
- Data_Get_Struct(self_rb, xmlNode, self);
1184
-
1185
- lang = xmlNodeGetLang(self);
1186
- if (lang) {
1187
- lang_rb = NOKOGIRI_STR_NEW2(lang);
1188
- xmlFree(lang);
1189
- return lang_rb ;
1190
- }
1191
-
1192
- return Qnil ;
1193
- }
1194
-
1195
- /* :nodoc: */
1196
- static VALUE add_child(VALUE self, VALUE new_child)
1197
- {
1198
- return reparent_node_with(self, new_child, xmlAddChild);
1199
- }
1200
-
1201
- /*
1202
- * call-seq:
1203
- * parent
1204
- *
1205
- * Get the parent Node for this Node
1206
- */
1207
- static VALUE get_parent(VALUE self)
1208
- {
1209
- xmlNodePtr node, parent;
1210
- Data_Get_Struct(self, xmlNode, node);
1211
-
1212
- parent = node->parent;
1213
- if(!parent) { return Qnil; }
1214
-
1215
- return Nokogiri_wrap_xml_node(Qnil, parent) ;
1216
- }
1217
-
1218
- /*
1219
- * call-seq:
1220
- * name=(new_name)
1221
- *
1222
- * Set the name for this Node
1223
- */
1224
- static VALUE set_name(VALUE self, VALUE new_name)
1225
- {
1226
- xmlNodePtr node;
1227
- Data_Get_Struct(self, xmlNode, node);
1228
- xmlNodeSetName(node, (xmlChar*)StringValueCStr(new_name));
1229
- return new_name;
1230
- }
1231
-
1232
- /*
1233
- * call-seq:
1234
- * name
1235
- *
1236
- * Returns the name for this Node
1237
- */
1238
- static VALUE get_name(VALUE self)
1239
- {
1240
- xmlNodePtr node;
1241
- Data_Get_Struct(self, xmlNode, node);
1242
- if(node->name) {
1243
- return NOKOGIRI_STR_NEW2(node->name);
1244
- }
1245
- return Qnil;
1246
- }
1247
-
1248
- /*
1249
- * call-seq:
1250
- * path
1251
- *
1252
- * Returns the path associated with this Node
1253
- */
1254
- static VALUE path(VALUE self)
1255
- {
1256
- xmlNodePtr node;
1257
- xmlChar *path ;
1258
- VALUE rval;
1259
-
1260
- Data_Get_Struct(self, xmlNode, node);
1261
-
1262
- path = xmlGetNodePath(node);
1263
- rval = NOKOGIRI_STR_NEW2(path);
1264
- xmlFree(path);
1265
- return rval ;
1266
- }
1267
-
1268
- /* :nodoc: */
1269
- static VALUE add_next_sibling(VALUE self, VALUE new_sibling)
1270
- {
1271
- return reparent_node_with(self, new_sibling, xmlAddNextSibling) ;
1272
- }
1273
-
1274
- /* :nodoc: */
1275
- static VALUE add_previous_sibling(VALUE self, VALUE new_sibling)
1276
- {
1277
- return reparent_node_with(self, new_sibling, xmlAddPrevSibling) ;
1278
- }
1279
-
1280
- /*
1281
- * call-seq:
1282
- * native_write_to(io, encoding, options)
1283
- *
1284
- * Write this Node to +io+ with +encoding+ and +options+
1285
- */
1286
- static VALUE native_write_to(
1287
- VALUE self,
1288
- VALUE io,
1289
- VALUE encoding,
1290
- VALUE indent_string,
1291
- VALUE options
1292
- )
1293
- {
1294
- xmlNodePtr node;
1295
- const char * before_indent;
1296
- xmlSaveCtxtPtr savectx;
1297
-
1298
- Data_Get_Struct(self, xmlNode, node);
1299
-
1300
- xmlIndentTreeOutput = 1;
1301
-
1302
- before_indent = xmlTreeIndentString;
1303
-
1304
- xmlTreeIndentString = StringValueCStr(indent_string);
1305
-
1306
- savectx = xmlSaveToIO(
1307
- (xmlOutputWriteCallback)io_write_callback,
1308
- (xmlOutputCloseCallback)io_close_callback,
1309
- (void *)io,
1310
- RTEST(encoding) ? StringValueCStr(encoding) : NULL,
1311
- (int)NUM2INT(options)
1312
- );
1313
-
1314
- xmlSaveTree(savectx, node);
1315
- xmlSaveClose(savectx);
1316
-
1317
- xmlTreeIndentString = before_indent;
1318
- return io;
1319
- }
1320
-
1321
- /*
1322
- * call-seq:
1323
- * line
1324
- *
1325
- * Returns the line for this Node
1326
- */
1327
- static VALUE line(VALUE self)
1328
- {
1329
- xmlNodePtr node;
1330
- Data_Get_Struct(self, xmlNode, node);
1331
-
1332
- return INT2NUM(xmlGetLineNo(node));
1333
- }
1334
-
1335
- /*
1336
- * call-seq:
1337
- * add_namespace_definition(prefix, href)
1338
- *
1339
- * Adds a namespace definition with +prefix+ using +href+ value. The result is
1340
- * as if parsed XML for this node had included an attribute
1341
- * 'xmlns:prefix=value'. A default namespace for this node ("xmlns=") can be
1342
- * added by passing 'nil' for prefix. Namespaces added this way will not
1343
- * show up in #attributes, but they will be included as an xmlns attribute
1344
- * when the node is serialized to XML.
1345
- */
1346
- static VALUE add_namespace_definition(VALUE self, VALUE prefix, VALUE href)
1347
- {
1348
- xmlNodePtr node, namespace;
1349
- xmlNsPtr ns;
1350
-
1351
- Data_Get_Struct(self, xmlNode, node);
1352
- namespace = node ;
1353
-
1354
- ns = xmlSearchNs(
1355
- node->doc,
1356
- node,
1357
- (const xmlChar *)(NIL_P(prefix) ? NULL : StringValueCStr(prefix))
1358
- );
1359
-
1360
- if(!ns) {
1361
- if (node->type != XML_ELEMENT_NODE) {
1362
- namespace = node->parent;
1363
- }
1364
- ns = xmlNewNs(
1365
- namespace,
1366
- (const xmlChar *)StringValueCStr(href),
1367
- (const xmlChar *)(NIL_P(prefix) ? NULL : StringValueCStr(prefix))
1368
- );
1369
- }
1370
-
1371
- if (!ns) { return Qnil ; }
1372
-
1373
- if(NIL_P(prefix) || node != namespace) { xmlSetNs(node, ns); }
1374
-
1375
- return Nokogiri_wrap_xml_namespace(node->doc, ns);
1376
- }
1377
-
1378
- /*
1379
- * call-seq:
1380
- * new(name, document)
1381
- *
1382
- * Create a new node with +name+ sharing GC lifecycle with +document+
1383
- */
1384
- static VALUE new(int argc, VALUE *argv, VALUE klass)
1385
- {
1386
- xmlDocPtr doc;
1387
- xmlNodePtr node;
1388
- VALUE name;
1389
- VALUE document;
1390
- VALUE rest;
1391
- VALUE rb_node;
1392
-
1393
- rb_scan_args(argc, argv, "2*", &name, &document, &rest);
1394
-
1395
- Data_Get_Struct(document, xmlDoc, doc);
1396
-
1397
- node = xmlNewNode(NULL, (xmlChar *)StringValueCStr(name));
1398
- node->doc = doc->doc;
1399
- nokogiri_root_node(node);
1400
-
1401
- rb_node = Nokogiri_wrap_xml_node(
1402
- klass == cNokogiriXmlNode ? (VALUE)NULL : klass,
1403
- node
1404
- );
1405
- rb_obj_call_init(rb_node, argc, argv);
1406
-
1407
- if(rb_block_given_p()) { rb_yield(rb_node); }
1408
-
1409
- return rb_node;
1410
- }
1411
-
1412
- /*
1413
- * call-seq:
1414
- * dump_html
1415
- *
1416
- * Returns the Node as html.
1417
- */
1418
- static VALUE dump_html(VALUE self)
1419
- {
1420
- xmlBufferPtr buf ;
1421
- xmlNodePtr node ;
1422
- VALUE html;
1423
-
1424
- Data_Get_Struct(self, xmlNode, node);
1425
-
1426
- buf = xmlBufferCreate() ;
1427
- htmlNodeDump(buf, node->doc, node);
1428
- html = NOKOGIRI_STR_NEW2(buf->content);
1429
- xmlBufferFree(buf);
1430
- return html ;
1431
- }
1432
-
1433
- /*
1434
- * call-seq:
1435
- * compare(other)
1436
- *
1437
- * Compare this Node to +other+ with respect to their Document
1438
- */
1439
- static VALUE compare(VALUE self, VALUE _other)
1440
- {
1441
- xmlNodePtr node, other;
1442
- Data_Get_Struct(self, xmlNode, node);
1443
- Data_Get_Struct(_other, xmlNode, other);
1444
-
1445
- return INT2NUM((long)xmlXPathCmpNodes(other, node));
1446
- }
1447
-
1448
-
1449
- /*
1450
- * call-seq:
1451
- * process_xincludes(options)
1452
- *
1453
- * Loads and substitutes all xinclude elements below the node. The
1454
- * parser context will be initialized with +options+.
1455
- */
1456
- static VALUE process_xincludes(VALUE self, VALUE options)
1457
- {
1458
- int rcode ;
1459
- xmlNodePtr node;
1460
- VALUE error_list = rb_ary_new();
1461
-
1462
- Data_Get_Struct(self, xmlNode, node);
1463
-
1464
- xmlSetStructuredErrorFunc((void *)error_list, Nokogiri_error_array_pusher);
1465
- rcode = xmlXIncludeProcessTreeFlags(node, (int)NUM2INT(options));
1466
- xmlSetStructuredErrorFunc(NULL, NULL);
1467
-
1468
- if (rcode < 0) {
1469
- xmlErrorPtr error;
1470
-
1471
- error = xmlGetLastError();
1472
- if(error) {
1473
- rb_exc_raise(Nokogiri_wrap_xml_syntax_error(error));
1474
- } else {
1475
- rb_raise(rb_eRuntimeError, "Could not perform xinclude substitution");
1476
- }
1477
- }
1478
-
1479
- return self;
1480
- }
1481
-
1482
-
1483
- /* TODO: DOCUMENT ME */
1484
- static VALUE in_context(VALUE self, VALUE _str, VALUE _options)
1485
- {
1486
- xmlNodePtr node, list = 0, tmp, child_iter, node_children, doc_children;
1487
- xmlNodeSetPtr set;
1488
- xmlParserErrors error;
1489
- VALUE doc, err;
1490
- int doc_is_empty;
1491
-
1492
- Data_Get_Struct(self, xmlNode, node);
1493
-
1494
- doc = DOC_RUBY_OBJECT(node->doc);
1495
- err = rb_iv_get(doc, "@errors");
1496
- doc_is_empty = (node->doc->children == NULL) ? 1 : 0;
1497
- node_children = node->children;
1498
- doc_children = node->doc->children;
1499
-
1500
- xmlSetStructuredErrorFunc((void *)err, Nokogiri_error_array_pusher);
1501
-
1502
- /* Twiddle global variable because of a bug in libxml2.
1503
- * http://git.gnome.org/browse/libxml2/commit/?id=e20fb5a72c83cbfc8e4a8aa3943c6be8febadab7
1504
- */
1505
- #ifndef HTML_PARSE_NOIMPLIED
1506
- htmlHandleOmittedElem(0);
1507
- #endif
1508
-
1509
- /* This function adds a fake node to the child of +node+. If the parser
1510
- * does not exit cleanly with XML_ERR_OK, the list is freed. This can
1511
- * leave the child pointers in a bad state if they were originally empty.
1512
- *
1513
- * http://git.gnome.org/browse/libxml2/tree/parser.c#n13177
1514
- * */
1515
- error = xmlParseInNodeContext(node, StringValuePtr(_str),
1516
- (int)RSTRING_LEN(_str),
1517
- (int)NUM2INT(_options), &list);
1518
-
1519
- /* xmlParseInNodeContext should not mutate the original document or node,
1520
- * so reassigning these pointers should be OK. The reason we're reassigning
1521
- * is because if there were errors, it's possible for the child pointers
1522
- * to be manipulated. */
1523
- if (error != XML_ERR_OK) {
1524
- node->doc->children = doc_children;
1525
- node->children = node_children;
1526
- }
1527
-
1528
- /* make sure parent/child pointers are coherent so an unlink will work
1529
- * properly (#331)
1530
- */
1531
- child_iter = node->doc->children ;
1532
- while (child_iter) {
1533
- if (child_iter->parent != (xmlNodePtr)node->doc) {
1534
- child_iter->parent = (xmlNodePtr)node->doc;
1535
- }
1536
- child_iter = child_iter->next;
1537
- }
1538
-
1539
- #ifndef HTML_PARSE_NOIMPLIED
1540
- htmlHandleOmittedElem(1);
1541
- #endif
1542
-
1543
- xmlSetStructuredErrorFunc(NULL, NULL);
1544
-
1545
- /* Workaround for a libxml2 bug where a parsing error may leave a broken
1546
- * node reference in node->doc->children.
1547
- * This workaround is limited to when a parse error occurs, the document
1548
- * went from having no children to having children, and the context node is
1549
- * part of a document fragment.
1550
- * https://bugzilla.gnome.org/show_bug.cgi?id=668155
1551
- */
1552
- if (error != XML_ERR_OK && doc_is_empty && node->doc->children != NULL) {
1553
- child_iter = node;
1554
- while (child_iter->parent) {
1555
- child_iter = child_iter->parent;
1556
- }
1557
-
1558
- if (child_iter->type == XML_DOCUMENT_FRAG_NODE) {
1559
- node->doc->children = NULL;
1560
- }
1561
- }
1562
-
1563
- /* FIXME: This probably needs to handle more constants... */
1564
- switch (error) {
1565
- case XML_ERR_INTERNAL_ERROR:
1566
- case XML_ERR_NO_MEMORY:
1567
- rb_raise(rb_eRuntimeError, "error parsing fragment (%d)", error);
1568
- break;
1569
- default:
1570
- break;
1571
- }
1572
-
1573
- set = xmlXPathNodeSetCreate(NULL);
1574
-
1575
- while (list) {
1576
- tmp = list->next;
1577
- list->next = NULL;
1578
- xmlXPathNodeSetAddUnique(set, list);
1579
- nokogiri_root_node(list);
1580
- list = tmp;
1581
- }
1582
-
1583
- return Nokogiri_wrap_xml_node_set(set, doc);
1584
- }
1585
-
1586
-
1587
- VALUE Nokogiri_wrap_xml_node(VALUE klass, xmlNodePtr node)
1588
- {
1589
- VALUE document = Qnil ;
1590
- VALUE node_cache = Qnil ;
1591
- VALUE rb_node = Qnil ;
1592
- nokogiriTuplePtr node_has_a_document;
1593
- xmlDocPtr doc;
1594
- void (*mark_method)(xmlNodePtr) = NULL ;
1595
-
1596
- assert(node);
1597
-
1598
- if(node->type == XML_DOCUMENT_NODE || node->type == XML_HTML_DOCUMENT_NODE) {
1599
- return DOC_RUBY_OBJECT(node->doc);
1600
- }
1601
-
1602
- /* It's OK if the node doesn't have a fully-realized document (as in XML::Reader). */
1603
- /* see https://github.com/sparklemotion/nokogiri/issues/95 */
1604
- /* and https://github.com/sparklemotion/nokogiri/issues/439 */
1605
- doc = node->doc;
1606
- if (doc->type == XML_DOCUMENT_FRAG_NODE) { doc = doc->doc; }
1607
- node_has_a_document = DOC_RUBY_OBJECT_TEST(doc);
1608
-
1609
- if(node->_private && node_has_a_document) {
1610
- return (VALUE)node->_private;
1611
- }
1612
-
1613
- if(!RTEST(klass)) {
1614
- switch(node->type) {
1615
- case XML_ELEMENT_NODE:
1616
- klass = cNokogiriXmlElement;
1617
- break;
1618
- case XML_TEXT_NODE:
1619
- klass = cNokogiriXmlText;
1620
- break;
1621
- case XML_ATTRIBUTE_NODE:
1622
- klass = cNokogiriXmlAttr;
1623
- break;
1624
- case XML_ENTITY_REF_NODE:
1625
- klass = cNokogiriXmlEntityReference;
1626
- break;
1627
- case XML_COMMENT_NODE:
1628
- klass = cNokogiriXmlComment;
1629
- break;
1630
- case XML_DOCUMENT_FRAG_NODE:
1631
- klass = cNokogiriXmlDocumentFragment;
1632
- break;
1633
- case XML_PI_NODE:
1634
- klass = cNokogiriXmlProcessingInstruction;
1635
- break;
1636
- case XML_ENTITY_DECL:
1637
- klass = cNokogiriXmlEntityDecl;
1638
- break;
1639
- case XML_CDATA_SECTION_NODE:
1640
- klass = cNokogiriXmlCData;
1641
- break;
1642
- case XML_DTD_NODE:
1643
- klass = cNokogiriXmlDtd;
1644
- break;
1645
- case XML_ATTRIBUTE_DECL:
1646
- klass = cNokogiriXmlAttributeDecl;
1647
- break;
1648
- case XML_ELEMENT_DECL:
1649
- klass = cNokogiriXmlElementDecl;
1650
- break;
1651
- default:
1652
- klass = cNokogiriXmlNode;
1653
- }
1654
- }
1655
-
1656
- mark_method = node_has_a_document ? mark : NULL ;
1657
-
1658
- rb_node = Data_Wrap_Struct(klass, mark_method, debug_node_dealloc, node) ;
1659
- node->_private = (void *)rb_node;
1660
-
1661
- if (node_has_a_document) {
1662
- document = DOC_RUBY_OBJECT(doc);
1663
- node_cache = DOC_NODE_CACHE(doc);
1664
- rb_ary_push(node_cache, rb_node);
1665
- rb_funcall(document, decorate, 1, rb_node);
1666
- }
1667
-
1668
- return rb_node ;
1669
- }
1670
-
1671
-
1672
- void Nokogiri_xml_node_properties(xmlNodePtr node, VALUE attr_list)
1673
- {
1674
- xmlAttrPtr prop;
1675
- prop = node->properties ;
1676
- while (prop != NULL) {
1677
- rb_ary_push(attr_list, Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)prop));
1678
- prop = prop->next ;
1679
- }
1680
- }
1681
-
1682
- VALUE cNokogiriXmlNode ;
1683
- VALUE cNokogiriXmlElement ;
1684
-
1685
- void init_xml_node()
1686
- {
1687
- VALUE nokogiri = rb_define_module("Nokogiri");
1688
- VALUE xml = rb_define_module_under(nokogiri, "XML");
1689
- VALUE klass = rb_define_class_under(xml, "Node", rb_cObject);
1690
-
1691
- cNokogiriXmlNode = klass;
1692
-
1693
- cNokogiriXmlElement = rb_define_class_under(xml, "Element", klass);
1694
-
1695
- rb_define_singleton_method(klass, "new", new, -1);
1696
-
1697
- rb_define_method(klass, "add_namespace_definition", add_namespace_definition, 2);
1698
- rb_define_method(klass, "node_name", get_name, 0);
1699
- rb_define_method(klass, "document", document, 0);
1700
- rb_define_method(klass, "node_name=", set_name, 1);
1701
- rb_define_method(klass, "parent", get_parent, 0);
1702
- rb_define_method(klass, "child", child, 0);
1703
- rb_define_method(klass, "first_element_child", first_element_child, 0);
1704
- rb_define_method(klass, "last_element_child", last_element_child, 0);
1705
- rb_define_method(klass, "children", children, 0);
1706
- rb_define_method(klass, "element_children", element_children, 0);
1707
- rb_define_method(klass, "next_sibling", next_sibling, 0);
1708
- rb_define_method(klass, "previous_sibling", previous_sibling, 0);
1709
- rb_define_method(klass, "next_element", next_element, 0);
1710
- rb_define_method(klass, "previous_element", previous_element, 0);
1711
- rb_define_method(klass, "node_type", node_type, 0);
1712
- rb_define_method(klass, "path", path, 0);
1713
- rb_define_method(klass, "key?", key_eh, 1);
1714
- rb_define_method(klass, "namespaced_key?", namespaced_key_eh, 2);
1715
- rb_define_method(klass, "blank?", blank_eh, 0);
1716
- rb_define_method(klass, "attribute_nodes", attribute_nodes, 0);
1717
- rb_define_method(klass, "attribute", attr, 1);
1718
- rb_define_method(klass, "attribute_with_ns", attribute_with_ns, 2);
1719
- rb_define_method(klass, "namespace", namespace, 0);
1720
- rb_define_method(klass, "namespace_definitions", namespace_definitions, 0);
1721
- rb_define_method(klass, "namespace_scopes", namespace_scopes, 0);
1722
- rb_define_method(klass, "encode_special_chars", encode_special_chars, 1);
1723
- rb_define_method(klass, "dup", duplicate_node, -1);
1724
- rb_define_method(klass, "unlink", unlink_node, 0);
1725
- rb_define_method(klass, "internal_subset", internal_subset, 0);
1726
- rb_define_method(klass, "external_subset", external_subset, 0);
1727
- rb_define_method(klass, "create_internal_subset", create_internal_subset, 3);
1728
- rb_define_method(klass, "create_external_subset", create_external_subset, 3);
1729
- rb_define_method(klass, "pointer_id", pointer_id, 0);
1730
- rb_define_method(klass, "line", line, 0);
1731
- rb_define_method(klass, "content", get_native_content, 0);
1732
- rb_define_method(klass, "native_content=", set_native_content, 1);
1733
- rb_define_method(klass, "lang", get_lang, 0);
1734
- rb_define_method(klass, "lang=", set_lang, 1);
1735
-
1736
- rb_define_private_method(klass, "process_xincludes", process_xincludes, 1);
1737
- rb_define_private_method(klass, "in_context", in_context, 2);
1738
- rb_define_private_method(klass, "add_child_node", add_child, 1);
1739
- rb_define_private_method(klass, "add_previous_sibling_node", add_previous_sibling, 1);
1740
- rb_define_private_method(klass, "add_next_sibling_node", add_next_sibling, 1);
1741
- rb_define_private_method(klass, "replace_node", replace, 1);
1742
- rb_define_private_method(klass, "dump_html", dump_html, 0);
1743
- rb_define_private_method(klass, "native_write_to", native_write_to, 4);
1744
- rb_define_private_method(klass, "get", get, 1);
1745
- rb_define_private_method(klass, "set", set, 2);
1746
- rb_define_private_method(klass, "set_namespace", set_namespace, 1);
1747
- rb_define_private_method(klass, "compare", compare, 1);
1748
-
1749
- decorate = rb_intern("decorate");
1750
- decorate_bang = rb_intern("decorate!");
1751
- }
1752
-
1753
- /* vim: set noet sw=4 sws=4 */