husc 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1019) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/README.md +4 -0
  4. data/lib/husc/version.rb +1 -1
  5. data/lib/husc.rb +3 -1
  6. metadata +3 -1016
  7. data/Gemfile.lock +0 -64
  8. data/vendor/bundle/bin/htmldiff +0 -29
  9. data/vendor/bundle/bin/ldiff +0 -29
  10. data/vendor/bundle/bin/nokogiri +0 -27
  11. data/vendor/bundle/bin/rake +0 -27
  12. data/vendor/bundle/bin/rspec +0 -27
  13. data/vendor/bundle/cache/connection_pool-2.2.2.gem +0 -0
  14. data/vendor/bundle/cache/diff-lcs-1.3.gem +0 -0
  15. data/vendor/bundle/cache/domain_name-0.5.20190701.gem +0 -0
  16. data/vendor/bundle/cache/http-cookie-1.0.3.gem +0 -0
  17. data/vendor/bundle/cache/mechanize-2.7.6.gem +0 -0
  18. data/vendor/bundle/cache/mime-types-3.3.1.gem +0 -0
  19. data/vendor/bundle/cache/mime-types-data-3.2019.1009.gem +0 -0
  20. data/vendor/bundle/cache/mini_portile2-2.4.0.gem +0 -0
  21. data/vendor/bundle/cache/net-http-digest_auth-1.4.1.gem +0 -0
  22. data/vendor/bundle/cache/net-http-persistent-3.1.0.gem +0 -0
  23. data/vendor/bundle/cache/nokogiri-1.10.7.gem +0 -0
  24. data/vendor/bundle/cache/ntlm-http-0.1.1.gem +0 -0
  25. data/vendor/bundle/cache/rake-12.3.3.gem +0 -0
  26. data/vendor/bundle/cache/rspec-3.9.0.gem +0 -0
  27. data/vendor/bundle/cache/rspec-core-3.9.1.gem +0 -0
  28. data/vendor/bundle/cache/rspec-expectations-3.9.0.gem +0 -0
  29. data/vendor/bundle/cache/rspec-mocks-3.9.1.gem +0 -0
  30. data/vendor/bundle/cache/rspec-support-3.9.2.gem +0 -0
  31. data/vendor/bundle/cache/unf-0.1.4.gem +0 -0
  32. data/vendor/bundle/cache/unf_ext-0.0.7.6.gem +0 -0
  33. data/vendor/bundle/cache/webrobots-0.1.2.gem +0 -0
  34. data/vendor/bundle/extensions/x86_64-darwin-18/2.6.0-static/nokogiri-1.10.7/gem.build_complete +0 -0
  35. data/vendor/bundle/extensions/x86_64-darwin-18/2.6.0-static/nokogiri-1.10.7/gem_make.out +0 -153
  36. data/vendor/bundle/extensions/x86_64-darwin-18/2.6.0-static/nokogiri-1.10.7/mkmf.log +0 -562
  37. data/vendor/bundle/extensions/x86_64-darwin-18/2.6.0-static/nokogiri-1.10.7/nokogiri/nokogiri.bundle +0 -0
  38. data/vendor/bundle/extensions/x86_64-darwin-18/2.6.0-static/unf_ext-0.0.7.6/gem.build_complete +0 -0
  39. data/vendor/bundle/extensions/x86_64-darwin-18/2.6.0-static/unf_ext-0.0.7.6/gem_make.out +0 -38
  40. data/vendor/bundle/extensions/x86_64-darwin-18/2.6.0-static/unf_ext-0.0.7.6/mkmf.log +0 -35
  41. data/vendor/bundle/extensions/x86_64-darwin-18/2.6.0-static/unf_ext-0.0.7.6/unf_ext.bundle +0 -0
  42. data/vendor/bundle/gems/connection_pool-2.2.2/.gitignore +0 -4
  43. data/vendor/bundle/gems/connection_pool-2.2.2/.travis.yml +0 -10
  44. data/vendor/bundle/gems/connection_pool-2.2.2/Changes.md +0 -123
  45. data/vendor/bundle/gems/connection_pool-2.2.2/Gemfile +0 -3
  46. data/vendor/bundle/gems/connection_pool-2.2.2/LICENSE +0 -20
  47. data/vendor/bundle/gems/connection_pool-2.2.2/README.md +0 -107
  48. data/vendor/bundle/gems/connection_pool-2.2.2/Rakefile +0 -6
  49. data/vendor/bundle/gems/connection_pool-2.2.2/connection_pool.gemspec +0 -21
  50. data/vendor/bundle/gems/connection_pool-2.2.2/lib/connection_pool/monotonic_time.rb +0 -66
  51. data/vendor/bundle/gems/connection_pool-2.2.2/lib/connection_pool/timed_stack.rb +0 -176
  52. data/vendor/bundle/gems/connection_pool-2.2.2/lib/connection_pool/version.rb +0 -3
  53. data/vendor/bundle/gems/connection_pool-2.2.2/lib/connection_pool.rb +0 -161
  54. data/vendor/bundle/gems/connection_pool-2.2.2/test/helper.rb +0 -8
  55. data/vendor/bundle/gems/connection_pool-2.2.2/test/test_connection_pool.rb +0 -516
  56. data/vendor/bundle/gems/connection_pool-2.2.2/test/test_connection_pool_timed_stack.rb +0 -149
  57. data/vendor/bundle/gems/diff-lcs-1.3/.rspec +0 -1
  58. data/vendor/bundle/gems/diff-lcs-1.3/Code-of-Conduct.md +0 -74
  59. data/vendor/bundle/gems/diff-lcs-1.3/Contributing.md +0 -83
  60. data/vendor/bundle/gems/diff-lcs-1.3/History.md +0 -220
  61. data/vendor/bundle/gems/diff-lcs-1.3/License.md +0 -39
  62. data/vendor/bundle/gems/diff-lcs-1.3/Manifest.txt +0 -37
  63. data/vendor/bundle/gems/diff-lcs-1.3/README.rdoc +0 -84
  64. data/vendor/bundle/gems/diff-lcs-1.3/Rakefile +0 -57
  65. data/vendor/bundle/gems/diff-lcs-1.3/autotest/discover.rb +0 -1
  66. data/vendor/bundle/gems/diff-lcs-1.3/bin/htmldiff +0 -32
  67. data/vendor/bundle/gems/diff-lcs-1.3/bin/ldiff +0 -6
  68. data/vendor/bundle/gems/diff-lcs-1.3/docs/COPYING.txt +0 -339
  69. data/vendor/bundle/gems/diff-lcs-1.3/docs/artistic.txt +0 -127
  70. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +0 -7
  71. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +0 -37
  72. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +0 -322
  73. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +0 -181
  74. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +0 -149
  75. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +0 -276
  76. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +0 -307
  77. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +0 -167
  78. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +0 -5
  79. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs.rb +0 -725
  80. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff-lcs.rb +0 -3
  81. data/vendor/bundle/gems/diff-lcs-1.3/spec/change_spec.rb +0 -65
  82. data/vendor/bundle/gems/diff-lcs-1.3/spec/diff_spec.rb +0 -47
  83. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +0 -50
  84. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +0 -51
  85. data/vendor/bundle/gems/diff-lcs-1.3/spec/hunk_spec.rb +0 -72
  86. data/vendor/bundle/gems/diff-lcs-1.3/spec/issues_spec.rb +0 -49
  87. data/vendor/bundle/gems/diff-lcs-1.3/spec/lcs_spec.rb +0 -56
  88. data/vendor/bundle/gems/diff-lcs-1.3/spec/ldiff_spec.rb +0 -47
  89. data/vendor/bundle/gems/diff-lcs-1.3/spec/patch_spec.rb +0 -422
  90. data/vendor/bundle/gems/diff-lcs-1.3/spec/sdiff_spec.rb +0 -214
  91. data/vendor/bundle/gems/diff-lcs-1.3/spec/spec_helper.rb +0 -321
  92. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +0 -310
  93. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +0 -139
  94. data/vendor/bundle/gems/domain_name-0.5.20190701/.document +0 -5
  95. data/vendor/bundle/gems/domain_name-0.5.20190701/.gitignore +0 -17
  96. data/vendor/bundle/gems/domain_name-0.5.20190701/.travis.yml +0 -21
  97. data/vendor/bundle/gems/domain_name-0.5.20190701/CHANGELOG.md +0 -219
  98. data/vendor/bundle/gems/domain_name-0.5.20190701/Gemfile +0 -4
  99. data/vendor/bundle/gems/domain_name-0.5.20190701/LICENSE.txt +0 -78
  100. data/vendor/bundle/gems/domain_name-0.5.20190701/README.md +0 -67
  101. data/vendor/bundle/gems/domain_name-0.5.20190701/Rakefile +0 -111
  102. data/vendor/bundle/gems/domain_name-0.5.20190701/data/public_suffix_list.dat +0 -12985
  103. data/vendor/bundle/gems/domain_name-0.5.20190701/domain_name.gemspec +0 -36
  104. data/vendor/bundle/gems/domain_name-0.5.20190701/lib/domain_name/etld_data.rb +0 -8787
  105. data/vendor/bundle/gems/domain_name-0.5.20190701/lib/domain_name/etld_data.rb.erb +0 -11
  106. data/vendor/bundle/gems/domain_name-0.5.20190701/lib/domain_name/punycode.rb +0 -283
  107. data/vendor/bundle/gems/domain_name-0.5.20190701/lib/domain_name/version.rb +0 -3
  108. data/vendor/bundle/gems/domain_name-0.5.20190701/lib/domain_name.rb +0 -297
  109. data/vendor/bundle/gems/domain_name-0.5.20190701/test/helper.rb +0 -17
  110. data/vendor/bundle/gems/domain_name-0.5.20190701/test/test_domain_name-punycode.rb +0 -97
  111. data/vendor/bundle/gems/domain_name-0.5.20190701/test/test_domain_name.rb +0 -317
  112. data/vendor/bundle/gems/domain_name-0.5.20190701/tool/gen_etld_data.rb +0 -63
  113. data/vendor/bundle/gems/http-cookie-1.0.3/.gitignore +0 -17
  114. data/vendor/bundle/gems/http-cookie-1.0.3/.travis.yml +0 -21
  115. data/vendor/bundle/gems/http-cookie-1.0.3/CHANGELOG.md +0 -22
  116. data/vendor/bundle/gems/http-cookie-1.0.3/Gemfile +0 -4
  117. data/vendor/bundle/gems/http-cookie-1.0.3/LICENSE.txt +0 -24
  118. data/vendor/bundle/gems/http-cookie-1.0.3/README.md +0 -235
  119. data/vendor/bundle/gems/http-cookie-1.0.3/Rakefile +0 -20
  120. data/vendor/bundle/gems/http-cookie-1.0.3/http-cookie.gemspec +0 -34
  121. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie/ruby_compat.rb +0 -63
  122. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie/scanner.rb +0 -231
  123. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie/version.rb +0 -5
  124. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie.rb +0 -685
  125. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie_jar/abstract_saver.rb +0 -65
  126. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie_jar/abstract_store.rb +0 -124
  127. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie_jar/cookiestxt_saver.rb +0 -106
  128. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie_jar/hash_store.rb +0 -163
  129. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie_jar/mozilla_store.rb +0 -458
  130. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie_jar/yaml_saver.rb +0 -76
  131. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http/cookie_jar.rb +0 -344
  132. data/vendor/bundle/gems/http-cookie-1.0.3/lib/http-cookie.rb +0 -1
  133. data/vendor/bundle/gems/http-cookie-1.0.3/test/helper.rb +0 -55
  134. data/vendor/bundle/gems/http-cookie-1.0.3/test/mechanize.yml +0 -101
  135. data/vendor/bundle/gems/http-cookie-1.0.3/test/simplecov_start.rb +0 -2
  136. data/vendor/bundle/gems/http-cookie-1.0.3/test/test_http_cookie.rb +0 -1122
  137. data/vendor/bundle/gems/http-cookie-1.0.3/test/test_http_cookie_jar.rb +0 -985
  138. data/vendor/bundle/gems/mechanize-2.7.6/.autotest +0 -6
  139. data/vendor/bundle/gems/mechanize-2.7.6/.gitignore +0 -15
  140. data/vendor/bundle/gems/mechanize-2.7.6/.travis.yml +0 -36
  141. data/vendor/bundle/gems/mechanize-2.7.6/CHANGELOG.rdoc +0 -999
  142. data/vendor/bundle/gems/mechanize-2.7.6/EXAMPLES.rdoc +0 -192
  143. data/vendor/bundle/gems/mechanize-2.7.6/GUIDE.rdoc +0 -168
  144. data/vendor/bundle/gems/mechanize-2.7.6/Gemfile +0 -6
  145. data/vendor/bundle/gems/mechanize-2.7.6/LICENSE.rdoc +0 -20
  146. data/vendor/bundle/gems/mechanize-2.7.6/README.rdoc +0 -77
  147. data/vendor/bundle/gems/mechanize-2.7.6/Rakefile +0 -41
  148. data/vendor/bundle/gems/mechanize-2.7.6/examples/flickr_upload.rb +0 -22
  149. data/vendor/bundle/gems/mechanize-2.7.6/examples/mech-dump.rb +0 -5
  150. data/vendor/bundle/gems/mechanize-2.7.6/examples/proxy_req.rb +0 -7
  151. data/vendor/bundle/gems/mechanize-2.7.6/examples/rubygems.rb +0 -23
  152. data/vendor/bundle/gems/mechanize-2.7.6/examples/spider.rb +0 -22
  153. data/vendor/bundle/gems/mechanize-2.7.6/examples/wikipedia_links_to_philosophy.rb +0 -159
  154. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/chunked_termination_error.rb +0 -7
  155. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/content_type_error.rb +0 -13
  156. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/cookie.rb +0 -73
  157. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/cookie_jar.rb +0 -190
  158. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/directory_saver.rb +0 -77
  159. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/download.rb +0 -84
  160. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/element_matcher.rb +0 -68
  161. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/element_not_found_error.rb +0 -19
  162. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/file.rb +0 -93
  163. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/file_connection.rb +0 -17
  164. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/file_request.rb +0 -30
  165. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/file_response.rb +0 -80
  166. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/file_saver.rb +0 -39
  167. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/button.rb +0 -6
  168. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/check_box.rb +0 -19
  169. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/field.rb +0 -124
  170. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/file_upload.rb +0 -21
  171. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/hidden.rb +0 -3
  172. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/image_button.rb +0 -19
  173. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/keygen.rb +0 -34
  174. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/multi_select_list.rb +0 -93
  175. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/option.rb +0 -51
  176. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/radio_button.rb +0 -69
  177. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/reset.rb +0 -3
  178. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/select_list.rb +0 -44
  179. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/submit.rb +0 -3
  180. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/text.rb +0 -3
  181. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form/textarea.rb +0 -3
  182. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/form.rb +0 -724
  183. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/headers.rb +0 -23
  184. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/history.rb +0 -82
  185. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/http/agent.rb +0 -1281
  186. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/http/auth_challenge.rb +0 -65
  187. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/http/auth_realm.rb +0 -31
  188. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/http/auth_store.rb +0 -123
  189. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/http/content_disposition_parser.rb +0 -191
  190. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/http/www_authenticate_parser.rb +0 -178
  191. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/http.rb +0 -8
  192. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/image.rb +0 -6
  193. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/page/base.rb +0 -7
  194. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/page/frame.rb +0 -29
  195. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/page/image.rb +0 -182
  196. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/page/label.rb +0 -20
  197. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/page/link.rb +0 -108
  198. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/page/meta_refresh.rb +0 -78
  199. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/page.rb +0 -648
  200. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/parser.rb +0 -182
  201. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/pluggable_parsers.rb +0 -179
  202. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/prependable.rb +0 -89
  203. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/redirect_limit_reached_error.rb +0 -19
  204. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/redirect_not_get_or_head_error.rb +0 -21
  205. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/response_code_error.rb +0 -26
  206. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/response_read_error.rb +0 -38
  207. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/robots_disallowed_error.rb +0 -28
  208. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/.document +0 -1
  209. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/bad_chunking_servlet.rb +0 -14
  210. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/basic_auth_servlet.rb +0 -24
  211. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/content_type_servlet.rb +0 -8
  212. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/digest_auth_servlet.rb +0 -33
  213. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/file_upload_servlet.rb +0 -20
  214. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/form_servlet.rb +0 -55
  215. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/gzip_servlet.rb +0 -32
  216. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/header_servlet.rb +0 -14
  217. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/http_refresh_servlet.rb +0 -8
  218. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/infinite_redirect_servlet.rb +0 -10
  219. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/infinite_refresh_servlet.rb +0 -9
  220. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/many_cookies_as_string_servlet.rb +0 -37
  221. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/many_cookies_servlet.rb +0 -33
  222. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/modified_since_servlet.rb +0 -21
  223. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/ntlm_servlet.rb +0 -30
  224. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/one_cookie_no_spaces_servlet.rb +0 -11
  225. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/one_cookie_servlet.rb +0 -11
  226. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/quoted_value_cookie_servlet.rb +0 -11
  227. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/redirect_servlet.rb +0 -13
  228. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/referer_servlet.rb +0 -12
  229. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/refresh_with_empty_url.rb +0 -15
  230. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/refresh_without_url.rb +0 -14
  231. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/response_code_servlet.rb +0 -15
  232. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/robots_txt_servlet.rb +0 -14
  233. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/send_cookies_servlet.rb +0 -19
  234. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/server.rb +0 -36
  235. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/servlets.rb +0 -58
  236. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case/verb_servlet.rb +0 -11
  237. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/test_case.rb +0 -330
  238. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/unauthorized_error.rb +0 -22
  239. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/unsupported_scheme_error.rb +0 -8
  240. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/util.rb +0 -161
  241. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/version.rb +0 -3
  242. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize/xml_file.rb +0 -47
  243. data/vendor/bundle/gems/mechanize-2.7.6/lib/mechanize.rb +0 -1369
  244. data/vendor/bundle/gems/mechanize-2.7.6/mechanize.gemspec +0 -66
  245. data/vendor/bundle/gems/mechanize-2.7.6/test/data/htpasswd +0 -1
  246. data/vendor/bundle/gems/mechanize-2.7.6/test/data/server.crt +0 -16
  247. data/vendor/bundle/gems/mechanize-2.7.6/test/data/server.csr +0 -12
  248. data/vendor/bundle/gems/mechanize-2.7.6/test/data/server.key +0 -15
  249. data/vendor/bundle/gems/mechanize-2.7.6/test/data/server.pem +0 -15
  250. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/alt_text.html +0 -10
  251. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/bad_form_test.html +0 -9
  252. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/button.jpg +0 -0
  253. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/canonical_uri.html +0 -9
  254. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/dir with spaces/foo.html +0 -1
  255. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/empty_form.html +0 -6
  256. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/file_upload.html +0 -26
  257. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/find_link.html +0 -38
  258. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/form_multi_select.html +0 -16
  259. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/form_multival.html +0 -37
  260. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/form_no_action.html +0 -18
  261. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/form_no_input_name.html +0 -16
  262. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/form_order_test.html +0 -11
  263. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/form_select.html +0 -16
  264. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/form_set_fields.html +0 -14
  265. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/form_test.html +0 -188
  266. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/frame_referer_test.html +0 -10
  267. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/frame_test.html +0 -30
  268. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/google.html +0 -13
  269. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/index.html +0 -6
  270. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/link with space.html +0 -5
  271. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/meta_cookie.html +0 -11
  272. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/no_title_test.html +0 -6
  273. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/noindex.html +0 -9
  274. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/rails_3_encoding_hack_form_test.html +0 -27
  275. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/relative/tc_relative_links.html +0 -21
  276. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/robots.html +0 -8
  277. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_bad_charset.html +0 -9
  278. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_bad_links.html +0 -5
  279. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_base_link.html +0 -8
  280. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_blank_form.html +0 -11
  281. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_charset.html +0 -6
  282. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_checkboxes.html +0 -19
  283. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_encoded_links.html +0 -5
  284. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_field_precedence.html +0 -11
  285. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_follow_meta.html +0 -8
  286. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_follow_meta_loop_1.html +0 -8
  287. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_follow_meta_loop_2.html +0 -8
  288. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_form_action.html +0 -48
  289. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_links.html +0 -21
  290. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_meta_in_body.html +0 -9
  291. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_pretty_print.html +0 -17
  292. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_referer.html +0 -16
  293. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_relative_links.html +0 -19
  294. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/tc_textarea.html +0 -23
  295. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/test_click.html +0 -11
  296. data/vendor/bundle/gems/mechanize-2.7.6/test/htdocs/unusual______.html +0 -5
  297. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize.rb +0 -1361
  298. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_cookie.rb +0 -547
  299. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_cookie_jar.rb +0 -582
  300. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_directory_saver.rb +0 -59
  301. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_download.rb +0 -89
  302. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_element_not_found_error.rb +0 -15
  303. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_file.rb +0 -107
  304. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_file_connection.rb +0 -21
  305. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_file_request.rb +0 -25
  306. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_file_response.rb +0 -23
  307. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_file_saver.rb +0 -21
  308. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form.rb +0 -1012
  309. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_check_box.rb +0 -48
  310. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_encoding.rb +0 -109
  311. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_field.rb +0 -77
  312. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_file_upload.rb +0 -20
  313. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_image_button.rb +0 -12
  314. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_keygen.rb +0 -32
  315. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_multi_select_list.rb +0 -97
  316. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_option.rb +0 -59
  317. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_radio_button.rb +0 -95
  318. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_select_list.rb +0 -80
  319. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_form_textarea.rb +0 -52
  320. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_headers.rb +0 -35
  321. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_history.rb +0 -103
  322. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_http_agent.rb +0 -1754
  323. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_http_auth_challenge.rb +0 -63
  324. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_http_auth_realm.rb +0 -55
  325. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_http_auth_store.rb +0 -232
  326. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_http_content_disposition_parser.rb +0 -139
  327. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_http_www_authenticate_parser.rb +0 -203
  328. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_image.rb +0 -8
  329. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_link.rb +0 -146
  330. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_page.rb +0 -280
  331. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_page_encoding.rb +0 -187
  332. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_page_frame.rb +0 -16
  333. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_page_image.rb +0 -190
  334. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_page_link.rb +0 -373
  335. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_page_meta_refresh.rb +0 -150
  336. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_parser.rb +0 -315
  337. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_pluggable_parser.rb +0 -67
  338. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_redirect_limit_reached_error.rb +0 -24
  339. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_redirect_not_get_or_head_error.rb +0 -14
  340. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_response_read_error.rb +0 -28
  341. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_subclass.rb +0 -22
  342. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_util.rb +0 -143
  343. data/vendor/bundle/gems/mechanize-2.7.6/test/test_mechanize_xml_file.rb +0 -29
  344. data/vendor/bundle/gems/mechanize-2.7.6/test/test_multi_select.rb +0 -119
  345. data/vendor/bundle/gems/mime-types-3.3.1/Code-of-Conduct.md +0 -73
  346. data/vendor/bundle/gems/mime-types-3.3.1/Contributing.md +0 -143
  347. data/vendor/bundle/gems/mime-types-3.3.1/History.md +0 -240
  348. data/vendor/bundle/gems/mime-types-3.3.1/Licence.md +0 -25
  349. data/vendor/bundle/gems/mime-types-3.3.1/Manifest.txt +0 -31
  350. data/vendor/bundle/gems/mime-types-3.3.1/README.rdoc +0 -193
  351. data/vendor/bundle/gems/mime-types-3.3.1/Rakefile +0 -284
  352. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/type/columnar.rb +0 -57
  353. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/type.rb +0 -587
  354. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types/_columnar.rb +0 -136
  355. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types/cache.rb +0 -58
  356. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types/columnar.rb +0 -3
  357. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types/container.rb +0 -96
  358. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types/deprecations.rb +0 -32
  359. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types/full.rb +0 -19
  360. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types/loader.rb +0 -146
  361. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types/logger.rb +0 -39
  362. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types/registry.rb +0 -90
  363. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime/types.rb +0 -231
  364. data/vendor/bundle/gems/mime-types-3.3.1/lib/mime-types.rb +0 -3
  365. data/vendor/bundle/gems/mime-types-3.3.1/test/bad-fixtures/malformed +0 -9
  366. data/vendor/bundle/gems/mime-types-3.3.1/test/fixture/json.json +0 -1
  367. data/vendor/bundle/gems/mime-types-3.3.1/test/fixture/old-data +0 -9
  368. data/vendor/bundle/gems/mime-types-3.3.1/test/fixture/yaml.yaml +0 -55
  369. data/vendor/bundle/gems/mime-types-3.3.1/test/minitest_helper.rb +0 -13
  370. data/vendor/bundle/gems/mime-types-3.3.1/test/test_mime_type.rb +0 -610
  371. data/vendor/bundle/gems/mime-types-3.3.1/test/test_mime_types.rb +0 -169
  372. data/vendor/bundle/gems/mime-types-3.3.1/test/test_mime_types_cache.rb +0 -118
  373. data/vendor/bundle/gems/mime-types-3.3.1/test/test_mime_types_class.rb +0 -159
  374. data/vendor/bundle/gems/mime-types-3.3.1/test/test_mime_types_lazy.rb +0 -49
  375. data/vendor/bundle/gems/mime-types-3.3.1/test/test_mime_types_loader.rb +0 -32
  376. data/vendor/bundle/gems/mime-types-data-3.2019.1009/Code-of-Conduct.md +0 -75
  377. data/vendor/bundle/gems/mime-types-data-3.2019.1009/Contributing.md +0 -162
  378. data/vendor/bundle/gems/mime-types-data-3.2019.1009/History.md +0 -406
  379. data/vendor/bundle/gems/mime-types-data-3.2019.1009/Licence.md +0 -25
  380. data/vendor/bundle/gems/mime-types-data-3.2019.1009/Manifest.txt +0 -31
  381. data/vendor/bundle/gems/mime-types-data-3.2019.1009/README.md +0 -63
  382. data/vendor/bundle/gems/mime-types-data-3.2019.1009/Rakefile +0 -94
  383. data/vendor/bundle/gems/mime-types-data-3.2019.1009/data/mime-types.json +0 -1
  384. data/vendor/bundle/gems/mime-types-data-3.2019.1009/data/mime.content_type.column +0 -2215
  385. data/vendor/bundle/gems/mime-types-data-3.2019.1009/data/mime.docs.column +0 -2215
  386. data/vendor/bundle/gems/mime-types-data-3.2019.1009/data/mime.encoding.column +0 -2215
  387. data/vendor/bundle/gems/mime-types-data-3.2019.1009/data/mime.flags.column +0 -2215
  388. data/vendor/bundle/gems/mime-types-data-3.2019.1009/data/mime.friendly.column +0 -2215
  389. data/vendor/bundle/gems/mime-types-data-3.2019.1009/data/mime.pext.column +0 -2215
  390. data/vendor/bundle/gems/mime-types-data-3.2019.1009/data/mime.use_instead.column +0 -2215
  391. data/vendor/bundle/gems/mime-types-data-3.2019.1009/data/mime.xrefs.column +0 -2215
  392. data/vendor/bundle/gems/mime-types-data-3.2019.1009/lib/mime/types/data.rb +0 -21
  393. data/vendor/bundle/gems/mime-types-data-3.2019.1009/lib/mime-types-data.rb +0 -3
  394. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/application.yaml +0 -16361
  395. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/audio.yaml +0 -1644
  396. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/chemical.yaml +0 -71
  397. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/conference.yaml +0 -9
  398. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/drawing.yaml +0 -15
  399. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/font.yaml +0 -65
  400. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/image.yaml +0 -1069
  401. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/message.yaml +0 -200
  402. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/model.yaml +0 -302
  403. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/multipart.yaml +0 -179
  404. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/text.yaml +0 -1055
  405. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/video.yaml +0 -1070
  406. data/vendor/bundle/gems/mime-types-data-3.2019.1009/types/world.yaml +0 -8
  407. data/vendor/bundle/gems/mini_portile2-2.4.0/.concourse.yml +0 -83
  408. data/vendor/bundle/gems/mini_portile2-2.4.0/.gitignore +0 -7
  409. data/vendor/bundle/gems/mini_portile2-2.4.0/.travis.yml +0 -15
  410. data/vendor/bundle/gems/mini_portile2-2.4.0/CHANGELOG.md +0 -209
  411. data/vendor/bundle/gems/mini_portile2-2.4.0/Gemfile +0 -4
  412. data/vendor/bundle/gems/mini_portile2-2.4.0/LICENSE.txt +0 -20
  413. data/vendor/bundle/gems/mini_portile2-2.4.0/README.md +0 -245
  414. data/vendor/bundle/gems/mini_portile2-2.4.0/Rakefile +0 -29
  415. data/vendor/bundle/gems/mini_portile2-2.4.0/appveyor.yml +0 -25
  416. data/vendor/bundle/gems/mini_portile2-2.4.0/concourse/mini_portile.yml +0 -141
  417. data/vendor/bundle/gems/mini_portile2-2.4.0/concourse/tasks/rake-test/task.ps1 +0 -11
  418. data/vendor/bundle/gems/mini_portile2-2.4.0/concourse/tasks/rake-test/task.sh +0 -13
  419. data/vendor/bundle/gems/mini_portile2-2.4.0/lib/mini_portile2/mini_portile.rb +0 -556
  420. data/vendor/bundle/gems/mini_portile2-2.4.0/lib/mini_portile2/mini_portile_cmake.rb +0 -40
  421. data/vendor/bundle/gems/mini_portile2-2.4.0/lib/mini_portile2/version.rb +0 -3
  422. data/vendor/bundle/gems/mini_portile2-2.4.0/lib/mini_portile2.rb +0 -3
  423. data/vendor/bundle/gems/mini_portile2-2.4.0/mini_portile2.gemspec +0 -42
  424. data/vendor/bundle/gems/mini_portile2-2.4.0/test/assets/git/config +0 -4
  425. data/vendor/bundle/gems/mini_portile2-2.4.0/test/assets/gpg-fixtures/data +0 -1
  426. data/vendor/bundle/gems/mini_portile2-2.4.0/test/assets/gpg-fixtures/data.asc +0 -9
  427. data/vendor/bundle/gems/mini_portile2-2.4.0/test/assets/gpg-fixtures/data.invalid.asc +0 -9
  428. data/vendor/bundle/gems/mini_portile2-2.4.0/test/assets/patch 1.diff +0 -7
  429. data/vendor/bundle/gems/mini_portile2-2.4.0/test/assets/test mini portile-1.0.0/configure +0 -11
  430. data/vendor/bundle/gems/mini_portile2-2.4.0/test/assets/test-cmake-1.0/CMakeLists.txt +0 -7
  431. data/vendor/bundle/gems/mini_portile2-2.4.0/test/assets/test-cmake-1.0/hello.c +0 -4
  432. data/vendor/bundle/gems/mini_portile2-2.4.0/test/assets/test-download-archive.tar.gz +0 -1
  433. data/vendor/bundle/gems/mini_portile2-2.4.0/test/helper.rb +0 -60
  434. data/vendor/bundle/gems/mini_portile2-2.4.0/test/test_cmake.rb +0 -64
  435. data/vendor/bundle/gems/mini_portile2-2.4.0/test/test_cook.rb +0 -115
  436. data/vendor/bundle/gems/mini_portile2-2.4.0/test/test_digest.rb +0 -215
  437. data/vendor/bundle/gems/mini_portile2-2.4.0/test/test_download.rb +0 -71
  438. data/vendor/bundle/gems/mini_portile2-2.4.0/test/test_proxy.rb +0 -121
  439. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/.autotest +0 -8
  440. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/.travis.yml +0 -16
  441. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/History.txt +0 -52
  442. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/Manifest.txt +0 -10
  443. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/README.txt +0 -44
  444. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/Rakefile +0 -25
  445. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/lib/net/http/digest_auth.rb +0 -173
  446. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/sample/auth_server.rb +0 -47
  447. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/sample/net_http_example.rb +0 -27
  448. data/vendor/bundle/gems/net-http-digest_auth-1.4.1/test/test_net_http_digest_auth.rb +0 -130
  449. data/vendor/bundle/gems/net-http-persistent-3.1.0/.autotest +0 -9
  450. data/vendor/bundle/gems/net-http-persistent-3.1.0/.gemtest +0 -0
  451. data/vendor/bundle/gems/net-http-persistent-3.1.0/.travis.yml +0 -24
  452. data/vendor/bundle/gems/net-http-persistent-3.1.0/Gemfile +0 -15
  453. data/vendor/bundle/gems/net-http-persistent-3.1.0/History.txt +0 -391
  454. data/vendor/bundle/gems/net-http-persistent-3.1.0/Manifest.txt +0 -14
  455. data/vendor/bundle/gems/net-http-persistent-3.1.0/README.rdoc +0 -82
  456. data/vendor/bundle/gems/net-http-persistent-3.1.0/Rakefile +0 -31
  457. data/vendor/bundle/gems/net-http-persistent-3.1.0/lib/net/http/persistent/connection.rb +0 -40
  458. data/vendor/bundle/gems/net-http-persistent-3.1.0/lib/net/http/persistent/pool.rb +0 -53
  459. data/vendor/bundle/gems/net-http-persistent-3.1.0/lib/net/http/persistent/timed_stack_multi.rb +0 -79
  460. data/vendor/bundle/gems/net-http-persistent-3.1.0/lib/net/http/persistent.rb +0 -1202
  461. data/vendor/bundle/gems/net-http-persistent-3.1.0/test/test_net_http_persistent.rb +0 -1621
  462. data/vendor/bundle/gems/net-http-persistent-3.1.0/test/test_net_http_persistent_timed_stack_multi.rb +0 -151
  463. data/vendor/bundle/gems/nokogiri-1.10.7/LICENSE-DEPENDENCIES.md +0 -1614
  464. data/vendor/bundle/gems/nokogiri-1.10.7/LICENSE.md +0 -9
  465. data/vendor/bundle/gems/nokogiri-1.10.7/README.md +0 -198
  466. data/vendor/bundle/gems/nokogiri-1.10.7/bin/nokogiri +0 -118
  467. data/vendor/bundle/gems/nokogiri-1.10.7/dependencies.yml +0 -74
  468. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/.sitearchdir.-.nokogiri.time +0 -0
  469. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/Makefile +0 -629
  470. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/depend +0 -358
  471. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/extconf.rb +0 -686
  472. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_document.c +0 -170
  473. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_document.h +0 -10
  474. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_document.o +0 -0
  475. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_element_description.c +0 -279
  476. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_element_description.h +0 -10
  477. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_element_description.o +0 -0
  478. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_entity_lookup.c +0 -32
  479. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_entity_lookup.h +0 -8
  480. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_entity_lookup.o +0 -0
  481. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_sax_parser_context.c +0 -116
  482. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_sax_parser_context.h +0 -11
  483. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_sax_parser_context.o +0 -0
  484. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_sax_push_parser.c +0 -87
  485. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_sax_push_parser.h +0 -9
  486. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/html_sax_push_parser.o +0 -0
  487. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/nokogiri.bundle +0 -0
  488. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/nokogiri.c +0 -141
  489. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/nokogiri.h +0 -121
  490. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/nokogiri.o +0 -0
  491. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_attr.c +0 -103
  492. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_attr.h +0 -9
  493. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_attr.o +0 -0
  494. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_attribute_decl.c +0 -70
  495. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_attribute_decl.h +0 -9
  496. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_attribute_decl.o +0 -0
  497. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_cdata.c +0 -62
  498. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_cdata.h +0 -9
  499. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_cdata.o +0 -0
  500. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_comment.c +0 -69
  501. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_comment.h +0 -9
  502. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_comment.o +0 -0
  503. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_document.c +0 -608
  504. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_document.h +0 -23
  505. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_document.o +0 -0
  506. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_document_fragment.c +0 -48
  507. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_document_fragment.h +0 -10
  508. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_document_fragment.o +0 -0
  509. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_dtd.c +0 -202
  510. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_dtd.h +0 -10
  511. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_dtd.o +0 -0
  512. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_element_content.c +0 -123
  513. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_element_content.h +0 -10
  514. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_element_content.o +0 -0
  515. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_element_decl.c +0 -69
  516. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_element_decl.h +0 -9
  517. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_element_decl.o +0 -0
  518. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_encoding_handler.c +0 -79
  519. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_encoding_handler.h +0 -8
  520. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_encoding_handler.o +0 -0
  521. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_entity_decl.c +0 -110
  522. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_entity_decl.h +0 -10
  523. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_entity_decl.o +0 -0
  524. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_entity_reference.c +0 -52
  525. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_entity_reference.h +0 -9
  526. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_entity_reference.o +0 -0
  527. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_io.c +0 -61
  528. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_io.h +0 -11
  529. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_io.o +0 -0
  530. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  531. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  532. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_libxml2_hacks.o +0 -0
  533. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_namespace.c +0 -111
  534. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_namespace.h +0 -14
  535. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_namespace.o +0 -0
  536. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_node.c +0 -1753
  537. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_node.h +0 -13
  538. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_node.o +0 -0
  539. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_node_set.c +0 -486
  540. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_node_set.h +0 -12
  541. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_node_set.o +0 -0
  542. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_processing_instruction.c +0 -56
  543. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_processing_instruction.h +0 -9
  544. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_processing_instruction.o +0 -0
  545. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_reader.c +0 -668
  546. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_reader.h +0 -10
  547. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_reader.o +0 -0
  548. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_relax_ng.c +0 -161
  549. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_relax_ng.h +0 -9
  550. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_relax_ng.o +0 -0
  551. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_sax_parser.c +0 -310
  552. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_sax_parser.h +0 -39
  553. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_sax_parser.o +0 -0
  554. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_sax_parser_context.c +0 -262
  555. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_sax_parser_context.h +0 -10
  556. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_sax_parser_context.o +0 -0
  557. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_sax_push_parser.c +0 -159
  558. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_sax_push_parser.h +0 -9
  559. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_sax_push_parser.o +0 -0
  560. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_schema.c +0 -205
  561. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_schema.h +0 -9
  562. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_schema.o +0 -0
  563. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_syntax_error.c +0 -64
  564. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_syntax_error.h +0 -13
  565. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_syntax_error.o +0 -0
  566. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_text.c +0 -52
  567. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_text.h +0 -9
  568. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_text.o +0 -0
  569. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_xpath_context.c +0 -298
  570. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_xpath_context.h +0 -10
  571. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xml_xpath_context.o +0 -0
  572. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xslt_stylesheet.c +0 -270
  573. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xslt_stylesheet.h +0 -14
  574. data/vendor/bundle/gems/nokogiri-1.10.7/ext/nokogiri/xslt_stylesheet.o +0 -0
  575. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/css/node.rb +0 -52
  576. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb +0 -750
  577. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.y +0 -272
  578. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/css/parser_extras.rb +0 -91
  579. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/css/syntax_error.rb +0 -7
  580. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/css/tokenizer.rb +0 -153
  581. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/css/tokenizer.rex +0 -55
  582. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/css/xpath_visitor.rb +0 -230
  583. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/css.rb +0 -27
  584. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/decorators/slop.rb +0 -42
  585. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html/builder.rb +0 -35
  586. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html/document.rb +0 -335
  587. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html/document_fragment.rb +0 -49
  588. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html/element_description.rb +0 -23
  589. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html/element_description_defaults.rb +0 -671
  590. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html/entity_lookup.rb +0 -13
  591. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html/sax/parser.rb +0 -62
  592. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html/sax/parser_context.rb +0 -16
  593. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html/sax/push_parser.rb +0 -36
  594. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/html.rb +0 -37
  595. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/nokogiri.bundle +0 -0
  596. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/syntax_error.rb +0 -4
  597. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/version.rb +0 -109
  598. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/attr.rb +0 -14
  599. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/attribute_decl.rb +0 -18
  600. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/builder.rb +0 -446
  601. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/cdata.rb +0 -11
  602. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/character_data.rb +0 -7
  603. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/document.rb +0 -285
  604. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/document_fragment.rb +0 -160
  605. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/dtd.rb +0 -32
  606. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/element_content.rb +0 -36
  607. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/element_decl.rb +0 -13
  608. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/entity_decl.rb +0 -19
  609. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/entity_reference.rb +0 -18
  610. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/namespace.rb +0 -13
  611. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/node/save_options.rb +0 -61
  612. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/node.rb +0 -902
  613. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/node_set.rb +0 -371
  614. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/notation.rb +0 -6
  615. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/parse_options.rb +0 -120
  616. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/pp/character_data.rb +0 -18
  617. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/pp/node.rb +0 -56
  618. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/pp.rb +0 -2
  619. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/processing_instruction.rb +0 -8
  620. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/reader.rb +0 -112
  621. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/relax_ng.rb +0 -32
  622. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/sax/document.rb +0 -171
  623. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/sax/parser.rb +0 -122
  624. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/sax/parser_context.rb +0 -16
  625. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/sax/push_parser.rb +0 -60
  626. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/sax.rb +0 -4
  627. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/schema.rb +0 -63
  628. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/searchable.rb +0 -230
  629. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/syntax_error.rb +0 -70
  630. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/text.rb +0 -9
  631. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/xpath/syntax_error.rb +0 -11
  632. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/xpath.rb +0 -10
  633. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml/xpath_context.rb +0 -16
  634. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xml.rb +0 -75
  635. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xslt/stylesheet.rb +0 -25
  636. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri/xslt.rb +0 -56
  637. data/vendor/bundle/gems/nokogiri-1.10.7/lib/nokogiri.rb +0 -144
  638. data/vendor/bundle/gems/nokogiri-1.10.7/lib/xsd/xmlparser/nokogiri.rb +0 -102
  639. data/vendor/bundle/gems/nokogiri-1.10.7/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  640. data/vendor/bundle/gems/nokogiri-1.10.7/patches/libxml2/0002-Remove-script-macro-support.patch +0 -40
  641. data/vendor/bundle/gems/nokogiri-1.10.7/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch +0 -44
  642. data/vendor/bundle/gems/nokogiri-1.10.7/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +0 -25
  643. data/vendor/bundle/gems/ntlm-http-0.1.1/README +0 -25
  644. data/vendor/bundle/gems/ntlm-http-0.1.1/Rakefile +0 -66
  645. data/vendor/bundle/gems/ntlm-http-0.1.1/examples/http.rb +0 -86
  646. data/vendor/bundle/gems/ntlm-http-0.1.1/examples/imap.rb +0 -73
  647. data/vendor/bundle/gems/ntlm-http-0.1.1/examples/smtp.rb +0 -94
  648. data/vendor/bundle/gems/ntlm-http-0.1.1/lib/net/ntlm.rb +0 -774
  649. data/vendor/bundle/gems/ntlm-http-0.1.1/lib/net/ntlm_http.rb +0 -854
  650. data/vendor/bundle/gems/ntlm-http-0.1.1/ntlm-http-0.1.1.gemspec +0 -16
  651. data/vendor/bundle/gems/ntlm-http-0.1.1/test/function_test.rb +0 -111
  652. data/vendor/bundle/gems/rake-12.3.3/CONTRIBUTING.rdoc +0 -43
  653. data/vendor/bundle/gems/rake-12.3.3/Gemfile +0 -3
  654. data/vendor/bundle/gems/rake-12.3.3/History.rdoc +0 -2344
  655. data/vendor/bundle/gems/rake-12.3.3/MIT-LICENSE +0 -21
  656. data/vendor/bundle/gems/rake-12.3.3/README.rdoc +0 -156
  657. data/vendor/bundle/gems/rake-12.3.3/Rakefile +0 -41
  658. data/vendor/bundle/gems/rake-12.3.3/azure-pipelines.yml +0 -11
  659. data/vendor/bundle/gems/rake-12.3.3/bin/bundle +0 -105
  660. data/vendor/bundle/gems/rake-12.3.3/bin/console +0 -7
  661. data/vendor/bundle/gems/rake-12.3.3/bin/rake +0 -29
  662. data/vendor/bundle/gems/rake-12.3.3/bin/rdoc +0 -29
  663. data/vendor/bundle/gems/rake-12.3.3/bin/rubocop +0 -29
  664. data/vendor/bundle/gems/rake-12.3.3/bin/setup +0 -6
  665. data/vendor/bundle/gems/rake-12.3.3/doc/command_line_usage.rdoc +0 -158
  666. data/vendor/bundle/gems/rake-12.3.3/doc/example/Rakefile1 +0 -38
  667. data/vendor/bundle/gems/rake-12.3.3/doc/example/Rakefile2 +0 -35
  668. data/vendor/bundle/gems/rake-12.3.3/doc/example/a.c +0 -6
  669. data/vendor/bundle/gems/rake-12.3.3/doc/example/b.c +0 -6
  670. data/vendor/bundle/gems/rake-12.3.3/doc/example/main.c +0 -11
  671. data/vendor/bundle/gems/rake-12.3.3/doc/glossary.rdoc +0 -42
  672. data/vendor/bundle/gems/rake-12.3.3/doc/jamis.rb +0 -592
  673. data/vendor/bundle/gems/rake-12.3.3/doc/proto_rake.rdoc +0 -127
  674. data/vendor/bundle/gems/rake-12.3.3/doc/rake.1 +0 -156
  675. data/vendor/bundle/gems/rake-12.3.3/doc/rakefile.rdoc +0 -622
  676. data/vendor/bundle/gems/rake-12.3.3/doc/rational.rdoc +0 -151
  677. data/vendor/bundle/gems/rake-12.3.3/exe/rake +0 -27
  678. data/vendor/bundle/gems/rake-12.3.3/lib/rake/application.rb +0 -824
  679. data/vendor/bundle/gems/rake-12.3.3/lib/rake/backtrace.rb +0 -24
  680. data/vendor/bundle/gems/rake-12.3.3/lib/rake/clean.rb +0 -78
  681. data/vendor/bundle/gems/rake-12.3.3/lib/rake/cloneable.rb +0 -17
  682. data/vendor/bundle/gems/rake-12.3.3/lib/rake/cpu_counter.rb +0 -107
  683. data/vendor/bundle/gems/rake-12.3.3/lib/rake/default_loader.rb +0 -15
  684. data/vendor/bundle/gems/rake-12.3.3/lib/rake/dsl_definition.rb +0 -195
  685. data/vendor/bundle/gems/rake-12.3.3/lib/rake/early_time.rb +0 -22
  686. data/vendor/bundle/gems/rake-12.3.3/lib/rake/ext/core.rb +0 -26
  687. data/vendor/bundle/gems/rake-12.3.3/lib/rake/ext/string.rb +0 -176
  688. data/vendor/bundle/gems/rake-12.3.3/lib/rake/file_creation_task.rb +0 -25
  689. data/vendor/bundle/gems/rake-12.3.3/lib/rake/file_list.rb +0 -435
  690. data/vendor/bundle/gems/rake-12.3.3/lib/rake/file_task.rb +0 -54
  691. data/vendor/bundle/gems/rake-12.3.3/lib/rake/file_utils.rb +0 -137
  692. data/vendor/bundle/gems/rake-12.3.3/lib/rake/file_utils_ext.rb +0 -145
  693. data/vendor/bundle/gems/rake-12.3.3/lib/rake/invocation_chain.rb +0 -57
  694. data/vendor/bundle/gems/rake-12.3.3/lib/rake/invocation_exception_mixin.rb +0 -17
  695. data/vendor/bundle/gems/rake-12.3.3/lib/rake/late_time.rb +0 -18
  696. data/vendor/bundle/gems/rake-12.3.3/lib/rake/linked_list.rb +0 -112
  697. data/vendor/bundle/gems/rake-12.3.3/lib/rake/loaders/makefile.rb +0 -54
  698. data/vendor/bundle/gems/rake-12.3.3/lib/rake/multi_task.rb +0 -14
  699. data/vendor/bundle/gems/rake-12.3.3/lib/rake/name_space.rb +0 -38
  700. data/vendor/bundle/gems/rake-12.3.3/lib/rake/packagetask.rb +0 -207
  701. data/vendor/bundle/gems/rake-12.3.3/lib/rake/phony.rb +0 -16
  702. data/vendor/bundle/gems/rake-12.3.3/lib/rake/private_reader.rb +0 -21
  703. data/vendor/bundle/gems/rake-12.3.3/lib/rake/promise.rb +0 -100
  704. data/vendor/bundle/gems/rake-12.3.3/lib/rake/pseudo_status.rb +0 -30
  705. data/vendor/bundle/gems/rake-12.3.3/lib/rake/rake_module.rb +0 -67
  706. data/vendor/bundle/gems/rake-12.3.3/lib/rake/rake_test_loader.rb +0 -27
  707. data/vendor/bundle/gems/rake-12.3.3/lib/rake/rule_recursion_overflow_error.rb +0 -20
  708. data/vendor/bundle/gems/rake-12.3.3/lib/rake/scope.rb +0 -43
  709. data/vendor/bundle/gems/rake-12.3.3/lib/rake/task.rb +0 -413
  710. data/vendor/bundle/gems/rake-12.3.3/lib/rake/task_argument_error.rb +0 -8
  711. data/vendor/bundle/gems/rake-12.3.3/lib/rake/task_arguments.rb +0 -109
  712. data/vendor/bundle/gems/rake-12.3.3/lib/rake/task_manager.rb +0 -324
  713. data/vendor/bundle/gems/rake-12.3.3/lib/rake/tasklib.rb +0 -12
  714. data/vendor/bundle/gems/rake-12.3.3/lib/rake/testtask.rb +0 -224
  715. data/vendor/bundle/gems/rake-12.3.3/lib/rake/thread_history_display.rb +0 -49
  716. data/vendor/bundle/gems/rake-12.3.3/lib/rake/thread_pool.rb +0 -163
  717. data/vendor/bundle/gems/rake-12.3.3/lib/rake/trace_output.rb +0 -23
  718. data/vendor/bundle/gems/rake-12.3.3/lib/rake/version.rb +0 -10
  719. data/vendor/bundle/gems/rake-12.3.3/lib/rake/win32.rb +0 -51
  720. data/vendor/bundle/gems/rake-12.3.3/lib/rake.rb +0 -71
  721. data/vendor/bundle/gems/rake-12.3.3/rake.gemspec +0 -42
  722. data/vendor/bundle/gems/rspec-3.9.0/LICENSE.md +0 -27
  723. data/vendor/bundle/gems/rspec-3.9.0/README.md +0 -43
  724. data/vendor/bundle/gems/rspec-3.9.0/lib/rspec/version.rb +0 -5
  725. data/vendor/bundle/gems/rspec-3.9.0/lib/rspec.rb +0 -3
  726. data/vendor/bundle/gems/rspec-core-3.9.1/.document +0 -5
  727. data/vendor/bundle/gems/rspec-core-3.9.1/.yardopts +0 -8
  728. data/vendor/bundle/gems/rspec-core-3.9.1/Changelog.md +0 -2274
  729. data/vendor/bundle/gems/rspec-core-3.9.1/LICENSE.md +0 -26
  730. data/vendor/bundle/gems/rspec-core-3.9.1/README.md +0 -384
  731. data/vendor/bundle/gems/rspec-core-3.9.1/exe/rspec +0 -4
  732. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/autorun.rb +0 -3
  733. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/backtrace_formatter.rb +0 -65
  734. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/bisect/coordinator.rb +0 -62
  735. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/bisect/example_minimizer.rb +0 -173
  736. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/bisect/fork_runner.rb +0 -135
  737. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/bisect/server.rb +0 -61
  738. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/bisect/shell_command.rb +0 -126
  739. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/bisect/shell_runner.rb +0 -73
  740. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/bisect/utilities.rb +0 -58
  741. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb +0 -2336
  742. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/configuration_options.rb +0 -233
  743. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/did_you_mean.rb +0 -46
  744. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/drb.rb +0 -113
  745. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/dsl.rb +0 -98
  746. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/example.rb +0 -656
  747. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb +0 -889
  748. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/example_status_persister.rb +0 -235
  749. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/filter_manager.rb +0 -231
  750. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/flat_map.rb +0 -20
  751. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_bisect_formatter.rb +0 -45
  752. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_formatter.rb +0 -70
  753. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_text_formatter.rb +0 -75
  754. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/bisect_drb_formatter.rb +0 -29
  755. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -157
  756. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/console_codes.rb +0 -68
  757. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  758. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/documentation_formatter.rb +0 -102
  759. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/exception_presenter.rb +0 -508
  760. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/failure_list_formatter.rb +0 -23
  761. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  762. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/helpers.rb +0 -110
  763. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_formatter.rb +0 -153
  764. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_printer.rb +0 -414
  765. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -120
  766. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/json_formatter.rb +0 -102
  767. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  768. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/progress_formatter.rb +0 -29
  769. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/protocol.rb +0 -182
  770. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/snippet_extractor.rb +0 -134
  771. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters/syntax_highlighter.rb +0 -91
  772. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/formatters.rb +0 -272
  773. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb +0 -632
  774. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/invocations.rb +0 -87
  775. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/memoized_helpers.rb +0 -554
  776. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb +0 -498
  777. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/metadata_filter.rb +0 -255
  778. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  779. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  780. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  781. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/null.rb +0 -14
  782. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  783. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  784. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/notifications.rb +0 -521
  785. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/option_parser.rb +0 -316
  786. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/ordering.rb +0 -158
  787. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/output_wrapper.rb +0 -29
  788. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/pending.rb +0 -165
  789. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/profiler.rb +0 -34
  790. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer/.rspec +0 -1
  791. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -100
  792. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer.rb +0 -48
  793. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/rake_task.rb +0 -188
  794. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb +0 -265
  795. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/ruby_project.rb +0 -53
  796. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb +0 -204
  797. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/sandbox.rb +0 -37
  798. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/set.rb +0 -54
  799. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/shared_context.rb +0 -55
  800. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb +0 -269
  801. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/shell_escape.rb +0 -49
  802. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  803. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/version.rb +0 -9
  804. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/warnings.rb +0 -40
  805. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core/world.rb +0 -275
  806. data/vendor/bundle/gems/rspec-core-3.9.1/lib/rspec/core.rb +0 -186
  807. data/vendor/bundle/gems/rspec-expectations-3.9.0/.document +0 -5
  808. data/vendor/bundle/gems/rspec-expectations-3.9.0/.yardopts +0 -6
  809. data/vendor/bundle/gems/rspec-expectations-3.9.0/Changelog.md +0 -1170
  810. data/vendor/bundle/gems/rspec-expectations-3.9.0/LICENSE.md +0 -25
  811. data/vendor/bundle/gems/rspec-expectations-3.9.0/README.md +0 -320
  812. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations/block_snippet_extractor.rb +0 -253
  813. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations/configuration.rb +0 -215
  814. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations/expectation_target.rb +0 -127
  815. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations/fail_with.rb +0 -39
  816. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations/failure_aggregator.rb +0 -194
  817. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations/handler.rb +0 -170
  818. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations/minitest_integration.rb +0 -58
  819. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations/syntax.rb +0 -132
  820. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations/version.rb +0 -8
  821. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/expectations.rb +0 -82
  822. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/aliased_matcher.rb +0 -116
  823. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/all.rb +0 -86
  824. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/base_matcher.rb +0 -193
  825. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be.rb +0 -288
  826. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be_between.rb +0 -77
  827. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be_instance_of.rb +0 -26
  828. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be_kind_of.rb +0 -20
  829. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/be_within.rb +0 -72
  830. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/change.rb +0 -428
  831. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/compound.rb +0 -276
  832. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/contain_exactly.rb +0 -302
  833. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/cover.rb +0 -24
  834. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/eq.rb +0 -40
  835. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/eql.rb +0 -34
  836. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/equal.rb +0 -81
  837. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/exist.rb +0 -90
  838. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/has.rb +0 -103
  839. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  840. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/include.rb +0 -149
  841. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/match.rb +0 -106
  842. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/operators.rb +0 -128
  843. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/output.rb +0 -200
  844. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/raise_error.rb +0 -230
  845. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/respond_to.rb +0 -174
  846. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/satisfy.rb +0 -60
  847. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  848. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  849. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in/yield.rb +0 -432
  850. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/built_in.rb +0 -52
  851. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/composable.rb +0 -171
  852. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/dsl.rb +0 -534
  853. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/english_phrasing.rb +0 -58
  854. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -82
  855. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/fail_matchers.rb +0 -42
  856. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/generated_descriptions.rb +0 -41
  857. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/matcher_delegator.rb +0 -35
  858. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers/matcher_protocol.rb +0 -99
  859. data/vendor/bundle/gems/rspec-expectations-3.9.0/lib/rspec/matchers.rb +0 -1038
  860. data/vendor/bundle/gems/rspec-mocks-3.9.1/.document +0 -5
  861. data/vendor/bundle/gems/rspec-mocks-3.9.1/.yardopts +0 -6
  862. data/vendor/bundle/gems/rspec-mocks-3.9.1/Changelog.md +0 -1133
  863. data/vendor/bundle/gems/rspec-mocks-3.9.1/LICENSE.md +0 -25
  864. data/vendor/bundle/gems/rspec-mocks-3.9.1/README.md +0 -463
  865. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/chain.rb +0 -111
  866. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  867. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -31
  868. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -50
  869. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  870. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  871. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/recorder.rb +0 -294
  872. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain.rb +0 -51
  873. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -23
  874. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance.rb +0 -11
  875. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  876. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_matchers.rb +0 -322
  877. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/configuration.rb +0 -212
  878. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/error_generator.rb +0 -369
  879. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/example_methods.rb +0 -434
  880. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/instance_method_stasher.rb +0 -146
  881. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/marshal_extension.rb +0 -41
  882. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  883. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/have_received.rb +0 -134
  884. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive.rb +0 -132
  885. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
  886. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
  887. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_chain.rb +0 -87
  888. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb +0 -751
  889. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_double.rb +0 -287
  890. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_reference.rb +0 -202
  891. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/minitest_integration.rb +0 -68
  892. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/mutate_const.rb +0 -339
  893. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/object_reference.rb +0 -149
  894. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/order_group.rb +0 -81
  895. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/proxy.rb +0 -503
  896. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/space.rb +0 -238
  897. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/standalone.rb +0 -3
  898. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/syntax.rb +0 -325
  899. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/targets.rb +0 -124
  900. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/test_double.rb +0 -171
  901. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_double.rb +0 -129
  902. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  903. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_proxy.rb +0 -220
  904. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks/version.rb +0 -9
  905. data/vendor/bundle/gems/rspec-mocks-3.9.1/lib/rspec/mocks.rb +0 -130
  906. data/vendor/bundle/gems/rspec-support-3.9.2/Changelog.md +0 -292
  907. data/vendor/bundle/gems/rspec-support-3.9.2/LICENSE.md +0 -23
  908. data/vendor/bundle/gems/rspec-support-3.9.2/README.md +0 -40
  909. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/caller_filter.rb +0 -83
  910. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/comparable_version.rb +0 -46
  911. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/differ.rb +0 -215
  912. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/directory_maker.rb +0 -63
  913. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/encoded_string.rb +0 -161
  914. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/fuzzy_matcher.rb +0 -48
  915. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/hunk_generator.rb +0 -47
  916. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/matcher_definition.rb +0 -42
  917. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/method_signature_verifier.rb +0 -438
  918. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/mutex.rb +0 -73
  919. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/object_formatter.rb +0 -275
  920. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/recursive_const_methods.rb +0 -76
  921. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/reentrant_mutex.rb +0 -53
  922. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/ruby_features.rb +0 -185
  923. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/source/location.rb +0 -21
  924. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/source/node.rb +0 -110
  925. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/source/token.rb +0 -87
  926. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/source.rb +0 -75
  927. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  928. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec/formatting_support.rb +0 -9
  929. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec/in_sub_process.rb +0 -69
  930. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec/library_wide_checks.rb +0 -150
  931. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec/shell_out.rb +0 -89
  932. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec/stderr_splitter.rb +0 -67
  933. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec/string_matcher.rb +0 -46
  934. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
  935. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  936. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/spec.rb +0 -81
  937. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/version.rb +0 -7
  938. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support/warnings.rb +0 -39
  939. data/vendor/bundle/gems/rspec-support-3.9.2/lib/rspec/support.rb +0 -149
  940. data/vendor/bundle/gems/unf-0.1.4/.gitignore +0 -17
  941. data/vendor/bundle/gems/unf-0.1.4/.travis.yml +0 -17
  942. data/vendor/bundle/gems/unf-0.1.4/CHANGELOG.md +0 -46
  943. data/vendor/bundle/gems/unf-0.1.4/Gemfile +0 -4
  944. data/vendor/bundle/gems/unf-0.1.4/LICENSE +0 -24
  945. data/vendor/bundle/gems/unf-0.1.4/README.md +0 -39
  946. data/vendor/bundle/gems/unf-0.1.4/Rakefile +0 -21
  947. data/vendor/bundle/gems/unf-0.1.4/lib/unf/normalizer.rb +0 -35
  948. data/vendor/bundle/gems/unf-0.1.4/lib/unf/normalizer_cruby.rb +0 -1
  949. data/vendor/bundle/gems/unf-0.1.4/lib/unf/normalizer_jruby.rb +0 -30
  950. data/vendor/bundle/gems/unf-0.1.4/lib/unf/version.rb +0 -3
  951. data/vendor/bundle/gems/unf-0.1.4/lib/unf.rb +0 -38
  952. data/vendor/bundle/gems/unf-0.1.4/test/helper.rb +0 -18
  953. data/vendor/bundle/gems/unf-0.1.4/test/normalization-test.txt +0 -108816
  954. data/vendor/bundle/gems/unf-0.1.4/test/test_unf.rb +0 -41
  955. data/vendor/bundle/gems/unf-0.1.4/unf.gemspec +0 -35
  956. data/vendor/bundle/gems/unf_ext-0.0.7.6/.document +0 -5
  957. data/vendor/bundle/gems/unf_ext-0.0.7.6/.gitignore +0 -19
  958. data/vendor/bundle/gems/unf_ext-0.0.7.6/.travis.yml +0 -24
  959. data/vendor/bundle/gems/unf_ext-0.0.7.6/CHANGELOG.md +0 -42
  960. data/vendor/bundle/gems/unf_ext-0.0.7.6/Gemfile +0 -4
  961. data/vendor/bundle/gems/unf_ext-0.0.7.6/LICENSE.txt +0 -22
  962. data/vendor/bundle/gems/unf_ext-0.0.7.6/README.md +0 -57
  963. data/vendor/bundle/gems/unf_ext-0.0.7.6/Rakefile +0 -31
  964. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/.sitearchdir.time +0 -0
  965. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/extconf.rb +0 -50
  966. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/normalizer.hh +0 -139
  967. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/table.hh +0 -13617
  968. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/trie/char_stream.hh +0 -150
  969. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/trie/node.hh +0 -25
  970. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/trie/searcher.hh +0 -194
  971. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/unf/util.hh +0 -24
  972. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/unf.cc +0 -75
  973. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/unf.o +0 -0
  974. data/vendor/bundle/gems/unf_ext-0.0.7.6/ext/unf_ext/unf_ext.bundle +0 -0
  975. data/vendor/bundle/gems/unf_ext-0.0.7.6/lib/unf_ext/version.rb +0 -5
  976. data/vendor/bundle/gems/unf_ext-0.0.7.6/lib/unf_ext.bundle +0 -0
  977. data/vendor/bundle/gems/unf_ext-0.0.7.6/lib/unf_ext.rb +0 -5
  978. data/vendor/bundle/gems/unf_ext-0.0.7.6/test/helper.rb +0 -18
  979. data/vendor/bundle/gems/unf_ext-0.0.7.6/test/normalization-test.txt +0 -112332
  980. data/vendor/bundle/gems/unf_ext-0.0.7.6/test/test_unf_ext.rb +0 -41
  981. data/vendor/bundle/gems/unf_ext-0.0.7.6/unf_ext.gemspec +0 -42
  982. data/vendor/bundle/gems/webrobots-0.1.2/.document +0 -4
  983. data/vendor/bundle/gems/webrobots-0.1.2/.gitignore +0 -11
  984. data/vendor/bundle/gems/webrobots-0.1.2/.travis.yml +0 -17
  985. data/vendor/bundle/gems/webrobots-0.1.2/Gemfile +0 -4
  986. data/vendor/bundle/gems/webrobots-0.1.2/LICENSE.txt +0 -24
  987. data/vendor/bundle/gems/webrobots-0.1.2/README.rdoc +0 -38
  988. data/vendor/bundle/gems/webrobots-0.1.2/Rakefile +0 -29
  989. data/vendor/bundle/gems/webrobots-0.1.2/lib/webrobots/nokogiri.rb +0 -32
  990. data/vendor/bundle/gems/webrobots-0.1.2/lib/webrobots/robotstxt.rb +0 -752
  991. data/vendor/bundle/gems/webrobots-0.1.2/lib/webrobots/robotstxt.ry +0 -487
  992. data/vendor/bundle/gems/webrobots-0.1.2/lib/webrobots/version.rb +0 -3
  993. data/vendor/bundle/gems/webrobots-0.1.2/lib/webrobots.rb +0 -213
  994. data/vendor/bundle/gems/webrobots-0.1.2/test/helper.rb +0 -25
  995. data/vendor/bundle/gems/webrobots-0.1.2/test/simplecov_start.rb +0 -9
  996. data/vendor/bundle/gems/webrobots-0.1.2/test/test_webrobots.rb +0 -806
  997. data/vendor/bundle/gems/webrobots-0.1.2/test/vcr_cassettes/major_sites.yml +0 -2006
  998. data/vendor/bundle/gems/webrobots-0.1.2/webrobots.gemspec +0 -46
  999. data/vendor/bundle/specifications/connection_pool-2.2.2.gemspec +0 -38
  1000. data/vendor/bundle/specifications/diff-lcs-1.3.gemspec +0 -61
  1001. data/vendor/bundle/specifications/domain_name-0.5.20190701.gemspec +0 -46
  1002. data/vendor/bundle/specifications/http-cookie-1.0.3.gemspec +0 -52
  1003. data/vendor/bundle/specifications/mechanize-2.7.6.gemspec +0 -69
  1004. data/vendor/bundle/specifications/mime-types-3.3.1.gemspec +0 -85
  1005. data/vendor/bundle/specifications/mime-types-data-3.2019.1009.gemspec +0 -60
  1006. data/vendor/bundle/specifications/mini_portile2-2.4.0.gemspec +0 -48
  1007. data/vendor/bundle/specifications/net-http-digest_auth-1.4.1.gemspec +0 -43
  1008. data/vendor/bundle/specifications/net-http-persistent-3.1.0.gemspec +0 -52
  1009. data/vendor/bundle/specifications/nokogiri-1.10.7.gemspec +0 -85
  1010. data/vendor/bundle/specifications/ntlm-http-0.1.1.gemspec +0 -24
  1011. data/vendor/bundle/specifications/rake-12.3.3.gemspec +0 -49
  1012. data/vendor/bundle/specifications/rspec-3.9.0.gemspec +0 -43
  1013. data/vendor/bundle/specifications/rspec-core-3.9.1.gemspec +0 -63
  1014. data/vendor/bundle/specifications/rspec-expectations-3.9.0.gemspec +0 -51
  1015. data/vendor/bundle/specifications/rspec-mocks-3.9.1.gemspec +0 -51
  1016. data/vendor/bundle/specifications/rspec-support-3.9.2.gemspec +0 -39
  1017. data/vendor/bundle/specifications/unf-0.1.4.gemspec +0 -46
  1018. data/vendor/bundle/specifications/unf_ext-0.0.7.6.gemspec +0 -51
  1019. data/vendor/bundle/specifications/webrobots-0.1.2.gemspec +0 -65
@@ -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 */