tdiary 5.0.9 → 5.0.10

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 (4114) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +3 -0
  3. data/Gemfile.lock +28 -28
  4. data/README.md +1 -1
  5. data/lib/tdiary/cli.rb +1 -1
  6. data/lib/tdiary/rack/auth.rb +1 -1
  7. data/lib/tdiary/version.rb +1 -1
  8. data/misc/paas/heroku/Gemfile.lock +46 -49
  9. data/public/index.rdf +36 -0
  10. data/tdiary.conf +211 -0
  11. metadata +4 -4105
  12. data/vendor/bundle/bin/coveralls +0 -27
  13. data/vendor/bundle/bin/emot +0 -27
  14. data/vendor/bundle/bin/hikidoc +0 -27
  15. data/vendor/bundle/bin/htmldiff +0 -29
  16. data/vendor/bundle/bin/jasmine +0 -27
  17. data/vendor/bundle/bin/launchy +0 -27
  18. data/vendor/bundle/bin/ldiff +0 -29
  19. data/vendor/bundle/bin/nokogiri +0 -27
  20. data/vendor/bundle/bin/pit +0 -27
  21. data/vendor/bundle/bin/racksh +0 -27
  22. data/vendor/bundle/bin/rackup +0 -27
  23. data/vendor/bundle/bin/rake +0 -27
  24. data/vendor/bundle/bin/redcarpet +0 -27
  25. data/vendor/bundle/bin/rspec +0 -27
  26. data/vendor/bundle/bin/sequel +0 -27
  27. data/vendor/bundle/bin/sprockets +0 -27
  28. data/vendor/bundle/bin/term_cdiff +0 -27
  29. data/vendor/bundle/bin/term_colortab +0 -27
  30. data/vendor/bundle/bin/term_decolor +0 -27
  31. data/vendor/bundle/bin/term_display +0 -27
  32. data/vendor/bundle/bin/term_mandel +0 -27
  33. data/vendor/bundle/bin/thor +0 -27
  34. data/vendor/bundle/cache/addressable-2.5.2.gem +0 -0
  35. data/vendor/bundle/cache/capybara-3.2.1.gem +0 -0
  36. data/vendor/bundle/cache/childprocess-0.9.0.gem +0 -0
  37. data/vendor/bundle/cache/concurrent-ruby-1.0.5.gem +0 -0
  38. data/vendor/bundle/cache/coveralls-0.8.21.gem +0 -0
  39. data/vendor/bundle/cache/diff-lcs-1.3.gem +0 -0
  40. data/vendor/bundle/cache/docile-1.1.5.gem +0 -0
  41. data/vendor/bundle/cache/emot-0.0.4.gem +0 -0
  42. data/vendor/bundle/cache/faraday-0.15.1.gem +0 -0
  43. data/vendor/bundle/cache/fastimage-2.1.3.gem +0 -0
  44. data/vendor/bundle/cache/ffi-1.9.23.gem +0 -0
  45. data/vendor/bundle/cache/hikidoc-0.1.0.gem +0 -0
  46. data/vendor/bundle/cache/jasmine-2.99.0.gem +0 -0
  47. data/vendor/bundle/cache/jasmine-core-2.99.2.gem +0 -0
  48. data/vendor/bundle/cache/launchy-2.4.3.gem +0 -0
  49. data/vendor/bundle/cache/mail-2.7.0.gem +0 -0
  50. data/vendor/bundle/cache/mini_mime-1.0.0.gem +0 -0
  51. data/vendor/bundle/cache/mini_portile2-2.3.0.gem +0 -0
  52. data/vendor/bundle/cache/multipart-post-2.0.0.gem +0 -0
  53. data/vendor/bundle/cache/nokogiri-1.8.2.gem +0 -0
  54. data/vendor/bundle/cache/octokit-4.9.0.gem +0 -0
  55. data/vendor/bundle/cache/phantomjs-2.1.1.0.gem +0 -0
  56. data/vendor/bundle/cache/pit-0.0.7.gem +0 -0
  57. data/vendor/bundle/cache/power_assert-1.1.1.gem +0 -0
  58. data/vendor/bundle/cache/public_suffix-3.0.2.gem +0 -0
  59. data/vendor/bundle/cache/rack-2.0.5.gem +0 -0
  60. data/vendor/bundle/cache/rack-test-1.0.0.gem +0 -0
  61. data/vendor/bundle/cache/racksh-1.0.0.gem +0 -0
  62. data/vendor/bundle/cache/rake-12.3.1.gem +0 -0
  63. data/vendor/bundle/cache/redcarpet-3.4.0.gem +0 -0
  64. data/vendor/bundle/cache/rspec-3.7.0.gem +0 -0
  65. data/vendor/bundle/cache/rspec-core-3.7.1.gem +0 -0
  66. data/vendor/bundle/cache/rspec-expectations-3.7.0.gem +0 -0
  67. data/vendor/bundle/cache/rspec-mocks-3.7.0.gem +0 -0
  68. data/vendor/bundle/cache/rspec-support-3.7.1.gem +0 -0
  69. data/vendor/bundle/cache/rubyzip-1.2.1.gem +0 -0
  70. data/vendor/bundle/cache/sawyer-0.8.1.gem +0 -0
  71. data/vendor/bundle/cache/selenium-webdriver-3.12.0.gem +0 -0
  72. data/vendor/bundle/cache/sequel-5.9.0.gem +0 -0
  73. data/vendor/bundle/cache/simplecov-0.14.1.gem +0 -0
  74. data/vendor/bundle/cache/simplecov-html-0.10.2.gem +0 -0
  75. data/vendor/bundle/cache/sprockets-3.7.2.gem +0 -0
  76. data/vendor/bundle/cache/sqlite3-1.3.13.gem +0 -0
  77. data/vendor/bundle/cache/term-ansicolor-1.6.0.gem +0 -0
  78. data/vendor/bundle/cache/test-unit-3.2.8.gem +0 -0
  79. data/vendor/bundle/cache/thor-0.19.4.gem +0 -0
  80. data/vendor/bundle/cache/tins-1.16.3.gem +0 -0
  81. data/vendor/bundle/cache/xpath-3.1.0.gem +0 -0
  82. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/ffi-1.9.23/ffi_c.so +0 -0
  83. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/ffi-1.9.23/gem.build_complete +0 -0
  84. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/ffi-1.9.23/gem_make.out +0 -64
  85. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/ffi-1.9.23/mkmf.log +0 -449
  86. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/nokogiri-1.8.2/gem.build_complete +0 -0
  87. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/nokogiri-1.8.2/gem_make.out +0 -695
  88. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/nokogiri-1.8.2/mkmf.log +0 -538
  89. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/nokogiri-1.8.2/nokogiri/nokogiri.so +0 -0
  90. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/redcarpet-3.4.0/gem.build_complete +0 -0
  91. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/redcarpet-3.4.0/gem_make.out +0 -106
  92. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/redcarpet-3.4.0/redcarpet.so +0 -0
  93. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/sqlite3-1.3.13/gem.build_complete +0 -0
  94. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/sqlite3-1.3.13/gem_make.out +0 -33
  95. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/sqlite3-1.3.13/mkmf.log +0 -578
  96. data/vendor/bundle/extensions/x86_64-linux/2.5.0-static/sqlite3-1.3.13/sqlite3/sqlite3_native.so +0 -0
  97. data/vendor/bundle/gems/addressable-2.5.2/CHANGELOG.md +0 -216
  98. data/vendor/bundle/gems/addressable-2.5.2/Gemfile +0 -32
  99. data/vendor/bundle/gems/addressable-2.5.2/LICENSE.txt +0 -202
  100. data/vendor/bundle/gems/addressable-2.5.2/README.md +0 -121
  101. data/vendor/bundle/gems/addressable-2.5.2/Rakefile +0 -32
  102. data/vendor/bundle/gems/addressable-2.5.2/data/unicode.data +0 -0
  103. data/vendor/bundle/gems/addressable-2.5.2/lib/addressable.rb +0 -2
  104. data/vendor/bundle/gems/addressable-2.5.2/lib/addressable/idna.rb +0 -25
  105. data/vendor/bundle/gems/addressable-2.5.2/lib/addressable/idna/native.rb +0 -59
  106. data/vendor/bundle/gems/addressable-2.5.2/lib/addressable/idna/pure.rb +0 -677
  107. data/vendor/bundle/gems/addressable-2.5.2/lib/addressable/template.rb +0 -1065
  108. data/vendor/bundle/gems/addressable-2.5.2/lib/addressable/uri.rb +0 -2492
  109. data/vendor/bundle/gems/addressable-2.5.2/lib/addressable/version.rb +0 -30
  110. data/vendor/bundle/gems/addressable-2.5.2/spec/addressable/idna_spec.rb +0 -298
  111. data/vendor/bundle/gems/addressable-2.5.2/spec/addressable/net_http_compat_spec.rb +0 -28
  112. data/vendor/bundle/gems/addressable-2.5.2/spec/addressable/rack_mount_compat_spec.rb +0 -104
  113. data/vendor/bundle/gems/addressable-2.5.2/spec/addressable/security_spec.rb +0 -57
  114. data/vendor/bundle/gems/addressable-2.5.2/spec/addressable/template_spec.rb +0 -1419
  115. data/vendor/bundle/gems/addressable-2.5.2/spec/addressable/uri_spec.rb +0 -6468
  116. data/vendor/bundle/gems/addressable-2.5.2/spec/spec_helper.rb +0 -21
  117. data/vendor/bundle/gems/addressable-2.5.2/tasks/clobber.rake +0 -2
  118. data/vendor/bundle/gems/addressable-2.5.2/tasks/gem.rake +0 -91
  119. data/vendor/bundle/gems/addressable-2.5.2/tasks/git.rake +0 -45
  120. data/vendor/bundle/gems/addressable-2.5.2/tasks/metrics.rake +0 -22
  121. data/vendor/bundle/gems/addressable-2.5.2/tasks/rspec.rake +0 -21
  122. data/vendor/bundle/gems/addressable-2.5.2/tasks/yard.rake +0 -27
  123. data/vendor/bundle/gems/capybara-3.2.1/History.md +0 -1232
  124. data/vendor/bundle/gems/capybara-3.2.1/License.txt +0 -22
  125. data/vendor/bundle/gems/capybara-3.2.1/README.md +0 -1091
  126. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara.rb +0 -504
  127. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/config.rb +0 -88
  128. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/cucumber.rb +0 -27
  129. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/driver/base.rb +0 -160
  130. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/driver/node.rb +0 -114
  131. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/dsl.rb +0 -57
  132. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/helpers.rb +0 -78
  133. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/minitest.rb +0 -279
  134. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/minitest/spec.rb +0 -180
  135. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/node/actions.rb +0 -334
  136. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/node/base.rb +0 -129
  137. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/node/document.rb +0 -36
  138. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/node/document_matchers.rb +0 -69
  139. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/node/element.rb +0 -407
  140. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/node/finders.rb +0 -313
  141. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/node/matchers.rb +0 -699
  142. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/node/simple.rb +0 -181
  143. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/queries/ancestor_query.rb +0 -29
  144. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/queries/base_query.rb +0 -99
  145. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/queries/current_path_query.rb +0 -51
  146. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/queries/match_query.rb +0 -25
  147. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/queries/selector_query.rb +0 -304
  148. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/queries/sibling_query.rb +0 -25
  149. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/queries/text_query.rb +0 -102
  150. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/queries/title_query.rb +0 -39
  151. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rack_test/browser.rb +0 -127
  152. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rack_test/css_handlers.rb +0 -13
  153. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rack_test/driver.rb +0 -101
  154. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rack_test/form.rb +0 -122
  155. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rack_test/node.rb +0 -253
  156. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rails.rb +0 -16
  157. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/result.rb +0 -163
  158. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rspec.rb +0 -29
  159. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rspec/compound.rb +0 -92
  160. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rspec/features.rb +0 -25
  161. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rspec/matcher_proxies.rb +0 -61
  162. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/rspec/matchers.rb +0 -385
  163. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selector.rb +0 -458
  164. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selector/css.rb +0 -27
  165. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selector/filter.rb +0 -4
  166. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selector/filter_set.rb +0 -73
  167. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selector/filters/base.rb +0 -57
  168. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selector/filters/expression_filter.rb +0 -21
  169. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selector/filters/node_filter.rb +0 -17
  170. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selector/selector.rb +0 -422
  171. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selenium/driver.rb +0 -414
  172. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/selenium/node.rb +0 -337
  173. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/server.rb +0 -124
  174. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/server/animation_disabler.rb +0 -43
  175. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/server/middleware.rb +0 -55
  176. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/session.rb +0 -891
  177. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/session/config.rb +0 -104
  178. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/session/matchers.rb +0 -80
  179. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/fixtures/another_test_file.txt +0 -1
  180. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/fixtures/capybara.jpg +0 -3
  181. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/fixtures/no_extension +0 -1
  182. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/fixtures/test_file.txt +0 -1
  183. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/public/jquery-ui.js +0 -13
  184. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/public/jquery.js +0 -5
  185. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/public/test.js +0 -166
  186. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/accept_alert_spec.rb +0 -81
  187. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/accept_confirm_spec.rb +0 -32
  188. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/accept_prompt_spec.rb +0 -79
  189. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/all_spec.rb +0 -183
  190. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/ancestor_spec.rb +0 -83
  191. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/assert_all_of_selectors_spec.rb +0 -111
  192. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/assert_current_path_spec.rb +0 -72
  193. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/assert_selector_spec.rb +0 -149
  194. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/assert_text_spec.rb +0 -234
  195. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/assert_title_spec.rb +0 -93
  196. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/attach_file_spec.rb +0 -168
  197. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/body_spec.rb +0 -23
  198. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/check_spec.rb +0 -196
  199. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/choose_spec.rb +0 -101
  200. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/click_button_spec.rb +0 -451
  201. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/click_link_or_button_spec.rb +0 -112
  202. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/click_link_spec.rb +0 -206
  203. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/current_scope_spec.rb +0 -31
  204. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/current_url_spec.rb +0 -116
  205. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/dismiss_confirm_spec.rb +0 -36
  206. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/dismiss_prompt_spec.rb +0 -21
  207. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/element/assert_match_selector_spec.rb +0 -38
  208. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/element/match_css_spec.rb +0 -25
  209. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/element/match_xpath_spec.rb +0 -25
  210. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/element/matches_selector_spec.rb +0 -108
  211. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/evaluate_async_script_spec.rb +0 -23
  212. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/evaluate_script_spec.rb +0 -29
  213. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/execute_script_spec.rb +0 -27
  214. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/fill_in_spec.rb +0 -235
  215. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/find_button_spec.rb +0 -74
  216. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/find_by_id_spec.rb +0 -33
  217. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/find_field_spec.rb +0 -111
  218. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/find_link_spec.rb +0 -52
  219. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/find_spec.rb +0 -441
  220. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/first_spec.rb +0 -155
  221. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/frame/frame_title_spec.rb +0 -23
  222. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/frame/frame_url_spec.rb +0 -23
  223. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/frame/switch_to_frame_spec.rb +0 -104
  224. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/frame/within_frame_spec.rb +0 -87
  225. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/go_back_spec.rb +0 -12
  226. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/go_forward_spec.rb +0 -14
  227. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_all_selectors_spec.rb +0 -69
  228. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_button_spec.rb +0 -69
  229. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_css_spec.rb +0 -241
  230. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_current_path_spec.rb +0 -136
  231. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_field_spec.rb +0 -310
  232. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_link_spec.rb +0 -39
  233. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_none_selectors_spec.rb +0 -78
  234. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_select_spec.rb +0 -282
  235. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_selector_spec.rb +0 -177
  236. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_table_spec.rb +0 -32
  237. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_text_spec.rb +0 -327
  238. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_title_spec.rb +0 -66
  239. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/has_xpath_spec.rb +0 -131
  240. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/headers_spec.rb +0 -8
  241. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/html_spec.rb +0 -40
  242. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/node_spec.rb +0 -613
  243. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/node_wrapper_spec.rb +0 -36
  244. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/refresh_spec.rb +0 -32
  245. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/reset_session_spec.rb +0 -133
  246. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/response_code_spec.rb +0 -8
  247. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/save_and_open_page_spec.rb +0 -21
  248. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +0 -43
  249. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/save_page_spec.rb +0 -107
  250. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/save_screenshot_spec.rb +0 -53
  251. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/screenshot_spec.rb +0 -18
  252. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/select_spec.rb +0 -229
  253. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/selectors_spec.rb +0 -67
  254. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/sibling_spec.rb +0 -52
  255. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/source_spec.rb +0 -0
  256. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/text_spec.rb +0 -72
  257. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/title_spec.rb +0 -27
  258. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/uncheck_spec.rb +0 -88
  259. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/unselect_spec.rb +0 -116
  260. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/visit_spec.rb +0 -205
  261. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/window/become_closed_spec.rb +0 -86
  262. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/window/current_window_spec.rb +0 -27
  263. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/window/open_new_window_spec.rb +0 -30
  264. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/window/switch_to_window_spec.rb +0 -128
  265. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/window/window_opened_by_spec.rb +0 -94
  266. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/window/window_spec.rb +0 -184
  267. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/window/windows_spec.rb +0 -29
  268. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/window/within_window_spec.rb +0 -156
  269. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/session/within_spec.rb +0 -174
  270. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/spec_helper.rb +0 -151
  271. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/test_app.rb +0 -198
  272. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/buttons.erb +0 -5
  273. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/fieldsets.erb +0 -30
  274. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/form.erb +0 -633
  275. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/frame_child.erb +0 -17
  276. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/frame_one.erb +0 -9
  277. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/frame_parent.erb +0 -9
  278. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/frame_two.erb +0 -9
  279. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/header_links.erb +0 -8
  280. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/host_links.erb +0 -13
  281. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/initial_alert.erb +0 -10
  282. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/path.erb +0 -13
  283. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/popup_one.erb +0 -9
  284. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/popup_two.erb +0 -9
  285. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/postback.erb +0 -14
  286. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/tables.erb +0 -63
  287. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_animation.erb +0 -46
  288. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_base_tag.erb +0 -11
  289. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_count.erb +0 -8
  290. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_fixed_header_footer.erb +0 -17
  291. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_hover.erb +0 -23
  292. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_html.erb +0 -175
  293. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_html_entities.erb +0 -2
  294. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_js.erb +0 -137
  295. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_scope.erb +0 -42
  296. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_simple_html.erb +0 -2
  297. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_slow_unload.erb +0 -17
  298. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_title.erb +0 -5
  299. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_unload_alert.erb +0 -14
  300. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/with_windows.erb +0 -54
  301. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/spec/views/within_frames.erb +0 -15
  302. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/version.rb +0 -5
  303. data/vendor/bundle/gems/capybara-3.2.1/lib/capybara/window.rb +0 -137
  304. data/vendor/bundle/gems/capybara-3.2.1/spec/basic_node_spec.rb +0 -143
  305. data/vendor/bundle/gems/capybara-3.2.1/spec/capybara_spec.rb +0 -112
  306. data/vendor/bundle/gems/capybara-3.2.1/spec/dsl_spec.rb +0 -264
  307. data/vendor/bundle/gems/capybara-3.2.1/spec/filter_set_spec.rb +0 -46
  308. data/vendor/bundle/gems/capybara-3.2.1/spec/fixtures/capybara.csv +0 -1
  309. data/vendor/bundle/gems/capybara-3.2.1/spec/fixtures/certificate.pem +0 -25
  310. data/vendor/bundle/gems/capybara-3.2.1/spec/fixtures/key.pem +0 -27
  311. data/vendor/bundle/gems/capybara-3.2.1/spec/fixtures/selenium_driver_rspec_failure.rb +0 -13
  312. data/vendor/bundle/gems/capybara-3.2.1/spec/fixtures/selenium_driver_rspec_success.rb +0 -13
  313. data/vendor/bundle/gems/capybara-3.2.1/spec/minitest_spec.rb +0 -131
  314. data/vendor/bundle/gems/capybara-3.2.1/spec/minitest_spec_spec.rb +0 -136
  315. data/vendor/bundle/gems/capybara-3.2.1/spec/per_session_config_spec.rb +0 -68
  316. data/vendor/bundle/gems/capybara-3.2.1/spec/rack_test_spec.rb +0 -231
  317. data/vendor/bundle/gems/capybara-3.2.1/spec/result_spec.rb +0 -194
  318. data/vendor/bundle/gems/capybara-3.2.1/spec/rspec/features_spec.rb +0 -96
  319. data/vendor/bundle/gems/capybara-3.2.1/spec/rspec/scenarios_spec.rb +0 -19
  320. data/vendor/bundle/gems/capybara-3.2.1/spec/rspec/shared_spec_matchers.rb +0 -939
  321. data/vendor/bundle/gems/capybara-3.2.1/spec/rspec/views_spec.rb +0 -14
  322. data/vendor/bundle/gems/capybara-3.2.1/spec/rspec_matchers_spec.rb +0 -62
  323. data/vendor/bundle/gems/capybara-3.2.1/spec/rspec_spec.rb +0 -127
  324. data/vendor/bundle/gems/capybara-3.2.1/spec/selector_spec.rb +0 -283
  325. data/vendor/bundle/gems/capybara-3.2.1/spec/selenium_spec_chrome.rb +0 -67
  326. data/vendor/bundle/gems/capybara-3.2.1/spec/selenium_spec_chrome_remote.rb +0 -56
  327. data/vendor/bundle/gems/capybara-3.2.1/spec/selenium_spec_edge.rb +0 -27
  328. data/vendor/bundle/gems/capybara-3.2.1/spec/selenium_spec_ie.rb +0 -31
  329. data/vendor/bundle/gems/capybara-3.2.1/spec/selenium_spec_marionette.rb +0 -147
  330. data/vendor/bundle/gems/capybara-3.2.1/spec/server_spec.rb +0 -242
  331. data/vendor/bundle/gems/capybara-3.2.1/spec/session_spec.rb +0 -75
  332. data/vendor/bundle/gems/capybara-3.2.1/spec/shared_selenium_session.rb +0 -287
  333. data/vendor/bundle/gems/capybara-3.2.1/spec/spec_helper.rb +0 -11
  334. data/vendor/bundle/gems/childprocess-0.9.0/CHANGELOG.md +0 -49
  335. data/vendor/bundle/gems/childprocess-0.9.0/Gemfile +0 -15
  336. data/vendor/bundle/gems/childprocess-0.9.0/LICENSE +0 -20
  337. data/vendor/bundle/gems/childprocess-0.9.0/README.md +0 -196
  338. data/vendor/bundle/gems/childprocess-0.9.0/Rakefile +0 -61
  339. data/vendor/bundle/gems/childprocess-0.9.0/appveyor.yml +0 -60
  340. data/vendor/bundle/gems/childprocess-0.9.0/childprocess.gemspec +0 -30
  341. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess.rb +0 -205
  342. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/abstract_io.rb +0 -36
  343. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/abstract_process.rb +0 -192
  344. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/errors.rb +0 -26
  345. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/jruby.rb +0 -56
  346. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/jruby/io.rb +0 -16
  347. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/jruby/process.rb +0 -159
  348. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/jruby/pump.rb +0 -53
  349. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/tools/generator.rb +0 -146
  350. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix.rb +0 -9
  351. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix/fork_exec_process.rb +0 -70
  352. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix/io.rb +0 -21
  353. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix/lib.rb +0 -186
  354. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix/platform/i386-linux.rb +0 -12
  355. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix/platform/i386-solaris.rb +0 -11
  356. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix/platform/x86_64-linux.rb +0 -12
  357. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix/platform/x86_64-macosx.rb +0 -11
  358. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix/posix_spawn_process.rb +0 -134
  359. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/unix/process.rb +0 -89
  360. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/version.rb +0 -3
  361. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/windows.rb +0 -33
  362. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/windows/handle.rb +0 -91
  363. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/windows/io.rb +0 -25
  364. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/windows/lib.rb +0 -416
  365. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/windows/process.rb +0 -130
  366. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/windows/process_builder.rb +0 -175
  367. data/vendor/bundle/gems/childprocess-0.9.0/lib/childprocess/windows/structs.rb +0 -149
  368. data/vendor/bundle/gems/childprocess-0.9.0/spec/abstract_io_spec.rb +0 -12
  369. data/vendor/bundle/gems/childprocess-0.9.0/spec/childprocess_spec.rb +0 -422
  370. data/vendor/bundle/gems/childprocess-0.9.0/spec/io_spec.rb +0 -228
  371. data/vendor/bundle/gems/childprocess-0.9.0/spec/jruby_spec.rb +0 -24
  372. data/vendor/bundle/gems/childprocess-0.9.0/spec/pid_behavior.rb +0 -12
  373. data/vendor/bundle/gems/childprocess-0.9.0/spec/platform_detection_spec.rb +0 -86
  374. data/vendor/bundle/gems/childprocess-0.9.0/spec/spec_helper.rb +0 -261
  375. data/vendor/bundle/gems/childprocess-0.9.0/spec/unix_spec.rb +0 -57
  376. data/vendor/bundle/gems/childprocess-0.9.0/spec/windows_spec.rb +0 -23
  377. data/vendor/bundle/gems/concurrent-ruby-1.0.5/CHANGELOG.md +0 -387
  378. data/vendor/bundle/gems/concurrent-ruby-1.0.5/LICENSE.txt +0 -21
  379. data/vendor/bundle/gems/concurrent-ruby-1.0.5/README.md +0 -247
  380. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent.rb +0 -130
  381. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/agent.rb +0 -587
  382. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/array.rb +0 -39
  383. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/async.rb +0 -445
  384. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atom.rb +0 -222
  385. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/abstract_thread_local_var.rb +0 -66
  386. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_boolean.rb +0 -122
  387. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_fixnum.rb +0 -139
  388. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_reference.rb +0 -51
  389. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/count_down_latch.rb +0 -100
  390. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/cyclic_barrier.rb +0 -128
  391. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb +0 -109
  392. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/java_count_down_latch.rb +0 -39
  393. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/java_thread_local_var.rb +0 -37
  394. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_atomic_boolean.rb +0 -60
  395. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_atomic_fixnum.rb +0 -75
  396. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_count_down_latch.rb +0 -43
  397. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_semaphore.rb +0 -115
  398. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/read_write_lock.rb +0 -253
  399. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/reentrant_read_write_lock.rb +0 -377
  400. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/ruby_thread_local_var.rb +0 -161
  401. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/semaphore.rb +0 -145
  402. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/thread_local_var.rb +0 -104
  403. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/concurrent_update_error.rb +0 -8
  404. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/direct_update.rb +0 -81
  405. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/jruby+truffle.rb +0 -2
  406. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/jruby.rb +0 -16
  407. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/mutex_atomic.rb +0 -61
  408. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/numeric_cas_wrapper.rb +0 -28
  409. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/rbx.rb +0 -22
  410. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/ruby.rb +0 -32
  411. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomics.rb +0 -53
  412. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/copy_on_notify_observer_set.rb +0 -107
  413. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/copy_on_write_observer_set.rb +0 -111
  414. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/java_non_concurrent_priority_queue.rb +0 -84
  415. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/atomic_reference_map_backend.rb +0 -927
  416. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/mri_map_backend.rb +0 -66
  417. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/non_concurrent_map_backend.rb +0 -141
  418. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/synchronized_map_backend.rb +0 -82
  419. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/non_concurrent_priority_queue.rb +0 -143
  420. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb +0 -150
  421. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/deprecation.rb +0 -34
  422. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/dereferenceable.rb +0 -73
  423. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/logging.rb +0 -27
  424. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb +0 -220
  425. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/observable.rb +0 -110
  426. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/configuration.rb +0 -188
  427. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/constants.rb +0 -8
  428. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/dataflow.rb +0 -80
  429. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/delay.rb +0 -197
  430. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/edge.rb +0 -26
  431. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/errors.rb +0 -69
  432. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/exchanger.rb +0 -356
  433. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/abstract_executor_service.rb +0 -134
  434. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/cached_thread_pool.rb +0 -62
  435. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/executor_service.rb +0 -185
  436. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/fixed_thread_pool.rb +0 -206
  437. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/immediate_executor.rb +0 -66
  438. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/indirect_immediate_executor.rb +0 -44
  439. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_executor_service.rb +0 -100
  440. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_single_thread_executor.rb +0 -29
  441. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_thread_pool_executor.rb +0 -120
  442. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_executor_service.rb +0 -78
  443. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_single_thread_executor.rb +0 -22
  444. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb +0 -362
  445. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb +0 -35
  446. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serial_executor_service.rb +0 -34
  447. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb +0 -107
  448. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution_delegator.rb +0 -28
  449. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/simple_executor_service.rb +0 -100
  450. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/single_thread_executor.rb +0 -56
  451. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/thread_pool_executor.rb +0 -87
  452. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/timer_set.rb +0 -175
  453. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executors.rb +0 -20
  454. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/future.rb +0 -138
  455. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/hash.rb +0 -36
  456. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/immutable_struct.rb +0 -93
  457. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/ivar.rb +0 -208
  458. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/lazy_register.rb +0 -81
  459. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/map.rb +0 -240
  460. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/maybe.rb +0 -229
  461. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/mutable_struct.rb +0 -228
  462. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/mvar.rb +0 -242
  463. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/options.rb +0 -42
  464. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/promise.rb +0 -547
  465. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/scheduled_task.rb +0 -318
  466. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/settable_struct.rb +0 -128
  467. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization.rb +0 -31
  468. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_lockable_object.rb +0 -98
  469. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_object.rb +0 -24
  470. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_struct.rb +0 -157
  471. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/condition.rb +0 -58
  472. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/jruby_lockable_object.rb +0 -13
  473. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/jruby_object.rb +0 -44
  474. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/lock.rb +0 -34
  475. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/lockable_object.rb +0 -74
  476. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb +0 -71
  477. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_object.rb +0 -43
  478. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/object.rb +0 -153
  479. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/rbx_lockable_object.rb +0 -65
  480. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/rbx_object.rb +0 -48
  481. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/truffle_lockable_object.rb +0 -9
  482. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/truffle_object.rb +0 -31
  483. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/volatile.rb +0 -34
  484. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/synchronized_delegator.rb +0 -50
  485. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util.rb +0 -16
  486. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/adder.rb +0 -74
  487. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/array_hash_rbx.rb +0 -30
  488. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/cheap_lockable.rb +0 -118
  489. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/power_of_two_tuple.rb +0 -38
  490. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/striped64.rb +0 -241
  491. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/volatile.rb +0 -75
  492. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/xor_shift_random.rb +0 -50
  493. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/timer_task.rb +0 -331
  494. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/tuple.rb +0 -86
  495. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/tvar.rb +0 -258
  496. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/at_exit.rb +0 -97
  497. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/engine.rb +0 -56
  498. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/monotonic_time.rb +0 -58
  499. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/native_extension_loader.rb +0 -73
  500. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/native_integer.rb +0 -53
  501. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/processor_counter.rb +0 -160
  502. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/version.rb +0 -4
  503. data/vendor/bundle/gems/coveralls-0.8.21/CHANGELOG.md +0 -21
  504. data/vendor/bundle/gems/coveralls-0.8.21/Gemfile +0 -41
  505. data/vendor/bundle/gems/coveralls-0.8.21/LICENSE +0 -22
  506. data/vendor/bundle/gems/coveralls-0.8.21/README.md +0 -3
  507. data/vendor/bundle/gems/coveralls-0.8.21/Rakefile +0 -14
  508. data/vendor/bundle/gems/coveralls-0.8.21/bin/coveralls +0 -9
  509. data/vendor/bundle/gems/coveralls-0.8.21/coveralls-ruby.gemspec +0 -29
  510. data/vendor/bundle/gems/coveralls-0.8.21/lib/coveralls.rb +0 -101
  511. data/vendor/bundle/gems/coveralls-0.8.21/lib/coveralls/api.rb +0 -128
  512. data/vendor/bundle/gems/coveralls-0.8.21/lib/coveralls/command.rb +0 -69
  513. data/vendor/bundle/gems/coveralls-0.8.21/lib/coveralls/configuration.rb +0 -230
  514. data/vendor/bundle/gems/coveralls-0.8.21/lib/coveralls/output.rb +0 -114
  515. data/vendor/bundle/gems/coveralls-0.8.21/lib/coveralls/rake/task.rb +0 -19
  516. data/vendor/bundle/gems/coveralls-0.8.21/lib/coveralls/simplecov.rb +0 -101
  517. data/vendor/bundle/gems/coveralls-0.8.21/lib/coveralls/version.rb +0 -3
  518. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/configuration_spec.rb +0 -355
  519. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/coveralls_spec.rb +0 -106
  520. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/fixtures/app/controllers/sample.rb +0 -12
  521. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/fixtures/app/models/airplane.rb +0 -10
  522. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/fixtures/app/models/dog.rb +0 -10
  523. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/fixtures/app/models/house.rb +0 -10
  524. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/fixtures/app/models/robot.rb +0 -10
  525. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/fixtures/app/models/user.rb +0 -10
  526. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/fixtures/app/vendor/vendored_gem.rb +0 -1
  527. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/fixtures/sample.rb +0 -12
  528. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/output_spec.rb +0 -92
  529. data/vendor/bundle/gems/coveralls-0.8.21/spec/coveralls/simplecov_spec.rb +0 -82
  530. data/vendor/bundle/gems/coveralls-0.8.21/spec/spec_helper.rb +0 -82
  531. data/vendor/bundle/gems/diff-lcs-1.3/Code-of-Conduct.md +0 -74
  532. data/vendor/bundle/gems/diff-lcs-1.3/Contributing.md +0 -83
  533. data/vendor/bundle/gems/diff-lcs-1.3/History.md +0 -220
  534. data/vendor/bundle/gems/diff-lcs-1.3/License.md +0 -39
  535. data/vendor/bundle/gems/diff-lcs-1.3/Manifest.txt +0 -37
  536. data/vendor/bundle/gems/diff-lcs-1.3/README.rdoc +0 -84
  537. data/vendor/bundle/gems/diff-lcs-1.3/Rakefile +0 -57
  538. data/vendor/bundle/gems/diff-lcs-1.3/autotest/discover.rb +0 -1
  539. data/vendor/bundle/gems/diff-lcs-1.3/bin/htmldiff +0 -32
  540. data/vendor/bundle/gems/diff-lcs-1.3/bin/ldiff +0 -6
  541. data/vendor/bundle/gems/diff-lcs-1.3/docs/COPYING.txt +0 -339
  542. data/vendor/bundle/gems/diff-lcs-1.3/docs/artistic.txt +0 -127
  543. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff-lcs.rb +0 -3
  544. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs.rb +0 -725
  545. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +0 -7
  546. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +0 -37
  547. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +0 -322
  548. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +0 -181
  549. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +0 -149
  550. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +0 -276
  551. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +0 -307
  552. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +0 -167
  553. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +0 -5
  554. data/vendor/bundle/gems/diff-lcs-1.3/spec/change_spec.rb +0 -65
  555. data/vendor/bundle/gems/diff-lcs-1.3/spec/diff_spec.rb +0 -47
  556. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +0 -50
  557. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +0 -51
  558. data/vendor/bundle/gems/diff-lcs-1.3/spec/hunk_spec.rb +0 -72
  559. data/vendor/bundle/gems/diff-lcs-1.3/spec/issues_spec.rb +0 -49
  560. data/vendor/bundle/gems/diff-lcs-1.3/spec/lcs_spec.rb +0 -56
  561. data/vendor/bundle/gems/diff-lcs-1.3/spec/ldiff_spec.rb +0 -47
  562. data/vendor/bundle/gems/diff-lcs-1.3/spec/patch_spec.rb +0 -422
  563. data/vendor/bundle/gems/diff-lcs-1.3/spec/sdiff_spec.rb +0 -214
  564. data/vendor/bundle/gems/diff-lcs-1.3/spec/spec_helper.rb +0 -321
  565. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +0 -310
  566. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +0 -139
  567. data/vendor/bundle/gems/docile-1.1.5/Gemfile +0 -4
  568. data/vendor/bundle/gems/docile-1.1.5/HISTORY.md +0 -61
  569. data/vendor/bundle/gems/docile-1.1.5/LICENSE +0 -21
  570. data/vendor/bundle/gems/docile-1.1.5/README.md +0 -241
  571. data/vendor/bundle/gems/docile-1.1.5/Rakefile +0 -28
  572. data/vendor/bundle/gems/docile-1.1.5/docile.gemspec +0 -43
  573. data/vendor/bundle/gems/docile-1.1.5/lib/docile.rb +0 -84
  574. data/vendor/bundle/gems/docile-1.1.5/lib/docile/chaining_fallback_context_proxy.rb +0 -20
  575. data/vendor/bundle/gems/docile-1.1.5/lib/docile/execution.rb +0 -35
  576. data/vendor/bundle/gems/docile-1.1.5/lib/docile/fallback_context_proxy.rb +0 -63
  577. data/vendor/bundle/gems/docile-1.1.5/lib/docile/version.rb +0 -4
  578. data/vendor/bundle/gems/docile-1.1.5/on_what.rb +0 -14
  579. data/vendor/bundle/gems/docile-1.1.5/spec/docile_spec.rb +0 -339
  580. data/vendor/bundle/gems/docile-1.1.5/spec/spec_helper.rb +0 -30
  581. data/vendor/bundle/gems/emot-0.0.4/Gemfile +0 -4
  582. data/vendor/bundle/gems/emot-0.0.4/LICENSE.txt +0 -22
  583. data/vendor/bundle/gems/emot-0.0.4/README.md +0 -87
  584. data/vendor/bundle/gems/emot-0.0.4/Rakefile +0 -7
  585. data/vendor/bundle/gems/emot-0.0.4/bin/emot +0 -5
  586. data/vendor/bundle/gems/emot-0.0.4/emot.gemspec +0 -26
  587. data/vendor/bundle/gems/emot-0.0.4/lib/emot.rb +0 -34
  588. data/vendor/bundle/gems/emot-0.0.4/lib/emot/cli.rb +0 -62
  589. data/vendor/bundle/gems/emot-0.0.4/lib/emot/map.rb +0 -894
  590. data/vendor/bundle/gems/emot-0.0.4/lib/emot/symbol_ext.rb +0 -11
  591. data/vendor/bundle/gems/emot-0.0.4/lib/emot/version.rb +0 -3
  592. data/vendor/bundle/gems/emot-0.0.4/spec/cli_spec.rb +0 -56
  593. data/vendor/bundle/gems/emot-0.0.4/spec/emot_spec.rb +0 -50
  594. data/vendor/bundle/gems/emot-0.0.4/spec/spec_helper.rb +0 -2
  595. data/vendor/bundle/gems/faraday-0.15.1/LICENSE.md +0 -20
  596. data/vendor/bundle/gems/faraday-0.15.1/README.md +0 -381
  597. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday.rb +0 -248
  598. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter.rb +0 -55
  599. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/em_http.rb +0 -243
  600. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/em_http_ssl_patch.rb +0 -56
  601. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/em_synchrony.rb +0 -106
  602. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/em_synchrony/parallel_manager.rb +0 -66
  603. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/excon.rb +0 -82
  604. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/httpclient.rb +0 -128
  605. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/net_http.rb +0 -145
  606. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/net_http_persistent.rb +0 -66
  607. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/patron.rb +0 -95
  608. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/rack.rb +0 -58
  609. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/test.rb +0 -213
  610. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/adapter/typhoeus.rb +0 -12
  611. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/autoload.rb +0 -84
  612. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/connection.rb +0 -484
  613. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/error.rb +0 -66
  614. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/middleware.rb +0 -37
  615. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/options.rb +0 -373
  616. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/parameters.rb +0 -197
  617. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/rack_builder.rb +0 -237
  618. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/request.rb +0 -94
  619. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/request/authorization.rb +0 -41
  620. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/request/basic_authentication.rb +0 -13
  621. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/request/instrumentation.rb +0 -36
  622. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/request/multipart.rb +0 -68
  623. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/request/retry.rb +0 -211
  624. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/request/token_authentication.rb +0 -15
  625. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/request/url_encoded.rb +0 -36
  626. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/response.rb +0 -97
  627. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/response/logger.rb +0 -80
  628. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/response/raise_error.rb +0 -21
  629. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/upload_io.rb +0 -67
  630. data/vendor/bundle/gems/faraday-0.15.1/lib/faraday/utils.rb +0 -326
  631. data/vendor/bundle/gems/fastimage-2.1.3/MIT-LICENSE +0 -20
  632. data/vendor/bundle/gems/fastimage-2.1.3/README.textile +0 -162
  633. data/vendor/bundle/gems/fastimage-2.1.3/lib/fastimage.rb +0 -770
  634. data/vendor/bundle/gems/ffi-1.9.23/COPYING +0 -49
  635. data/vendor/bundle/gems/ffi-1.9.23/Gemfile +0 -15
  636. data/vendor/bundle/gems/ffi-1.9.23/LICENSE +0 -24
  637. data/vendor/bundle/gems/ffi-1.9.23/LICENSE.SPECS +0 -22
  638. data/vendor/bundle/gems/ffi-1.9.23/README.md +0 -110
  639. data/vendor/bundle/gems/ffi-1.9.23/Rakefile +0 -268
  640. data/vendor/bundle/gems/ffi-1.9.23/appveyor.yml +0 -22
  641. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/AbstractMemory.c +0 -1109
  642. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/AbstractMemory.h +0 -175
  643. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/AbstractMemory.o +0 -0
  644. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/ArrayType.c +0 -162
  645. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/ArrayType.h +0 -59
  646. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/ArrayType.o +0 -0
  647. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Buffer.c +0 -365
  648. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Buffer.o +0 -0
  649. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Call.c +0 -496
  650. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Call.h +0 -101
  651. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Call.o +0 -0
  652. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Closure.c +0 -54
  653. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Closure.h +0 -47
  654. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Closure.o +0 -0
  655. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/DataConverter.c +0 -91
  656. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/DataConverter.o +0 -0
  657. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/DynamicLibrary.c +0 -339
  658. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/DynamicLibrary.h +0 -98
  659. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/DynamicLibrary.o +0 -0
  660. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Function.c +0 -989
  661. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Function.h +0 -86
  662. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Function.o +0 -0
  663. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/FunctionInfo.c +0 -267
  664. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/FunctionInfo.o +0 -0
  665. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/LastError.c +0 -184
  666. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/LastError.h +0 -47
  667. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/LastError.o +0 -0
  668. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/LongDouble.c +0 -63
  669. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/LongDouble.h +0 -51
  670. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/LongDouble.o +0 -0
  671. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Makefile +0 -263
  672. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/MappedType.c +0 -168
  673. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/MappedType.h +0 -59
  674. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/MappedType.o +0 -0
  675. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/MemoryPointer.c +0 -197
  676. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/MemoryPointer.h +0 -53
  677. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/MemoryPointer.o +0 -0
  678. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/MethodHandle.c +0 -123
  679. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/MethodHandle.h +0 -55
  680. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/MethodHandle.o +0 -0
  681. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Platform.c +0 -129
  682. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Platform.h +0 -45
  683. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Platform.o +0 -0
  684. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Pointer.c +0 -508
  685. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Pointer.h +0 -63
  686. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Pointer.o +0 -0
  687. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Struct.c +0 -829
  688. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Struct.h +0 -106
  689. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Struct.o +0 -0
  690. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/StructByReference.c +0 -190
  691. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/StructByReference.h +0 -50
  692. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/StructByReference.o +0 -0
  693. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/StructByValue.c +0 -150
  694. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/StructByValue.h +0 -55
  695. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/StructByValue.o +0 -0
  696. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/StructLayout.c +0 -698
  697. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/StructLayout.o +0 -0
  698. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Thread.c +0 -352
  699. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Thread.h +0 -95
  700. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Thread.o +0 -0
  701. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Type.c +0 -397
  702. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Type.h +0 -62
  703. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Type.o +0 -0
  704. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Types.c +0 -139
  705. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Types.h +0 -89
  706. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Types.o +0 -0
  707. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Variadic.c +0 -304
  708. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/Variadic.o +0 -0
  709. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/compat.h +0 -78
  710. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/extconf.h +0 -11
  711. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/extconf.rb +0 -71
  712. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/ffi.c +0 -98
  713. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/ffi.o +0 -0
  714. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/ffi_c.so +0 -0
  715. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi.bsd.mk +0 -40
  716. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi.darwin.mk +0 -105
  717. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi.gnu.mk +0 -32
  718. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi.mk +0 -18
  719. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi.vc.mk +0 -26
  720. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi.vc64.mk +0 -26
  721. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/ChangeLog.libffi +0 -584
  722. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/ChangeLog.libffi-3.1 +0 -6000
  723. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/ChangeLog.libgcj +0 -40
  724. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/ChangeLog.v1 +0 -764
  725. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/LICENSE +0 -21
  726. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/Makefile.am +0 -207
  727. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/Makefile.in +0 -1809
  728. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/README +0 -454
  729. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/acinclude.m4 +0 -479
  730. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/autogen.sh +0 -2
  731. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/config.guess +0 -1466
  732. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/config.sub +0 -1836
  733. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/configure +0 -21978
  734. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/configure.ac +0 -388
  735. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/configure.host +0 -284
  736. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/doc/Makefile.am +0 -3
  737. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/doc/Makefile.in +0 -811
  738. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/doc/libffi.texi +0 -985
  739. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/doc/version.texi +0 -4
  740. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/fficonfig.h.in +0 -210
  741. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +0 -203
  742. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/include/Makefile.am +0 -9
  743. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/include/Makefile.in +0 -604
  744. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/include/ffi.h.in +0 -489
  745. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/include/ffi_cfi.h +0 -55
  746. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/include/ffi_common.h +0 -147
  747. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/install-sh +0 -508
  748. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/libffi.map.in +0 -80
  749. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/libffi.pc.in +0 -11
  750. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +0 -1043
  751. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/libtool-ldflags +0 -106
  752. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/libtool-version +0 -29
  753. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/ltmain.sh +0 -11156
  754. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/asmcfi.m4 +0 -13
  755. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/ax_append_flag.m4 +0 -69
  756. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +0 -181
  757. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +0 -122
  758. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +0 -72
  759. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +0 -84
  760. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/ax_configure_args.m4 +0 -70
  761. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +0 -301
  762. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +0 -225
  763. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +0 -79
  764. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/man/Makefile.am +0 -8
  765. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/man/Makefile.in +0 -558
  766. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/man/ffi.3 +0 -41
  767. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/man/ffi_call.3 +0 -103
  768. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/man/ffi_prep_cif.3 +0 -68
  769. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +0 -73
  770. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/missing +0 -215
  771. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/msvcc.sh +0 -260
  772. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/aarch64/ffi.c +0 -964
  773. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/aarch64/ffitarget.h +0 -81
  774. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/aarch64/internal.h +0 -67
  775. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/aarch64/sysv.S +0 -438
  776. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/alpha/ffi.c +0 -521
  777. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/alpha/ffitarget.h +0 -57
  778. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/alpha/internal.h +0 -23
  779. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/alpha/osf.S +0 -282
  780. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/arc/arcompact.S +0 -135
  781. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/arc/ffi.c +0 -266
  782. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/arc/ffitarget.h +0 -53
  783. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/arm/ffi.c +0 -819
  784. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/arm/ffitarget.h +0 -82
  785. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/arm/internal.h +0 -7
  786. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/arm/sysv.S +0 -383
  787. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/avr32/ffi.c +0 -423
  788. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/avr32/ffitarget.h +0 -55
  789. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/avr32/sysv.S +0 -208
  790. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/bfin/ffi.c +0 -196
  791. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/bfin/ffitarget.h +0 -43
  792. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/bfin/sysv.S +0 -179
  793. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/closures.c +0 -936
  794. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/cris/ffi.c +0 -386
  795. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/cris/ffitarget.h +0 -56
  796. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/cris/sysv.S +0 -215
  797. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/debug.c +0 -64
  798. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/dlmalloc.c +0 -5166
  799. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/frv/eabi.S +0 -128
  800. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/frv/ffi.c +0 -292
  801. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/frv/ffitarget.h +0 -62
  802. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/ia64/ffi.c +0 -586
  803. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/ia64/ffitarget.h +0 -55
  804. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/ia64/ia64_flags.h +0 -40
  805. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/ia64/unix.S +0 -562
  806. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/java_raw_api.c +0 -374
  807. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/m32r/ffi.c +0 -232
  808. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/m32r/ffitarget.h +0 -53
  809. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/m32r/sysv.S +0 -121
  810. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/m68k/ffi.c +0 -362
  811. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/m68k/ffitarget.h +0 -54
  812. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/m68k/sysv.S +0 -357
  813. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/m88k/ffi.c +0 -400
  814. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/m88k/ffitarget.h +0 -49
  815. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/m88k/obsd.S +0 -209
  816. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/metag/ffi.c +0 -330
  817. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/metag/ffitarget.h +0 -53
  818. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/metag/sysv.S +0 -311
  819. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/microblaze/ffi.c +0 -321
  820. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/microblaze/ffitarget.h +0 -53
  821. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/microblaze/sysv.S +0 -302
  822. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/mips/ffi.c +0 -1113
  823. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/mips/ffitarget.h +0 -249
  824. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/mips/n32.S +0 -663
  825. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/mips/o32.S +0 -502
  826. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/moxie/eabi.S +0 -101
  827. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/moxie/ffi.c +0 -272
  828. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/moxie/ffitarget.h +0 -52
  829. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/nios2/ffi.c +0 -304
  830. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/nios2/ffitarget.h +0 -52
  831. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/nios2/sysv.S +0 -136
  832. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/or1k/ffi.c +0 -328
  833. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/or1k/ffitarget.h +0 -58
  834. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/or1k/sysv.S +0 -107
  835. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/pa/ffi.c +0 -719
  836. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/pa/ffitarget.h +0 -85
  837. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/pa/hpux32.S +0 -368
  838. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/pa/linux.S +0 -357
  839. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/aix.S +0 -566
  840. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/aix_closure.S +0 -694
  841. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/asm.h +0 -125
  842. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/darwin.S +0 -378
  843. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +0 -571
  844. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/ffi.c +0 -173
  845. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +0 -1440
  846. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +0 -945
  847. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +0 -94
  848. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +0 -923
  849. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/ffitarget.h +0 -198
  850. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/linux64.S +0 -228
  851. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +0 -488
  852. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +0 -397
  853. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/powerpc/sysv.S +0 -175
  854. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/prep_cif.c +0 -261
  855. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/raw_api.c +0 -267
  856. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/s390/ffi.c +0 -756
  857. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/s390/ffitarget.h +0 -70
  858. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/s390/internal.h +0 -11
  859. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/s390/sysv.S +0 -325
  860. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sh/ffi.c +0 -717
  861. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sh/ffitarget.h +0 -54
  862. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sh/sysv.S +0 -850
  863. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sh64/ffi.c +0 -469
  864. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sh64/ffitarget.h +0 -58
  865. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sh64/sysv.S +0 -539
  866. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sparc/ffi.c +0 -468
  867. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sparc/ffi64.c +0 -608
  868. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sparc/ffitarget.h +0 -81
  869. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sparc/internal.h +0 -26
  870. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sparc/v8.S +0 -443
  871. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/sparc/v9.S +0 -440
  872. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/tile/ffi.c +0 -355
  873. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/tile/ffitarget.h +0 -65
  874. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/tile/tile.S +0 -360
  875. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/types.c +0 -106
  876. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/vax/elfbsd.S +0 -195
  877. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/vax/ffi.c +0 -276
  878. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/vax/ffitarget.h +0 -49
  879. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/asmnames.h +0 -30
  880. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/ffi.c +0 -735
  881. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/ffi64.c +0 -878
  882. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/ffitarget.h +0 -141
  883. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/ffiw64.c +0 -287
  884. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/internal.h +0 -29
  885. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/internal64.h +0 -22
  886. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/sysv.S +0 -1043
  887. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/unix64.S +0 -525
  888. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/win64.S +0 -232
  889. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/x86/win64_intel.S +0 -237
  890. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/xtensa/ffi.c +0 -298
  891. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/xtensa/ffitarget.h +0 -53
  892. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/src/xtensa/sysv.S +0 -253
  893. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/stamp-h.in +0 -1
  894. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/Makefile.am +0 -86
  895. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/Makefile.in +0 -608
  896. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/config/default.exp +0 -1
  897. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/lib/libffi.exp +0 -446
  898. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +0 -283
  899. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +0 -45
  900. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +0 -46
  901. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +0 -30
  902. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +0 -89
  903. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +0 -81
  904. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +0 -81
  905. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +0 -82
  906. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +0 -89
  907. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +0 -92
  908. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +0 -90
  909. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +0 -95
  910. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/closure_simple.c +0 -55
  911. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +0 -94
  912. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +0 -95
  913. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +0 -96
  914. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +0 -102
  915. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +0 -89
  916. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +0 -91
  917. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +0 -93
  918. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +0 -113
  919. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +0 -90
  920. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +0 -95
  921. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +0 -90
  922. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +0 -90
  923. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_3float.c +0 -95
  924. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +0 -98
  925. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +0 -90
  926. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +0 -109
  927. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +0 -98
  928. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +0 -124
  929. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +0 -113
  930. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +0 -99
  931. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +0 -117
  932. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +0 -97
  933. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +0 -88
  934. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +0 -90
  935. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +0 -91
  936. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +0 -93
  937. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +0 -91
  938. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +0 -92
  939. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +0 -132
  940. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +0 -115
  941. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +0 -95
  942. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +0 -91
  943. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +0 -91
  944. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +0 -92
  945. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +0 -91
  946. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +0 -91
  947. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +0 -93
  948. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +0 -66
  949. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +0 -43
  950. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +0 -61
  951. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +0 -42
  952. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +0 -105
  953. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +0 -61
  954. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +0 -70
  955. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +0 -55
  956. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +0 -74
  957. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +0 -74
  958. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +0 -86
  959. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +0 -91
  960. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +0 -74
  961. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +0 -86
  962. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +0 -74
  963. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +0 -142
  964. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +0 -44
  965. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +0 -42
  966. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +0 -42
  967. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +0 -114
  968. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +0 -42
  969. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +0 -44
  970. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +0 -43
  971. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +0 -45
  972. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +0 -45
  973. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +0 -47
  974. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +0 -43
  975. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +0 -44
  976. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +0 -36
  977. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +0 -26
  978. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +0 -136
  979. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/float.c +0 -59
  980. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +0 -60
  981. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +0 -60
  982. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +0 -74
  983. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +0 -62
  984. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +0 -107
  985. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +0 -341
  986. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/many.c +0 -59
  987. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +0 -57
  988. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +0 -70
  989. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +0 -78
  990. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -52
  991. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +0 -152
  992. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +0 -161
  993. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +0 -133
  994. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +0 -121
  995. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +0 -110
  996. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +0 -111
  997. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +0 -111
  998. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +0 -112
  999. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +0 -131
  1000. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +0 -111
  1001. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +0 -131
  1002. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +0 -131
  1003. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +0 -46
  1004. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +0 -127
  1005. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +0 -90
  1006. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +0 -59
  1007. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c +0 -114
  1008. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +0 -36
  1009. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +0 -43
  1010. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +0 -42
  1011. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +0 -35
  1012. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +0 -36
  1013. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +0 -49
  1014. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +0 -42
  1015. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +0 -34
  1016. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +0 -41
  1017. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +0 -43
  1018. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +0 -36
  1019. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +0 -38
  1020. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +0 -38
  1021. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +0 -38
  1022. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +0 -145
  1023. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +0 -148
  1024. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +0 -124
  1025. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +0 -125
  1026. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +0 -44
  1027. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +0 -49
  1028. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +0 -49
  1029. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +0 -55
  1030. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +0 -67
  1031. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +0 -67
  1032. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +0 -60
  1033. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +0 -64
  1034. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +0 -66
  1035. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +0 -64
  1036. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +0 -74
  1037. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +0 -81
  1038. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +0 -68
  1039. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +0 -70
  1040. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +0 -61
  1041. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest.cc +0 -117
  1042. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc +0 -54
  1043. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +0 -196
  1044. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +0 -121
  1045. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +0 -123
  1046. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +0 -125
  1047. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +0 -91
  1048. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +0 -10
  1049. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +0 -10
  1050. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +0 -10
  1051. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +0 -42
  1052. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +0 -10
  1053. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +0 -10
  1054. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +0 -10
  1055. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +0 -71
  1056. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +0 -10
  1057. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +0 -10
  1058. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +0 -10
  1059. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +0 -80
  1060. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +0 -10
  1061. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +0 -16
  1062. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +0 -10
  1063. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp +0 -36
  1064. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +0 -51
  1065. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +0 -7
  1066. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +0 -7
  1067. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +0 -7
  1068. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +0 -10
  1069. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +0 -10
  1070. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +0 -86
  1071. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +0 -10
  1072. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +0 -1
  1073. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +0 -78
  1074. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +0 -10
  1075. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +0 -10
  1076. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +0 -10
  1077. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +0 -37
  1078. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +0 -41
  1079. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +0 -10
  1080. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +0 -10
  1081. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +0 -10
  1082. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +0 -44
  1083. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +0 -10
  1084. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +0 -10
  1085. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +0 -10
  1086. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +0 -10
  1087. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +0 -10
  1088. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +0 -10
  1089. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +0 -34
  1090. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +0 -28
  1091. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +0 -1
  1092. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +0 -36
  1093. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +0 -19
  1094. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/rbffi.h +0 -57
  1095. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/rbffi_endian.h +0 -59
  1096. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/win32/stdbool.h +0 -8
  1097. data/vendor/bundle/gems/ffi-1.9.23/ext/ffi_c/win32/stdint.h +0 -201
  1098. data/vendor/bundle/gems/ffi-1.9.23/ffi.gemspec +0 -36
  1099. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi.rb +0 -20
  1100. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/autopointer.rb +0 -203
  1101. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/buffer.rb +0 -4
  1102. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/callback.rb +0 -4
  1103. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/enum.rb +0 -296
  1104. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/errno.rb +0 -43
  1105. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/ffi.rb +0 -44
  1106. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/io.rb +0 -62
  1107. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/library.rb +0 -590
  1108. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/managedstruct.rb +0 -84
  1109. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/memorypointer.rb +0 -1
  1110. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform.rb +0 -164
  1111. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/aarch64-linux/types.conf +0 -104
  1112. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/arm-linux/types.conf +0 -104
  1113. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/i386-cygwin/types.conf +0 -3
  1114. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/i386-darwin/types.conf +0 -100
  1115. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/i386-freebsd/types.conf +0 -152
  1116. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/i386-gnu/types.conf +0 -107
  1117. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/i386-linux/types.conf +0 -103
  1118. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/i386-netbsd/types.conf +0 -126
  1119. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/i386-openbsd/types.conf +0 -128
  1120. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/i386-solaris/types.conf +0 -122
  1121. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/i386-windows/types.conf +0 -105
  1122. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/ia64-linux/types.conf +0 -104
  1123. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/mips-linux/types.conf +0 -102
  1124. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/mips64el-linux/types.conf +0 -104
  1125. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/mipsel-linux/types.conf +0 -102
  1126. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/powerpc-aix/types.conf +0 -180
  1127. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/powerpc-darwin/types.conf +0 -100
  1128. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/powerpc-linux/types.conf +0 -100
  1129. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/powerpc64-linux/types.conf +0 -104
  1130. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/s390-linux/types.conf +0 -102
  1131. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/s390x-linux/types.conf +0 -102
  1132. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/sparc-linux/types.conf +0 -102
  1133. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/sparc-solaris/types.conf +0 -128
  1134. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/sparc64-linux/types.conf +0 -102
  1135. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/sparcv9-solaris/types.conf +0 -128
  1136. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/x86_64-cygwin/types.conf +0 -3
  1137. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/x86_64-darwin/types.conf +0 -126
  1138. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/x86_64-freebsd/types.conf +0 -128
  1139. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/x86_64-linux/types.conf +0 -102
  1140. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/x86_64-netbsd/types.conf +0 -128
  1141. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/x86_64-openbsd/types.conf +0 -134
  1142. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/x86_64-solaris/types.conf +0 -122
  1143. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/platform/x86_64-windows/types.conf +0 -120
  1144. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/pointer.rb +0 -161
  1145. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/struct.rb +0 -371
  1146. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/struct_layout_builder.rb +0 -227
  1147. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/tools/const_generator.rb +0 -229
  1148. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/tools/generator.rb +0 -60
  1149. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/tools/generator_task.rb +0 -36
  1150. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/tools/struct_generator.rb +0 -194
  1151. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/tools/types_generator.rb +0 -134
  1152. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/types.rb +0 -194
  1153. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/union.rb +0 -43
  1154. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/variadic.rb +0 -78
  1155. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi/version.rb +0 -3
  1156. data/vendor/bundle/gems/ffi-1.9.23/lib/ffi_c.so +0 -0
  1157. data/vendor/bundle/gems/ffi-1.9.23/samples/getlogin.rb +0 -8
  1158. data/vendor/bundle/gems/ffi-1.9.23/samples/getpid.rb +0 -8
  1159. data/vendor/bundle/gems/ffi-1.9.23/samples/gettimeofday.rb +0 -18
  1160. data/vendor/bundle/gems/ffi-1.9.23/samples/hello.rb +0 -7
  1161. data/vendor/bundle/gems/ffi-1.9.23/samples/inotify.rb +0 -60
  1162. data/vendor/bundle/gems/ffi-1.9.23/samples/pty.rb +0 -76
  1163. data/vendor/bundle/gems/ffi-1.9.23/samples/qsort.rb +0 -21
  1164. data/vendor/bundle/gems/ffi-1.9.23/samples/sample_helper.rb +0 -6
  1165. data/vendor/bundle/gems/hikidoc-0.1.0/COPYING +0 -28
  1166. data/vendor/bundle/gems/hikidoc-0.1.0/Gemfile +0 -4
  1167. data/vendor/bundle/gems/hikidoc-0.1.0/NEWS +0 -30
  1168. data/vendor/bundle/gems/hikidoc-0.1.0/NEWS.ja +0 -30
  1169. data/vendor/bundle/gems/hikidoc-0.1.0/README +0 -87
  1170. data/vendor/bundle/gems/hikidoc-0.1.0/README.ja +0 -84
  1171. data/vendor/bundle/gems/hikidoc-0.1.0/Rakefile +0 -8
  1172. data/vendor/bundle/gems/hikidoc-0.1.0/TextFormattingRules +0 -320
  1173. data/vendor/bundle/gems/hikidoc-0.1.0/TextFormattingRules.ja +0 -318
  1174. data/vendor/bundle/gems/hikidoc-0.1.0/bin/hikidoc +0 -66
  1175. data/vendor/bundle/gems/hikidoc-0.1.0/hikidoc.gemspec +0 -23
  1176. data/vendor/bundle/gems/hikidoc-0.1.0/lib/hikidoc.rb +0 -912
  1177. data/vendor/bundle/gems/hikidoc-0.1.0/test/hikidoc_test.rb +0 -506
  1178. data/vendor/bundle/gems/jasmine-2.99.0/Gemfile +0 -30
  1179. data/vendor/bundle/gems/jasmine-2.99.0/HOW_TO_TEST.markdown +0 -10
  1180. data/vendor/bundle/gems/jasmine-2.99.0/MIT.LICENSE +0 -20
  1181. data/vendor/bundle/gems/jasmine-2.99.0/README.markdown +0 -96
  1182. data/vendor/bundle/gems/jasmine-2.99.0/RELEASE.markdown +0 -15
  1183. data/vendor/bundle/gems/jasmine-2.99.0/Rakefile +0 -49
  1184. data/vendor/bundle/gems/jasmine-2.99.0/bin/jasmine +0 -6
  1185. data/vendor/bundle/gems/jasmine-2.99.0/jasmine.gemspec +0 -48
  1186. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/examples/USAGE +0 -11
  1187. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/examples/examples_generator.rb +0 -19
  1188. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/examples/templates/app/assets/javascripts/jasmine_examples/Player.js +0 -22
  1189. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/examples/templates/app/assets/javascripts/jasmine_examples/Song.js +0 -7
  1190. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/examples/templates/spec/javascripts/helpers/jasmine_examples/SpecHelper.js +0 -15
  1191. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/examples/templates/spec/javascripts/jasmine_examples/PlayerSpec.js +0 -58
  1192. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/install/USAGE +0 -9
  1193. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/install/install_generator.rb +0 -18
  1194. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/install/templates/spec/javascripts/support/jasmine.yml +0 -145
  1195. data/vendor/bundle/gems/jasmine-2.99.0/lib/generators/jasmine/install/templates/spec/javascripts/support/jasmine_helper.rb +0 -16
  1196. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine.rb +0 -32
  1197. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/application.rb +0 -21
  1198. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/asset_expander.rb +0 -66
  1199. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/asset_pipeline_mapper.rb +0 -17
  1200. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/base.rb +0 -54
  1201. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/ci_runner.rb +0 -50
  1202. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/command_line_install.txt +0 -13
  1203. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/command_line_tool.rb +0 -125
  1204. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/config.rb +0 -135
  1205. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/configuration.rb +0 -114
  1206. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/core_configuration.rb +0 -31
  1207. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/dependencies.rb +0 -28
  1208. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/formatters/console.rb +0 -118
  1209. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/formatters/exit_code.rb +0 -23
  1210. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/formatters/multi.rb +0 -17
  1211. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/page.rb +0 -11
  1212. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/path_expander.rb +0 -22
  1213. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/path_mapper.rb +0 -38
  1214. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/railtie.rb +0 -22
  1215. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/result.rb +0 -58
  1216. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/ruby_versions.rb +0 -11
  1217. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/run.html.erb +0 -20
  1218. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/runners/phantom_boot.js +0 -15
  1219. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/runners/phantom_jasmine_run.js +0 -50
  1220. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/runners/phantom_js.rb +0 -74
  1221. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/server.rb +0 -17
  1222. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/tasks/jasmine.rake +0 -71
  1223. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/tasks/jasmine_rails.rake +0 -1
  1224. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/version.rb +0 -3
  1225. data/vendor/bundle/gems/jasmine-2.99.0/lib/jasmine/yaml_config_parser.rb +0 -95
  1226. data/vendor/bundle/gems/jasmine-2.99.0/lib/rack/jasmine/cache_control.rb +0 -20
  1227. data/vendor/bundle/gems/jasmine-2.99.0/lib/rack/jasmine/focused_suite.rb +0 -17
  1228. data/vendor/bundle/gems/jasmine-2.99.0/lib/rack/jasmine/runner.rb +0 -27
  1229. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v1.2.1.md +0 -6
  1230. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v1.3.2.md +0 -32
  1231. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.0.0.md +0 -78
  1232. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.0.1.md +0 -31
  1233. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.0.2.md +0 -17
  1234. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.0.3.md +0 -31
  1235. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.1.0.md +0 -11
  1236. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.2.0.md +0 -31
  1237. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.3.0.md +0 -27
  1238. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.3.1.md +0 -14
  1239. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.4.0.md +0 -20
  1240. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.5.0.md +0 -35
  1241. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.5.1.md +0 -12
  1242. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.5.2.md +0 -22
  1243. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.6.0.md +0 -17
  1244. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.6.1.md +0 -11
  1245. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.7.0.md +0 -28
  1246. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.8.0.md +0 -21
  1247. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.9.0.md +0 -22
  1248. data/vendor/bundle/gems/jasmine-2.99.0/release_notes/v2.99.md +0 -13
  1249. data/vendor/bundle/gems/jasmine-2.99.0/spec/application_integration_spec.rb +0 -15
  1250. data/vendor/bundle/gems/jasmine-2.99.0/spec/application_spec.rb +0 -55
  1251. data/vendor/bundle/gems/jasmine-2.99.0/spec/base_spec.rb +0 -35
  1252. data/vendor/bundle/gems/jasmine-2.99.0/spec/ci_runner_spec.rb +0 -137
  1253. data/vendor/bundle/gems/jasmine-2.99.0/spec/configuration_spec.rb +0 -219
  1254. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/Rakefile +0 -4
  1255. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/afterall_spec.js +0 -8
  1256. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/coffee_spec.coffee +0 -3
  1257. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/console_log_spec.js +0 -5
  1258. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/exception_test.js +0 -1
  1259. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/failing_runner.rb +0 -9
  1260. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/failing_test.js +0 -5
  1261. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/large_test_suite_spec.js +0 -20
  1262. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/non_asset_pipeline.js +0 -1
  1263. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/non_asset_pipeline_test.js +0 -5
  1264. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/phantomConfig.js +0 -6
  1265. data/vendor/bundle/gems/jasmine-2.99.0/spec/fixture/viewport_spec.js +0 -6
  1266. data/vendor/bundle/gems/jasmine-2.99.0/spec/jasmine_command_line_tool_spec.rb +0 -142
  1267. data/vendor/bundle/gems/jasmine-2.99.0/spec/jasmine_pojs_spec.rb +0 -124
  1268. data/vendor/bundle/gems/jasmine-2.99.0/spec/jasmine_rails_spec.rb +0 -217
  1269. data/vendor/bundle/gems/jasmine-2.99.0/spec/lib/jasmine/formatters/console_spec.rb +0 -205
  1270. data/vendor/bundle/gems/jasmine-2.99.0/spec/lib/jasmine/formatters/exit_code_spec.rb +0 -34
  1271. data/vendor/bundle/gems/jasmine-2.99.0/spec/lib/jasmine/formatters/multi_spec.rb +0 -27
  1272. data/vendor/bundle/gems/jasmine-2.99.0/spec/page_spec.rb +0 -23
  1273. data/vendor/bundle/gems/jasmine-2.99.0/spec/path_expander_spec.rb +0 -138
  1274. data/vendor/bundle/gems/jasmine-2.99.0/spec/path_mapper_spec.rb +0 -38
  1275. data/vendor/bundle/gems/jasmine-2.99.0/spec/performance/phantom_js_runner_performance_spec.rb +0 -23
  1276. data/vendor/bundle/gems/jasmine-2.99.0/spec/phantom_js_spec.rb +0 -14
  1277. data/vendor/bundle/gems/jasmine-2.99.0/spec/rack/jasmine/runner_spec.rb +0 -25
  1278. data/vendor/bundle/gems/jasmine-2.99.0/spec/result_spec.rb +0 -44
  1279. data/vendor/bundle/gems/jasmine-2.99.0/spec/server_spec.rb +0 -22
  1280. data/vendor/bundle/gems/jasmine-2.99.0/spec/spec_helper.rb +0 -145
  1281. data/vendor/bundle/gems/jasmine-2.99.0/spec/yaml_config_parser_spec.rb +0 -239
  1282. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/console/console.js +0 -190
  1283. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core.js +0 -37
  1284. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core.rb +0 -53
  1285. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/__init__.py +0 -1
  1286. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/boot.js +0 -155
  1287. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/boot/boot.js +0 -133
  1288. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/boot/node_boot.js +0 -19
  1289. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/core.py +0 -60
  1290. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/example/node_example/lib/jasmine_examples/Player.js +0 -24
  1291. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/example/node_example/lib/jasmine_examples/Song.js +0 -9
  1292. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/example/node_example/spec/helpers/jasmine_examples/SpecHelper.js +0 -15
  1293. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/example/node_example/spec/jasmine_examples/PlayerSpec.js +0 -60
  1294. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/example/spec/PlayerSpec.js +0 -58
  1295. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/example/spec/SpecHelper.js +0 -15
  1296. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/example/src/Player.js +0 -22
  1297. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/example/src/Song.js +0 -7
  1298. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/jasmine-html.js +0 -545
  1299. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/jasmine.css +0 -59
  1300. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/jasmine.js +0 -5586
  1301. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/json2.js +0 -489
  1302. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/node_boot.js +0 -41
  1303. data/vendor/bundle/gems/jasmine-core-2.99.2/lib/jasmine-core/version.rb +0 -9
  1304. data/vendor/bundle/gems/launchy-2.4.3/CONTRIBUTING.md +0 -59
  1305. data/vendor/bundle/gems/launchy-2.4.3/HISTORY.md +0 -160
  1306. data/vendor/bundle/gems/launchy-2.4.3/LICENSE +0 -16
  1307. data/vendor/bundle/gems/launchy-2.4.3/Manifest.txt +0 -38
  1308. data/vendor/bundle/gems/launchy-2.4.3/README.md +0 -136
  1309. data/vendor/bundle/gems/launchy-2.4.3/Rakefile +0 -25
  1310. data/vendor/bundle/gems/launchy-2.4.3/bin/launchy +0 -4
  1311. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy.rb +0 -152
  1312. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/application.rb +0 -62
  1313. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/applications/browser.rb +0 -82
  1314. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/argv.rb +0 -36
  1315. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/cli.rb +0 -89
  1316. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/deprecated.rb +0 -52
  1317. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/descendant_tracker.rb +0 -49
  1318. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect.rb +0 -10
  1319. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/host_os.rb +0 -32
  1320. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/host_os_family.rb +0 -71
  1321. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/nix_desktop_environment.rb +0 -92
  1322. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/ruby_engine.rb +0 -78
  1323. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/detect/runner.rb +0 -152
  1324. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/error.rb +0 -6
  1325. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/os_family.rb +0 -8
  1326. data/vendor/bundle/gems/launchy-2.4.3/lib/launchy/version.rb +0 -18
  1327. data/vendor/bundle/gems/launchy-2.4.3/spec/application_spec.rb +0 -43
  1328. data/vendor/bundle/gems/launchy-2.4.3/spec/applications/browser_spec.rb +0 -68
  1329. data/vendor/bundle/gems/launchy-2.4.3/spec/cli_spec.rb +0 -75
  1330. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/host_os_family_spec.rb +0 -40
  1331. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/host_os_spec.rb +0 -19
  1332. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/nix_desktop_environment_spec.rb +0 -36
  1333. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/ruby_engine_spec.rb +0 -37
  1334. data/vendor/bundle/gems/launchy-2.4.3/spec/detect/runner_spec.rb +0 -103
  1335. data/vendor/bundle/gems/launchy-2.4.3/spec/launchy_spec.rb +0 -110
  1336. data/vendor/bundle/gems/launchy-2.4.3/spec/mock_application.rb +0 -9
  1337. data/vendor/bundle/gems/launchy-2.4.3/spec/spec_helper.rb +0 -11
  1338. data/vendor/bundle/gems/launchy-2.4.3/spec/tattle-host-os.yaml +0 -427
  1339. data/vendor/bundle/gems/launchy-2.4.3/spec/version_spec.rb +0 -11
  1340. data/vendor/bundle/gems/launchy-2.4.3/tasks/default.rake +0 -272
  1341. data/vendor/bundle/gems/launchy-2.4.3/tasks/this.rb +0 -209
  1342. data/vendor/bundle/gems/mail-2.7.0/MIT-LICENSE +0 -20
  1343. data/vendor/bundle/gems/mail-2.7.0/README.md +0 -695
  1344. data/vendor/bundle/gems/mail-2.7.0/lib/mail.rb +0 -85
  1345. data/vendor/bundle/gems/mail-2.7.0/lib/mail/attachments_list.rb +0 -110
  1346. data/vendor/bundle/gems/mail-2.7.0/lib/mail/body.rb +0 -322
  1347. data/vendor/bundle/gems/mail-2.7.0/lib/mail/check_delivery_params.rb +0 -60
  1348. data/vendor/bundle/gems/mail-2.7.0/lib/mail/configuration.rb +0 -78
  1349. data/vendor/bundle/gems/mail-2.7.0/lib/mail/constants.rb +0 -57
  1350. data/vendor/bundle/gems/mail-2.7.0/lib/mail/core_extensions/smtp.rb +0 -28
  1351. data/vendor/bundle/gems/mail-2.7.0/lib/mail/core_extensions/string.rb +0 -17
  1352. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements.rb +0 -15
  1353. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/address.rb +0 -258
  1354. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/address_list.rb +0 -34
  1355. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/content_disposition_element.rb +0 -20
  1356. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/content_location_element.rb +0 -17
  1357. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/content_transfer_encoding_element.rb +0 -13
  1358. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/content_type_element.rb +0 -21
  1359. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/date_time_element.rb +0 -15
  1360. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/envelope_from_element.rb +0 -33
  1361. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/message_ids_element.rb +0 -22
  1362. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/mime_version_element.rb +0 -15
  1363. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/phrase_list.rb +0 -14
  1364. data/vendor/bundle/gems/mail-2.7.0/lib/mail/elements/received_element.rb +0 -21
  1365. data/vendor/bundle/gems/mail-2.7.0/lib/mail/encodings.rb +0 -343
  1366. data/vendor/bundle/gems/mail-2.7.0/lib/mail/encodings/7bit.rb +0 -22
  1367. data/vendor/bundle/gems/mail-2.7.0/lib/mail/encodings/8bit.rb +0 -18
  1368. data/vendor/bundle/gems/mail-2.7.0/lib/mail/encodings/base64.rb +0 -38
  1369. data/vendor/bundle/gems/mail-2.7.0/lib/mail/encodings/binary.rb +0 -13
  1370. data/vendor/bundle/gems/mail-2.7.0/lib/mail/encodings/identity.rb +0 -24
  1371. data/vendor/bundle/gems/mail-2.7.0/lib/mail/encodings/quoted_printable.rb +0 -45
  1372. data/vendor/bundle/gems/mail-2.7.0/lib/mail/encodings/transfer_encoding.rb +0 -77
  1373. data/vendor/bundle/gems/mail-2.7.0/lib/mail/encodings/unix_to_unix.rb +0 -19
  1374. data/vendor/bundle/gems/mail-2.7.0/lib/mail/envelope.rb +0 -31
  1375. data/vendor/bundle/gems/mail-2.7.0/lib/mail/field.rb +0 -297
  1376. data/vendor/bundle/gems/mail-2.7.0/lib/mail/field_list.rb +0 -34
  1377. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields.rb +0 -36
  1378. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/bcc_field.rb +0 -68
  1379. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/cc_field.rb +0 -55
  1380. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/comments_field.rb +0 -42
  1381. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/common/address_container.rb +0 -17
  1382. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/common/common_address.rb +0 -161
  1383. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/common/common_date.rb +0 -36
  1384. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/common/common_field.rb +0 -52
  1385. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/common/common_message_id.rb +0 -49
  1386. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/common/parameter_hash.rb +0 -59
  1387. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/content_description_field.rb +0 -20
  1388. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/content_disposition_field.rb +0 -71
  1389. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/content_id_field.rb +0 -63
  1390. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/content_location_field.rb +0 -43
  1391. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/content_transfer_encoding_field.rb +0 -45
  1392. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/content_type_field.rb +0 -197
  1393. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/date_field.rb +0 -57
  1394. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/from_field.rb +0 -55
  1395. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/in_reply_to_field.rb +0 -57
  1396. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/keywords_field.rb +0 -44
  1397. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/message_id_field.rb +0 -83
  1398. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/mime_version_field.rb +0 -54
  1399. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/optional_field.rb +0 -17
  1400. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/received_field.rb +0 -76
  1401. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/references_field.rb +0 -57
  1402. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/reply_to_field.rb +0 -55
  1403. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/resent_bcc_field.rb +0 -55
  1404. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/resent_cc_field.rb +0 -55
  1405. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/resent_date_field.rb +0 -35
  1406. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/resent_from_field.rb +0 -55
  1407. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/resent_message_id_field.rb +0 -35
  1408. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/resent_sender_field.rb +0 -62
  1409. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/resent_to_field.rb +0 -55
  1410. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/return_path_field.rb +0 -65
  1411. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/sender_field.rb +0 -67
  1412. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/structured_field.rb +0 -52
  1413. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/subject_field.rb +0 -17
  1414. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/to_field.rb +0 -55
  1415. data/vendor/bundle/gems/mail-2.7.0/lib/mail/fields/unstructured_field.rb +0 -222
  1416. data/vendor/bundle/gems/mail-2.7.0/lib/mail/header.rb +0 -278
  1417. data/vendor/bundle/gems/mail-2.7.0/lib/mail/indifferent_hash.rb +0 -147
  1418. data/vendor/bundle/gems/mail-2.7.0/lib/mail/mail.rb +0 -262
  1419. data/vendor/bundle/gems/mail-2.7.0/lib/mail/matchers/attachment_matchers.rb +0 -29
  1420. data/vendor/bundle/gems/mail-2.7.0/lib/mail/matchers/has_sent_mail.rb +0 -201
  1421. data/vendor/bundle/gems/mail-2.7.0/lib/mail/message.rb +0 -2171
  1422. data/vendor/bundle/gems/mail-2.7.0/lib/mail/multibyte.rb +0 -92
  1423. data/vendor/bundle/gems/mail-2.7.0/lib/mail/multibyte/chars.rb +0 -476
  1424. data/vendor/bundle/gems/mail-2.7.0/lib/mail/multibyte/unicode.rb +0 -405
  1425. data/vendor/bundle/gems/mail-2.7.0/lib/mail/multibyte/utils.rb +0 -61
  1426. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network.rb +0 -16
  1427. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/delivery_methods/exim.rb +0 -49
  1428. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/delivery_methods/file_delivery.rb +0 -42
  1429. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/delivery_methods/logger_delivery.rb +0 -37
  1430. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/delivery_methods/sendmail.rb +0 -95
  1431. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/delivery_methods/smtp.rb +0 -149
  1432. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/delivery_methods/smtp_connection.rb +0 -66
  1433. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/delivery_methods/test_mailer.rb +0 -42
  1434. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/retriever_methods/base.rb +0 -64
  1435. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/retriever_methods/imap.rb +0 -187
  1436. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/retriever_methods/pop3.rb +0 -143
  1437. data/vendor/bundle/gems/mail-2.7.0/lib/mail/network/retriever_methods/test_retriever.rb +0 -44
  1438. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parser_tools.rb +0 -15
  1439. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers.rb +0 -19
  1440. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/address_lists_parser.rb +0 -33207
  1441. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/address_lists_parser.rl +0 -172
  1442. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/content_disposition_parser.rb +0 -901
  1443. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/content_disposition_parser.rl +0 -82
  1444. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/content_location_parser.rb +0 -813
  1445. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/content_location_parser.rl +0 -71
  1446. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/content_transfer_encoding_parser.rb +0 -522
  1447. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/content_transfer_encoding_parser.rl +0 -64
  1448. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/content_type_parser.rb +0 -1045
  1449. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/content_type_parser.rl +0 -83
  1450. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/date_time_parser.rb +0 -886
  1451. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/date_time_parser.rl +0 -62
  1452. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/envelope_from_parser.rb +0 -3574
  1453. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/envelope_from_parser.rl +0 -82
  1454. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/message_ids_parser.rb +0 -2858
  1455. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/message_ids_parser.rl +0 -82
  1456. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/mime_version_parser.rb +0 -509
  1457. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/mime_version_parser.rl +0 -61
  1458. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/phrase_lists_parser.rb +0 -891
  1459. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/phrase_lists_parser.rl +0 -83
  1460. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/received_parser.rb +0 -8754
  1461. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/received_parser.rl +0 -84
  1462. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc2045_content_transfer_encoding.rl +0 -13
  1463. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc2045_content_type.rl +0 -25
  1464. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc2045_mime.rl +0 -16
  1465. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc2183_content_disposition.rl +0 -15
  1466. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc3629_utf8.rl +0 -19
  1467. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc5234_abnf_core_rules.rl +0 -22
  1468. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc5322.rl +0 -59
  1469. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc5322_address.rl +0 -72
  1470. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc5322_date_time.rl +0 -37
  1471. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parsers/rfc5322_lexical_tokens.rl +0 -60
  1472. data/vendor/bundle/gems/mail-2.7.0/lib/mail/part.rb +0 -123
  1473. data/vendor/bundle/gems/mail-2.7.0/lib/mail/parts_list.rb +0 -74
  1474. data/vendor/bundle/gems/mail-2.7.0/lib/mail/utilities.rb +0 -324
  1475. data/vendor/bundle/gems/mail-2.7.0/lib/mail/values/unicode_tables.dat +0 -0
  1476. data/vendor/bundle/gems/mail-2.7.0/lib/mail/version.rb +0 -17
  1477. data/vendor/bundle/gems/mail-2.7.0/lib/mail/version_specific/ruby_1_8.rb +0 -163
  1478. data/vendor/bundle/gems/mail-2.7.0/lib/mail/version_specific/ruby_1_9.rb +0 -278
  1479. data/vendor/bundle/gems/mini_mime-1.0.0/CHANGELOG +0 -28
  1480. data/vendor/bundle/gems/mini_mime-1.0.0/CODE_OF_CONDUCT.md +0 -74
  1481. data/vendor/bundle/gems/mini_mime-1.0.0/Gemfile +0 -6
  1482. data/vendor/bundle/gems/mini_mime-1.0.0/LICENSE.txt +0 -21
  1483. data/vendor/bundle/gems/mini_mime-1.0.0/README.md +0 -96
  1484. data/vendor/bundle/gems/mini_mime-1.0.0/Rakefile +0 -96
  1485. data/vendor/bundle/gems/mini_mime-1.0.0/bench/bench.rb +0 -52
  1486. data/vendor/bundle/gems/mini_mime-1.0.0/bin/console +0 -14
  1487. data/vendor/bundle/gems/mini_mime-1.0.0/bin/setup +0 -8
  1488. data/vendor/bundle/gems/mini_mime-1.0.0/lib/db/content_type_mime.db +0 -853
  1489. data/vendor/bundle/gems/mini_mime-1.0.0/lib/db/ext_mime.db +0 -1161
  1490. data/vendor/bundle/gems/mini_mime-1.0.0/lib/mini_mime.rb +0 -153
  1491. data/vendor/bundle/gems/mini_mime-1.0.0/lib/mini_mime/version.rb +0 -3
  1492. data/vendor/bundle/gems/mini_mime-1.0.0/mini_mime.gemspec +0 -28
  1493. data/vendor/bundle/gems/mini_portile2-2.3.0/CHANGELOG.md +0 -202
  1494. data/vendor/bundle/gems/mini_portile2-2.3.0/Gemfile +0 -4
  1495. data/vendor/bundle/gems/mini_portile2-2.3.0/LICENSE.txt +0 -20
  1496. data/vendor/bundle/gems/mini_portile2-2.3.0/README.md +0 -245
  1497. data/vendor/bundle/gems/mini_portile2-2.3.0/Rakefile +0 -29
  1498. data/vendor/bundle/gems/mini_portile2-2.3.0/appveyor.yml +0 -25
  1499. data/vendor/bundle/gems/mini_portile2-2.3.0/concourse/mini_portile.yml +0 -160
  1500. data/vendor/bundle/gems/mini_portile2-2.3.0/concourse/tasks/rake-test/task.ps1 +0 -13
  1501. data/vendor/bundle/gems/mini_portile2-2.3.0/concourse/tasks/rake-test/task.sh +0 -13
  1502. data/vendor/bundle/gems/mini_portile2-2.3.0/lib/mini_portile2.rb +0 -3
  1503. data/vendor/bundle/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb +0 -551
  1504. data/vendor/bundle/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile_cmake.rb +0 -40
  1505. data/vendor/bundle/gems/mini_portile2-2.3.0/lib/mini_portile2/version.rb +0 -3
  1506. data/vendor/bundle/gems/mini_portile2-2.3.0/mini_portile2.gemspec +0 -42
  1507. data/vendor/bundle/gems/mini_portile2-2.3.0/test/assets/git/config +0 -4
  1508. data/vendor/bundle/gems/mini_portile2-2.3.0/test/assets/gpg-fixtures/data +0 -1
  1509. data/vendor/bundle/gems/mini_portile2-2.3.0/test/assets/gpg-fixtures/data.asc +0 -9
  1510. data/vendor/bundle/gems/mini_portile2-2.3.0/test/assets/gpg-fixtures/data.invalid.asc +0 -9
  1511. data/vendor/bundle/gems/mini_portile2-2.3.0/test/assets/patch 1.diff +0 -7
  1512. data/vendor/bundle/gems/mini_portile2-2.3.0/test/assets/test mini portile-1.0.0/configure +0 -11
  1513. data/vendor/bundle/gems/mini_portile2-2.3.0/test/assets/test-cmake-1.0/CMakeLists.txt +0 -7
  1514. data/vendor/bundle/gems/mini_portile2-2.3.0/test/assets/test-cmake-1.0/hello.c +0 -4
  1515. data/vendor/bundle/gems/mini_portile2-2.3.0/test/assets/test-download-archive.tar.gz +0 -1
  1516. data/vendor/bundle/gems/mini_portile2-2.3.0/test/helper.rb +0 -60
  1517. data/vendor/bundle/gems/mini_portile2-2.3.0/test/test_cmake.rb +0 -64
  1518. data/vendor/bundle/gems/mini_portile2-2.3.0/test/test_cook.rb +0 -115
  1519. data/vendor/bundle/gems/mini_portile2-2.3.0/test/test_digest.rb +0 -215
  1520. data/vendor/bundle/gems/mini_portile2-2.3.0/test/test_download.rb +0 -71
  1521. data/vendor/bundle/gems/mini_portile2-2.3.0/test/test_proxy.rb +0 -121
  1522. data/vendor/bundle/gems/multipart-post-2.0.0/Gemfile +0 -14
  1523. data/vendor/bundle/gems/multipart-post-2.0.0/History.txt +0 -60
  1524. data/vendor/bundle/gems/multipart-post-2.0.0/Manifest.txt +0 -9
  1525. data/vendor/bundle/gems/multipart-post-2.0.0/README.md +0 -77
  1526. data/vendor/bundle/gems/multipart-post-2.0.0/Rakefile +0 -9
  1527. data/vendor/bundle/gems/multipart-post-2.0.0/lib/composite_io.rb +0 -108
  1528. data/vendor/bundle/gems/multipart-post-2.0.0/lib/multipart_post.rb +0 -9
  1529. data/vendor/bundle/gems/multipart-post-2.0.0/lib/multipartable.rb +0 -29
  1530. data/vendor/bundle/gems/multipart-post-2.0.0/lib/net/http/post/multipart.rb +0 -27
  1531. data/vendor/bundle/gems/multipart-post-2.0.0/lib/parts.rb +0 -96
  1532. data/vendor/bundle/gems/multipart-post-2.0.0/multipart-post.gemspec +0 -22
  1533. data/vendor/bundle/gems/multipart-post-2.0.0/test/multibyte.txt +0 -1
  1534. data/vendor/bundle/gems/multipart-post-2.0.0/test/net/http/post/test_multipart.rb +0 -110
  1535. data/vendor/bundle/gems/multipart-post-2.0.0/test/test_composite_io.rb +0 -115
  1536. data/vendor/bundle/gems/multipart-post-2.0.0/test/test_parts.rb +0 -86
  1537. data/vendor/bundle/gems/nokogiri-1.8.2/CHANGELOG.md +0 -1306
  1538. data/vendor/bundle/gems/nokogiri-1.8.2/CONTRIBUTING.md +0 -42
  1539. data/vendor/bundle/gems/nokogiri-1.8.2/C_CODING_STYLE.rdoc +0 -33
  1540. data/vendor/bundle/gems/nokogiri-1.8.2/Gemfile +0 -23
  1541. data/vendor/bundle/gems/nokogiri-1.8.2/Gemfile-libxml-ruby +0 -3
  1542. data/vendor/bundle/gems/nokogiri-1.8.2/LICENSE-DEPENDENCIES.md +0 -1612
  1543. data/vendor/bundle/gems/nokogiri-1.8.2/LICENSE.md +0 -31
  1544. data/vendor/bundle/gems/nokogiri-1.8.2/Manifest.txt +0 -365
  1545. data/vendor/bundle/gems/nokogiri-1.8.2/README.md +0 -173
  1546. data/vendor/bundle/gems/nokogiri-1.8.2/ROADMAP.md +0 -111
  1547. data/vendor/bundle/gems/nokogiri-1.8.2/Rakefile +0 -354
  1548. data/vendor/bundle/gems/nokogiri-1.8.2/STANDARD_RESPONSES.md +0 -47
  1549. data/vendor/bundle/gems/nokogiri-1.8.2/Y_U_NO_GEMSPEC.md +0 -155
  1550. data/vendor/bundle/gems/nokogiri-1.8.2/appveyor.yml +0 -29
  1551. data/vendor/bundle/gems/nokogiri-1.8.2/bin/nokogiri +0 -118
  1552. data/vendor/bundle/gems/nokogiri-1.8.2/build_all +0 -44
  1553. data/vendor/bundle/gems/nokogiri-1.8.2/dependencies.yml +0 -69
  1554. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/Makefile +0 -625
  1555. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/depend +0 -358
  1556. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/extconf.rb +0 -678
  1557. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_document.c +0 -170
  1558. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_document.h +0 -10
  1559. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_document.o +0 -0
  1560. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_element_description.c +0 -279
  1561. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_element_description.h +0 -10
  1562. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_element_description.o +0 -0
  1563. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_entity_lookup.c +0 -32
  1564. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_entity_lookup.h +0 -8
  1565. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_entity_lookup.o +0 -0
  1566. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_parser_context.c +0 -116
  1567. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_parser_context.h +0 -11
  1568. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_parser_context.o +0 -0
  1569. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_push_parser.c +0 -87
  1570. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_push_parser.h +0 -9
  1571. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_push_parser.o +0 -0
  1572. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/nokogiri.c +0 -141
  1573. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/nokogiri.h +0 -121
  1574. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/nokogiri.o +0 -0
  1575. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/nokogiri.so +0 -0
  1576. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_attr.c +0 -98
  1577. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_attr.h +0 -9
  1578. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_attr.o +0 -0
  1579. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_attribute_decl.c +0 -70
  1580. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_attribute_decl.h +0 -9
  1581. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_attribute_decl.o +0 -0
  1582. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_cdata.c +0 -60
  1583. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_cdata.h +0 -9
  1584. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_cdata.o +0 -0
  1585. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_comment.c +0 -69
  1586. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_comment.h +0 -9
  1587. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_comment.o +0 -0
  1588. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_document.c +0 -606
  1589. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_document.h +0 -23
  1590. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_document.o +0 -0
  1591. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_document_fragment.c +0 -48
  1592. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_document_fragment.h +0 -10
  1593. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_document_fragment.o +0 -0
  1594. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_dtd.c +0 -202
  1595. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_dtd.h +0 -10
  1596. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_dtd.o +0 -0
  1597. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_content.c +0 -123
  1598. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_content.h +0 -10
  1599. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_content.o +0 -0
  1600. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_decl.c +0 -69
  1601. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_decl.h +0 -9
  1602. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_decl.o +0 -0
  1603. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_encoding_handler.c +0 -79
  1604. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_encoding_handler.h +0 -8
  1605. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_encoding_handler.o +0 -0
  1606. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_decl.c +0 -110
  1607. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_decl.h +0 -10
  1608. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_decl.o +0 -0
  1609. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_reference.c +0 -52
  1610. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_reference.h +0 -9
  1611. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_reference.o +0 -0
  1612. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_io.c +0 -60
  1613. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_io.h +0 -11
  1614. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_io.o +0 -0
  1615. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  1616. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  1617. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_libxml2_hacks.o +0 -0
  1618. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_namespace.c +0 -117
  1619. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_namespace.h +0 -13
  1620. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_namespace.o +0 -0
  1621. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_node.c +0 -1682
  1622. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_node.h +0 -13
  1623. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_node.o +0 -0
  1624. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_node_set.c +0 -485
  1625. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_node_set.h +0 -13
  1626. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_node_set.o +0 -0
  1627. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_processing_instruction.c +0 -56
  1628. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_processing_instruction.h +0 -9
  1629. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_processing_instruction.o +0 -0
  1630. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_reader.c +0 -668
  1631. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_reader.h +0 -10
  1632. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_reader.o +0 -0
  1633. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_relax_ng.c +0 -161
  1634. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_relax_ng.h +0 -9
  1635. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_relax_ng.o +0 -0
  1636. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser.c +0 -310
  1637. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser.h +0 -39
  1638. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser.o +0 -0
  1639. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser_context.c +0 -262
  1640. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser_context.h +0 -10
  1641. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser_context.o +0 -0
  1642. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_push_parser.c +0 -159
  1643. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_push_parser.h +0 -9
  1644. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_push_parser.o +0 -0
  1645. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_schema.c +0 -205
  1646. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_schema.h +0 -9
  1647. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_schema.o +0 -0
  1648. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_syntax_error.c +0 -64
  1649. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_syntax_error.h +0 -13
  1650. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_syntax_error.o +0 -0
  1651. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_text.c +0 -52
  1652. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_text.h +0 -9
  1653. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_text.o +0 -0
  1654. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_xpath_context.c +0 -298
  1655. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_xpath_context.h +0 -10
  1656. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xml_xpath_context.o +0 -0
  1657. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xslt_stylesheet.c +0 -270
  1658. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xslt_stylesheet.h +0 -14
  1659. data/vendor/bundle/gems/nokogiri-1.8.2/ext/nokogiri/xslt_stylesheet.o +0 -0
  1660. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri.rb +0 -144
  1661. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/css.rb +0 -27
  1662. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/css/node.rb +0 -52
  1663. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/css/parser.rb +0 -732
  1664. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/css/parser.y +0 -261
  1665. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/css/parser_extras.rb +0 -91
  1666. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/css/syntax_error.rb +0 -7
  1667. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/css/tokenizer.rb +0 -152
  1668. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/css/tokenizer.rex +0 -55
  1669. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/css/xpath_visitor.rb +0 -223
  1670. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/decorators/slop.rb +0 -42
  1671. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html.rb +0 -37
  1672. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html/builder.rb +0 -35
  1673. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html/document.rb +0 -335
  1674. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html/document_fragment.rb +0 -39
  1675. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html/element_description.rb +0 -23
  1676. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html/element_description_defaults.rb +0 -671
  1677. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html/entity_lookup.rb +0 -13
  1678. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html/sax/parser.rb +0 -62
  1679. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html/sax/parser_context.rb +0 -16
  1680. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/html/sax/push_parser.rb +0 -36
  1681. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/nokogiri.so +0 -0
  1682. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/syntax_error.rb +0 -4
  1683. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/version.rb +0 -109
  1684. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml.rb +0 -75
  1685. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/attr.rb +0 -14
  1686. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/attribute_decl.rb +0 -18
  1687. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/builder.rb +0 -443
  1688. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/cdata.rb +0 -11
  1689. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/character_data.rb +0 -7
  1690. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/document.rb +0 -285
  1691. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/document_fragment.rb +0 -149
  1692. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/dtd.rb +0 -32
  1693. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/element_content.rb +0 -36
  1694. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/element_decl.rb +0 -13
  1695. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/entity_decl.rb +0 -19
  1696. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/entity_reference.rb +0 -18
  1697. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/namespace.rb +0 -13
  1698. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/node.rb +0 -832
  1699. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/node/save_options.rb +0 -61
  1700. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/node_set.rb +0 -327
  1701. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/notation.rb +0 -6
  1702. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/parse_options.rb +0 -120
  1703. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/pp.rb +0 -2
  1704. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/pp/character_data.rb +0 -18
  1705. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/pp/node.rb +0 -56
  1706. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/processing_instruction.rb +0 -8
  1707. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/reader.rb +0 -112
  1708. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/relax_ng.rb +0 -32
  1709. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax.rb +0 -4
  1710. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax/document.rb +0 -171
  1711. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax/parser.rb +0 -122
  1712. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax/parser_context.rb +0 -16
  1713. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax/push_parser.rb +0 -60
  1714. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/schema.rb +0 -63
  1715. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/searchable.rb +0 -230
  1716. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/syntax_error.rb +0 -70
  1717. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/text.rb +0 -9
  1718. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/xpath.rb +0 -10
  1719. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/xpath/syntax_error.rb +0 -11
  1720. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xml/xpath_context.rb +0 -16
  1721. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xslt.rb +0 -56
  1722. data/vendor/bundle/gems/nokogiri-1.8.2/lib/nokogiri/xslt/stylesheet.rb +0 -25
  1723. data/vendor/bundle/gems/nokogiri-1.8.2/lib/xsd/xmlparser/nokogiri.rb +0 -102
  1724. data/vendor/bundle/gems/nokogiri-1.8.2/patches/sort-patches-by-date +0 -25
  1725. data/vendor/bundle/gems/nokogiri-1.8.2/suppressions/README.txt +0 -1
  1726. data/vendor/bundle/gems/nokogiri-1.8.2/suppressions/nokogiri_ruby-2.supp +0 -10
  1727. data/vendor/bundle/gems/nokogiri-1.8.2/tasks/test.rb +0 -100
  1728. data/vendor/bundle/gems/nokogiri-1.8.2/test/css/test_nthiness.rb +0 -226
  1729. data/vendor/bundle/gems/nokogiri-1.8.2/test/css/test_parser.rb +0 -369
  1730. data/vendor/bundle/gems/nokogiri-1.8.2/test/css/test_tokenizer.rb +0 -215
  1731. data/vendor/bundle/gems/nokogiri-1.8.2/test/css/test_xpath_visitor.rb +0 -96
  1732. data/vendor/bundle/gems/nokogiri-1.8.2/test/decorators/test_slop.rb +0 -23
  1733. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/2ch.html +0 -108
  1734. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/GH_1042.html +0 -18
  1735. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/address_book.rlx +0 -12
  1736. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/address_book.xml +0 -10
  1737. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/atom.xml +0 -344
  1738. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/bar/bar.xsd +0 -4
  1739. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/bogus.xml +0 -0
  1740. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/dont_hurt_em_why.xml +0 -422
  1741. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/encoding.html +0 -82
  1742. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/encoding.xhtml +0 -84
  1743. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/exslt.xml +0 -8
  1744. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/exslt.xslt +0 -35
  1745. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/foo/foo.xsd +0 -4
  1746. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/metacharset.html +0 -10
  1747. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/namespace_pressure_test.xml +0 -1684
  1748. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/noencoding.html +0 -47
  1749. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/po.xml +0 -32
  1750. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/po.xsd +0 -66
  1751. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/saml/saml20assertion_schema.xsd +0 -283
  1752. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/saml/saml20protocol_schema.xsd +0 -302
  1753. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/saml/xenc_schema.xsd +0 -146
  1754. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/saml/xmldsig_schema.xsd +0 -318
  1755. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/shift_jis.html +0 -10
  1756. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/shift_jis.xml +0 -5
  1757. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/shift_jis_no_charset.html +0 -9
  1758. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/slow-xpath.xml +0 -25509
  1759. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/snuggles.xml +0 -3
  1760. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/staff.dtd +0 -10
  1761. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/staff.xml +0 -59
  1762. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/staff.xslt +0 -32
  1763. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/test_document_url/bar.xml +0 -2
  1764. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/test_document_url/document.dtd +0 -4
  1765. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/test_document_url/document.xml +0 -6
  1766. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/tlm.html +0 -851
  1767. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/to_be_xincluded.xml +0 -2
  1768. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/valid_bar.xml +0 -2
  1769. data/vendor/bundle/gems/nokogiri-1.8.2/test/files/xinclude.xml +0 -4
  1770. data/vendor/bundle/gems/nokogiri-1.8.2/test/helper.rb +0 -271
  1771. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/sax/test_parser.rb +0 -168
  1772. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/sax/test_parser_context.rb +0 -46
  1773. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/sax/test_parser_text.rb +0 -163
  1774. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/sax/test_push_parser.rb +0 -87
  1775. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/test_builder.rb +0 -164
  1776. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/test_document.rb +0 -712
  1777. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/test_document_encoding.rb +0 -143
  1778. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/test_document_fragment.rb +0 -304
  1779. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/test_element_description.rb +0 -105
  1780. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/test_named_characters.rb +0 -14
  1781. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/test_node.rb +0 -212
  1782. data/vendor/bundle/gems/nokogiri-1.8.2/test/html/test_node_encoding.rb +0 -91
  1783. data/vendor/bundle/gems/nokogiri-1.8.2/test/namespaces/test_additional_namespaces_in_builder_doc.rb +0 -14
  1784. data/vendor/bundle/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_aliased_default.rb +0 -24
  1785. data/vendor/bundle/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_in_builder_doc.rb +0 -75
  1786. data/vendor/bundle/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_in_cloned_doc.rb +0 -31
  1787. data/vendor/bundle/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_in_created_doc.rb +0 -75
  1788. data/vendor/bundle/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_in_parsed_doc.rb +0 -80
  1789. data/vendor/bundle/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_preservation.rb +0 -31
  1790. data/vendor/bundle/gems/nokogiri-1.8.2/test/test_convert_xpath.rb +0 -135
  1791. data/vendor/bundle/gems/nokogiri-1.8.2/test/test_css_cache.rb +0 -45
  1792. data/vendor/bundle/gems/nokogiri-1.8.2/test/test_encoding_handler.rb +0 -48
  1793. data/vendor/bundle/gems/nokogiri-1.8.2/test/test_memory_leak.rb +0 -156
  1794. data/vendor/bundle/gems/nokogiri-1.8.2/test/test_nokogiri.rb +0 -138
  1795. data/vendor/bundle/gems/nokogiri-1.8.2/test/test_soap4r_sax.rb +0 -52
  1796. data/vendor/bundle/gems/nokogiri-1.8.2/test/test_xslt_transforms.rb +0 -314
  1797. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/node/test_save_options.rb +0 -28
  1798. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/node/test_subclass.rb +0 -44
  1799. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/sax/test_parser.rb +0 -394
  1800. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/sax/test_parser_context.rb +0 -115
  1801. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/sax/test_parser_text.rb +0 -202
  1802. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/sax/test_push_parser.rb +0 -205
  1803. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_attr.rb +0 -74
  1804. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_attribute_decl.rb +0 -86
  1805. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_builder.rb +0 -341
  1806. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_c14n.rb +0 -180
  1807. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_cdata.rb +0 -54
  1808. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_comment.rb +0 -40
  1809. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_document.rb +0 -982
  1810. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_document_encoding.rb +0 -31
  1811. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_document_fragment.rb +0 -298
  1812. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_dtd.rb +0 -187
  1813. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_dtd_encoding.rb +0 -31
  1814. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_element_content.rb +0 -56
  1815. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_element_decl.rb +0 -73
  1816. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_entity_decl.rb +0 -122
  1817. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_entity_reference.rb +0 -262
  1818. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_namespace.rb +0 -96
  1819. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_node.rb +0 -1242
  1820. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_node_attributes.rb +0 -115
  1821. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_node_encoding.rb +0 -75
  1822. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_node_inheritance.rb +0 -32
  1823. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_node_reparenting.rb +0 -563
  1824. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_node_set.rb +0 -782
  1825. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_parse_options.rb +0 -64
  1826. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_processing_instruction.rb +0 -30
  1827. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_reader.rb +0 -608
  1828. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_reader_encoding.rb +0 -134
  1829. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_relax_ng.rb +0 -60
  1830. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_schema.rb +0 -142
  1831. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_syntax_error.rb +0 -36
  1832. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_text.rb +0 -60
  1833. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_unparented_node.rb +0 -483
  1834. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_xinclude.rb +0 -83
  1835. data/vendor/bundle/gems/nokogiri-1.8.2/test/xml/test_xpath.rb +0 -462
  1836. data/vendor/bundle/gems/nokogiri-1.8.2/test/xslt/test_custom_functions.rb +0 -133
  1837. data/vendor/bundle/gems/nokogiri-1.8.2/test/xslt/test_exception_handling.rb +0 -37
  1838. data/vendor/bundle/gems/octokit-4.9.0/CONTRIBUTING.md +0 -22
  1839. data/vendor/bundle/gems/octokit-4.9.0/LICENSE.md +0 -20
  1840. data/vendor/bundle/gems/octokit-4.9.0/README.md +0 -740
  1841. data/vendor/bundle/gems/octokit-4.9.0/Rakefile +0 -22
  1842. data/vendor/bundle/gems/octokit-4.9.0/lib/ext/sawyer/relation.rb +0 -10
  1843. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit.rb +0 -59
  1844. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/arguments.rb +0 -14
  1845. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/authentication.rb +0 -82
  1846. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client.rb +0 -241
  1847. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/apps.rb +0 -170
  1848. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/authorizations.rb +0 -246
  1849. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/commit_comments.rb +0 -95
  1850. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/commits.rb +0 -239
  1851. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/contents.rb +0 -164
  1852. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/deployments.rb +0 -72
  1853. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/downloads.rb +0 -50
  1854. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/emojis.rb +0 -18
  1855. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/events.rb +0 -151
  1856. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/feeds.rb +0 -33
  1857. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/gists.rb +0 -234
  1858. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/gitignore.rb +0 -43
  1859. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/hooks.rb +0 -297
  1860. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/issues.rb +0 -351
  1861. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/labels.rb +0 -156
  1862. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/legacy_search.rb +0 -42
  1863. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/licenses.rb +0 -45
  1864. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/markdown.rb +0 -27
  1865. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/marketplace.rb +0 -60
  1866. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/meta.rb +0 -21
  1867. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/milestones.rb +0 -87
  1868. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/notifications.rb +0 -167
  1869. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/objects.rb +0 -141
  1870. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/organizations.rb +0 -790
  1871. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/pages.rb +0 -63
  1872. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/projects.rb +0 -314
  1873. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/pub_sub_hubbub.rb +0 -111
  1874. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/pull_requests.rb +0 -301
  1875. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/rate_limit.rb +0 -54
  1876. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/reactions.rb +0 -158
  1877. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/refs.rb +0 -118
  1878. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/releases.rb +0 -164
  1879. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/repositories.rb +0 -653
  1880. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/repository_invitations.rb +0 -103
  1881. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/reviews.rb +0 -165
  1882. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/say.rb +0 -19
  1883. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/search.rb +0 -91
  1884. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/service_status.rb +0 -38
  1885. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/source_import.rb +0 -161
  1886. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/stats.rb +0 -106
  1887. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/statuses.rb +0 -47
  1888. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/traffic.rb +0 -69
  1889. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/client/users.rb +0 -355
  1890. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/configurable.rb +0 -151
  1891. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/connection.rb +0 -200
  1892. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/default.rb +0 -175
  1893. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/enterprise_admin_client.rb +0 -40
  1894. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/enterprise_admin_client/admin_stats.rb +0 -120
  1895. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/enterprise_admin_client/license.rb +0 -18
  1896. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/enterprise_admin_client/orgs.rb +0 -27
  1897. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/enterprise_admin_client/search_indexing.rb +0 -83
  1898. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/enterprise_admin_client/users.rb +0 -128
  1899. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/enterprise_management_console_client.rb +0 -50
  1900. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/enterprise_management_console_client/management_console.rb +0 -176
  1901. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/error.rb +0 -300
  1902. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/gist.rb +0 -36
  1903. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/middleware/follow_redirects.rb +0 -131
  1904. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/organization.rb +0 -17
  1905. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/preview.rb +0 -40
  1906. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/rate_limit.rb +0 -33
  1907. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/repo_arguments.rb +0 -19
  1908. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/repository.rb +0 -95
  1909. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/response/feed_parser.rb +0 -21
  1910. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/response/raise_error.rb +0 -21
  1911. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/user.rb +0 -19
  1912. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/version.rb +0 -17
  1913. data/vendor/bundle/gems/octokit-4.9.0/lib/octokit/warnable.rb +0 -17
  1914. data/vendor/bundle/gems/octokit-4.9.0/octokit.gemspec +0 -22
  1915. data/vendor/bundle/gems/phantomjs-2.1.1.0/Gemfile +0 -4
  1916. data/vendor/bundle/gems/phantomjs-2.1.1.0/LICENSE +0 -27
  1917. data/vendor/bundle/gems/phantomjs-2.1.1.0/README.md +0 -78
  1918. data/vendor/bundle/gems/phantomjs-2.1.1.0/Rakefile +0 -2
  1919. data/vendor/bundle/gems/phantomjs-2.1.1.0/lib/phantomjs.rb +0 -61
  1920. data/vendor/bundle/gems/phantomjs-2.1.1.0/lib/phantomjs/platform.rb +0 -162
  1921. data/vendor/bundle/gems/phantomjs-2.1.1.0/lib/phantomjs/poltergeist.rb +0 -13
  1922. data/vendor/bundle/gems/phantomjs-2.1.1.0/lib/phantomjs/version.rb +0 -3
  1923. data/vendor/bundle/gems/phantomjs-2.1.1.0/phantomjs.gemspec +0 -27
  1924. data/vendor/bundle/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb +0 -50
  1925. data/vendor/bundle/gems/phantomjs-2.1.1.0/spec/platform_spec.rb +0 -203
  1926. data/vendor/bundle/gems/phantomjs-2.1.1.0/spec/runner.js +0 -5
  1927. data/vendor/bundle/gems/phantomjs-2.1.1.0/spec/spec_helper.rb +0 -11
  1928. data/vendor/bundle/gems/pit-0.0.7/ChangeLog +0 -87
  1929. data/vendor/bundle/gems/pit-0.0.7/Gemfile +0 -6
  1930. data/vendor/bundle/gems/pit-0.0.7/README +0 -59
  1931. data/vendor/bundle/gems/pit-0.0.7/Rakefile +0 -9
  1932. data/vendor/bundle/gems/pit-0.0.7/bin/pit +0 -137
  1933. data/vendor/bundle/gems/pit-0.0.7/lib/pit.rb +0 -97
  1934. data/vendor/bundle/gems/pit-0.0.7/lib/pit/version.rb +0 -4
  1935. data/vendor/bundle/gems/pit-0.0.7/pit.gemspec +0 -19
  1936. data/vendor/bundle/gems/pit-0.0.7/test/pit_test.rb +0 -112
  1937. data/vendor/bundle/gems/pit-0.0.7/test/test_helper.rb +0 -3
  1938. data/vendor/bundle/gems/power_assert-1.1.1/BSDL +0 -22
  1939. data/vendor/bundle/gems/power_assert-1.1.1/COPYING +0 -57
  1940. data/vendor/bundle/gems/power_assert-1.1.1/Gemfile +0 -9
  1941. data/vendor/bundle/gems/power_assert-1.1.1/LEGAL +0 -4
  1942. data/vendor/bundle/gems/power_assert-1.1.1/README.rdoc +0 -74
  1943. data/vendor/bundle/gems/power_assert-1.1.1/Rakefile +0 -59
  1944. data/vendor/bundle/gems/power_assert-1.1.1/bin/console +0 -12
  1945. data/vendor/bundle/gems/power_assert-1.1.1/bin/setup +0 -6
  1946. data/vendor/bundle/gems/power_assert-1.1.1/lib/power_assert.rb +0 -98
  1947. data/vendor/bundle/gems/power_assert-1.1.1/lib/power_assert/colorize.rb +0 -9
  1948. data/vendor/bundle/gems/power_assert-1.1.1/lib/power_assert/configuration.rb +0 -46
  1949. data/vendor/bundle/gems/power_assert-1.1.1/lib/power_assert/context.rb +0 -218
  1950. data/vendor/bundle/gems/power_assert-1.1.1/lib/power_assert/enable_tracepoint_events.rb +0 -91
  1951. data/vendor/bundle/gems/power_assert-1.1.1/lib/power_assert/inspector.rb +0 -61
  1952. data/vendor/bundle/gems/power_assert-1.1.1/lib/power_assert/parser.rb +0 -243
  1953. data/vendor/bundle/gems/power_assert-1.1.1/lib/power_assert/version.rb +0 -3
  1954. data/vendor/bundle/gems/power_assert-1.1.1/power_assert.gemspec +0 -30
  1955. data/vendor/bundle/gems/public_suffix-3.0.2/2.0-Upgrade.md +0 -52
  1956. data/vendor/bundle/gems/public_suffix-3.0.2/CHANGELOG.md +0 -335
  1957. data/vendor/bundle/gems/public_suffix-3.0.2/Gemfile +0 -10
  1958. data/vendor/bundle/gems/public_suffix-3.0.2/LICENSE.txt +0 -22
  1959. data/vendor/bundle/gems/public_suffix-3.0.2/README.md +0 -202
  1960. data/vendor/bundle/gems/public_suffix-3.0.2/Rakefile +0 -49
  1961. data/vendor/bundle/gems/public_suffix-3.0.2/bin/console +0 -14
  1962. data/vendor/bundle/gems/public_suffix-3.0.2/data/list.txt +0 -12370
  1963. data/vendor/bundle/gems/public_suffix-3.0.2/lib/public_suffix.rb +0 -175
  1964. data/vendor/bundle/gems/public_suffix-3.0.2/lib/public_suffix/domain.rb +0 -235
  1965. data/vendor/bundle/gems/public_suffix-3.0.2/lib/public_suffix/errors.rb +0 -39
  1966. data/vendor/bundle/gems/public_suffix-3.0.2/lib/public_suffix/list.rb +0 -243
  1967. data/vendor/bundle/gems/public_suffix-3.0.2/lib/public_suffix/rule.rb +0 -348
  1968. data/vendor/bundle/gems/public_suffix-3.0.2/lib/public_suffix/version.rb +0 -10
  1969. data/vendor/bundle/gems/public_suffix-3.0.2/public_suffix.gemspec +0 -25
  1970. data/vendor/bundle/gems/public_suffix-3.0.2/test/acceptance_test.rb +0 -127
  1971. data/vendor/bundle/gems/public_suffix-3.0.2/test/benchmarks/bm_find.rb +0 -66
  1972. data/vendor/bundle/gems/public_suffix-3.0.2/test/benchmarks/bm_find_all.rb +0 -102
  1973. data/vendor/bundle/gems/public_suffix-3.0.2/test/benchmarks/bm_names.rb +0 -91
  1974. data/vendor/bundle/gems/public_suffix-3.0.2/test/benchmarks/bm_select.rb +0 -26
  1975. data/vendor/bundle/gems/public_suffix-3.0.2/test/benchmarks/bm_select_incremental.rb +0 -25
  1976. data/vendor/bundle/gems/public_suffix-3.0.2/test/benchmarks/bm_valid.rb +0 -101
  1977. data/vendor/bundle/gems/public_suffix-3.0.2/test/profilers/domain_profiler.rb +0 -12
  1978. data/vendor/bundle/gems/public_suffix-3.0.2/test/profilers/find_profiler.rb +0 -12
  1979. data/vendor/bundle/gems/public_suffix-3.0.2/test/profilers/find_profiler_jp.rb +0 -12
  1980. data/vendor/bundle/gems/public_suffix-3.0.2/test/profilers/initialization_profiler.rb +0 -11
  1981. data/vendor/bundle/gems/public_suffix-3.0.2/test/profilers/list_profsize.rb +0 -11
  1982. data/vendor/bundle/gems/public_suffix-3.0.2/test/profilers/object_binsize.rb +0 -57
  1983. data/vendor/bundle/gems/public_suffix-3.0.2/test/psl_test.rb +0 -49
  1984. data/vendor/bundle/gems/public_suffix-3.0.2/test/test_helper.rb +0 -13
  1985. data/vendor/bundle/gems/public_suffix-3.0.2/test/tests.txt +0 -98
  1986. data/vendor/bundle/gems/public_suffix-3.0.2/test/unit/domain_test.rb +0 -104
  1987. data/vendor/bundle/gems/public_suffix-3.0.2/test/unit/errors_test.rb +0 -23
  1988. data/vendor/bundle/gems/public_suffix-3.0.2/test/unit/list_test.rb +0 -239
  1989. data/vendor/bundle/gems/public_suffix-3.0.2/test/unit/public_suffix_test.rb +0 -186
  1990. data/vendor/bundle/gems/public_suffix-3.0.2/test/unit/rule_test.rb +0 -220
  1991. data/vendor/bundle/gems/rack-2.0.5/COPYING +0 -18
  1992. data/vendor/bundle/gems/rack-2.0.5/HISTORY.md +0 -505
  1993. data/vendor/bundle/gems/rack-2.0.5/README.rdoc +0 -302
  1994. data/vendor/bundle/gems/rack-2.0.5/Rakefile +0 -116
  1995. data/vendor/bundle/gems/rack-2.0.5/SPEC +0 -263
  1996. data/vendor/bundle/gems/rack-2.0.5/bin/rackup +0 -4
  1997. data/vendor/bundle/gems/rack-2.0.5/contrib/rack.png +0 -0
  1998. data/vendor/bundle/gems/rack-2.0.5/contrib/rack.svg +0 -150
  1999. data/vendor/bundle/gems/rack-2.0.5/contrib/rack_logo.svg +0 -164
  2000. data/vendor/bundle/gems/rack-2.0.5/contrib/rdoc.css +0 -412
  2001. data/vendor/bundle/gems/rack-2.0.5/example/lobster.ru +0 -4
  2002. data/vendor/bundle/gems/rack-2.0.5/example/protectedlobster.rb +0 -14
  2003. data/vendor/bundle/gems/rack-2.0.5/example/protectedlobster.ru +0 -8
  2004. data/vendor/bundle/gems/rack-2.0.5/lib/rack.rb +0 -147
  2005. data/vendor/bundle/gems/rack-2.0.5/lib/rack/auth/abstract/handler.rb +0 -37
  2006. data/vendor/bundle/gems/rack-2.0.5/lib/rack/auth/abstract/request.rb +0 -47
  2007. data/vendor/bundle/gems/rack-2.0.5/lib/rack/auth/basic.rb +0 -58
  2008. data/vendor/bundle/gems/rack-2.0.5/lib/rack/auth/digest/md5.rb +0 -129
  2009. data/vendor/bundle/gems/rack-2.0.5/lib/rack/auth/digest/nonce.rb +0 -51
  2010. data/vendor/bundle/gems/rack-2.0.5/lib/rack/auth/digest/params.rb +0 -52
  2011. data/vendor/bundle/gems/rack-2.0.5/lib/rack/auth/digest/request.rb +0 -41
  2012. data/vendor/bundle/gems/rack-2.0.5/lib/rack/body_proxy.rb +0 -44
  2013. data/vendor/bundle/gems/rack-2.0.5/lib/rack/builder.rb +0 -164
  2014. data/vendor/bundle/gems/rack-2.0.5/lib/rack/cascade.rb +0 -52
  2015. data/vendor/bundle/gems/rack-2.0.5/lib/rack/chunked.rb +0 -69
  2016. data/vendor/bundle/gems/rack-2.0.5/lib/rack/common_logger.rb +0 -72
  2017. data/vendor/bundle/gems/rack-2.0.5/lib/rack/conditional_get.rb +0 -79
  2018. data/vendor/bundle/gems/rack-2.0.5/lib/rack/config.rb +0 -20
  2019. data/vendor/bundle/gems/rack-2.0.5/lib/rack/content_length.rb +0 -37
  2020. data/vendor/bundle/gems/rack-2.0.5/lib/rack/content_type.rb +0 -29
  2021. data/vendor/bundle/gems/rack-2.0.5/lib/rack/deflater.rb +0 -119
  2022. data/vendor/bundle/gems/rack-2.0.5/lib/rack/directory.rb +0 -179
  2023. data/vendor/bundle/gems/rack-2.0.5/lib/rack/etag.rb +0 -74
  2024. data/vendor/bundle/gems/rack-2.0.5/lib/rack/events.rb +0 -154
  2025. data/vendor/bundle/gems/rack-2.0.5/lib/rack/file.rb +0 -176
  2026. data/vendor/bundle/gems/rack-2.0.5/lib/rack/handler.rb +0 -99
  2027. data/vendor/bundle/gems/rack-2.0.5/lib/rack/handler/cgi.rb +0 -60
  2028. data/vendor/bundle/gems/rack-2.0.5/lib/rack/handler/fastcgi.rb +0 -100
  2029. data/vendor/bundle/gems/rack-2.0.5/lib/rack/handler/lsws.rb +0 -61
  2030. data/vendor/bundle/gems/rack-2.0.5/lib/rack/handler/scgi.rb +0 -70
  2031. data/vendor/bundle/gems/rack-2.0.5/lib/rack/handler/thin.rb +0 -36
  2032. data/vendor/bundle/gems/rack-2.0.5/lib/rack/handler/webrick.rb +0 -120
  2033. data/vendor/bundle/gems/rack-2.0.5/lib/rack/head.rb +0 -25
  2034. data/vendor/bundle/gems/rack-2.0.5/lib/rack/lint.rb +0 -760
  2035. data/vendor/bundle/gems/rack-2.0.5/lib/rack/lobster.rb +0 -70
  2036. data/vendor/bundle/gems/rack-2.0.5/lib/rack/lock.rb +0 -31
  2037. data/vendor/bundle/gems/rack-2.0.5/lib/rack/logger.rb +0 -18
  2038. data/vendor/bundle/gems/rack-2.0.5/lib/rack/media_type.rb +0 -38
  2039. data/vendor/bundle/gems/rack-2.0.5/lib/rack/method_override.rb +0 -50
  2040. data/vendor/bundle/gems/rack-2.0.5/lib/rack/mime.rb +0 -677
  2041. data/vendor/bundle/gems/rack-2.0.5/lib/rack/mock.rb +0 -196
  2042. data/vendor/bundle/gems/rack-2.0.5/lib/rack/multipart.rb +0 -63
  2043. data/vendor/bundle/gems/rack-2.0.5/lib/rack/multipart/generator.rb +0 -93
  2044. data/vendor/bundle/gems/rack-2.0.5/lib/rack/multipart/parser.rb +0 -369
  2045. data/vendor/bundle/gems/rack-2.0.5/lib/rack/multipart/uploaded_file.rb +0 -33
  2046. data/vendor/bundle/gems/rack-2.0.5/lib/rack/null_logger.rb +0 -37
  2047. data/vendor/bundle/gems/rack-2.0.5/lib/rack/query_parser.rb +0 -192
  2048. data/vendor/bundle/gems/rack-2.0.5/lib/rack/recursive.rb +0 -62
  2049. data/vendor/bundle/gems/rack-2.0.5/lib/rack/reloader.rb +0 -110
  2050. data/vendor/bundle/gems/rack-2.0.5/lib/rack/request.rb +0 -487
  2051. data/vendor/bundle/gems/rack-2.0.5/lib/rack/response.rb +0 -235
  2052. data/vendor/bundle/gems/rack-2.0.5/lib/rack/rewindable_input.rb +0 -93
  2053. data/vendor/bundle/gems/rack-2.0.5/lib/rack/runtime.rb +0 -32
  2054. data/vendor/bundle/gems/rack-2.0.5/lib/rack/sendfile.rb +0 -158
  2055. data/vendor/bundle/gems/rack-2.0.5/lib/rack/server.rb +0 -395
  2056. data/vendor/bundle/gems/rack-2.0.5/lib/rack/session/abstract/id.rb +0 -445
  2057. data/vendor/bundle/gems/rack-2.0.5/lib/rack/session/cookie.rb +0 -195
  2058. data/vendor/bundle/gems/rack-2.0.5/lib/rack/session/memcache.rb +0 -93
  2059. data/vendor/bundle/gems/rack-2.0.5/lib/rack/session/pool.rb +0 -76
  2060. data/vendor/bundle/gems/rack-2.0.5/lib/rack/show_exceptions.rb +0 -386
  2061. data/vendor/bundle/gems/rack-2.0.5/lib/rack/show_status.rb +0 -113
  2062. data/vendor/bundle/gems/rack-2.0.5/lib/rack/static.rb +0 -175
  2063. data/vendor/bundle/gems/rack-2.0.5/lib/rack/tempfile_reaper.rb +0 -22
  2064. data/vendor/bundle/gems/rack-2.0.5/lib/rack/urlmap.rb +0 -91
  2065. data/vendor/bundle/gems/rack-2.0.5/lib/rack/utils.rb +0 -620
  2066. data/vendor/bundle/gems/rack-2.0.5/rack.gemspec +0 -34
  2067. data/vendor/bundle/gems/rack-2.0.5/test/builder/an_underscore_app.rb +0 -5
  2068. data/vendor/bundle/gems/rack-2.0.5/test/builder/anything.rb +0 -5
  2069. data/vendor/bundle/gems/rack-2.0.5/test/builder/comment.ru +0 -4
  2070. data/vendor/bundle/gems/rack-2.0.5/test/builder/end.ru +0 -5
  2071. data/vendor/bundle/gems/rack-2.0.5/test/builder/line.ru +0 -1
  2072. data/vendor/bundle/gems/rack-2.0.5/test/builder/options.ru +0 -2
  2073. data/vendor/bundle/gems/rack-2.0.5/test/cgi/assets/folder/test.js +0 -1
  2074. data/vendor/bundle/gems/rack-2.0.5/test/cgi/assets/fonts/font.eot +0 -1
  2075. data/vendor/bundle/gems/rack-2.0.5/test/cgi/assets/images/image.png +0 -1
  2076. data/vendor/bundle/gems/rack-2.0.5/test/cgi/assets/index.html +0 -1
  2077. data/vendor/bundle/gems/rack-2.0.5/test/cgi/assets/javascripts/app.js +0 -1
  2078. data/vendor/bundle/gems/rack-2.0.5/test/cgi/assets/stylesheets/app.css +0 -1
  2079. data/vendor/bundle/gems/rack-2.0.5/test/cgi/lighttpd.conf +0 -26
  2080. data/vendor/bundle/gems/rack-2.0.5/test/cgi/rackup_stub.rb +0 -6
  2081. data/vendor/bundle/gems/rack-2.0.5/test/cgi/sample_rackup.ru +0 -5
  2082. data/vendor/bundle/gems/rack-2.0.5/test/cgi/test +0 -9
  2083. data/vendor/bundle/gems/rack-2.0.5/test/cgi/test+directory/test+file +0 -1
  2084. data/vendor/bundle/gems/rack-2.0.5/test/cgi/test.fcgi +0 -9
  2085. data/vendor/bundle/gems/rack-2.0.5/test/cgi/test.gz +0 -0
  2086. data/vendor/bundle/gems/rack-2.0.5/test/cgi/test.ru +0 -5
  2087. data/vendor/bundle/gems/rack-2.0.5/test/gemloader.rb +0 -10
  2088. data/vendor/bundle/gems/rack-2.0.5/test/helper.rb +0 -34
  2089. data/vendor/bundle/gems/rack-2.0.5/test/multipart/bad_robots +0 -259
  2090. data/vendor/bundle/gems/rack-2.0.5/test/multipart/binary +0 -0
  2091. data/vendor/bundle/gems/rack-2.0.5/test/multipart/content_type_and_no_filename +0 -6
  2092. data/vendor/bundle/gems/rack-2.0.5/test/multipart/empty +0 -10
  2093. data/vendor/bundle/gems/rack-2.0.5/test/multipart/fail_16384_nofile +0 -814
  2094. data/vendor/bundle/gems/rack-2.0.5/test/multipart/file1.txt +0 -1
  2095. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_and_modification_param +0 -7
  2096. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_and_no_name +0 -6
  2097. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_encoded_words +0 -7
  2098. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_escaped_quotes +0 -6
  2099. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_escaped_quotes_and_modification_param +0 -7
  2100. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_null_byte +0 -7
  2101. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_percent_escaped_quotes +0 -6
  2102. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_single_quote +0 -7
  2103. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_unescaped_percentages +0 -6
  2104. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_unescaped_percentages2 +0 -6
  2105. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_unescaped_percentages3 +0 -6
  2106. data/vendor/bundle/gems/rack-2.0.5/test/multipart/filename_with_unescaped_quotes +0 -6
  2107. data/vendor/bundle/gems/rack-2.0.5/test/multipart/ie +0 -6
  2108. data/vendor/bundle/gems/rack-2.0.5/test/multipart/invalid_character +0 -6
  2109. data/vendor/bundle/gems/rack-2.0.5/test/multipart/mixed_files +0 -21
  2110. data/vendor/bundle/gems/rack-2.0.5/test/multipart/nested +0 -10
  2111. data/vendor/bundle/gems/rack-2.0.5/test/multipart/none +0 -9
  2112. data/vendor/bundle/gems/rack-2.0.5/test/multipart/quoted +0 -15
  2113. data/vendor/bundle/gems/rack-2.0.5/test/multipart/rack-logo.png +0 -0
  2114. data/vendor/bundle/gems/rack-2.0.5/test/multipart/semicolon +0 -6
  2115. data/vendor/bundle/gems/rack-2.0.5/test/multipart/text +0 -15
  2116. data/vendor/bundle/gems/rack-2.0.5/test/multipart/three_files_three_fields +0 -31
  2117. data/vendor/bundle/gems/rack-2.0.5/test/multipart/unity3d_wwwform +0 -11
  2118. data/vendor/bundle/gems/rack-2.0.5/test/multipart/webkit +0 -32
  2119. data/vendor/bundle/gems/rack-2.0.5/test/rackup/config.ru +0 -31
  2120. data/vendor/bundle/gems/rack-2.0.5/test/registering_handler/rack/handler/registering_myself.rb +0 -8
  2121. data/vendor/bundle/gems/rack-2.0.5/test/spec_auth_basic.rb +0 -89
  2122. data/vendor/bundle/gems/rack-2.0.5/test/spec_auth_digest.rb +0 -260
  2123. data/vendor/bundle/gems/rack-2.0.5/test/spec_body_proxy.rb +0 -85
  2124. data/vendor/bundle/gems/rack-2.0.5/test/spec_builder.rb +0 -233
  2125. data/vendor/bundle/gems/rack-2.0.5/test/spec_cascade.rb +0 -63
  2126. data/vendor/bundle/gems/rack-2.0.5/test/spec_cgi.rb +0 -84
  2127. data/vendor/bundle/gems/rack-2.0.5/test/spec_chunked.rb +0 -103
  2128. data/vendor/bundle/gems/rack-2.0.5/test/spec_common_logger.rb +0 -95
  2129. data/vendor/bundle/gems/rack-2.0.5/test/spec_conditional_get.rb +0 -103
  2130. data/vendor/bundle/gems/rack-2.0.5/test/spec_config.rb +0 -23
  2131. data/vendor/bundle/gems/rack-2.0.5/test/spec_content_length.rb +0 -86
  2132. data/vendor/bundle/gems/rack-2.0.5/test/spec_content_type.rb +0 -46
  2133. data/vendor/bundle/gems/rack-2.0.5/test/spec_deflater.rb +0 -375
  2134. data/vendor/bundle/gems/rack-2.0.5/test/spec_directory.rb +0 -148
  2135. data/vendor/bundle/gems/rack-2.0.5/test/spec_etag.rb +0 -108
  2136. data/vendor/bundle/gems/rack-2.0.5/test/spec_events.rb +0 -133
  2137. data/vendor/bundle/gems/rack-2.0.5/test/spec_fastcgi.rb +0 -85
  2138. data/vendor/bundle/gems/rack-2.0.5/test/spec_file.rb +0 -264
  2139. data/vendor/bundle/gems/rack-2.0.5/test/spec_handler.rb +0 -57
  2140. data/vendor/bundle/gems/rack-2.0.5/test/spec_head.rb +0 -46
  2141. data/vendor/bundle/gems/rack-2.0.5/test/spec_lint.rb +0 -515
  2142. data/vendor/bundle/gems/rack-2.0.5/test/spec_lobster.rb +0 -59
  2143. data/vendor/bundle/gems/rack-2.0.5/test/spec_lock.rb +0 -204
  2144. data/vendor/bundle/gems/rack-2.0.5/test/spec_logger.rb +0 -24
  2145. data/vendor/bundle/gems/rack-2.0.5/test/spec_media_type.rb +0 -42
  2146. data/vendor/bundle/gems/rack-2.0.5/test/spec_method_override.rb +0 -110
  2147. data/vendor/bundle/gems/rack-2.0.5/test/spec_mime.rb +0 -51
  2148. data/vendor/bundle/gems/rack-2.0.5/test/spec_mock.rb +0 -359
  2149. data/vendor/bundle/gems/rack-2.0.5/test/spec_multipart.rb +0 -722
  2150. data/vendor/bundle/gems/rack-2.0.5/test/spec_null_logger.rb +0 -21
  2151. data/vendor/bundle/gems/rack-2.0.5/test/spec_recursive.rb +0 -75
  2152. data/vendor/bundle/gems/rack-2.0.5/test/spec_request.rb +0 -1393
  2153. data/vendor/bundle/gems/rack-2.0.5/test/spec_response.rb +0 -510
  2154. data/vendor/bundle/gems/rack-2.0.5/test/spec_rewindable_input.rb +0 -128
  2155. data/vendor/bundle/gems/rack-2.0.5/test/spec_runtime.rb +0 -50
  2156. data/vendor/bundle/gems/rack-2.0.5/test/spec_sendfile.rb +0 -125
  2157. data/vendor/bundle/gems/rack-2.0.5/test/spec_server.rb +0 -193
  2158. data/vendor/bundle/gems/rack-2.0.5/test/spec_session_abstract_id.rb +0 -31
  2159. data/vendor/bundle/gems/rack-2.0.5/test/spec_session_abstract_session_hash.rb +0 -45
  2160. data/vendor/bundle/gems/rack-2.0.5/test/spec_session_cookie.rb +0 -442
  2161. data/vendor/bundle/gems/rack-2.0.5/test/spec_session_memcache.rb +0 -320
  2162. data/vendor/bundle/gems/rack-2.0.5/test/spec_session_pool.rb +0 -210
  2163. data/vendor/bundle/gems/rack-2.0.5/test/spec_show_exceptions.rb +0 -80
  2164. data/vendor/bundle/gems/rack-2.0.5/test/spec_show_status.rb +0 -104
  2165. data/vendor/bundle/gems/rack-2.0.5/test/spec_static.rb +0 -184
  2166. data/vendor/bundle/gems/rack-2.0.5/test/spec_tempfile_reaper.rb +0 -64
  2167. data/vendor/bundle/gems/rack-2.0.5/test/spec_thin.rb +0 -96
  2168. data/vendor/bundle/gems/rack-2.0.5/test/spec_urlmap.rb +0 -237
  2169. data/vendor/bundle/gems/rack-2.0.5/test/spec_utils.rb +0 -742
  2170. data/vendor/bundle/gems/rack-2.0.5/test/spec_version.rb +0 -11
  2171. data/vendor/bundle/gems/rack-2.0.5/test/spec_webrick.rb +0 -206
  2172. data/vendor/bundle/gems/rack-2.0.5/test/static/another/index.html +0 -1
  2173. data/vendor/bundle/gems/rack-2.0.5/test/static/foo.html +0 -1
  2174. data/vendor/bundle/gems/rack-2.0.5/test/static/index.html +0 -1
  2175. data/vendor/bundle/gems/rack-2.0.5/test/testrequest.rb +0 -78
  2176. data/vendor/bundle/gems/rack-2.0.5/test/unregistered_handler/rack/handler/unregistered.rb +0 -7
  2177. data/vendor/bundle/gems/rack-2.0.5/test/unregistered_handler/rack/handler/unregistered_long_one.rb +0 -7
  2178. data/vendor/bundle/gems/rack-test-1.0.0/History.md +0 -243
  2179. data/vendor/bundle/gems/rack-test-1.0.0/MIT-LICENSE.txt +0 -19
  2180. data/vendor/bundle/gems/rack-test-1.0.0/README.md +0 -148
  2181. data/vendor/bundle/gems/rack-test-1.0.0/lib/rack/mock_session.rb +0 -63
  2182. data/vendor/bundle/gems/rack-test-1.0.0/lib/rack/test.rb +0 -327
  2183. data/vendor/bundle/gems/rack-test-1.0.0/lib/rack/test/cookie_jar.rb +0 -194
  2184. data/vendor/bundle/gems/rack-test-1.0.0/lib/rack/test/methods.rb +0 -83
  2185. data/vendor/bundle/gems/rack-test-1.0.0/lib/rack/test/mock_digest_request.rb +0 -25
  2186. data/vendor/bundle/gems/rack-test-1.0.0/lib/rack/test/uploaded_file.rb +0 -85
  2187. data/vendor/bundle/gems/rack-test-1.0.0/lib/rack/test/utils.rb +0 -144
  2188. data/vendor/bundle/gems/rack-test-1.0.0/lib/rack/test/version.rb +0 -5
  2189. data/vendor/bundle/gems/racksh-1.0.0/CHANGELOG.txt +0 -34
  2190. data/vendor/bundle/gems/racksh-1.0.0/README.markdown +0 -150
  2191. data/vendor/bundle/gems/racksh-1.0.0/bin/racksh +0 -25
  2192. data/vendor/bundle/gems/racksh-1.0.0/lib/racksh/init.rb +0 -53
  2193. data/vendor/bundle/gems/racksh-1.0.0/lib/racksh/irb.rb +0 -2
  2194. data/vendor/bundle/gems/racksh-1.0.0/lib/racksh/session.rb +0 -18
  2195. data/vendor/bundle/gems/racksh-1.0.0/lib/racksh/version.rb +0 -5
  2196. data/vendor/bundle/gems/rake-12.3.1/CONTRIBUTING.rdoc +0 -36
  2197. data/vendor/bundle/gems/rake-12.3.1/Gemfile +0 -3
  2198. data/vendor/bundle/gems/rake-12.3.1/History.rdoc +0 -2317
  2199. data/vendor/bundle/gems/rake-12.3.1/MIT-LICENSE +0 -21
  2200. data/vendor/bundle/gems/rake-12.3.1/README.rdoc +0 -156
  2201. data/vendor/bundle/gems/rake-12.3.1/Rakefile +0 -41
  2202. data/vendor/bundle/gems/rake-12.3.1/bin/console +0 -7
  2203. data/vendor/bundle/gems/rake-12.3.1/bin/setup +0 -6
  2204. data/vendor/bundle/gems/rake-12.3.1/doc/command_line_usage.rdoc +0 -158
  2205. data/vendor/bundle/gems/rake-12.3.1/doc/example/Rakefile1 +0 -38
  2206. data/vendor/bundle/gems/rake-12.3.1/doc/example/Rakefile2 +0 -35
  2207. data/vendor/bundle/gems/rake-12.3.1/doc/example/a.c +0 -6
  2208. data/vendor/bundle/gems/rake-12.3.1/doc/example/b.c +0 -6
  2209. data/vendor/bundle/gems/rake-12.3.1/doc/example/main.c +0 -11
  2210. data/vendor/bundle/gems/rake-12.3.1/doc/glossary.rdoc +0 -42
  2211. data/vendor/bundle/gems/rake-12.3.1/doc/jamis.rb +0 -592
  2212. data/vendor/bundle/gems/rake-12.3.1/doc/proto_rake.rdoc +0 -127
  2213. data/vendor/bundle/gems/rake-12.3.1/doc/rake.1 +0 -156
  2214. data/vendor/bundle/gems/rake-12.3.1/doc/rakefile.rdoc +0 -622
  2215. data/vendor/bundle/gems/rake-12.3.1/doc/rational.rdoc +0 -151
  2216. data/vendor/bundle/gems/rake-12.3.1/exe/rake +0 -27
  2217. data/vendor/bundle/gems/rake-12.3.1/lib/rake.rb +0 -71
  2218. data/vendor/bundle/gems/rake-12.3.1/lib/rake/application.rb +0 -824
  2219. data/vendor/bundle/gems/rake-12.3.1/lib/rake/backtrace.rb +0 -24
  2220. data/vendor/bundle/gems/rake-12.3.1/lib/rake/clean.rb +0 -78
  2221. data/vendor/bundle/gems/rake-12.3.1/lib/rake/cloneable.rb +0 -17
  2222. data/vendor/bundle/gems/rake-12.3.1/lib/rake/cpu_counter.rb +0 -107
  2223. data/vendor/bundle/gems/rake-12.3.1/lib/rake/default_loader.rb +0 -15
  2224. data/vendor/bundle/gems/rake-12.3.1/lib/rake/dsl_definition.rb +0 -195
  2225. data/vendor/bundle/gems/rake-12.3.1/lib/rake/early_time.rb +0 -22
  2226. data/vendor/bundle/gems/rake-12.3.1/lib/rake/ext/core.rb +0 -26
  2227. data/vendor/bundle/gems/rake-12.3.1/lib/rake/ext/string.rb +0 -176
  2228. data/vendor/bundle/gems/rake-12.3.1/lib/rake/file_creation_task.rb +0 -25
  2229. data/vendor/bundle/gems/rake-12.3.1/lib/rake/file_list.rb +0 -435
  2230. data/vendor/bundle/gems/rake-12.3.1/lib/rake/file_task.rb +0 -54
  2231. data/vendor/bundle/gems/rake-12.3.1/lib/rake/file_utils.rb +0 -137
  2232. data/vendor/bundle/gems/rake-12.3.1/lib/rake/file_utils_ext.rb +0 -145
  2233. data/vendor/bundle/gems/rake-12.3.1/lib/rake/invocation_chain.rb +0 -57
  2234. data/vendor/bundle/gems/rake-12.3.1/lib/rake/invocation_exception_mixin.rb +0 -17
  2235. data/vendor/bundle/gems/rake-12.3.1/lib/rake/late_time.rb +0 -18
  2236. data/vendor/bundle/gems/rake-12.3.1/lib/rake/linked_list.rb +0 -112
  2237. data/vendor/bundle/gems/rake-12.3.1/lib/rake/loaders/makefile.rb +0 -54
  2238. data/vendor/bundle/gems/rake-12.3.1/lib/rake/multi_task.rb +0 -14
  2239. data/vendor/bundle/gems/rake-12.3.1/lib/rake/name_space.rb +0 -38
  2240. data/vendor/bundle/gems/rake-12.3.1/lib/rake/packagetask.rb +0 -211
  2241. data/vendor/bundle/gems/rake-12.3.1/lib/rake/phony.rb +0 -16
  2242. data/vendor/bundle/gems/rake-12.3.1/lib/rake/private_reader.rb +0 -21
  2243. data/vendor/bundle/gems/rake-12.3.1/lib/rake/promise.rb +0 -100
  2244. data/vendor/bundle/gems/rake-12.3.1/lib/rake/pseudo_status.rb +0 -30
  2245. data/vendor/bundle/gems/rake-12.3.1/lib/rake/rake_module.rb +0 -67
  2246. data/vendor/bundle/gems/rake-12.3.1/lib/rake/rake_test_loader.rb +0 -27
  2247. data/vendor/bundle/gems/rake-12.3.1/lib/rake/rule_recursion_overflow_error.rb +0 -20
  2248. data/vendor/bundle/gems/rake-12.3.1/lib/rake/scope.rb +0 -43
  2249. data/vendor/bundle/gems/rake-12.3.1/lib/rake/task.rb +0 -411
  2250. data/vendor/bundle/gems/rake-12.3.1/lib/rake/task_argument_error.rb +0 -8
  2251. data/vendor/bundle/gems/rake-12.3.1/lib/rake/task_arguments.rb +0 -109
  2252. data/vendor/bundle/gems/rake-12.3.1/lib/rake/task_manager.rb +0 -323
  2253. data/vendor/bundle/gems/rake-12.3.1/lib/rake/tasklib.rb +0 -12
  2254. data/vendor/bundle/gems/rake-12.3.1/lib/rake/testtask.rb +0 -224
  2255. data/vendor/bundle/gems/rake-12.3.1/lib/rake/thread_history_display.rb +0 -49
  2256. data/vendor/bundle/gems/rake-12.3.1/lib/rake/thread_pool.rb +0 -163
  2257. data/vendor/bundle/gems/rake-12.3.1/lib/rake/trace_output.rb +0 -23
  2258. data/vendor/bundle/gems/rake-12.3.1/lib/rake/version.rb +0 -10
  2259. data/vendor/bundle/gems/rake-12.3.1/lib/rake/win32.rb +0 -51
  2260. data/vendor/bundle/gems/rake-12.3.1/rake.gemspec +0 -42
  2261. data/vendor/bundle/gems/redcarpet-3.4.0/COPYING +0 -20
  2262. data/vendor/bundle/gems/redcarpet-3.4.0/Gemfile +0 -9
  2263. data/vendor/bundle/gems/redcarpet-3.4.0/README.markdown +0 -404
  2264. data/vendor/bundle/gems/redcarpet-3.4.0/Rakefile +0 -60
  2265. data/vendor/bundle/gems/redcarpet-3.4.0/bin/redcarpet +0 -7
  2266. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/Makefile +0 -263
  2267. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/autolink.c +0 -309
  2268. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/autolink.h +0 -55
  2269. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/autolink.o +0 -0
  2270. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/buffer.c +0 -203
  2271. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/buffer.h +0 -89
  2272. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/buffer.o +0 -0
  2273. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/extconf.rb +0 -6
  2274. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/houdini.h +0 -51
  2275. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/houdini_href_e.c +0 -124
  2276. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/houdini_href_e.o +0 -0
  2277. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/houdini_html_e.c +0 -105
  2278. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/houdini_html_e.o +0 -0
  2279. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/html.c +0 -842
  2280. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/html.h +0 -84
  2281. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/html.o +0 -0
  2282. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/html_blocks.h +0 -227
  2283. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/html_smartypants.c +0 -457
  2284. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/html_smartypants.o +0 -0
  2285. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/markdown.c +0 -2915
  2286. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/markdown.h +0 -143
  2287. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/markdown.o +0 -0
  2288. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/rc_markdown.c +0 -174
  2289. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/rc_markdown.o +0 -0
  2290. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/rc_render.c +0 -554
  2291. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/rc_render.o +0 -0
  2292. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/redcarpet.h +0 -52
  2293. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/redcarpet.so +0 -0
  2294. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/stack.c +0 -84
  2295. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/stack.h +0 -48
  2296. data/vendor/bundle/gems/redcarpet-3.4.0/ext/redcarpet/stack.o +0 -0
  2297. data/vendor/bundle/gems/redcarpet-3.4.0/lib/redcarpet.rb +0 -92
  2298. data/vendor/bundle/gems/redcarpet-3.4.0/lib/redcarpet.so +0 -0
  2299. data/vendor/bundle/gems/redcarpet-3.4.0/lib/redcarpet/cli.rb +0 -86
  2300. data/vendor/bundle/gems/redcarpet-3.4.0/lib/redcarpet/compat.rb +0 -73
  2301. data/vendor/bundle/gems/redcarpet-3.4.0/lib/redcarpet/render_man.rb +0 -65
  2302. data/vendor/bundle/gems/redcarpet-3.4.0/lib/redcarpet/render_strip.rb +0 -60
  2303. data/vendor/bundle/gems/redcarpet-3.4.0/redcarpet.gemspec +0 -71
  2304. data/vendor/bundle/gems/redcarpet-3.4.0/test/benchmark.rb +0 -24
  2305. data/vendor/bundle/gems/redcarpet-3.4.0/test/custom_render_test.rb +0 -57
  2306. data/vendor/bundle/gems/redcarpet-3.4.0/test/fixtures/benchmark.md +0 -232
  2307. data/vendor/bundle/gems/redcarpet-3.4.0/test/html5_test.rb +0 -82
  2308. data/vendor/bundle/gems/redcarpet-3.4.0/test/html_render_test.rb +0 -268
  2309. data/vendor/bundle/gems/redcarpet-3.4.0/test/html_toc_render_test.rb +0 -82
  2310. data/vendor/bundle/gems/redcarpet-3.4.0/test/markdown_test.rb +0 -406
  2311. data/vendor/bundle/gems/redcarpet-3.4.0/test/pathological_inputs_test.rb +0 -34
  2312. data/vendor/bundle/gems/redcarpet-3.4.0/test/redcarpet_bin_test.rb +0 -80
  2313. data/vendor/bundle/gems/redcarpet-3.4.0/test/redcarpet_compat_test.rb +0 -38
  2314. data/vendor/bundle/gems/redcarpet-3.4.0/test/safe_render_test.rb +0 -35
  2315. data/vendor/bundle/gems/redcarpet-3.4.0/test/smarty_html_test.rb +0 -45
  2316. data/vendor/bundle/gems/redcarpet-3.4.0/test/smarty_pants_test.rb +0 -58
  2317. data/vendor/bundle/gems/redcarpet-3.4.0/test/stripdown_render_test.rb +0 -61
  2318. data/vendor/bundle/gems/redcarpet-3.4.0/test/test_helper.rb +0 -47
  2319. data/vendor/bundle/gems/rspec-3.7.0/LICENSE.md +0 -27
  2320. data/vendor/bundle/gems/rspec-3.7.0/README.md +0 -39
  2321. data/vendor/bundle/gems/rspec-3.7.0/lib/rspec.rb +0 -3
  2322. data/vendor/bundle/gems/rspec-3.7.0/lib/rspec/version.rb +0 -5
  2323. data/vendor/bundle/gems/rspec-core-3.7.1/Changelog.md +0 -2192
  2324. data/vendor/bundle/gems/rspec-core-3.7.1/LICENSE.md +0 -26
  2325. data/vendor/bundle/gems/rspec-core-3.7.1/README.md +0 -384
  2326. data/vendor/bundle/gems/rspec-core-3.7.1/exe/rspec +0 -4
  2327. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/autorun.rb +0 -3
  2328. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core.rb +0 -185
  2329. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/backtrace_formatter.rb +0 -65
  2330. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/bisect/coordinator.rb +0 -66
  2331. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/bisect/example_minimizer.rb +0 -169
  2332. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/bisect/runner.rb +0 -169
  2333. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/bisect/server.rb +0 -70
  2334. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/configuration.rb +0 -2209
  2335. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/configuration_options.rb +0 -196
  2336. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/drb.rb +0 -113
  2337. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/dsl.rb +0 -98
  2338. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/example.rb +0 -653
  2339. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb +0 -884
  2340. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/example_status_persister.rb +0 -235
  2341. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/filter_manager.rb +0 -231
  2342. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/flat_map.rb +0 -20
  2343. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters.rb +0 -265
  2344. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/base_formatter.rb +0 -70
  2345. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/base_text_formatter.rb +0 -75
  2346. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/bisect_formatter.rb +0 -69
  2347. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -144
  2348. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/console_codes.rb +0 -68
  2349. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/deprecation_formatter.rb +0 -221
  2350. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/documentation_formatter.rb +0 -70
  2351. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/exception_presenter.rb +0 -496
  2352. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  2353. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/helpers.rb +0 -110
  2354. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/html_formatter.rb +0 -153
  2355. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/html_printer.rb +0 -416
  2356. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -120
  2357. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/json_formatter.rb +0 -102
  2358. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  2359. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/progress_formatter.rb +0 -29
  2360. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/protocol.rb +0 -182
  2361. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/snippet_extractor.rb +0 -134
  2362. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/formatters/syntax_highlighter.rb +0 -91
  2363. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb +0 -626
  2364. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/invocations.rb +0 -85
  2365. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb +0 -535
  2366. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/metadata.rb +0 -499
  2367. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/metadata_filter.rb +0 -255
  2368. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  2369. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  2370. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  2371. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/mocking_adapters/null.rb +0 -14
  2372. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  2373. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  2374. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/notifications.rb +0 -521
  2375. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/option_parser.rb +0 -309
  2376. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/ordering.rb +0 -158
  2377. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/output_wrapper.rb +0 -29
  2378. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/pending.rb +0 -165
  2379. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/profiler.rb +0 -32
  2380. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/project_initializer.rb +0 -48
  2381. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -100
  2382. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/rake_task.rb +0 -168
  2383. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/reporter.rb +0 -260
  2384. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/ruby_project.rb +0 -53
  2385. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb +0 -193
  2386. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/sandbox.rb +0 -37
  2387. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/set.rb +0 -54
  2388. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/shared_context.rb +0 -55
  2389. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/shared_example_group.rb +0 -271
  2390. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/shell_escape.rb +0 -49
  2391. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  2392. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/version.rb +0 -9
  2393. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/warnings.rb +0 -40
  2394. data/vendor/bundle/gems/rspec-core-3.7.1/lib/rspec/core/world.rb +0 -264
  2395. data/vendor/bundle/gems/rspec-expectations-3.7.0/Changelog.md +0 -1083
  2396. data/vendor/bundle/gems/rspec-expectations-3.7.0/LICENSE.md +0 -25
  2397. data/vendor/bundle/gems/rspec-expectations-3.7.0/README.md +0 -305
  2398. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations.rb +0 -82
  2399. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations/block_snippet_extractor.rb +0 -253
  2400. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations/configuration.rb +0 -201
  2401. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations/expectation_target.rb +0 -127
  2402. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations/fail_with.rb +0 -39
  2403. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations/failure_aggregator.rb +0 -194
  2404. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations/handler.rb +0 -170
  2405. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations/minitest_integration.rb +0 -58
  2406. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations/syntax.rb +0 -132
  2407. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/expectations/version.rb +0 -8
  2408. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers.rb +0 -1031
  2409. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/aliased_matcher.rb +0 -116
  2410. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in.rb +0 -52
  2411. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/all.rb +0 -85
  2412. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/base_matcher.rb +0 -193
  2413. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/be.rb +0 -288
  2414. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/be_between.rb +0 -77
  2415. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/be_instance_of.rb +0 -22
  2416. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/be_kind_of.rb +0 -16
  2417. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/be_within.rb +0 -72
  2418. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/change.rb +0 -387
  2419. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/compound.rb +0 -272
  2420. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/contain_exactly.rb +0 -301
  2421. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/cover.rb +0 -24
  2422. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/eq.rb +0 -40
  2423. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/eql.rb +0 -34
  2424. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/equal.rb +0 -81
  2425. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/exist.rb +0 -90
  2426. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/has.rb +0 -103
  2427. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  2428. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/include.rb +0 -143
  2429. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/match.rb +0 -106
  2430. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/operators.rb +0 -128
  2431. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/output.rb +0 -200
  2432. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/raise_error.rb +0 -230
  2433. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/respond_to.rb +0 -165
  2434. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/satisfy.rb +0 -60
  2435. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  2436. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  2437. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/built_in/yield.rb +0 -432
  2438. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/composable.rb +0 -169
  2439. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/dsl.rb +0 -527
  2440. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/english_phrasing.rb +0 -58
  2441. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -73
  2442. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/fail_matchers.rb +0 -42
  2443. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/generated_descriptions.rb +0 -42
  2444. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/matcher_delegator.rb +0 -35
  2445. data/vendor/bundle/gems/rspec-expectations-3.7.0/lib/rspec/matchers/matcher_protocol.rb +0 -99
  2446. data/vendor/bundle/gems/rspec-mocks-3.7.0/Changelog.md +0 -1089
  2447. data/vendor/bundle/gems/rspec-mocks-3.7.0/LICENSE.md +0 -25
  2448. data/vendor/bundle/gems/rspec-mocks-3.7.0/README.md +0 -460
  2449. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks.rb +0 -130
  2450. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance.rb +0 -11
  2451. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance/chain.rb +0 -110
  2452. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  2453. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -31
  2454. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -50
  2455. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  2456. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  2457. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance/recorder.rb +0 -289
  2458. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance/stub_chain.rb +0 -51
  2459. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -23
  2460. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  2461. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/argument_matchers.rb +0 -320
  2462. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/configuration.rb +0 -212
  2463. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/error_generator.rb +0 -369
  2464. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/example_methods.rb +0 -434
  2465. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/instance_method_stasher.rb +0 -146
  2466. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/marshal_extension.rb +0 -41
  2467. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  2468. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/matchers/have_received.rb +0 -130
  2469. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/matchers/receive.rb +0 -132
  2470. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
  2471. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
  2472. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/message_chain.rb +0 -87
  2473. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/message_expectation.rb +0 -740
  2474. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/method_double.rb +0 -287
  2475. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/method_reference.rb +0 -202
  2476. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/minitest_integration.rb +0 -68
  2477. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/mutate_const.rb +0 -339
  2478. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/object_reference.rb +0 -149
  2479. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/order_group.rb +0 -81
  2480. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/proxy.rb +0 -484
  2481. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/space.rb +0 -238
  2482. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/standalone.rb +0 -3
  2483. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/syntax.rb +0 -325
  2484. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/targets.rb +0 -124
  2485. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/test_double.rb +0 -171
  2486. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/verifying_double.rb +0 -129
  2487. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  2488. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/verifying_proxy.rb +0 -220
  2489. data/vendor/bundle/gems/rspec-mocks-3.7.0/lib/rspec/mocks/version.rb +0 -9
  2490. data/vendor/bundle/gems/rspec-support-3.7.1/Changelog.md +0 -234
  2491. data/vendor/bundle/gems/rspec-support-3.7.1/LICENSE.md +0 -23
  2492. data/vendor/bundle/gems/rspec-support-3.7.1/README.md +0 -40
  2493. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support.rb +0 -149
  2494. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/caller_filter.rb +0 -83
  2495. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/comparable_version.rb +0 -46
  2496. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/differ.rb +0 -215
  2497. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/directory_maker.rb +0 -63
  2498. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/encoded_string.rb +0 -165
  2499. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/fuzzy_matcher.rb +0 -48
  2500. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/hunk_generator.rb +0 -47
  2501. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/matcher_definition.rb +0 -42
  2502. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/method_signature_verifier.rb +0 -392
  2503. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/mutex.rb +0 -73
  2504. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/object_formatter.rb +0 -267
  2505. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/recursive_const_methods.rb +0 -76
  2506. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/reentrant_mutex.rb +0 -53
  2507. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/ruby_features.rb +0 -162
  2508. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/source.rb +0 -75
  2509. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/source/location.rb +0 -21
  2510. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/source/node.rb +0 -110
  2511. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/source/token.rb +0 -87
  2512. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec.rb +0 -81
  2513. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  2514. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec/formatting_support.rb +0 -9
  2515. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec/in_sub_process.rb +0 -69
  2516. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec/library_wide_checks.rb +0 -150
  2517. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec/shell_out.rb +0 -84
  2518. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec/stderr_splitter.rb +0 -63
  2519. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec/string_matcher.rb +0 -46
  2520. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
  2521. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  2522. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/version.rb +0 -7
  2523. data/vendor/bundle/gems/rspec-support-3.7.1/lib/rspec/support/warnings.rb +0 -39
  2524. data/vendor/bundle/gems/rubyzip-1.2.1/README.md +0 -306
  2525. data/vendor/bundle/gems/rubyzip-1.2.1/Rakefile +0 -18
  2526. data/vendor/bundle/gems/rubyzip-1.2.1/TODO +0 -15
  2527. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip.rb +0 -61
  2528. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/central_directory.rb +0 -208
  2529. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/compressor.rb +0 -10
  2530. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/constants.rb +0 -63
  2531. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/crypto/encryption.rb +0 -11
  2532. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/crypto/null_encryption.rb +0 -45
  2533. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/crypto/traditional_encryption.rb +0 -99
  2534. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/decompressor.rb +0 -13
  2535. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/deflater.rb +0 -34
  2536. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/dos_time.rb +0 -48
  2537. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/entry.rb +0 -690
  2538. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/entry_set.rb +0 -86
  2539. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/errors.rb +0 -17
  2540. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/extra_field.rb +0 -101
  2541. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/extra_field/generic.rb +0 -43
  2542. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/extra_field/ntfs.rb +0 -90
  2543. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/extra_field/old_unix.rb +0 -44
  2544. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/extra_field/universal_time.rb +0 -47
  2545. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/extra_field/unix.rb +0 -37
  2546. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/extra_field/zip64.rb +0 -68
  2547. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/extra_field/zip64_placeholder.rb +0 -16
  2548. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/file.rb +0 -423
  2549. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/filesystem.rb +0 -623
  2550. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/inflater.rb +0 -66
  2551. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/input_stream.rb +0 -170
  2552. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/ioextras.rb +0 -36
  2553. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/ioextras/abstract_input_stream.rb +0 -111
  2554. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/ioextras/abstract_output_stream.rb +0 -43
  2555. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/null_compressor.rb +0 -15
  2556. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/null_decompressor.rb +0 -27
  2557. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/null_input_stream.rb +0 -10
  2558. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/output_stream.rb +0 -189
  2559. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/pass_thru_compressor.rb +0 -23
  2560. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/pass_thru_decompressor.rb +0 -40
  2561. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/streamable_directory.rb +0 -15
  2562. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/streamable_stream.rb +0 -56
  2563. data/vendor/bundle/gems/rubyzip-1.2.1/lib/zip/version.rb +0 -3
  2564. data/vendor/bundle/gems/rubyzip-1.2.1/samples/example.rb +0 -81
  2565. data/vendor/bundle/gems/rubyzip-1.2.1/samples/example_filesystem.rb +0 -31
  2566. data/vendor/bundle/gems/rubyzip-1.2.1/samples/example_recursive.rb +0 -55
  2567. data/vendor/bundle/gems/rubyzip-1.2.1/samples/gtk_ruby_zip.rb +0 -84
  2568. data/vendor/bundle/gems/rubyzip-1.2.1/samples/qtzip.rb +0 -92
  2569. data/vendor/bundle/gems/rubyzip-1.2.1/samples/write_simple.rb +0 -12
  2570. data/vendor/bundle/gems/rubyzip-1.2.1/samples/zipfind.rb +0 -66
  2571. data/vendor/bundle/gems/rubyzip-1.2.1/test/basic_zip_file_test.rb +0 -60
  2572. data/vendor/bundle/gems/rubyzip-1.2.1/test/case_sensitivity_test.rb +0 -69
  2573. data/vendor/bundle/gems/rubyzip-1.2.1/test/central_directory_entry_test.rb +0 -69
  2574. data/vendor/bundle/gems/rubyzip-1.2.1/test/central_directory_test.rb +0 -100
  2575. data/vendor/bundle/gems/rubyzip-1.2.1/test/crypto/null_encryption_test.rb +0 -57
  2576. data/vendor/bundle/gems/rubyzip-1.2.1/test/crypto/traditional_encryption_test.rb +0 -80
  2577. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/WarnInvalidDate.zip +0 -0
  2578. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/file1.txt +0 -46
  2579. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/file1.txt.deflatedData +0 -0
  2580. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/file2.txt +0 -1504
  2581. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/globTest.zip +0 -0
  2582. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/globTest/foo.txt +0 -0
  2583. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/globTest/foo/bar/baz/foo.txt +0 -0
  2584. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/globTest/food.txt +0 -0
  2585. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/mimetype +0 -1
  2586. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/notzippedruby.rb +0 -7
  2587. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/ntfs.zip +0 -0
  2588. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/oddExtraField.zip +0 -0
  2589. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/rubycode.zip +0 -0
  2590. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/rubycode2.zip +0 -0
  2591. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/test.xls +0 -0
  2592. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/testDirectory.bin +0 -0
  2593. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/zip64-sample.zip +0 -0
  2594. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/zipWithDirs.zip +0 -0
  2595. data/vendor/bundle/gems/rubyzip-1.2.1/test/data/zipWithEncryption.zip +0 -0
  2596. data/vendor/bundle/gems/rubyzip-1.2.1/test/deflater_test.rb +0 -65
  2597. data/vendor/bundle/gems/rubyzip-1.2.1/test/encryption_test.rb +0 -42
  2598. data/vendor/bundle/gems/rubyzip-1.2.1/test/entry_set_test.rb +0 -163
  2599. data/vendor/bundle/gems/rubyzip-1.2.1/test/entry_test.rb +0 -154
  2600. data/vendor/bundle/gems/rubyzip-1.2.1/test/errors_test.rb +0 -34
  2601. data/vendor/bundle/gems/rubyzip-1.2.1/test/extra_field_test.rb +0 -76
  2602. data/vendor/bundle/gems/rubyzip-1.2.1/test/file_extract_directory_test.rb +0 -54
  2603. data/vendor/bundle/gems/rubyzip-1.2.1/test/file_extract_test.rb +0 -83
  2604. data/vendor/bundle/gems/rubyzip-1.2.1/test/file_permissions_test.rb +0 -69
  2605. data/vendor/bundle/gems/rubyzip-1.2.1/test/file_split_test.rb +0 -57
  2606. data/vendor/bundle/gems/rubyzip-1.2.1/test/file_test.rb +0 -583
  2607. data/vendor/bundle/gems/rubyzip-1.2.1/test/filesystem/dir_iterator_test.rb +0 -58
  2608. data/vendor/bundle/gems/rubyzip-1.2.1/test/filesystem/directory_test.rb +0 -121
  2609. data/vendor/bundle/gems/rubyzip-1.2.1/test/filesystem/file_mutating_test.rb +0 -88
  2610. data/vendor/bundle/gems/rubyzip-1.2.1/test/filesystem/file_nonmutating_test.rb +0 -508
  2611. data/vendor/bundle/gems/rubyzip-1.2.1/test/filesystem/file_stat_test.rb +0 -64
  2612. data/vendor/bundle/gems/rubyzip-1.2.1/test/gentestfiles.rb +0 -126
  2613. data/vendor/bundle/gems/rubyzip-1.2.1/test/inflater_test.rb +0 -14
  2614. data/vendor/bundle/gems/rubyzip-1.2.1/test/input_stream_test.rb +0 -182
  2615. data/vendor/bundle/gems/rubyzip-1.2.1/test/ioextras/abstract_input_stream_test.rb +0 -102
  2616. data/vendor/bundle/gems/rubyzip-1.2.1/test/ioextras/abstract_output_stream_test.rb +0 -106
  2617. data/vendor/bundle/gems/rubyzip-1.2.1/test/ioextras/fake_io_test.rb +0 -18
  2618. data/vendor/bundle/gems/rubyzip-1.2.1/test/local_entry_test.rb +0 -154
  2619. data/vendor/bundle/gems/rubyzip-1.2.1/test/output_stream_test.rb +0 -128
  2620. data/vendor/bundle/gems/rubyzip-1.2.1/test/pass_thru_compressor_test.rb +0 -30
  2621. data/vendor/bundle/gems/rubyzip-1.2.1/test/pass_thru_decompressor_test.rb +0 -14
  2622. data/vendor/bundle/gems/rubyzip-1.2.1/test/samples/example_recursive_test.rb +0 -37
  2623. data/vendor/bundle/gems/rubyzip-1.2.1/test/settings_test.rb +0 -95
  2624. data/vendor/bundle/gems/rubyzip-1.2.1/test/test_helper.rb +0 -234
  2625. data/vendor/bundle/gems/rubyzip-1.2.1/test/unicode_file_names_and_comments_test.rb +0 -50
  2626. data/vendor/bundle/gems/rubyzip-1.2.1/test/zip64_full_test.rb +0 -51
  2627. data/vendor/bundle/gems/rubyzip-1.2.1/test/zip64_support_test.rb +0 -14
  2628. data/vendor/bundle/gems/sawyer-0.8.1/Gemfile +0 -8
  2629. data/vendor/bundle/gems/sawyer-0.8.1/LICENSE.md +0 -20
  2630. data/vendor/bundle/gems/sawyer-0.8.1/README.md +0 -19
  2631. data/vendor/bundle/gems/sawyer-0.8.1/Rakefile +0 -12
  2632. data/vendor/bundle/gems/sawyer-0.8.1/lib/sawyer.rb +0 -17
  2633. data/vendor/bundle/gems/sawyer-0.8.1/lib/sawyer/agent.rb +0 -158
  2634. data/vendor/bundle/gems/sawyer-0.8.1/lib/sawyer/link_parsers/hal.rb +0 -15
  2635. data/vendor/bundle/gems/sawyer-0.8.1/lib/sawyer/link_parsers/simple.rb +0 -29
  2636. data/vendor/bundle/gems/sawyer-0.8.1/lib/sawyer/relation.rb +0 -271
  2637. data/vendor/bundle/gems/sawyer-0.8.1/lib/sawyer/resource.rb +0 -155
  2638. data/vendor/bundle/gems/sawyer-0.8.1/lib/sawyer/response.rb +0 -64
  2639. data/vendor/bundle/gems/sawyer-0.8.1/lib/sawyer/serializer.rb +0 -127
  2640. data/vendor/bundle/gems/sawyer-0.8.1/sawyer.gemspec +0 -32
  2641. data/vendor/bundle/gems/sawyer-0.8.1/script/bootstrap +0 -5
  2642. data/vendor/bundle/gems/sawyer-0.8.1/script/console +0 -8
  2643. data/vendor/bundle/gems/sawyer-0.8.1/script/package +0 -8
  2644. data/vendor/bundle/gems/sawyer-0.8.1/script/release +0 -16
  2645. data/vendor/bundle/gems/sawyer-0.8.1/script/test +0 -6
  2646. data/vendor/bundle/gems/sawyer-0.8.1/test/agent_test.rb +0 -195
  2647. data/vendor/bundle/gems/sawyer-0.8.1/test/helper.rb +0 -7
  2648. data/vendor/bundle/gems/sawyer-0.8.1/test/relation_test.rb +0 -174
  2649. data/vendor/bundle/gems/sawyer-0.8.1/test/resource_test.rb +0 -199
  2650. data/vendor/bundle/gems/sawyer-0.8.1/test/response_test.rb +0 -77
  2651. data/vendor/bundle/gems/selenium-webdriver-3.12.0/CHANGES +0 -1411
  2652. data/vendor/bundle/gems/selenium-webdriver-3.12.0/Gemfile +0 -2
  2653. data/vendor/bundle/gems/selenium-webdriver-3.12.0/LICENSE +0 -202
  2654. data/vendor/bundle/gems/selenium-webdriver-3.12.0/README.md +0 -35
  2655. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium-webdriver.rb +0 -18
  2656. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/server.rb +0 -268
  2657. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver.rb +0 -99
  2658. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/atoms.rb +0 -18
  2659. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/atoms/getAttribute.js +0 -8
  2660. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/chrome.rb +0 -48
  2661. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/chrome/bridge.rb +0 -43
  2662. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/chrome/driver.rb +0 -115
  2663. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/chrome/options.rb +0 -183
  2664. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/chrome/profile.rb +0 -109
  2665. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/chrome/service.rb +0 -59
  2666. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common.rb +0 -73
  2667. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/action_builder.rb +0 -363
  2668. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/alert.rb +0 -45
  2669. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/bridge_helper.rb +0 -79
  2670. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver.rb +0 -293
  2671. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +0 -48
  2672. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_debugger.rb +0 -40
  2673. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_location.rb +0 -40
  2674. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +0 -49
  2675. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +0 -56
  2676. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +0 -49
  2677. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +0 -28
  2678. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_session_id.rb +0 -37
  2679. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb +0 -34
  2680. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb +0 -36
  2681. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/rotatable.rb +0 -59
  2682. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -62
  2683. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/driver_extensions/uploads_files.rb +0 -60
  2684. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/element.rb +0 -333
  2685. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/error.rb +0 -326
  2686. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/file_reaper.rb +0 -65
  2687. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/html5/local_storage.rb +0 -57
  2688. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/html5/session_storage.rb +0 -59
  2689. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/html5/shared_web_storage.rb +0 -50
  2690. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/interactions/input_device.rb +0 -51
  2691. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/interactions/interaction.rb +0 -50
  2692. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/interactions/interactions.rb +0 -41
  2693. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/interactions/key_actions.rb +0 -143
  2694. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/interactions/key_input.rb +0 -62
  2695. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/interactions/none_input.rb +0 -33
  2696. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/interactions/pointer_actions.rb +0 -353
  2697. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/interactions/pointer_input.rb +0 -132
  2698. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/keyboard.rb +0 -67
  2699. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/keys.rb +0 -143
  2700. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/log_entry.rb +0 -46
  2701. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/logger.rb +0 -140
  2702. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/logs.rb +0 -38
  2703. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/mouse.rb +0 -86
  2704. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/navigation.rb +0 -58
  2705. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/options.rb +0 -151
  2706. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/platform.rb +0 -221
  2707. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/port_prober.rb +0 -60
  2708. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/profile_helper.rb +0 -81
  2709. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/proxy.rb +0 -154
  2710. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/search_context.rb +0 -110
  2711. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/service.rb +0 -161
  2712. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/socket_lock.rb +0 -75
  2713. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/socket_poller.rb +0 -117
  2714. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/target_locator.rb +0 -109
  2715. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/timeouts.rb +0 -53
  2716. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/touch_action_builder.rb +0 -79
  2717. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/touch_screen.rb +0 -120
  2718. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/w3c_action_builder.rb +0 -209
  2719. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/w3c_options.rb +0 -43
  2720. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/wait.rb +0 -75
  2721. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/window.rb +0 -161
  2722. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/common/zipper.rb +0 -97
  2723. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/edge.rb +0 -37
  2724. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/edge/bridge.rb +0 -74
  2725. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/edge/driver.rb +0 -73
  2726. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/edge/service.rb +0 -55
  2727. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox.rb +0 -60
  2728. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/binary.rb +0 -186
  2729. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/driver.rb +0 -48
  2730. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/extension.rb +0 -95
  2731. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/extension/prefs.json +0 -70
  2732. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
  2733. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/launcher.rb +0 -108
  2734. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/legacy/driver.rb +0 -79
  2735. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/marionette/bridge.rb +0 -47
  2736. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/marionette/driver.rb +0 -96
  2737. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
  2738. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
  2739. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/options.rb +0 -149
  2740. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/profile.rb +0 -282
  2741. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/profiles_ini.rb +0 -71
  2742. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/service.rb +0 -63
  2743. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/firefox/util.rb +0 -44
  2744. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/ie.rb +0 -35
  2745. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/ie/driver.rb +0 -91
  2746. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/ie/options.rb +0 -136
  2747. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/ie/service.rb +0 -58
  2748. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote.rb +0 -33
  2749. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/bridge.rb +0 -190
  2750. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/capabilities.rb +0 -269
  2751. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/driver.rb +0 -49
  2752. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/http/common.rb +0 -98
  2753. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/http/curb.rb +0 -95
  2754. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/http/default.rb +0 -176
  2755. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/http/persistent.rb +0 -58
  2756. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/oss/bridge.rb +0 -586
  2757. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/oss/commands.rb +0 -221
  2758. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/response.rb +0 -128
  2759. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/server_error.rb +0 -32
  2760. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/w3c/bridge.rb +0 -573
  2761. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/w3c/capabilities.rb +0 -293
  2762. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/remote/w3c/commands.rb +0 -148
  2763. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/safari.rb +0 -57
  2764. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/safari/bridge.rb +0 -49
  2765. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/safari/driver.rb +0 -61
  2766. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/safari/service.rb +0 -57
  2767. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/support.rb +0 -23
  2768. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/support/abstract_event_listener.rb +0 -85
  2769. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/support/block_event_listener.rb +0 -32
  2770. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/support/color.rb +0 -144
  2771. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/support/escaper.rb +0 -41
  2772. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/support/event_firing_bridge.rb +0 -127
  2773. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/support/select.rb +0 -269
  2774. data/vendor/bundle/gems/selenium-webdriver-3.12.0/lib/selenium/webdriver/version.rb +0 -22
  2775. data/vendor/bundle/gems/selenium-webdriver-3.12.0/selenium-webdriver.gemspec +0 -40
  2776. data/vendor/bundle/gems/sequel-5.9.0/CHANGELOG +0 -2237
  2777. data/vendor/bundle/gems/sequel-5.9.0/MIT-LICENSE +0 -19
  2778. data/vendor/bundle/gems/sequel-5.9.0/README.rdoc +0 -902
  2779. data/vendor/bundle/gems/sequel-5.9.0/Rakefile +0 -151
  2780. data/vendor/bundle/gems/sequel-5.9.0/bin/sequel +0 -263
  2781. data/vendor/bundle/gems/sequel-5.9.0/doc/advanced_associations.rdoc +0 -764
  2782. data/vendor/bundle/gems/sequel-5.9.0/doc/association_basics.rdoc +0 -1759
  2783. data/vendor/bundle/gems/sequel-5.9.0/doc/bin_sequel.rdoc +0 -146
  2784. data/vendor/bundle/gems/sequel-5.9.0/doc/cheat_sheet.rdoc +0 -246
  2785. data/vendor/bundle/gems/sequel-5.9.0/doc/code_order.rdoc +0 -104
  2786. data/vendor/bundle/gems/sequel-5.9.0/doc/core_extensions.rdoc +0 -405
  2787. data/vendor/bundle/gems/sequel-5.9.0/doc/dataset_basics.rdoc +0 -96
  2788. data/vendor/bundle/gems/sequel-5.9.0/doc/dataset_filtering.rdoc +0 -207
  2789. data/vendor/bundle/gems/sequel-5.9.0/doc/extensions.rdoc +0 -77
  2790. data/vendor/bundle/gems/sequel-5.9.0/doc/mass_assignment.rdoc +0 -98
  2791. data/vendor/bundle/gems/sequel-5.9.0/doc/migration.rdoc +0 -639
  2792. data/vendor/bundle/gems/sequel-5.9.0/doc/model_dataset_method_design.rdoc +0 -129
  2793. data/vendor/bundle/gems/sequel-5.9.0/doc/model_hooks.rdoc +0 -254
  2794. data/vendor/bundle/gems/sequel-5.9.0/doc/model_plugins.rdoc +0 -270
  2795. data/vendor/bundle/gems/sequel-5.9.0/doc/mssql_stored_procedures.rdoc +0 -43
  2796. data/vendor/bundle/gems/sequel-5.9.0/doc/object_model.rdoc +0 -563
  2797. data/vendor/bundle/gems/sequel-5.9.0/doc/opening_databases.rdoc +0 -396
  2798. data/vendor/bundle/gems/sequel-5.9.0/doc/postgresql.rdoc +0 -498
  2799. data/vendor/bundle/gems/sequel-5.9.0/doc/prepared_statements.rdoc +0 -144
  2800. data/vendor/bundle/gems/sequel-5.9.0/doc/querying.rdoc +0 -1063
  2801. data/vendor/bundle/gems/sequel-5.9.0/doc/reflection.rdoc +0 -120
  2802. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.0.0.txt +0 -262
  2803. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.1.0.txt +0 -85
  2804. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.10.0.txt +0 -226
  2805. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.11.0.txt +0 -147
  2806. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.12.0.txt +0 -105
  2807. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.13.0.txt +0 -169
  2808. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.14.0.txt +0 -68
  2809. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.15.0.txt +0 -56
  2810. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.16.0.txt +0 -36
  2811. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.17.0.txt +0 -38
  2812. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.18.0.txt +0 -36
  2813. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.19.0.txt +0 -45
  2814. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.2.0.txt +0 -129
  2815. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.20.0.txt +0 -79
  2816. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.21.0.txt +0 -94
  2817. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.22.0.txt +0 -72
  2818. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.23.0.txt +0 -65
  2819. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.24.0.txt +0 -99
  2820. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.25.0.txt +0 -181
  2821. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.26.0.txt +0 -44
  2822. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.27.0.txt +0 -78
  2823. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.28.0.txt +0 -57
  2824. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.29.0.txt +0 -41
  2825. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.3.0.txt +0 -40
  2826. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.30.0.txt +0 -37
  2827. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.31.0.txt +0 -57
  2828. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.32.0.txt +0 -132
  2829. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.33.0.txt +0 -88
  2830. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.34.0.txt +0 -86
  2831. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.35.0.txt +0 -130
  2832. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.36.0.txt +0 -116
  2833. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.37.0.txt +0 -50
  2834. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.38.0.txt +0 -67
  2835. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.39.0.txt +0 -127
  2836. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.4.0.txt +0 -92
  2837. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.40.0.txt +0 -179
  2838. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.41.0.txt +0 -77
  2839. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.42.0.txt +0 -221
  2840. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.43.0.txt +0 -87
  2841. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.44.0.txt +0 -125
  2842. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.45.0.txt +0 -370
  2843. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.46.0.txt +0 -404
  2844. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.47.0.txt +0 -56
  2845. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.48.0.txt +0 -293
  2846. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.49.0.txt +0 -222
  2847. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.5.0.txt +0 -34
  2848. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.6.0.txt +0 -30
  2849. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.7.0.txt +0 -103
  2850. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.8.0.txt +0 -175
  2851. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/4.9.0.txt +0 -190
  2852. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.0.0.txt +0 -159
  2853. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.1.0.txt +0 -31
  2854. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.2.0.txt +0 -33
  2855. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.3.0.txt +0 -121
  2856. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.4.0.txt +0 -80
  2857. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.5.0.txt +0 -61
  2858. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.6.0.txt +0 -31
  2859. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.7.0.txt +0 -108
  2860. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.8.0.txt +0 -170
  2861. data/vendor/bundle/gems/sequel-5.9.0/doc/release_notes/5.9.0.txt +0 -99
  2862. data/vendor/bundle/gems/sequel-5.9.0/doc/schema_modification.rdoc +0 -679
  2863. data/vendor/bundle/gems/sequel-5.9.0/doc/security.rdoc +0 -433
  2864. data/vendor/bundle/gems/sequel-5.9.0/doc/sharding.rdoc +0 -270
  2865. data/vendor/bundle/gems/sequel-5.9.0/doc/sql.rdoc +0 -624
  2866. data/vendor/bundle/gems/sequel-5.9.0/doc/testing.rdoc +0 -170
  2867. data/vendor/bundle/gems/sequel-5.9.0/doc/thread_safety.rdoc +0 -15
  2868. data/vendor/bundle/gems/sequel-5.9.0/doc/transactions.rdoc +0 -172
  2869. data/vendor/bundle/gems/sequel-5.9.0/doc/validations.rdoc +0 -558
  2870. data/vendor/bundle/gems/sequel-5.9.0/doc/virtual_rows.rdoc +0 -265
  2871. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel.rb +0 -3
  2872. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/ado.rb +0 -275
  2873. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/ado/access.rb +0 -335
  2874. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/ado/mssql.rb +0 -65
  2875. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/amalgalite.rb +0 -171
  2876. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/ibmdb.rb +0 -422
  2877. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc.rb +0 -802
  2878. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/db2.rb +0 -83
  2879. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/derby.rb +0 -310
  2880. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/h2.rb +0 -237
  2881. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/hsqldb.rb +0 -220
  2882. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/jtds.rb +0 -39
  2883. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/mssql.rb +0 -30
  2884. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/mysql.rb +0 -89
  2885. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/oracle.rb +0 -145
  2886. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/postgresql.rb +0 -242
  2887. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/sqlanywhere.rb +0 -73
  2888. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/sqlite.rb +0 -102
  2889. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/sqlserver.rb +0 -87
  2890. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/jdbc/transactions.rb +0 -109
  2891. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/mock.rb +0 -381
  2892. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/mysql.rb +0 -356
  2893. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/mysql2.rb +0 -293
  2894. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/odbc.rb +0 -148
  2895. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/odbc/db2.rb +0 -11
  2896. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/odbc/mssql.rb +0 -57
  2897. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/odbc/oracle.rb +0 -11
  2898. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/oracle.rb +0 -410
  2899. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/postgres.rb +0 -782
  2900. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/postgresql.rb +0 -3
  2901. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/shared/access.rb +0 -285
  2902. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/shared/db2.rb +0 -457
  2903. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/shared/mssql.rb +0 -1073
  2904. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/shared/mysql.rb +0 -1040
  2905. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/shared/oracle.rb +0 -646
  2906. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/shared/postgres.rb +0 -1953
  2907. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/shared/sqlanywhere.rb +0 -441
  2908. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/shared/sqlite.rb +0 -796
  2909. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/sqlanywhere.rb +0 -176
  2910. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/sqlite.rb +0 -366
  2911. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/tinytds.rb +0 -251
  2912. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb +0 -77
  2913. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +0 -93
  2914. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/utils/mysql_mysql2.rb +0 -83
  2915. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/utils/mysql_prepared_statements.rb +0 -56
  2916. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/utils/replace.rb +0 -35
  2917. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/utils/split_alter_table.rb +0 -46
  2918. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/utils/stored_procedures.rb +0 -61
  2919. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/adapters/utils/unmodified_identifiers.rb +0 -28
  2920. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/ast_transformer.rb +0 -124
  2921. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/connection_pool.rb +0 -148
  2922. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/connection_pool/sharded_single.rb +0 -112
  2923. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/connection_pool/sharded_threaded.rb +0 -368
  2924. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/connection_pool/single.rb +0 -59
  2925. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/connection_pool/threaded.rb +0 -282
  2926. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/core.rb +0 -429
  2927. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database.rb +0 -37
  2928. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/connecting.rb +0 -332
  2929. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/dataset.rb +0 -79
  2930. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/dataset_defaults.rb +0 -93
  2931. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/features.rb +0 -150
  2932. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/logging.rb +0 -85
  2933. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/misc.rb +0 -537
  2934. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/query.rb +0 -363
  2935. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/schema_generator.rb +0 -637
  2936. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/schema_methods.rb +0 -1052
  2937. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/database/transactions.rb +0 -442
  2938. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset.rb +0 -54
  2939. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset/actions.rb +0 -1233
  2940. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset/dataset_module.rb +0 -46
  2941. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset/features.rb +0 -226
  2942. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset/graph.rb +0 -280
  2943. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset/misc.rb +0 -357
  2944. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset/placeholder_literalizer.rb +0 -190
  2945. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset/prepared_statements.rb +0 -357
  2946. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset/query.rb +0 -1353
  2947. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/dataset/sql.rb +0 -1539
  2948. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/deprecated.rb +0 -68
  2949. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/exceptions.rb +0 -123
  2950. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/_model_constraint_validations.rb +0 -16
  2951. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/_model_pg_row.rb +0 -43
  2952. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/_pretty_table.rb +0 -86
  2953. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/arbitrary_servers.rb +0 -114
  2954. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/auto_literal_strings.rb +0 -74
  2955. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/blank.rb +0 -49
  2956. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/columns_introspection.rb +0 -89
  2957. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/connection_expiration.rb +0 -99
  2958. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/connection_validator.rb +0 -122
  2959. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/constraint_validations.rb +0 -485
  2960. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/core_extensions.rb +0 -222
  2961. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/core_refinements.rb +0 -217
  2962. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/current_datetime_timestamp.rb +0 -59
  2963. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/dataset_source_alias.rb +0 -95
  2964. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/date_arithmetic.rb +0 -214
  2965. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/datetime_parse_to_time.rb +0 -37
  2966. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/duplicate_columns_handler.rb +0 -92
  2967. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/empty_array_consider_nulls.rb +0 -39
  2968. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/error_sql.rb +0 -76
  2969. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/escaped_like.rb +0 -100
  2970. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/eval_inspect.rb +0 -181
  2971. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/freeze_datasets.rb +0 -3
  2972. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/from_block.rb +0 -3
  2973. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/graph_each.rb +0 -88
  2974. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/identifier_mangling.rb +0 -180
  2975. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/implicit_subquery.rb +0 -48
  2976. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/index_caching.rb +0 -107
  2977. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/inflector.rb +0 -250
  2978. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/integer64.rb +0 -30
  2979. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/looser_typecasting.rb +0 -54
  2980. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/migration.rb +0 -785
  2981. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb +0 -84
  2982. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/named_timezones.rb +0 -103
  2983. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/no_auto_literal_strings.rb +0 -4
  2984. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/null_dataset.rb +0 -109
  2985. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pagination.rb +0 -140
  2986. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_array.rb +0 -518
  2987. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_array_ops.rb +0 -328
  2988. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_enum.rb +0 -184
  2989. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_extended_date_support.rb +0 -243
  2990. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_hstore.rb +0 -342
  2991. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_hstore_ops.rb +0 -361
  2992. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_inet.rb +0 -127
  2993. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_inet_ops.rb +0 -204
  2994. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_interval.rb +0 -196
  2995. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_json.rb +0 -382
  2996. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_json_ops.rb +0 -513
  2997. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_loose_count.rb +0 -37
  2998. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_range.rb +0 -563
  2999. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_range_ops.rb +0 -165
  3000. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_row.rb +0 -580
  3001. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_row_ops.rb +0 -193
  3002. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_static_cache_updater.rb +0 -144
  3003. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pg_timestamptz.rb +0 -26
  3004. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/pretty_table.rb +0 -40
  3005. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/query.rb +0 -82
  3006. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/round_timestamps.rb +0 -49
  3007. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/s.rb +0 -57
  3008. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/schema_caching.rb +0 -88
  3009. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/schema_dumper.rb +0 -498
  3010. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/select_remove.rb +0 -52
  3011. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/sequel_4_dataset_methods.rb +0 -83
  3012. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/server_block.rb +0 -171
  3013. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/server_logging.rb +0 -61
  3014. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/split_array_nil.rb +0 -70
  3015. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/sql_comments.rb +0 -96
  3016. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/sql_expr.rb +0 -23
  3017. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/string_agg.rb +0 -181
  3018. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/string_date_time.rb +0 -52
  3019. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/symbol_aref.rb +0 -53
  3020. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/symbol_aref_refinement.rb +0 -41
  3021. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/symbol_as.rb +0 -23
  3022. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/symbol_as_refinement.rb +0 -35
  3023. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/synchronize_sql.rb +0 -45
  3024. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/thread_local_timezones.rb +0 -59
  3025. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/to_dot.rb +0 -158
  3026. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/extensions/virtual_row_method_block.rb +0 -44
  3027. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/model.rb +0 -83
  3028. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/model/associations.rb +0 -3470
  3029. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/model/base.rb +0 -2174
  3030. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/model/dataset_module.rb +0 -33
  3031. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/model/default_inflections.rb +0 -47
  3032. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/model/errors.rb +0 -58
  3033. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/model/exceptions.rb +0 -55
  3034. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/model/inflections.rb +0 -151
  3035. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/model/plugins.rb +0 -55
  3036. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/accessed_columns.rb +0 -63
  3037. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/active_model.rb +0 -124
  3038. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/after_initialize.rb +0 -39
  3039. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/association_dependencies.rb +0 -106
  3040. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/association_pks.rb +0 -264
  3041. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/association_proxies.rb +0 -125
  3042. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/auto_validations.rb +0 -211
  3043. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/before_after_save.rb +0 -8
  3044. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/blacklist_security.rb +0 -105
  3045. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/boolean_readers.rb +0 -59
  3046. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/boolean_subsets.rb +0 -61
  3047. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/caching.rb +0 -161
  3048. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/class_table_inheritance.rb +0 -411
  3049. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/column_conflicts.rb +0 -108
  3050. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/column_select.rb +0 -61
  3051. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/columns_updated.rb +0 -42
  3052. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/composition.rb +0 -195
  3053. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/constraint_validations.rb +0 -250
  3054. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/csv_serializer.rb +0 -177
  3055. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/dataset_associations.rb +0 -149
  3056. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/def_dataset_method.rb +0 -90
  3057. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/defaults_setter.rb +0 -130
  3058. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/delay_add_association.rb +0 -53
  3059. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/dirty.rb +0 -238
  3060. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/eager_each.rb +0 -88
  3061. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/error_splitter.rb +0 -61
  3062. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/finder.rb +0 -246
  3063. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/force_encoding.rb +0 -78
  3064. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/hook_class_methods.rb +0 -98
  3065. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/input_transformer.rb +0 -89
  3066. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/insert_returning_select.rb +0 -72
  3067. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/instance_filters.rb +0 -135
  3068. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/instance_hooks.rb +0 -115
  3069. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/inverted_subsets.rb +0 -59
  3070. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/json_serializer.rb +0 -429
  3071. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/lazy_attributes.rb +0 -123
  3072. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/list.rb +0 -191
  3073. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/many_through_many.rb +0 -338
  3074. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/modification_detection.rb +0 -102
  3075. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/mssql_optimistic_locking.rb +0 -95
  3076. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/nested_attributes.rb +0 -308
  3077. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/optimistic_locking.rb +0 -85
  3078. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/pg_array_associations.rb +0 -559
  3079. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/pg_auto_constraint_validations.rb +0 -260
  3080. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/pg_row.rb +0 -79
  3081. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/prepared_statements.rb +0 -192
  3082. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/prepared_statements_safe.rb +0 -83
  3083. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/rcte_tree.rb +0 -332
  3084. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/serialization.rb +0 -230
  3085. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/serialization_modification_detection.rb +0 -86
  3086. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/sharding.rb +0 -120
  3087. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/single_table_inheritance.rb +0 -256
  3088. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/singular_table_names.rb +0 -33
  3089. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/skip_create_refresh.rb +0 -37
  3090. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/split_values.rb +0 -71
  3091. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/static_cache.rb +0 -245
  3092. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/string_stripper.rb +0 -59
  3093. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/subclasses.rb +0 -77
  3094. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/subset_conditions.rb +0 -48
  3095. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/table_select.rb +0 -43
  3096. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/tactical_eager_loading.rb +0 -128
  3097. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/timestamps.rb +0 -109
  3098. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/touch.rb +0 -153
  3099. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/tree.rb +0 -165
  3100. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/typecast_on_load.rb +0 -89
  3101. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/unlimited_update.rb +0 -27
  3102. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/update_or_create.rb +0 -64
  3103. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/update_primary_key.rb +0 -72
  3104. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/update_refresh.rb +0 -88
  3105. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/uuid.rb +0 -70
  3106. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/validate_associated.rb +0 -75
  3107. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/validation_class_methods.rb +0 -454
  3108. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/validation_contexts.rb +0 -49
  3109. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/validation_helpers.rb +0 -317
  3110. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/whitelist_security.rb +0 -122
  3111. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/plugins/xml_serializer.rb +0 -411
  3112. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/sql.rb +0 -1959
  3113. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/timezones.rb +0 -210
  3114. data/vendor/bundle/gems/sequel-5.9.0/lib/sequel/version.rb +0 -23
  3115. data/vendor/bundle/gems/sequel-5.9.0/spec/adapter_spec.rb +0 -4
  3116. data/vendor/bundle/gems/sequel-5.9.0/spec/adapters/db2_spec.rb +0 -170
  3117. data/vendor/bundle/gems/sequel-5.9.0/spec/adapters/mssql_spec.rb +0 -804
  3118. data/vendor/bundle/gems/sequel-5.9.0/spec/adapters/mysql_spec.rb +0 -1065
  3119. data/vendor/bundle/gems/sequel-5.9.0/spec/adapters/oracle_spec.rb +0 -327
  3120. data/vendor/bundle/gems/sequel-5.9.0/spec/adapters/postgres_spec.rb +0 -4000
  3121. data/vendor/bundle/gems/sequel-5.9.0/spec/adapters/spec_helper.rb +0 -43
  3122. data/vendor/bundle/gems/sequel-5.9.0/spec/adapters/sqlanywhere_spec.rb +0 -97
  3123. data/vendor/bundle/gems/sequel-5.9.0/spec/adapters/sqlite_spec.rb +0 -600
  3124. data/vendor/bundle/gems/sequel-5.9.0/spec/bin_spec.rb +0 -269
  3125. data/vendor/bundle/gems/sequel-5.9.0/spec/core/connection_pool_spec.rb +0 -1250
  3126. data/vendor/bundle/gems/sequel-5.9.0/spec/core/database_spec.rb +0 -2673
  3127. data/vendor/bundle/gems/sequel-5.9.0/spec/core/dataset_spec.rb +0 -5430
  3128. data/vendor/bundle/gems/sequel-5.9.0/spec/core/deprecated_spec.rb +0 -70
  3129. data/vendor/bundle/gems/sequel-5.9.0/spec/core/expression_filters_spec.rb +0 -1344
  3130. data/vendor/bundle/gems/sequel-5.9.0/spec/core/mock_adapter_spec.rb +0 -722
  3131. data/vendor/bundle/gems/sequel-5.9.0/spec/core/object_graph_spec.rb +0 -306
  3132. data/vendor/bundle/gems/sequel-5.9.0/spec/core/placeholder_literalizer_spec.rb +0 -166
  3133. data/vendor/bundle/gems/sequel-5.9.0/spec/core/schema_generator_spec.rb +0 -214
  3134. data/vendor/bundle/gems/sequel-5.9.0/spec/core/schema_spec.rb +0 -1820
  3135. data/vendor/bundle/gems/sequel-5.9.0/spec/core/spec_helper.rb +0 -23
  3136. data/vendor/bundle/gems/sequel-5.9.0/spec/core/version_spec.rb +0 -14
  3137. data/vendor/bundle/gems/sequel-5.9.0/spec/core_extensions_spec.rb +0 -762
  3138. data/vendor/bundle/gems/sequel-5.9.0/spec/core_model_spec.rb +0 -2
  3139. data/vendor/bundle/gems/sequel-5.9.0/spec/core_spec.rb +0 -1
  3140. data/vendor/bundle/gems/sequel-5.9.0/spec/deprecation_helper.rb +0 -30
  3141. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/accessed_columns_spec.rb +0 -51
  3142. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/active_model_spec.rb +0 -99
  3143. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/after_initialize_spec.rb +0 -24
  3144. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/arbitrary_servers_spec.rb +0 -109
  3145. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/association_dependencies_spec.rb +0 -125
  3146. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/association_pks_spec.rb +0 -423
  3147. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/association_proxies_spec.rb +0 -100
  3148. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/auto_literal_strings_spec.rb +0 -205
  3149. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/auto_validations_spec.rb +0 -202
  3150. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/blacklist_security_spec.rb +0 -95
  3151. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/blank_spec.rb +0 -69
  3152. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/boolean_readers_spec.rb +0 -93
  3153. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/boolean_subsets_spec.rb +0 -47
  3154. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/caching_spec.rb +0 -273
  3155. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/class_table_inheritance_spec.rb +0 -568
  3156. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/column_conflicts_spec.rb +0 -75
  3157. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/column_select_spec.rb +0 -129
  3158. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/columns_introspection_spec.rb +0 -90
  3159. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/columns_updated_spec.rb +0 -35
  3160. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/composition_spec.rb +0 -248
  3161. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/connection_expiration_spec.rb +0 -151
  3162. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/connection_validator_spec.rb +0 -144
  3163. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/constraint_validations_plugin_spec.rb +0 -300
  3164. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/constraint_validations_spec.rb +0 -395
  3165. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/core_refinements_spec.rb +0 -528
  3166. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/csv_serializer_spec.rb +0 -183
  3167. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/current_datetime_timestamp_spec.rb +0 -27
  3168. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/dataset_associations_spec.rb +0 -365
  3169. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/dataset_source_alias_spec.rb +0 -51
  3170. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/date_arithmetic_spec.rb +0 -181
  3171. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/datetime_parse_to_time_spec.rb +0 -169
  3172. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/def_dataset_method_spec.rb +0 -100
  3173. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/defaults_setter_spec.rb +0 -141
  3174. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/delay_add_association_spec.rb +0 -73
  3175. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/dirty_spec.rb +0 -189
  3176. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/duplicate_columns_handler_spec.rb +0 -104
  3177. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/eager_each_spec.rb +0 -62
  3178. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/empty_array_consider_nulls_spec.rb +0 -24
  3179. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/error_splitter_spec.rb +0 -18
  3180. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/error_sql_spec.rb +0 -20
  3181. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/escaped_like_spec.rb +0 -40
  3182. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/eval_inspect_spec.rb +0 -74
  3183. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/finder_spec.rb +0 -260
  3184. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/force_encoding_spec.rb +0 -126
  3185. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/freeze_datasets_spec.rb +0 -31
  3186. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/graph_each_spec.rb +0 -113
  3187. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/hook_class_methods_spec.rb +0 -380
  3188. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/identifier_mangling_spec.rb +0 -201
  3189. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/implicit_subquery_spec.rb +0 -58
  3190. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/index_caching_spec.rb +0 -66
  3191. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/inflector_spec.rb +0 -183
  3192. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/input_transformer_spec.rb +0 -69
  3193. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/insert_returning_select_spec.rb +0 -72
  3194. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/instance_filters_spec.rb +0 -79
  3195. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/instance_hooks_spec.rb +0 -246
  3196. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/integer64_spec.rb +0 -22
  3197. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/inverted_subsets_spec.rb +0 -33
  3198. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/json_serializer_spec.rb +0 -336
  3199. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/lazy_attributes_spec.rb +0 -183
  3200. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/list_spec.rb +0 -275
  3201. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/looser_typecasting_spec.rb +0 -43
  3202. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/many_through_many_spec.rb +0 -2177
  3203. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/migration_spec.rb +0 -840
  3204. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/modification_detection_spec.rb +0 -93
  3205. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/mssql_optimistic_locking_spec.rb +0 -92
  3206. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/named_timezones_spec.rb +0 -109
  3207. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/nested_attributes_spec.rb +0 -709
  3208. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/null_dataset_spec.rb +0 -85
  3209. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/optimistic_locking_spec.rb +0 -127
  3210. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pagination_spec.rb +0 -116
  3211. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_array_associations_spec.rb +0 -802
  3212. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_array_ops_spec.rb +0 -144
  3213. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_array_spec.rb +0 -398
  3214. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_auto_constraint_validations_spec.rb +0 -164
  3215. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_enum_spec.rb +0 -113
  3216. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_extended_date_support_spec.rb +0 -126
  3217. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_hstore_ops_spec.rb +0 -238
  3218. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_hstore_spec.rb +0 -219
  3219. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_inet_ops_spec.rb +0 -102
  3220. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_inet_spec.rb +0 -72
  3221. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_interval_spec.rb +0 -103
  3222. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_json_ops_spec.rb +0 -289
  3223. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_json_spec.rb +0 -262
  3224. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_loose_count_spec.rb +0 -23
  3225. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_range_ops_spec.rb +0 -60
  3226. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_range_spec.rb +0 -487
  3227. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_row_ops_spec.rb +0 -61
  3228. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_row_plugin_spec.rb +0 -60
  3229. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_row_spec.rb +0 -363
  3230. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_static_cache_updater_spec.rb +0 -93
  3231. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pg_timestamptz_spec.rb +0 -17
  3232. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/prepared_statements_safe_spec.rb +0 -66
  3233. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/prepared_statements_spec.rb +0 -182
  3234. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/pretty_table_spec.rb +0 -123
  3235. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/query_spec.rb +0 -94
  3236. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/rcte_tree_spec.rb +0 -381
  3237. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/round_timestamps_spec.rb +0 -39
  3238. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/s_spec.rb +0 -60
  3239. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/schema_caching_spec.rb +0 -64
  3240. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/schema_dumper_spec.rb +0 -868
  3241. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/select_remove_spec.rb +0 -38
  3242. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/sequel_4_dataset_methods_spec.rb +0 -121
  3243. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/serialization_modification_detection_spec.rb +0 -98
  3244. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/serialization_spec.rb +0 -365
  3245. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/server_block_spec.rb +0 -97
  3246. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/server_logging_spec.rb +0 -45
  3247. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/sharding_spec.rb +0 -189
  3248. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/shared_caching_spec.rb +0 -151
  3249. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/single_table_inheritance_spec.rb +0 -347
  3250. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/singular_table_names_spec.rb +0 -22
  3251. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/skip_create_refresh_spec.rb +0 -18
  3252. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/spec_helper.rb +0 -61
  3253. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/split_array_nil_spec.rb +0 -24
  3254. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/split_values_spec.rb +0 -57
  3255. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/sql_comments_spec.rb +0 -33
  3256. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/sql_expr_spec.rb +0 -59
  3257. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/static_cache_spec.rb +0 -410
  3258. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/string_agg_spec.rb +0 -90
  3259. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/string_date_time_spec.rb +0 -95
  3260. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/string_stripper_spec.rb +0 -68
  3261. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/subclasses_spec.rb +0 -79
  3262. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/subset_conditions_spec.rb +0 -38
  3263. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/symbol_aref_refinement_spec.rb +0 -28
  3264. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/symbol_as_refinement_spec.rb +0 -21
  3265. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/synchronize_sql_spec.rb +0 -124
  3266. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/table_select_spec.rb +0 -83
  3267. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/tactical_eager_loading_spec.rb +0 -141
  3268. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/thread_local_timezones_spec.rb +0 -67
  3269. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/timestamps_spec.rb +0 -209
  3270. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/to_dot_spec.rb +0 -153
  3271. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/touch_spec.rb +0 -226
  3272. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/tree_spec.rb +0 -284
  3273. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/typecast_on_load_spec.rb +0 -86
  3274. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/unlimited_update_spec.rb +0 -21
  3275. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/update_or_create_spec.rb +0 -83
  3276. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/update_primary_key_spec.rb +0 -105
  3277. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/update_refresh_spec.rb +0 -59
  3278. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/uuid_spec.rb +0 -101
  3279. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/validate_associated_spec.rb +0 -52
  3280. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/validation_class_methods_spec.rb +0 -1040
  3281. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/validation_contexts_spec.rb +0 -31
  3282. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/validation_helpers_spec.rb +0 -525
  3283. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/whitelist_security_spec.rb +0 -157
  3284. data/vendor/bundle/gems/sequel-5.9.0/spec/extensions/xml_serializer_spec.rb +0 -213
  3285. data/vendor/bundle/gems/sequel-5.9.0/spec/files/bad_down_migration/001_create_alt_basic.rb +0 -4
  3286. data/vendor/bundle/gems/sequel-5.9.0/spec/files/bad_down_migration/002_create_alt_advanced.rb +0 -4
  3287. data/vendor/bundle/gems/sequel-5.9.0/spec/files/bad_timestamped_migrations/1273253849_create_sessions.rb +0 -9
  3288. data/vendor/bundle/gems/sequel-5.9.0/spec/files/bad_timestamped_migrations/1273253851_create_nodes.rb +0 -9
  3289. data/vendor/bundle/gems/sequel-5.9.0/spec/files/bad_timestamped_migrations/1273253853_3_create_users.rb +0 -3
  3290. data/vendor/bundle/gems/sequel-5.9.0/spec/files/bad_up_migration/001_create_alt_basic.rb +0 -4
  3291. data/vendor/bundle/gems/sequel-5.9.0/spec/files/bad_up_migration/002_create_alt_advanced.rb +0 -3
  3292. data/vendor/bundle/gems/sequel-5.9.0/spec/files/convert_to_timestamp_migrations/001_create_sessions.rb +0 -9
  3293. data/vendor/bundle/gems/sequel-5.9.0/spec/files/convert_to_timestamp_migrations/002_create_nodes.rb +0 -9
  3294. data/vendor/bundle/gems/sequel-5.9.0/spec/files/convert_to_timestamp_migrations/003_3_create_users.rb +0 -4
  3295. data/vendor/bundle/gems/sequel-5.9.0/spec/files/convert_to_timestamp_migrations/1273253850_create_artists.rb +0 -9
  3296. data/vendor/bundle/gems/sequel-5.9.0/spec/files/convert_to_timestamp_migrations/1273253852_create_albums.rb +0 -9
  3297. data/vendor/bundle/gems/sequel-5.9.0/spec/files/double_migration/001_create_sessions.rb +0 -9
  3298. data/vendor/bundle/gems/sequel-5.9.0/spec/files/double_migration/002_create_nodes.rb +0 -19
  3299. data/vendor/bundle/gems/sequel-5.9.0/spec/files/double_migration/003_3_create_users.rb +0 -4
  3300. data/vendor/bundle/gems/sequel-5.9.0/spec/files/duplicate_integer_migrations/001_create_alt_advanced.rb +0 -4
  3301. data/vendor/bundle/gems/sequel-5.9.0/spec/files/duplicate_integer_migrations/001_create_alt_basic.rb +0 -4
  3302. data/vendor/bundle/gems/sequel-5.9.0/spec/files/duplicate_timestamped_migrations/1273253849_create_sessions.rb +0 -9
  3303. data/vendor/bundle/gems/sequel-5.9.0/spec/files/duplicate_timestamped_migrations/1273253853_create_nodes.rb +0 -9
  3304. data/vendor/bundle/gems/sequel-5.9.0/spec/files/duplicate_timestamped_migrations/1273253853_create_users.rb +0 -4
  3305. data/vendor/bundle/gems/sequel-5.9.0/spec/files/empty_migration/001_create_sessions.rb +0 -9
  3306. data/vendor/bundle/gems/sequel-5.9.0/spec/files/empty_migration/002_create_nodes.rb +0 -0
  3307. data/vendor/bundle/gems/sequel-5.9.0/spec/files/empty_migration/003_3_create_users.rb +0 -4
  3308. data/vendor/bundle/gems/sequel-5.9.0/spec/files/integer_migrations/001_create_sessions.rb +0 -9
  3309. data/vendor/bundle/gems/sequel-5.9.0/spec/files/integer_migrations/002_create_nodes.rb +0 -9
  3310. data/vendor/bundle/gems/sequel-5.9.0/spec/files/integer_migrations/003_3_create_users.rb +0 -4
  3311. data/vendor/bundle/gems/sequel-5.9.0/spec/files/interleaved_timestamped_migrations/1273253849_create_sessions.rb +0 -9
  3312. data/vendor/bundle/gems/sequel-5.9.0/spec/files/interleaved_timestamped_migrations/1273253850_create_artists.rb +0 -9
  3313. data/vendor/bundle/gems/sequel-5.9.0/spec/files/interleaved_timestamped_migrations/1273253851_create_nodes.rb +0 -9
  3314. data/vendor/bundle/gems/sequel-5.9.0/spec/files/interleaved_timestamped_migrations/1273253852_create_albums.rb +0 -9
  3315. data/vendor/bundle/gems/sequel-5.9.0/spec/files/interleaved_timestamped_migrations/1273253853_3_create_users.rb +0 -4
  3316. data/vendor/bundle/gems/sequel-5.9.0/spec/files/missing_integer_migrations/001_create_alt_basic.rb +0 -4
  3317. data/vendor/bundle/gems/sequel-5.9.0/spec/files/missing_integer_migrations/003_create_alt_advanced.rb +0 -4
  3318. data/vendor/bundle/gems/sequel-5.9.0/spec/files/missing_timestamped_migrations/1273253849_create_sessions.rb +0 -9
  3319. data/vendor/bundle/gems/sequel-5.9.0/spec/files/missing_timestamped_migrations/1273253853_3_create_users.rb +0 -4
  3320. data/vendor/bundle/gems/sequel-5.9.0/spec/files/reversible_migrations/001_reversible.rb +0 -5
  3321. data/vendor/bundle/gems/sequel-5.9.0/spec/files/reversible_migrations/002_reversible.rb +0 -5
  3322. data/vendor/bundle/gems/sequel-5.9.0/spec/files/reversible_migrations/003_reversible.rb +0 -5
  3323. data/vendor/bundle/gems/sequel-5.9.0/spec/files/reversible_migrations/004_reversible.rb +0 -5
  3324. data/vendor/bundle/gems/sequel-5.9.0/spec/files/reversible_migrations/005_reversible.rb +0 -10
  3325. data/vendor/bundle/gems/sequel-5.9.0/spec/files/reversible_migrations/006_reversible.rb +0 -10
  3326. data/vendor/bundle/gems/sequel-5.9.0/spec/files/reversible_migrations/007_reversible.rb +0 -10
  3327. data/vendor/bundle/gems/sequel-5.9.0/spec/files/timestamped_migrations/1273253849_create_sessions.rb +0 -9
  3328. data/vendor/bundle/gems/sequel-5.9.0/spec/files/timestamped_migrations/1273253851_create_nodes.rb +0 -9
  3329. data/vendor/bundle/gems/sequel-5.9.0/spec/files/timestamped_migrations/1273253853_3_create_users.rb +0 -4
  3330. data/vendor/bundle/gems/sequel-5.9.0/spec/files/transaction_specified_migrations/001_create_alt_basic.rb +0 -4
  3331. data/vendor/bundle/gems/sequel-5.9.0/spec/files/transaction_specified_migrations/002_create_basic.rb +0 -4
  3332. data/vendor/bundle/gems/sequel-5.9.0/spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb +0 -3
  3333. data/vendor/bundle/gems/sequel-5.9.0/spec/files/transaction_unspecified_migrations/002_create_basic.rb +0 -3
  3334. data/vendor/bundle/gems/sequel-5.9.0/spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB +0 -9
  3335. data/vendor/bundle/gems/sequel-5.9.0/spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB +0 -9
  3336. data/vendor/bundle/gems/sequel-5.9.0/spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB +0 -4
  3337. data/vendor/bundle/gems/sequel-5.9.0/spec/guards_helper.rb +0 -58
  3338. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/associations_test.rb +0 -2525
  3339. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/database_test.rb +0 -113
  3340. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/dataset_test.rb +0 -1901
  3341. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/eager_loader_test.rb +0 -687
  3342. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/migrator_test.rb +0 -262
  3343. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/model_test.rb +0 -203
  3344. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/plugin_test.rb +0 -2302
  3345. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/prepared_statement_test.rb +0 -398
  3346. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/schema_test.rb +0 -869
  3347. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/spec_helper.rb +0 -64
  3348. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/timezone_test.rb +0 -86
  3349. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/transaction_test.rb +0 -354
  3350. data/vendor/bundle/gems/sequel-5.9.0/spec/integration/type_test.rb +0 -127
  3351. data/vendor/bundle/gems/sequel-5.9.0/spec/model/association_reflection_spec.rb +0 -803
  3352. data/vendor/bundle/gems/sequel-5.9.0/spec/model/associations_spec.rb +0 -4538
  3353. data/vendor/bundle/gems/sequel-5.9.0/spec/model/base_spec.rb +0 -826
  3354. data/vendor/bundle/gems/sequel-5.9.0/spec/model/class_dataset_methods_spec.rb +0 -146
  3355. data/vendor/bundle/gems/sequel-5.9.0/spec/model/dataset_methods_spec.rb +0 -198
  3356. data/vendor/bundle/gems/sequel-5.9.0/spec/model/eager_loading_spec.rb +0 -2287
  3357. data/vendor/bundle/gems/sequel-5.9.0/spec/model/hooks_spec.rb +0 -370
  3358. data/vendor/bundle/gems/sequel-5.9.0/spec/model/inflector_spec.rb +0 -26
  3359. data/vendor/bundle/gems/sequel-5.9.0/spec/model/model_spec.rb +0 -953
  3360. data/vendor/bundle/gems/sequel-5.9.0/spec/model/plugins_spec.rb +0 -318
  3361. data/vendor/bundle/gems/sequel-5.9.0/spec/model/record_spec.rb +0 -2107
  3362. data/vendor/bundle/gems/sequel-5.9.0/spec/model/spec_helper.rb +0 -45
  3363. data/vendor/bundle/gems/sequel-5.9.0/spec/model/validations_spec.rb +0 -193
  3364. data/vendor/bundle/gems/sequel-5.9.0/spec/model_no_assoc_spec.rb +0 -1
  3365. data/vendor/bundle/gems/sequel-5.9.0/spec/model_spec.rb +0 -1
  3366. data/vendor/bundle/gems/sequel-5.9.0/spec/plugin_spec.rb +0 -1
  3367. data/vendor/bundle/gems/sequel-5.9.0/spec/sequel_coverage.rb +0 -15
  3368. data/vendor/bundle/gems/sequel-5.9.0/spec/sequel_warning.rb +0 -4
  3369. data/vendor/bundle/gems/sequel-5.9.0/spec/spec_config.rb +0 -12
  3370. data/vendor/bundle/gems/simplecov-0.14.1/CHANGELOG.md +0 -435
  3371. data/vendor/bundle/gems/simplecov-0.14.1/CONTRIBUTING.md +0 -48
  3372. data/vendor/bundle/gems/simplecov-0.14.1/Gemfile +0 -38
  3373. data/vendor/bundle/gems/simplecov-0.14.1/MIT-LICENSE +0 -20
  3374. data/vendor/bundle/gems/simplecov-0.14.1/README.md +0 -638
  3375. data/vendor/bundle/gems/simplecov-0.14.1/Rakefile +0 -41
  3376. data/vendor/bundle/gems/simplecov-0.14.1/cucumber.yml +0 -13
  3377. data/vendor/bundle/gems/simplecov-0.14.1/doc/alternate-formatters.md +0 -36
  3378. data/vendor/bundle/gems/simplecov-0.14.1/doc/commercial-services.md +0 -20
  3379. data/vendor/bundle/gems/simplecov-0.14.1/doc/editor-integration.md +0 -13
  3380. data/vendor/bundle/gems/simplecov-0.14.1/features/config_autoload.feature +0 -46
  3381. data/vendor/bundle/gems/simplecov-0.14.1/features/config_command_name.feature +0 -45
  3382. data/vendor/bundle/gems/simplecov-0.14.1/features/config_coverage_dir.feature +0 -33
  3383. data/vendor/bundle/gems/simplecov-0.14.1/features/config_deactivate_merging.feature +0 -42
  3384. data/vendor/bundle/gems/simplecov-0.14.1/features/config_formatters.feature +0 -77
  3385. data/vendor/bundle/gems/simplecov-0.14.1/features/config_merge_timeout.feature +0 -39
  3386. data/vendor/bundle/gems/simplecov-0.14.1/features/config_nocov_token.feature +0 -79
  3387. data/vendor/bundle/gems/simplecov-0.14.1/features/config_profiles.feature +0 -44
  3388. data/vendor/bundle/gems/simplecov-0.14.1/features/config_project_name.feature +0 -27
  3389. data/vendor/bundle/gems/simplecov-0.14.1/features/config_styles.feature +0 -121
  3390. data/vendor/bundle/gems/simplecov-0.14.1/features/config_tracked_files.feature +0 -29
  3391. data/vendor/bundle/gems/simplecov-0.14.1/features/cucumber_basic.feature +0 -29
  3392. data/vendor/bundle/gems/simplecov-0.14.1/features/maximum_coverage_drop.feature +0 -89
  3393. data/vendor/bundle/gems/simplecov-0.14.1/features/merging_test_unit_and_rspec.feature +0 -44
  3394. data/vendor/bundle/gems/simplecov-0.14.1/features/minimum_coverage.feature +0 -59
  3395. data/vendor/bundle/gems/simplecov-0.14.1/features/refuse_coverage_drop.feature +0 -95
  3396. data/vendor/bundle/gems/simplecov-0.14.1/features/rspec_basic.feature +0 -32
  3397. data/vendor/bundle/gems/simplecov-0.14.1/features/rspec_fails_on_initialization.feature +0 -14
  3398. data/vendor/bundle/gems/simplecov-0.14.1/features/rspec_groups_and_filters_basic.feature +0 -29
  3399. data/vendor/bundle/gems/simplecov-0.14.1/features/rspec_groups_and_filters_complex.feature +0 -37
  3400. data/vendor/bundle/gems/simplecov-0.14.1/features/rspec_groups_using_filter_class.feature +0 -41
  3401. data/vendor/bundle/gems/simplecov-0.14.1/features/rspec_without_simplecov.feature +0 -20
  3402. data/vendor/bundle/gems/simplecov-0.14.1/features/skipping_code_blocks_manually.feature +0 -70
  3403. data/vendor/bundle/gems/simplecov-0.14.1/features/step_definitions/html_steps.rb +0 -44
  3404. data/vendor/bundle/gems/simplecov-0.14.1/features/step_definitions/simplecov_steps.rb +0 -68
  3405. data/vendor/bundle/gems/simplecov-0.14.1/features/step_definitions/transformers.rb +0 -13
  3406. data/vendor/bundle/gems/simplecov-0.14.1/features/step_definitions/web_steps.rb +0 -64
  3407. data/vendor/bundle/gems/simplecov-0.14.1/features/support/env.rb +0 -50
  3408. data/vendor/bundle/gems/simplecov-0.14.1/features/test_unit_basic.feature +0 -34
  3409. data/vendor/bundle/gems/simplecov-0.14.1/features/test_unit_groups_and_filters_basic.feature +0 -29
  3410. data/vendor/bundle/gems/simplecov-0.14.1/features/test_unit_groups_and_filters_complex.feature +0 -35
  3411. data/vendor/bundle/gems/simplecov-0.14.1/features/test_unit_groups_using_filter_class.feature +0 -40
  3412. data/vendor/bundle/gems/simplecov-0.14.1/features/test_unit_without_simplecov.feature +0 -20
  3413. data/vendor/bundle/gems/simplecov-0.14.1/features/unicode_compatiblity.feature +0 -67
  3414. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov.rb +0 -184
  3415. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/command_guesser.rb +0 -59
  3416. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/configuration.rb +0 -307
  3417. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/defaults.rb +0 -121
  3418. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/exit_codes.rb +0 -8
  3419. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/file_list.rb +0 -59
  3420. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/filter.rb +0 -54
  3421. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/formatter.rb +0 -8
  3422. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/formatter/multi_formatter.rb +0 -32
  3423. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/formatter/simple_formatter.rb +0 -23
  3424. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/jruby_fix.rb +0 -42
  3425. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/last_run.rb +0 -24
  3426. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/load_global_config.rb +0 -6
  3427. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/no_defaults.rb +0 -2
  3428. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/profiles.rb +0 -31
  3429. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/railtie.rb +0 -7
  3430. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/railties/tasks.rake +0 -11
  3431. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/raw_coverage.rb +0 -39
  3432. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/result.rb +0 -86
  3433. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/result_merger.rb +0 -92
  3434. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/source_file.rb +0 -196
  3435. data/vendor/bundle/gems/simplecov-0.14.1/lib/simplecov/version.rb +0 -25
  3436. data/vendor/bundle/gems/simplecov-0.14.1/simplecov.gemspec +0 -27
  3437. data/vendor/bundle/gems/simplecov-0.14.1/spec/1_8_fallbacks_spec.rb +0 -31
  3438. data/vendor/bundle/gems/simplecov-0.14.1/spec/command_guesser_spec.rb +0 -48
  3439. data/vendor/bundle/gems/simplecov-0.14.1/spec/config_loader_spec.rb +0 -14
  3440. data/vendor/bundle/gems/simplecov-0.14.1/spec/configuration_spec.rb +0 -35
  3441. data/vendor/bundle/gems/simplecov-0.14.1/spec/deleted_source_spec.rb +0 -12
  3442. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/Gemfile +0 -6
  3443. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/Rakefile +0 -8
  3444. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/cucumber.yml +0 -13
  3445. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/features/step_definitions/my_steps.rb +0 -22
  3446. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/features/support/env.rb +0 -12
  3447. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/features/test_stuff.feature +0 -6
  3448. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/lib/faked_project.rb +0 -11
  3449. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/lib/faked_project/framework_specific.rb +0 -18
  3450. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/lib/faked_project/meta_magic.rb +0 -24
  3451. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/lib/faked_project/some_class.rb +0 -28
  3452. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/lib/faked_project/untested_class.rb +0 -11
  3453. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/spec/faked_spec.rb +0 -11
  3454. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/spec/forking_spec.rb +0 -8
  3455. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/spec/meta_magic_spec.rb +0 -15
  3456. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/spec/some_class_spec.rb +0 -13
  3457. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/spec/spec_helper.rb +0 -11
  3458. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/test/faked_test.rb +0 -11
  3459. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/test/meta_magic_test.rb +0 -13
  3460. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/test/some_class_test.rb +0 -15
  3461. data/vendor/bundle/gems/simplecov-0.14.1/spec/faked_project/test/test_helper.rb +0 -12
  3462. data/vendor/bundle/gems/simplecov-0.14.1/spec/file_list_spec.rb +0 -50
  3463. data/vendor/bundle/gems/simplecov-0.14.1/spec/filters_spec.rb +0 -98
  3464. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/app/controllers/sample_controller.rb +0 -10
  3465. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/app/models/user.rb +0 -10
  3466. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/deleted_source_sample.rb +0 -15
  3467. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/frameworks/rspec_bad.rb +0 -9
  3468. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/frameworks/rspec_good.rb +0 -9
  3469. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/frameworks/testunit_bad.rb +0 -9
  3470. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/frameworks/testunit_good.rb +0 -9
  3471. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/iso-8859.rb +0 -3
  3472. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/never.rb +0 -2
  3473. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/resultset1.rb +0 -4
  3474. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/resultset2.rb +0 -4
  3475. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/sample.rb +0 -16
  3476. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/skipped.rb +0 -4
  3477. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/skipped_and_executed.rb +0 -8
  3478. data/vendor/bundle/gems/simplecov-0.14.1/spec/fixtures/utf-8.rb +0 -3
  3479. data/vendor/bundle/gems/simplecov-0.14.1/spec/helper.rb +0 -26
  3480. data/vendor/bundle/gems/simplecov-0.14.1/spec/last_run_spec.rb +0 -48
  3481. data/vendor/bundle/gems/simplecov-0.14.1/spec/multi_formatter_spec.rb +0 -20
  3482. data/vendor/bundle/gems/simplecov-0.14.1/spec/raw_coverage_spec.rb +0 -92
  3483. data/vendor/bundle/gems/simplecov-0.14.1/spec/result_merger_spec.rb +0 -88
  3484. data/vendor/bundle/gems/simplecov-0.14.1/spec/result_spec.rb +0 -209
  3485. data/vendor/bundle/gems/simplecov-0.14.1/spec/return_codes_spec.rb +0 -34
  3486. data/vendor/bundle/gems/simplecov-0.14.1/spec/source_file_line_spec.rb +0 -155
  3487. data/vendor/bundle/gems/simplecov-0.14.1/spec/source_file_spec.rb +0 -141
  3488. data/vendor/bundle/gems/simplecov-0.14.1/spec/support/fail_rspec_on_ruby_warning.rb +0 -75
  3489. data/vendor/bundle/gems/simplecov-html-0.10.2/CHANGELOG.md +0 -13
  3490. data/vendor/bundle/gems/simplecov-html-0.10.2/Gemfile +0 -34
  3491. data/vendor/bundle/gems/simplecov-html-0.10.2/Guardfile +0 -12
  3492. data/vendor/bundle/gems/simplecov-html-0.10.2/LICENSE +0 -20
  3493. data/vendor/bundle/gems/simplecov-html-0.10.2/README.md +0 -30
  3494. data/vendor/bundle/gems/simplecov-html-0.10.2/Rakefile +0 -41
  3495. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/javascripts/application.js +0 -127
  3496. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/javascripts/libraries/jquery-1.6.2.min.js +0 -18
  3497. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/javascripts/plugins/highlight.pack.js +0 -1
  3498. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/javascripts/plugins/jquery.colorbox.js +0 -1090
  3499. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/javascripts/plugins/jquery.dataTables.min.js +0 -152
  3500. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/javascripts/plugins/jquery.timeago.js +0 -141
  3501. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/javascripts/plugins/jquery.url.js +0 -174
  3502. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/stylesheets/application.css +0 -3
  3503. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/stylesheets/plugins/highlight.css +0 -129
  3504. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/stylesheets/plugins/jquery-ui-1.8.4.custom.css +0 -295
  3505. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/stylesheets/plugins/jquery.colorbox.css +0 -52
  3506. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/stylesheets/reset.css +0 -103
  3507. data/vendor/bundle/gems/simplecov-html-0.10.2/assets/stylesheets/screen.css.sass +0 -220
  3508. data/vendor/bundle/gems/simplecov-html-0.10.2/lib/simplecov-html.rb +0 -110
  3509. data/vendor/bundle/gems/simplecov-html-0.10.2/lib/simplecov-html/version.rb +0 -7
  3510. data/vendor/bundle/gems/simplecov-html-0.10.2/public/application.css +0 -799
  3511. data/vendor/bundle/gems/simplecov-html-0.10.2/public/application.js +0 -1707
  3512. data/vendor/bundle/gems/simplecov-html-0.10.2/public/colorbox/border.png +0 -0
  3513. data/vendor/bundle/gems/simplecov-html-0.10.2/public/colorbox/controls.png +0 -0
  3514. data/vendor/bundle/gems/simplecov-html-0.10.2/public/colorbox/loading.gif +0 -0
  3515. data/vendor/bundle/gems/simplecov-html-0.10.2/public/colorbox/loading_background.png +0 -0
  3516. data/vendor/bundle/gems/simplecov-html-0.10.2/public/favicon_green.png +0 -0
  3517. data/vendor/bundle/gems/simplecov-html-0.10.2/public/favicon_red.png +0 -0
  3518. data/vendor/bundle/gems/simplecov-html-0.10.2/public/favicon_yellow.png +0 -0
  3519. data/vendor/bundle/gems/simplecov-html-0.10.2/public/loading.gif +0 -0
  3520. data/vendor/bundle/gems/simplecov-html-0.10.2/public/magnify.png +0 -0
  3521. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  3522. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  3523. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  3524. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  3525. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  3526. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  3527. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  3528. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  3529. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-icons_222222_256x240.png +0 -0
  3530. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  3531. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-icons_454545_256x240.png +0 -0
  3532. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-icons_888888_256x240.png +0 -0
  3533. data/vendor/bundle/gems/simplecov-html-0.10.2/public/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  3534. data/vendor/bundle/gems/simplecov-html-0.10.2/simplecov-html.gemspec +0 -22
  3535. data/vendor/bundle/gems/simplecov-html-0.10.2/test/helper.rb +0 -4
  3536. data/vendor/bundle/gems/simplecov-html-0.10.2/test/test_simple_cov-html.rb +0 -8
  3537. data/vendor/bundle/gems/simplecov-html-0.10.2/views/file_list.erb +0 -45
  3538. data/vendor/bundle/gems/simplecov-html-0.10.2/views/layout.erb +0 -41
  3539. data/vendor/bundle/gems/simplecov-html-0.10.2/views/source_file.erb +0 -23
  3540. data/vendor/bundle/gems/sprockets-3.7.2/CHANGELOG.md +0 -296
  3541. data/vendor/bundle/gems/sprockets-3.7.2/LICENSE +0 -21
  3542. data/vendor/bundle/gems/sprockets-3.7.2/README.md +0 -509
  3543. data/vendor/bundle/gems/sprockets-3.7.2/bin/sprockets +0 -89
  3544. data/vendor/bundle/gems/sprockets-3.7.2/lib/rake/sprocketstask.rb +0 -152
  3545. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets.rb +0 -169
  3546. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/asset.rb +0 -200
  3547. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/autoload.rb +0 -11
  3548. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/autoload/closure.rb +0 -7
  3549. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/autoload/coffee_script.rb +0 -7
  3550. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/autoload/eco.rb +0 -7
  3551. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/autoload/ejs.rb +0 -7
  3552. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/autoload/sass.rb +0 -7
  3553. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/autoload/uglifier.rb +0 -7
  3554. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/autoload/yui.rb +0 -7
  3555. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/base.rb +0 -110
  3556. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/bower.rb +0 -58
  3557. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/bundle.rb +0 -69
  3558. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/cache.rb +0 -236
  3559. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/cache/file_store.rb +0 -186
  3560. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/cache/memory_store.rb +0 -66
  3561. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/cache/null_store.rb +0 -46
  3562. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb +0 -69
  3563. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/closure_compressor.rb +0 -47
  3564. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/coffee_script_processor.rb +0 -25
  3565. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/coffee_script_template.rb +0 -17
  3566. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/compressing.rb +0 -94
  3567. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/configuration.rb +0 -83
  3568. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/context.rb +0 -231
  3569. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/dependencies.rb +0 -73
  3570. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/deprecation.rb +0 -90
  3571. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/digest_utils.rb +0 -180
  3572. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/directive_processor.rb +0 -404
  3573. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/eco_processor.rb +0 -32
  3574. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/eco_template.rb +0 -17
  3575. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/ejs_processor.rb +0 -31
  3576. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/ejs_template.rb +0 -17
  3577. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/encoding_utils.rb +0 -261
  3578. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/engines.rb +0 -92
  3579. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/environment.rb +0 -41
  3580. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/erb_processor.rb +0 -30
  3581. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/erb_template.rb +0 -11
  3582. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/errors.rb +0 -11
  3583. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/file_reader.rb +0 -15
  3584. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/http_utils.rb +0 -117
  3585. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/jst_processor.rb +0 -49
  3586. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/legacy.rb +0 -330
  3587. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/legacy_proc_processor.rb +0 -35
  3588. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/legacy_tilt_processor.rb +0 -29
  3589. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/loader.rb +0 -325
  3590. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/manifest.rb +0 -336
  3591. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/manifest_utils.rb +0 -45
  3592. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/mime.rb +0 -130
  3593. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/path_dependency_utils.rb +0 -85
  3594. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/path_digest_utils.rb +0 -47
  3595. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/path_utils.rb +0 -287
  3596. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/paths.rb +0 -81
  3597. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/processing.rb +0 -258
  3598. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb +0 -180
  3599. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/resolve.rb +0 -211
  3600. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/sass_cache_store.rb +0 -34
  3601. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/sass_compressor.rb +0 -51
  3602. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/sass_functions.rb +0 -2
  3603. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/sass_importer.rb +0 -2
  3604. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/sass_processor.rb +0 -292
  3605. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/sass_template.rb +0 -19
  3606. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/server.rb +0 -292
  3607. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/transformers.rb +0 -145
  3608. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/uglifier_compressor.rb +0 -56
  3609. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/unloaded_asset.rb +0 -137
  3610. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/uri_tar.rb +0 -98
  3611. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/uri_utils.rb +0 -188
  3612. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/utils.rb +0 -235
  3613. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/utils/gzip.rb +0 -67
  3614. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/version.rb +0 -3
  3615. data/vendor/bundle/gems/sprockets-3.7.2/lib/sprockets/yui_compressor.rb +0 -55
  3616. data/vendor/bundle/gems/sqlite3-1.3.13/API_CHANGES.rdoc +0 -50
  3617. data/vendor/bundle/gems/sqlite3-1.3.13/CHANGELOG.rdoc +0 -292
  3618. data/vendor/bundle/gems/sqlite3-1.3.13/ChangeLog.cvs +0 -88
  3619. data/vendor/bundle/gems/sqlite3-1.3.13/Gemfile +0 -15
  3620. data/vendor/bundle/gems/sqlite3-1.3.13/LICENSE +0 -27
  3621. data/vendor/bundle/gems/sqlite3-1.3.13/Manifest.txt +0 -52
  3622. data/vendor/bundle/gems/sqlite3-1.3.13/README.rdoc +0 -118
  3623. data/vendor/bundle/gems/sqlite3-1.3.13/Rakefile +0 -10
  3624. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/Makefile +0 -263
  3625. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/backup.c +0 -168
  3626. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/backup.h +0 -15
  3627. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/backup.o +0 -0
  3628. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/database.c +0 -888
  3629. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/database.h +0 -15
  3630. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/database.o +0 -0
  3631. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/exception.c +0 -94
  3632. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/exception.h +0 -8
  3633. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/exception.o +0 -0
  3634. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/extconf.rb +0 -71
  3635. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/sqlite3.c +0 -152
  3636. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/sqlite3.o +0 -0
  3637. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/sqlite3_native.so +0 -0
  3638. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/sqlite3_ruby.h +0 -52
  3639. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/statement.c +0 -447
  3640. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/statement.h +0 -16
  3641. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/statement.o +0 -0
  3642. data/vendor/bundle/gems/sqlite3-1.3.13/faq/faq.rb +0 -145
  3643. data/vendor/bundle/gems/sqlite3-1.3.13/faq/faq.yml +0 -426
  3644. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3.rb +0 -15
  3645. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/constants.rb +0 -49
  3646. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/database.rb +0 -591
  3647. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/errors.rb +0 -44
  3648. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/pragmas.rb +0 -588
  3649. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/resultset.rb +0 -195
  3650. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/sqlite3_native.so +0 -0
  3651. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb +0 -144
  3652. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/translator.rb +0 -118
  3653. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/value.rb +0 -57
  3654. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/version.rb +0 -25
  3655. data/vendor/bundle/gems/sqlite3-1.3.13/setup.rb +0 -1333
  3656. data/vendor/bundle/gems/sqlite3-1.3.13/tasks/faq.rake +0 -9
  3657. data/vendor/bundle/gems/sqlite3-1.3.13/tasks/gem.rake +0 -38
  3658. data/vendor/bundle/gems/sqlite3-1.3.13/tasks/native.rake +0 -52
  3659. data/vendor/bundle/gems/sqlite3-1.3.13/tasks/vendor_sqlite3.rake +0 -97
  3660. data/vendor/bundle/gems/sqlite3-1.3.13/test/helper.rb +0 -18
  3661. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_backup.rb +0 -33
  3662. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_collation.rb +0 -82
  3663. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_database.rb +0 -430
  3664. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_database_readonly.rb +0 -36
  3665. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_deprecated.rb +0 -44
  3666. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_encoding.rb +0 -155
  3667. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration.rb +0 -576
  3668. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration_open_close.rb +0 -30
  3669. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration_pending.rb +0 -115
  3670. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration_resultset.rb +0 -159
  3671. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration_statement.rb +0 -194
  3672. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_result_set.rb +0 -37
  3673. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_sqlite3.rb +0 -21
  3674. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_statement.rb +0 -260
  3675. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_statement_execute.rb +0 -35
  3676. data/vendor/bundle/gems/term-ansicolor-1.6.0/CHANGES +0 -65
  3677. data/vendor/bundle/gems/term-ansicolor-1.6.0/COPYING +0 -202
  3678. data/vendor/bundle/gems/term-ansicolor-1.6.0/Gemfile +0 -5
  3679. data/vendor/bundle/gems/term-ansicolor-1.6.0/README.md +0 -42
  3680. data/vendor/bundle/gems/term-ansicolor-1.6.0/Rakefile +0 -28
  3681. data/vendor/bundle/gems/term-ansicolor-1.6.0/VERSION +0 -1
  3682. data/vendor/bundle/gems/term-ansicolor-1.6.0/bin/term_cdiff +0 -19
  3683. data/vendor/bundle/gems/term-ansicolor-1.6.0/bin/term_colortab +0 -48
  3684. data/vendor/bundle/gems/term-ansicolor-1.6.0/bin/term_decolor +0 -12
  3685. data/vendor/bundle/gems/term-ansicolor-1.6.0/bin/term_display +0 -91
  3686. data/vendor/bundle/gems/term-ansicolor-1.6.0/bin/term_mandel +0 -52
  3687. data/vendor/bundle/gems/term-ansicolor-1.6.0/examples/example.rb +0 -90
  3688. data/vendor/bundle/gems/term-ansicolor-1.6.0/examples/lambda-red-plain.ppm +0 -135
  3689. data/vendor/bundle/gems/term-ansicolor-1.6.0/examples/lambda-red.png +0 -0
  3690. data/vendor/bundle/gems/term-ansicolor-1.6.0/examples/lambda-red.ppm +0 -4
  3691. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor.rb +0 -124
  3692. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/attribute.rb +0 -142
  3693. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/attribute/color256.rb +0 -69
  3694. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/attribute/color8.rb +0 -25
  3695. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/attribute/intense_color8.rb +0 -43
  3696. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/attribute/text.rb +0 -21
  3697. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/hsl_triple.rb +0 -169
  3698. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/ppm_reader.rb +0 -96
  3699. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/rgb_color_metrics.rb +0 -161
  3700. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/rgb_triple.rb +0 -179
  3701. data/vendor/bundle/gems/term-ansicolor-1.6.0/lib/term/ansicolor/version.rb +0 -8
  3702. data/vendor/bundle/gems/term-ansicolor-1.6.0/term-ansicolor.gemspec +0 -45
  3703. data/vendor/bundle/gems/term-ansicolor-1.6.0/tests/ansicolor_test.rb +0 -142
  3704. data/vendor/bundle/gems/term-ansicolor-1.6.0/tests/attribute_test.rb +0 -73
  3705. data/vendor/bundle/gems/term-ansicolor-1.6.0/tests/hsl_triple_test.rb +0 -85
  3706. data/vendor/bundle/gems/term-ansicolor-1.6.0/tests/ppm_reader_test.rb +0 -46
  3707. data/vendor/bundle/gems/term-ansicolor-1.6.0/tests/rgb_color_metrics_test.rb +0 -100
  3708. data/vendor/bundle/gems/term-ansicolor-1.6.0/tests/rgb_triple_test.rb +0 -101
  3709. data/vendor/bundle/gems/term-ansicolor-1.6.0/tests/test_helper.rb +0 -8
  3710. data/vendor/bundle/gems/test-unit-3.2.8/COPYING +0 -67
  3711. data/vendor/bundle/gems/test-unit-3.2.8/GPL +0 -339
  3712. data/vendor/bundle/gems/test-unit-3.2.8/LGPL +0 -502
  3713. data/vendor/bundle/gems/test-unit-3.2.8/PSFL +0 -271
  3714. data/vendor/bundle/gems/test-unit-3.2.8/README.md +0 -101
  3715. data/vendor/bundle/gems/test-unit-3.2.8/Rakefile +0 -80
  3716. data/vendor/bundle/gems/test-unit-3.2.8/doc/text/getting-started.md +0 -246
  3717. data/vendor/bundle/gems/test-unit-3.2.8/doc/text/how-to.md +0 -90
  3718. data/vendor/bundle/gems/test-unit-3.2.8/doc/text/news.md +0 -1303
  3719. data/vendor/bundle/gems/test-unit-3.2.8/lib/test-unit.rb +0 -34
  3720. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit.rb +0 -505
  3721. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/assertion-failed-error.rb +0 -25
  3722. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/assertions.rb +0 -2249
  3723. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/attribute-matcher.rb +0 -26
  3724. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/attribute.rb +0 -222
  3725. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/auto-runner-loader.rb +0 -17
  3726. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/autorunner.rb +0 -533
  3727. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/code-snippet-fetcher.rb +0 -58
  3728. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/collector.rb +0 -73
  3729. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/collector/descendant.rb +0 -19
  3730. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/collector/dir.rb +0 -108
  3731. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/collector/load.rb +0 -199
  3732. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/collector/objectspace.rb +0 -34
  3733. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/collector/xml.rb +0 -249
  3734. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/color-scheme.rb +0 -198
  3735. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/color.rb +0 -134
  3736. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/data.rb +0 -262
  3737. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/diff.rb +0 -746
  3738. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/error.rb +0 -158
  3739. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/exception-handler.rb +0 -82
  3740. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/failure.rb +0 -169
  3741. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/fault-location-detector.rb +0 -100
  3742. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/fixture.rb +0 -298
  3743. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/notification.rb +0 -136
  3744. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/omission.rb +0 -195
  3745. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/pending.rb +0 -154
  3746. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/priority.rb +0 -192
  3747. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/runner/console.rb +0 -84
  3748. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/runner/emacs.rb +0 -8
  3749. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/runner/xml.rb +0 -15
  3750. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/test-suite-creator.rb +0 -89
  3751. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/testcase.rb +0 -860
  3752. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/testresult.rb +0 -132
  3753. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/testsuite.rb +0 -175
  3754. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/ui/console/outputlevel.rb +0 -15
  3755. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/ui/console/testrunner.rb +0 -750
  3756. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/ui/emacs/testrunner.rb +0 -49
  3757. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/ui/testrunner.rb +0 -53
  3758. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/ui/testrunnermediator.rb +0 -114
  3759. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  3760. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/ui/xml/testrunner.rb +0 -224
  3761. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/util/backtracefilter.rb +0 -59
  3762. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/util/method-owner-finder.rb +0 -28
  3763. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/util/observable.rb +0 -90
  3764. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/util/output.rb +0 -31
  3765. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/util/procwrapper.rb +0 -48
  3766. data/vendor/bundle/gems/test-unit-3.2.8/lib/test/unit/version.rb +0 -5
  3767. data/vendor/bundle/gems/test-unit-3.2.8/sample/adder.rb +0 -13
  3768. data/vendor/bundle/gems/test-unit-3.2.8/sample/subtracter.rb +0 -12
  3769. data/vendor/bundle/gems/test-unit-3.2.8/sample/test_adder.rb +0 -20
  3770. data/vendor/bundle/gems/test-unit-3.2.8/sample/test_subtracter.rb +0 -20
  3771. data/vendor/bundle/gems/test-unit-3.2.8/sample/test_user.rb +0 -23
  3772. data/vendor/bundle/gems/test-unit-3.2.8/test/collector/test-descendant.rb +0 -182
  3773. data/vendor/bundle/gems/test-unit-3.2.8/test/collector/test-load.rb +0 -442
  3774. data/vendor/bundle/gems/test-unit-3.2.8/test/collector/test_dir.rb +0 -407
  3775. data/vendor/bundle/gems/test-unit-3.2.8/test/collector/test_objectspace.rb +0 -102
  3776. data/vendor/bundle/gems/test-unit-3.2.8/test/fixtures/header-label.csv +0 -3
  3777. data/vendor/bundle/gems/test-unit-3.2.8/test/fixtures/header-label.tsv +0 -3
  3778. data/vendor/bundle/gems/test-unit-3.2.8/test/fixtures/header.csv +0 -3
  3779. data/vendor/bundle/gems/test-unit-3.2.8/test/fixtures/header.tsv +0 -3
  3780. data/vendor/bundle/gems/test-unit-3.2.8/test/fixtures/no-header.csv +0 -2
  3781. data/vendor/bundle/gems/test-unit-3.2.8/test/fixtures/no-header.tsv +0 -2
  3782. data/vendor/bundle/gems/test-unit-3.2.8/test/fixtures/plus.csv +0 -3
  3783. data/vendor/bundle/gems/test-unit-3.2.8/test/run-test.rb +0 -22
  3784. data/vendor/bundle/gems/test-unit-3.2.8/test/test-assertions.rb +0 -2180
  3785. data/vendor/bundle/gems/test-unit-3.2.8/test/test-attribute-matcher.rb +0 -38
  3786. data/vendor/bundle/gems/test-unit-3.2.8/test/test-attribute.rb +0 -123
  3787. data/vendor/bundle/gems/test-unit-3.2.8/test/test-code-snippet.rb +0 -37
  3788. data/vendor/bundle/gems/test-unit-3.2.8/test/test-color-scheme.rb +0 -82
  3789. data/vendor/bundle/gems/test-unit-3.2.8/test/test-color.rb +0 -47
  3790. data/vendor/bundle/gems/test-unit-3.2.8/test/test-data.rb +0 -303
  3791. data/vendor/bundle/gems/test-unit-3.2.8/test/test-diff.rb +0 -518
  3792. data/vendor/bundle/gems/test-unit-3.2.8/test/test-emacs-runner.rb +0 -60
  3793. data/vendor/bundle/gems/test-unit-3.2.8/test/test-error.rb +0 -26
  3794. data/vendor/bundle/gems/test-unit-3.2.8/test/test-failure.rb +0 -33
  3795. data/vendor/bundle/gems/test-unit-3.2.8/test/test-fault-location-detector.rb +0 -163
  3796. data/vendor/bundle/gems/test-unit-3.2.8/test/test-fixture.rb +0 -713
  3797. data/vendor/bundle/gems/test-unit-3.2.8/test/test-notification.rb +0 -33
  3798. data/vendor/bundle/gems/test-unit-3.2.8/test/test-omission.rb +0 -81
  3799. data/vendor/bundle/gems/test-unit-3.2.8/test/test-pending.rb +0 -70
  3800. data/vendor/bundle/gems/test-unit-3.2.8/test/test-priority.rb +0 -173
  3801. data/vendor/bundle/gems/test-unit-3.2.8/test/test-test-case.rb +0 -1278
  3802. data/vendor/bundle/gems/test-unit-3.2.8/test/test-test-result.rb +0 -113
  3803. data/vendor/bundle/gems/test-unit-3.2.8/test/test-test-suite-creator.rb +0 -97
  3804. data/vendor/bundle/gems/test-unit-3.2.8/test/test-test-suite.rb +0 -151
  3805. data/vendor/bundle/gems/test-unit-3.2.8/test/testunit-test-util.rb +0 -31
  3806. data/vendor/bundle/gems/test-unit-3.2.8/test/ui/test_testrunmediator.rb +0 -20
  3807. data/vendor/bundle/gems/test-unit-3.2.8/test/util/test-method-owner-finder.rb +0 -38
  3808. data/vendor/bundle/gems/test-unit-3.2.8/test/util/test-output.rb +0 -11
  3809. data/vendor/bundle/gems/test-unit-3.2.8/test/util/test_backtracefilter.rb +0 -52
  3810. data/vendor/bundle/gems/test-unit-3.2.8/test/util/test_observable.rb +0 -102
  3811. data/vendor/bundle/gems/test-unit-3.2.8/test/util/test_procwrapper.rb +0 -36
  3812. data/vendor/bundle/gems/thor-0.19.4/CHANGELOG.md +0 -163
  3813. data/vendor/bundle/gems/thor-0.19.4/CONTRIBUTING.md +0 -15
  3814. data/vendor/bundle/gems/thor-0.19.4/LICENSE.md +0 -20
  3815. data/vendor/bundle/gems/thor-0.19.4/README.md +0 -47
  3816. data/vendor/bundle/gems/thor-0.19.4/bin/thor +0 -6
  3817. data/vendor/bundle/gems/thor-0.19.4/lib/thor.rb +0 -492
  3818. data/vendor/bundle/gems/thor-0.19.4/lib/thor/actions.rb +0 -318
  3819. data/vendor/bundle/gems/thor-0.19.4/lib/thor/actions/create_file.rb +0 -103
  3820. data/vendor/bundle/gems/thor-0.19.4/lib/thor/actions/create_link.rb +0 -59
  3821. data/vendor/bundle/gems/thor-0.19.4/lib/thor/actions/directory.rb +0 -118
  3822. data/vendor/bundle/gems/thor-0.19.4/lib/thor/actions/empty_directory.rb +0 -135
  3823. data/vendor/bundle/gems/thor-0.19.4/lib/thor/actions/file_manipulation.rb +0 -327
  3824. data/vendor/bundle/gems/thor-0.19.4/lib/thor/actions/inject_into_file.rb +0 -103
  3825. data/vendor/bundle/gems/thor-0.19.4/lib/thor/base.rb +0 -656
  3826. data/vendor/bundle/gems/thor-0.19.4/lib/thor/command.rb +0 -133
  3827. data/vendor/bundle/gems/thor-0.19.4/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -85
  3828. data/vendor/bundle/gems/thor-0.19.4/lib/thor/core_ext/io_binary_read.rb +0 -12
  3829. data/vendor/bundle/gems/thor-0.19.4/lib/thor/core_ext/ordered_hash.rb +0 -129
  3830. data/vendor/bundle/gems/thor-0.19.4/lib/thor/error.rb +0 -32
  3831. data/vendor/bundle/gems/thor-0.19.4/lib/thor/group.rb +0 -281
  3832. data/vendor/bundle/gems/thor-0.19.4/lib/thor/invocation.rb +0 -177
  3833. data/vendor/bundle/gems/thor-0.19.4/lib/thor/line_editor.rb +0 -17
  3834. data/vendor/bundle/gems/thor-0.19.4/lib/thor/line_editor/basic.rb +0 -35
  3835. data/vendor/bundle/gems/thor-0.19.4/lib/thor/line_editor/readline.rb +0 -88
  3836. data/vendor/bundle/gems/thor-0.19.4/lib/thor/parser.rb +0 -4
  3837. data/vendor/bundle/gems/thor-0.19.4/lib/thor/parser/argument.rb +0 -70
  3838. data/vendor/bundle/gems/thor-0.19.4/lib/thor/parser/arguments.rb +0 -175
  3839. data/vendor/bundle/gems/thor-0.19.4/lib/thor/parser/option.rb +0 -146
  3840. data/vendor/bundle/gems/thor-0.19.4/lib/thor/parser/options.rb +0 -220
  3841. data/vendor/bundle/gems/thor-0.19.4/lib/thor/rake_compat.rb +0 -71
  3842. data/vendor/bundle/gems/thor-0.19.4/lib/thor/runner.rb +0 -322
  3843. data/vendor/bundle/gems/thor-0.19.4/lib/thor/shell.rb +0 -81
  3844. data/vendor/bundle/gems/thor-0.19.4/lib/thor/shell/basic.rb +0 -436
  3845. data/vendor/bundle/gems/thor-0.19.4/lib/thor/shell/color.rb +0 -149
  3846. data/vendor/bundle/gems/thor-0.19.4/lib/thor/shell/html.rb +0 -126
  3847. data/vendor/bundle/gems/thor-0.19.4/lib/thor/util.rb +0 -268
  3848. data/vendor/bundle/gems/thor-0.19.4/lib/thor/version.rb +0 -3
  3849. data/vendor/bundle/gems/thor-0.19.4/thor.gemspec +0 -21
  3850. data/vendor/bundle/gems/tins-1.16.3/COPYING +0 -18
  3851. data/vendor/bundle/gems/tins-1.16.3/Gemfile +0 -10
  3852. data/vendor/bundle/gems/tins-1.16.3/README.md +0 -94
  3853. data/vendor/bundle/gems/tins-1.16.3/Rakefile +0 -23
  3854. data/vendor/bundle/gems/tins-1.16.3/TODO +0 -3
  3855. data/vendor/bundle/gems/tins-1.16.3/VERSION +0 -1
  3856. data/vendor/bundle/gems/tins-1.16.3/examples/add_one.png +0 -0
  3857. data/vendor/bundle/gems/tins-1.16.3/examples/add_one.stm +0 -13
  3858. data/vendor/bundle/gems/tins-1.16.3/examples/bb3.png +0 -0
  3859. data/vendor/bundle/gems/tins-1.16.3/examples/bb3.stm +0 -26
  3860. data/vendor/bundle/gems/tins-1.16.3/examples/concatenate_compare.mtm +0 -31
  3861. data/vendor/bundle/gems/tins-1.16.3/examples/concatenate_compare.png +0 -0
  3862. data/vendor/bundle/gems/tins-1.16.3/examples/length_difference.mtm +0 -17
  3863. data/vendor/bundle/gems/tins-1.16.3/examples/length_difference.png +0 -0
  3864. data/vendor/bundle/gems/tins-1.16.3/examples/let.rb +0 -62
  3865. data/vendor/bundle/gems/tins-1.16.3/examples/mail.rb +0 -73
  3866. data/vendor/bundle/gems/tins-1.16.3/examples/minsky.rb +0 -145
  3867. data/vendor/bundle/gems/tins-1.16.3/examples/multiply.reg +0 -42
  3868. data/vendor/bundle/gems/tins-1.16.3/examples/null_pattern.rb +0 -52
  3869. data/vendor/bundle/gems/tins-1.16.3/examples/ones_difference-mtm.png +0 -0
  3870. data/vendor/bundle/gems/tins-1.16.3/examples/ones_difference-stm.png +0 -0
  3871. data/vendor/bundle/gems/tins-1.16.3/examples/ones_difference.mtm +0 -12
  3872. data/vendor/bundle/gems/tins-1.16.3/examples/ones_difference.stm +0 -25
  3873. data/vendor/bundle/gems/tins-1.16.3/examples/prefix-equals-suffix-reversed-with-infix.png +0 -0
  3874. data/vendor/bundle/gems/tins-1.16.3/examples/prefix-equals-suffix-reversed-with-infix.stm +0 -38
  3875. data/vendor/bundle/gems/tins-1.16.3/examples/recipe.rb +0 -81
  3876. data/vendor/bundle/gems/tins-1.16.3/examples/recipe2.rb +0 -82
  3877. data/vendor/bundle/gems/tins-1.16.3/examples/recipe_common.rb +0 -65
  3878. data/vendor/bundle/gems/tins-1.16.3/examples/subtract.reg +0 -9
  3879. data/vendor/bundle/gems/tins-1.16.3/examples/turing-graph.rb +0 -17
  3880. data/vendor/bundle/gems/tins-1.16.3/examples/turing.rb +0 -310
  3881. data/vendor/bundle/gems/tins-1.16.3/lib/dslkit.rb +0 -2
  3882. data/vendor/bundle/gems/tins-1.16.3/lib/dslkit/polite.rb +0 -1
  3883. data/vendor/bundle/gems/tins-1.16.3/lib/dslkit/rude.rb +0 -1
  3884. data/vendor/bundle/gems/tins-1.16.3/lib/spruz.rb +0 -2
  3885. data/vendor/bundle/gems/tins-1.16.3/lib/tins.rb +0 -60
  3886. data/vendor/bundle/gems/tins-1.16.3/lib/tins/alias.rb +0 -1
  3887. data/vendor/bundle/gems/tins-1.16.3/lib/tins/annotate.rb +0 -38
  3888. data/vendor/bundle/gems/tins-1.16.3/lib/tins/ask_and_send.rb +0 -31
  3889. data/vendor/bundle/gems/tins-1.16.3/lib/tins/attempt.rb +0 -88
  3890. data/vendor/bundle/gems/tins-1.16.3/lib/tins/bijection.rb +0 -46
  3891. data/vendor/bundle/gems/tins-1.16.3/lib/tins/case_predicate.rb +0 -7
  3892. data/vendor/bundle/gems/tins-1.16.3/lib/tins/complete.rb +0 -18
  3893. data/vendor/bundle/gems/tins-1.16.3/lib/tins/concern.rb +0 -30
  3894. data/vendor/bundle/gems/tins-1.16.3/lib/tins/count_by.rb +0 -8
  3895. data/vendor/bundle/gems/tins-1.16.3/lib/tins/date_dummy.rb +0 -53
  3896. data/vendor/bundle/gems/tins-1.16.3/lib/tins/date_time_dummy.rb +0 -51
  3897. data/vendor/bundle/gems/tins-1.16.3/lib/tins/deep_const_get.rb +0 -42
  3898. data/vendor/bundle/gems/tins-1.16.3/lib/tins/deep_dup.rb +0 -11
  3899. data/vendor/bundle/gems/tins-1.16.3/lib/tins/dslkit.rb +0 -626
  3900. data/vendor/bundle/gems/tins-1.16.3/lib/tins/duration.rb +0 -87
  3901. data/vendor/bundle/gems/tins-1.16.3/lib/tins/expose.rb +0 -27
  3902. data/vendor/bundle/gems/tins-1.16.3/lib/tins/extract_last_argument_options.rb +0 -14
  3903. data/vendor/bundle/gems/tins-1.16.3/lib/tins/file_binary.rb +0 -83
  3904. data/vendor/bundle/gems/tins-1.16.3/lib/tins/find.rb +0 -149
  3905. data/vendor/bundle/gems/tins-1.16.3/lib/tins/generator.rb +0 -68
  3906. data/vendor/bundle/gems/tins-1.16.3/lib/tins/go.rb +0 -73
  3907. data/vendor/bundle/gems/tins-1.16.3/lib/tins/hash_symbolize_keys_recursive.rb +0 -27
  3908. data/vendor/bundle/gems/tins-1.16.3/lib/tins/hash_union.rb +0 -15
  3909. data/vendor/bundle/gems/tins-1.16.3/lib/tins/if_predicate.rb +0 -7
  3910. data/vendor/bundle/gems/tins-1.16.3/lib/tins/implement.rb +0 -40
  3911. data/vendor/bundle/gems/tins-1.16.3/lib/tins/limited.rb +0 -38
  3912. data/vendor/bundle/gems/tins-1.16.3/lib/tins/lines_file.rb +0 -123
  3913. data/vendor/bundle/gems/tins-1.16.3/lib/tins/memoize.rb +0 -91
  3914. data/vendor/bundle/gems/tins-1.16.3/lib/tins/method_description.rb +0 -143
  3915. data/vendor/bundle/gems/tins-1.16.3/lib/tins/minimize.rb +0 -55
  3916. data/vendor/bundle/gems/tins-1.16.3/lib/tins/module_group.rb +0 -13
  3917. data/vendor/bundle/gems/tins-1.16.3/lib/tins/named_set.rb +0 -12
  3918. data/vendor/bundle/gems/tins-1.16.3/lib/tins/null.rb +0 -99
  3919. data/vendor/bundle/gems/tins-1.16.3/lib/tins/once.rb +0 -25
  3920. data/vendor/bundle/gems/tins-1.16.3/lib/tins/p.rb +0 -23
  3921. data/vendor/bundle/gems/tins-1.16.3/lib/tins/partial_application.rb +0 -31
  3922. data/vendor/bundle/gems/tins-1.16.3/lib/tins/proc_compose.rb +0 -15
  3923. data/vendor/bundle/gems/tins-1.16.3/lib/tins/proc_prelude.rb +0 -73
  3924. data/vendor/bundle/gems/tins-1.16.3/lib/tins/range_plus.rb +0 -9
  3925. data/vendor/bundle/gems/tins-1.16.3/lib/tins/require_maybe.rb +0 -9
  3926. data/vendor/bundle/gems/tins-1.16.3/lib/tins/responding.rb +0 -19
  3927. data/vendor/bundle/gems/tins-1.16.3/lib/tins/secure_write.rb +0 -27
  3928. data/vendor/bundle/gems/tins-1.16.3/lib/tins/sexy_singleton.rb +0 -39
  3929. data/vendor/bundle/gems/tins-1.16.3/lib/tins/string_byte_order_mark.rb +0 -20
  3930. data/vendor/bundle/gems/tins-1.16.3/lib/tins/string_camelize.rb +0 -16
  3931. data/vendor/bundle/gems/tins-1.16.3/lib/tins/string_underscore.rb +0 -15
  3932. data/vendor/bundle/gems/tins-1.16.3/lib/tins/string_version.rb +0 -104
  3933. data/vendor/bundle/gems/tins-1.16.3/lib/tins/subhash.rb +0 -42
  3934. data/vendor/bundle/gems/tins-1.16.3/lib/tins/temp_io.rb +0 -26
  3935. data/vendor/bundle/gems/tins-1.16.3/lib/tins/terminal.rb +0 -43
  3936. data/vendor/bundle/gems/tins-1.16.3/lib/tins/thread_local.rb +0 -51
  3937. data/vendor/bundle/gems/tins-1.16.3/lib/tins/time_dummy.rb +0 -57
  3938. data/vendor/bundle/gems/tins-1.16.3/lib/tins/to.rb +0 -8
  3939. data/vendor/bundle/gems/tins-1.16.3/lib/tins/to_proc.rb +0 -12
  3940. data/vendor/bundle/gems/tins-1.16.3/lib/tins/token.rb +0 -36
  3941. data/vendor/bundle/gems/tins-1.16.3/lib/tins/uniq_by.rb +0 -10
  3942. data/vendor/bundle/gems/tins-1.16.3/lib/tins/unit.rb +0 -179
  3943. data/vendor/bundle/gems/tins-1.16.3/lib/tins/version.rb +0 -8
  3944. data/vendor/bundle/gems/tins-1.16.3/lib/tins/write.rb +0 -19
  3945. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt.rb +0 -45
  3946. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/annotate.rb +0 -5
  3947. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/ask_and_send.rb +0 -7
  3948. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/attempt.rb +0 -7
  3949. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/blank.rb +0 -67
  3950. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/case_predicate.rb +0 -8
  3951. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/complete.rb +0 -7
  3952. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/concern.rb +0 -20
  3953. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/count_by.rb +0 -11
  3954. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/date_dummy.rb +0 -7
  3955. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/date_time_dummy.rb +0 -7
  3956. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/deep_const_get.rb +0 -7
  3957. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/deep_dup.rb +0 -7
  3958. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/dslkit.rb +0 -22
  3959. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/expose.rb +0 -5
  3960. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/extract_last_argument_options.rb +0 -7
  3961. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/file_binary.rb +0 -7
  3962. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/full.rb +0 -39
  3963. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/hash_symbolize_keys_recursive.rb +0 -7
  3964. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/hash_union.rb +0 -11
  3965. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/if_predicate.rb +0 -7
  3966. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/implement.rb +0 -5
  3967. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/irb.rb +0 -23
  3968. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/method_description.rb +0 -23
  3969. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/named.rb +0 -23
  3970. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/null.rb +0 -9
  3971. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/p.rb +0 -7
  3972. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/partial_application.rb +0 -11
  3973. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/proc_compose.rb +0 -7
  3974. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/proc_prelude.rb +0 -7
  3975. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/range_plus.rb +0 -12
  3976. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/require_maybe.rb +0 -7
  3977. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/responding.rb +0 -7
  3978. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/secure_write.rb +0 -11
  3979. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/sexy_singleton.rb +0 -3
  3980. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/string.rb +0 -6
  3981. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/string_byte_order_mark.rb +0 -7
  3982. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/string_camelize.rb +0 -6
  3983. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/string_underscore.rb +0 -6
  3984. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/string_version.rb +0 -7
  3985. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/subhash.rb +0 -11
  3986. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/temp_io.rb +0 -5
  3987. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/time_dummy.rb +0 -7
  3988. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/time_freezer.rb +0 -15
  3989. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/to.rb +0 -5
  3990. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/uniq_by.rb +0 -15
  3991. data/vendor/bundle/gems/tins-1.16.3/lib/tins/xt/write.rb +0 -11
  3992. data/vendor/bundle/gems/tins-1.16.3/tests/annotate_test.rb +0 -47
  3993. data/vendor/bundle/gems/tins-1.16.3/tests/ask_and_send_test.rb +0 -46
  3994. data/vendor/bundle/gems/tins-1.16.3/tests/attempt_test.rb +0 -109
  3995. data/vendor/bundle/gems/tins-1.16.3/tests/bijection_test.rb +0 -19
  3996. data/vendor/bundle/gems/tins-1.16.3/tests/blank_full_test.rb +0 -77
  3997. data/vendor/bundle/gems/tins-1.16.3/tests/case_predicate_test.rb +0 -29
  3998. data/vendor/bundle/gems/tins-1.16.3/tests/concern_test.rb +0 -35
  3999. data/vendor/bundle/gems/tins-1.16.3/tests/count_by_test.rb +0 -17
  4000. data/vendor/bundle/gems/tins-1.16.3/tests/date_dummy_test.rb +0 -31
  4001. data/vendor/bundle/gems/tins-1.16.3/tests/date_time_dummy_test.rb +0 -31
  4002. data/vendor/bundle/gems/tins-1.16.3/tests/deep_const_get_test.rb +0 -37
  4003. data/vendor/bundle/gems/tins-1.16.3/tests/deep_dup_test.rb +0 -20
  4004. data/vendor/bundle/gems/tins-1.16.3/tests/delegate_test.rb +0 -49
  4005. data/vendor/bundle/gems/tins-1.16.3/tests/dslkit_test.rb +0 -284
  4006. data/vendor/bundle/gems/tins-1.16.3/tests/duration_test.rb +0 -73
  4007. data/vendor/bundle/gems/tins-1.16.3/tests/dynamic_scope_test.rb +0 -31
  4008. data/vendor/bundle/gems/tins-1.16.3/tests/expose_test.rb +0 -43
  4009. data/vendor/bundle/gems/tins-1.16.3/tests/extract_last_argument_options_test.rb +0 -30
  4010. data/vendor/bundle/gems/tins-1.16.3/tests/file_binary_test.rb +0 -65
  4011. data/vendor/bundle/gems/tins-1.16.3/tests/find_test.rb +0 -135
  4012. data/vendor/bundle/gems/tins-1.16.3/tests/from_module_test.rb +0 -61
  4013. data/vendor/bundle/gems/tins-1.16.3/tests/generator_test.rb +0 -47
  4014. data/vendor/bundle/gems/tins-1.16.3/tests/go_test.rb +0 -62
  4015. data/vendor/bundle/gems/tins-1.16.3/tests/hash_symbolize_keys_recursive_test.rb +0 -24
  4016. data/vendor/bundle/gems/tins-1.16.3/tests/hash_union_test.rb +0 -42
  4017. data/vendor/bundle/gems/tins-1.16.3/tests/if_predicate_test.rb +0 -12
  4018. data/vendor/bundle/gems/tins-1.16.3/tests/implement_test.rb +0 -75
  4019. data/vendor/bundle/gems/tins-1.16.3/tests/limited_test.rb +0 -21
  4020. data/vendor/bundle/gems/tins-1.16.3/tests/lines_file_test.rb +0 -82
  4021. data/vendor/bundle/gems/tins-1.16.3/tests/memoize_test.rb +0 -115
  4022. data/vendor/bundle/gems/tins-1.16.3/tests/method_description_test.rb +0 -104
  4023. data/vendor/bundle/gems/tins-1.16.3/tests/minimize_test.rb +0 -54
  4024. data/vendor/bundle/gems/tins-1.16.3/tests/module_group_test.rb +0 -29
  4025. data/vendor/bundle/gems/tins-1.16.3/tests/named_set_test.rb +0 -18
  4026. data/vendor/bundle/gems/tins-1.16.3/tests/named_test.rb +0 -30
  4027. data/vendor/bundle/gems/tins-1.16.3/tests/null_test.rb +0 -64
  4028. data/vendor/bundle/gems/tins-1.16.3/tests/p_test.rb +0 -14
  4029. data/vendor/bundle/gems/tins-1.16.3/tests/partial_application_test.rb +0 -30
  4030. data/vendor/bundle/gems/tins-1.16.3/tests/proc_compose_test.rb +0 -21
  4031. data/vendor/bundle/gems/tins-1.16.3/tests/proc_prelude_test.rb +0 -81
  4032. data/vendor/bundle/gems/tins-1.16.3/tests/range_plus_test.rb +0 -14
  4033. data/vendor/bundle/gems/tins-1.16.3/tests/require_maybe_test.rb +0 -24
  4034. data/vendor/bundle/gems/tins-1.16.3/tests/responding_test.rb +0 -24
  4035. data/vendor/bundle/gems/tins-1.16.3/tests/rotate_test.rb +0 -65
  4036. data/vendor/bundle/gems/tins-1.16.3/tests/scope_test.rb +0 -31
  4037. data/vendor/bundle/gems/tins-1.16.3/tests/secure_write_test.rb +0 -42
  4038. data/vendor/bundle/gems/tins-1.16.3/tests/sexy_singleton_test.rb +0 -16
  4039. data/vendor/bundle/gems/tins-1.16.3/tests/string_byte_order_mark_test.rb +0 -40
  4040. data/vendor/bundle/gems/tins-1.16.3/tests/string_camelize_test.rb +0 -21
  4041. data/vendor/bundle/gems/tins-1.16.3/tests/string_underscore_test.rb +0 -11
  4042. data/vendor/bundle/gems/tins-1.16.3/tests/string_version_test.rb +0 -60
  4043. data/vendor/bundle/gems/tins-1.16.3/tests/subhash_test.rb +0 -37
  4044. data/vendor/bundle/gems/tins-1.16.3/tests/temp_io_test.rb +0 -38
  4045. data/vendor/bundle/gems/tins-1.16.3/tests/test_helper.rb +0 -11
  4046. data/vendor/bundle/gems/tins-1.16.3/tests/time_dummy_test.rb +0 -31
  4047. data/vendor/bundle/gems/tins-1.16.3/tests/time_freezer_test.rb +0 -45
  4048. data/vendor/bundle/gems/tins-1.16.3/tests/to_test.rb +0 -32
  4049. data/vendor/bundle/gems/tins-1.16.3/tests/token_test.rb +0 -38
  4050. data/vendor/bundle/gems/tins-1.16.3/tests/uniq_by_test.rb +0 -31
  4051. data/vendor/bundle/gems/tins-1.16.3/tests/unit_test.rb +0 -61
  4052. data/vendor/bundle/gems/tins-1.16.3/tins.gemspec +0 -41
  4053. data/vendor/bundle/gems/xpath-3.1.0/README.md +0 -78
  4054. data/vendor/bundle/gems/xpath-3.1.0/lib/xpath.rb +0 -16
  4055. data/vendor/bundle/gems/xpath-3.1.0/lib/xpath/dsl.rb +0 -165
  4056. data/vendor/bundle/gems/xpath-3.1.0/lib/xpath/expression.rb +0 -20
  4057. data/vendor/bundle/gems/xpath-3.1.0/lib/xpath/literal.rb +0 -8
  4058. data/vendor/bundle/gems/xpath-3.1.0/lib/xpath/renderer.rb +0 -116
  4059. data/vendor/bundle/gems/xpath-3.1.0/lib/xpath/union.rb +0 -29
  4060. data/vendor/bundle/gems/xpath-3.1.0/lib/xpath/version.rb +0 -3
  4061. data/vendor/bundle/gems/xpath-3.1.0/spec/fixtures/form.html +0 -201
  4062. data/vendor/bundle/gems/xpath-3.1.0/spec/fixtures/simple.html +0 -53
  4063. data/vendor/bundle/gems/xpath-3.1.0/spec/fixtures/stuff.html +0 -54
  4064. data/vendor/bundle/gems/xpath-3.1.0/spec/spec_helper.rb +0 -6
  4065. data/vendor/bundle/gems/xpath-3.1.0/spec/union_spec.rb +0 -64
  4066. data/vendor/bundle/gems/xpath-3.1.0/spec/xpath_spec.rb +0 -544
  4067. data/vendor/bundle/specifications/addressable-2.5.2.gemspec +0 -39
  4068. data/vendor/bundle/specifications/capybara-3.2.1.gemspec +0 -82
  4069. data/vendor/bundle/specifications/childprocess-0.9.0.gemspec +0 -45
  4070. data/vendor/bundle/specifications/concurrent-ruby-1.0.5.gemspec +0 -23
  4071. data/vendor/bundle/specifications/coveralls-0.8.21.gemspec +0 -50
  4072. data/vendor/bundle/specifications/diff-lcs-1.3.gemspec +0 -61
  4073. data/vendor/bundle/specifications/docile-1.1.5.gemspec +0 -48
  4074. data/vendor/bundle/specifications/emot-0.0.4.gemspec +0 -44
  4075. data/vendor/bundle/specifications/faraday-0.15.1.gemspec +0 -32
  4076. data/vendor/bundle/specifications/fastimage-2.1.3.gemspec +0 -45
  4077. data/vendor/bundle/specifications/ffi-1.9.23.gemspec +0 -49
  4078. data/vendor/bundle/specifications/hikidoc-0.1.0.gemspec +0 -37
  4079. data/vendor/bundle/specifications/jasmine-2.99.0.gemspec +0 -59
  4080. data/vendor/bundle/specifications/jasmine-core-2.99.2.gemspec +0 -42
  4081. data/vendor/bundle/specifications/launchy-2.4.3.gemspec +0 -45
  4082. data/vendor/bundle/specifications/mail-2.7.0.gemspec +0 -47
  4083. data/vendor/bundle/specifications/mini_mime-1.0.0.gemspec +0 -39
  4084. data/vendor/bundle/specifications/mini_portile2-2.3.0.gemspec +0 -48
  4085. data/vendor/bundle/specifications/multipart-post-2.0.0.gemspec +0 -22
  4086. data/vendor/bundle/specifications/nokogiri-1.8.2.gemspec +0 -78
  4087. data/vendor/bundle/specifications/octokit-4.9.0.gemspec +0 -36
  4088. data/vendor/bundle/specifications/phantomjs-2.1.1.0.gemspec +0 -44
  4089. data/vendor/bundle/specifications/pit-0.0.7.gemspec +0 -21
  4090. data/vendor/bundle/specifications/power_assert-1.1.1.gemspec +0 -51
  4091. data/vendor/bundle/specifications/public_suffix-3.0.2.gemspec +0 -41
  4092. data/vendor/bundle/specifications/rack-2.0.5.gemspec +0 -42
  4093. data/vendor/bundle/specifications/rack-test-1.0.0.gemspec +0 -54
  4094. data/vendor/bundle/specifications/racksh-1.0.0.gemspec +0 -35
  4095. data/vendor/bundle/specifications/rake-12.3.1.gemspec +0 -49
  4096. data/vendor/bundle/specifications/redcarpet-3.4.0.gemspec +0 -44
  4097. data/vendor/bundle/specifications/rspec-3.7.0.gemspec +0 -42
  4098. data/vendor/bundle/specifications/rspec-core-3.7.1.gemspec +0 -62
  4099. data/vendor/bundle/specifications/rspec-expectations-3.7.0.gemspec +0 -50
  4100. data/vendor/bundle/specifications/rspec-mocks-3.7.0.gemspec +0 -50
  4101. data/vendor/bundle/specifications/rspec-support-3.7.1.gemspec +0 -41
  4102. data/vendor/bundle/specifications/rubyzip-1.2.1.gemspec +0 -41
  4103. data/vendor/bundle/specifications/sawyer-0.8.1.gemspec +0 -34
  4104. data/vendor/bundle/specifications/selenium-webdriver-3.12.0.gemspec +0 -52
  4105. data/vendor/bundle/specifications/sequel-5.9.0.gemspec +0 -52
  4106. data/vendor/bundle/specifications/simplecov-0.14.1.gemspec +0 -42
  4107. data/vendor/bundle/specifications/simplecov-html-0.10.2.gemspec +0 -33
  4108. data/vendor/bundle/specifications/sprockets-3.7.2.gemspec +0 -78
  4109. data/vendor/bundle/specifications/sqlite3-1.3.13.gemspec +0 -56
  4110. data/vendor/bundle/specifications/term-ansicolor-1.6.0.gemspec +0 -46
  4111. data/vendor/bundle/specifications/test-unit-3.2.8.gemspec +0 -48
  4112. data/vendor/bundle/specifications/thor-0.19.4.gemspec +0 -35
  4113. data/vendor/bundle/specifications/tins-1.16.3.gemspec +0 -42
  4114. data/vendor/bundle/specifications/xpath-3.1.0.gemspec +0 -46
@@ -1,4538 +0,0 @@
1
- require_relative "spec_helper"
2
-
3
- describe Sequel::Model, "associate" do
4
- it "should use explicit class if given a class, symbol, or string" do
5
- begin
6
- klass = Class.new(Sequel::Model(:nodes))
7
- class ::ParParent < Sequel::Model; end
8
-
9
- klass.associate :many_to_one, :par_parent0, :class=>ParParent
10
- klass.associate :one_to_many, :par_parent1s, :class=>'ParParent'
11
- klass.associate :many_to_many, :par_parent2s, :class=>:ParParent
12
-
13
- klass.association_reflection(:"par_parent0").associated_class.must_equal ParParent
14
- klass.association_reflection(:"par_parent1s").associated_class.must_equal ParParent
15
- klass.association_reflection(:"par_parent2s").associated_class.must_equal ParParent
16
- ensure
17
- Object.send(:remove_const, :ParParent)
18
- end
19
- end
20
-
21
- it "should default to associating to other models in the same scope" do
22
- begin
23
- class ::AssociationModuleTest
24
- class Album < Sequel::Model
25
- many_to_one :artist
26
- many_to_many :tags
27
- end
28
- class Artist< Sequel::Model
29
- one_to_many :albums
30
- end
31
- class Tag < Sequel::Model
32
- many_to_many :albums
33
- end
34
- end
35
-
36
- ::AssociationModuleTest::Album.association_reflection(:artist).associated_class.must_equal ::AssociationModuleTest::Artist
37
- ::AssociationModuleTest::Album.association_reflection(:tags).associated_class.must_equal ::AssociationModuleTest::Tag
38
- ::AssociationModuleTest::Artist.association_reflection(:albums).associated_class.must_equal ::AssociationModuleTest::Album
39
- ::AssociationModuleTest::Tag.association_reflection(:albums).associated_class.must_equal ::AssociationModuleTest::Album
40
- ensure
41
- Object.send(:remove_const, :AssociationModuleTest)
42
- end
43
- end
44
-
45
- it "should add a model_object and association_reflection accessors to the dataset, and return it with the current model object" do
46
- klass = Class.new(Sequel::Model(:nodes)) do
47
- columns :id, :a_id
48
- end
49
- mod = Module.new do
50
- def blah
51
- filter{|o| o.__send__(association_reflection[:key]) > model_object.id*2}
52
- end
53
- end
54
-
55
- klass.associate :many_to_one, :a, :class=>klass
56
- klass.associate :one_to_many, :bs, :key=>:b_id, :class=>klass, :extend=>mod
57
- klass.associate :many_to_many, :cs, :class=>klass
58
-
59
- node = klass.load(:id=>1)
60
- node.a_dataset.model_object.must_equal node
61
- node.bs_dataset.model_object.must_equal node
62
- node.cs_dataset.model_object.must_equal node
63
-
64
- node.a_dataset.association_reflection.must_equal klass.association_reflection(:a)
65
- node.bs_dataset.association_reflection.must_equal klass.association_reflection(:bs)
66
- node.cs_dataset.association_reflection.must_equal klass.association_reflection(:cs)
67
-
68
- node.bs_dataset.blah.sql.must_equal 'SELECT * FROM nodes WHERE ((nodes.b_id = 1) AND (b_id > 2))'
69
- end
70
-
71
- it "should allow extending the dataset with :extend option" do
72
- klass = Class.new(Sequel::Model(:nodes)) do
73
- columns :id, :a_id
74
- end
75
- mod = Module.new do
76
- def blah
77
- 1
78
- end
79
- end
80
- mod2 = Module.new do
81
- def blar
82
- 2
83
- end
84
- end
85
-
86
- klass.associate :many_to_one, :a, :class=>klass, :extend=>mod
87
- klass.associate :one_to_many, :bs, :class=>klass, :extend=>[mod]
88
- klass.associate :many_to_many, :cs, :class=>klass, :extend=>[mod, mod2]
89
-
90
- node = klass.load(:id=>1)
91
- node.a_dataset.blah.must_equal 1
92
- node.bs_dataset.blah.must_equal 1
93
- node.cs_dataset.blah.must_equal 1
94
- node.cs_dataset.blar.must_equal 2
95
- end
96
-
97
- it "should clone an existing association with the :clone option" do
98
- begin
99
- class ::ParParent < Sequel::Model; end
100
- klass = Class.new(Sequel::Model(:nodes))
101
-
102
- klass.many_to_one(:par_parent, :order=>:a){1}
103
- klass.one_to_many(:par_parent1s, :class=>'ParParent', :limit=>12){4}
104
- klass.many_to_many(:par_parent2s, :class=>:ParParent, :uniq=>true){2}
105
-
106
- klass.many_to_one :par, :clone=>:par_parent, :select=>:b
107
- klass.one_to_many :par1s, :clone=>:par_parent1s, :order=>:b, :limit=>10, :block=>nil
108
- klass.many_to_many(:par2s, :clone=>:par_parent2s, :order=>:c){3}
109
- klass.many_to_one :par3, :clone=>:par
110
-
111
- klass.association_reflection(:par).associated_class.must_equal ParParent
112
- klass.association_reflection(:par1s).associated_class.must_equal ParParent
113
- klass.association_reflection(:par2s).associated_class.must_equal ParParent
114
-
115
- klass.association_reflection(:par)[:order].must_equal :a
116
- klass.association_reflection(:par).select.must_equal :b
117
- klass.association_reflection(:par)[:block].call.must_equal 1
118
- klass.association_reflection(:par)[:eager_block].call.must_equal 1
119
- klass.association_reflection(:par1s)[:limit].must_equal 10
120
- klass.association_reflection(:par1s)[:order].must_equal :b
121
- klass.association_reflection(:par1s)[:block].must_be_nil
122
- klass.association_reflection(:par2s)[:after_load].length.must_equal 1
123
- klass.association_reflection(:par2s)[:order].must_equal :c
124
- klass.association_reflection(:par2s)[:block].call.must_equal 3
125
-
126
- klass.association_reflection(:par3)[:block].call.must_equal 1
127
- klass.association_reflection(:par3)[:eager_block].call.must_equal 1
128
- ensure
129
- Object.send(:remove_const, :ParParent)
130
- end
131
- end
132
-
133
- it "should raise an error if attempting to clone an association of differing type" do
134
- c = Class.new(Sequel::Model(:c))
135
- c.many_to_one :c
136
- proc{c.one_to_many :cs, :clone=>:c}.must_raise(Sequel::Error)
137
- end
138
-
139
- it "should allow overriding the :instance_specific option" do
140
- c = Class.new(Sequel::Model(:c))
141
- c.many_to_one :c, :instance_specific=>true
142
- c.association_reflection(:c)[:instance_specific].must_equal true
143
- c.many_to_one :c, :instance_specific=>false do |ds| ds end
144
- c.association_reflection(:c)[:instance_specific].must_equal false
145
- end
146
-
147
- it "should allow cloning of one_to_many to one_to_one associations and vice-versa" do
148
- c = Class.new(Sequel::Model(:c))
149
- c.one_to_one :c
150
- c.one_to_many :cs, :clone=>:c
151
- c.one_to_one :c2, :clone=>:cs
152
- end
153
-
154
- it "should allow cloning of many_to_many to one_through_one associations and vice-versa" do
155
- c = Class.new(Sequel::Model(:c))
156
- c.many_to_many :c
157
- c.one_through_one :cs, :clone=>:c
158
- c.many_to_many :c2, :clone=>:cs
159
- end
160
-
161
- it "should clear associations cache when refreshing object manually" do
162
- c = Class.new(Sequel::Model(:c))
163
- c.many_to_one :c
164
- o = c.new
165
- o.associations[:c] = 1
166
- o.refresh
167
- o.associations.must_equal({})
168
- end
169
-
170
- it "should not clear associations cache when refreshing object after save" do
171
- c = Class.new(Sequel::Model(:c))
172
- c.many_to_one :c
173
- o = c.new
174
- o.associations[:c] = 1
175
- o.save
176
- o.associations.must_equal(:c=>1)
177
- end
178
-
179
- it "should not clear associations cache when saving with insert_select" do
180
- ds = Sequel::Model.db[:c].with_extend do
181
- def supports_insert_select?; true end
182
- def insert_select(*) {:id=>1} end
183
- end
184
- c = Class.new(Sequel::Model(ds))
185
- c.many_to_one :c
186
- o = c.new
187
- o.associations[:c] = 1
188
- o.save
189
- o.associations.must_equal(:c=>1)
190
- end
191
-
192
- end
193
-
194
- describe Sequel::Model, "many_to_one" do
195
- before do
196
- @c2 = Class.new(Sequel::Model(:nodes)) do
197
- unrestrict_primary_key
198
- columns :id, :parent_id, :par_parent_id, :blah
199
- end
200
- @dataset = @c2.dataset
201
- DB.reset
202
- end
203
-
204
- it "should raise an error if associated class does not have a primary key, and :primary_key is not specified" do
205
- @c2.no_primary_key
206
- @c2.many_to_one :parent, :class => @c2
207
- d = @c2.new(:id => 1, :parent_id => 234)
208
- proc{d.parent}.must_raise(Sequel::Error)
209
- DB.sqls.must_equal []
210
- end
211
-
212
- it "should raise an error if associated class does not have a primary key, and :primary_key is not specified, with an association block" do
213
- @c2.no_primary_key
214
- @c2.many_to_one :parent, :class => @c2 do |ds| ds end
215
- d = @c2.new(:id => 1, :parent_id => 234)
216
- proc{d.parent}.must_raise(Sequel::Error)
217
- DB.sqls.must_equal []
218
- end
219
-
220
- it "should use implicit key if omitted" do
221
- @c2.many_to_one :parent, :class => @c2
222
-
223
- d = @c2.new(:id => 1, :parent_id => 234)
224
- p = d.parent
225
- p.class.must_equal @c2
226
- p.values.must_equal(:x => 1, :id => 1)
227
-
228
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE id = 234"]
229
- end
230
-
231
- it "should allow association with the same name as the key if :key_column is given" do
232
- @c2.def_column_alias(:parent_id_id, :parent_id)
233
- @c2.many_to_one :parent_id, :key_column=>:parent_id, :class => @c2
234
- d = @c2.load(:id => 1, :parent_id => 234)
235
- d.parent_id_dataset.sql.must_equal "SELECT * FROM nodes WHERE (nodes.id = 234) LIMIT 1"
236
- d.parent_id.must_equal @c2.load(:x => 1, :id => 1)
237
- d.parent_id_id.must_equal 234
238
- d[:parent_id].must_equal 234
239
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE id = 234"]
240
-
241
- d.parent_id_id = 3
242
- d.parent_id_id.must_equal 3
243
- d[:parent_id].must_equal 3
244
- end
245
-
246
- it "should use implicit class if omitted" do
247
- begin
248
- class ::ParParent < Sequel::Model; end
249
- @c2.many_to_one :par_parent
250
- @c2.new(:id => 1, :par_parent_id => 234).par_parent.class.must_equal ParParent
251
- DB.sqls.must_equal ["SELECT * FROM par_parents WHERE id = 234"]
252
- ensure
253
- Object.send(:remove_const, :ParParent)
254
- end
255
- end
256
-
257
- it "should use class inside module if given as a string" do
258
- begin
259
- module ::Par
260
- class Parent < Sequel::Model; end
261
- end
262
- @c2.many_to_one :par_parent, :class=>"Par::Parent"
263
- @c2.new(:id => 1, :par_parent_id => 234).par_parent.class.must_equal Par::Parent
264
- DB.sqls.must_equal ["SELECT * FROM parents WHERE id = 234"]
265
- ensure
266
- Object.send(:remove_const, :Par)
267
- end
268
- end
269
-
270
- it "should use explicit key if given" do
271
- @c2.many_to_one :parent, :class => @c2, :key => :blah
272
-
273
- d = @c2.new(:id => 1, :blah => 567)
274
- p = d.parent
275
- p.class.must_equal @c2
276
- p.values.must_equal(:x => 1, :id => 1)
277
-
278
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE id = 567"]
279
- end
280
-
281
- it "should respect :qualify => false option" do
282
- @c2.many_to_one :parent, :class => @c2, :key => :blah, :qualify=>false
283
- @c2.new(:id => 1, :blah => 567).parent
284
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE id = 567"]
285
- end
286
-
287
- it "should use :primary_key option if given" do
288
- @c2.many_to_one :parent, :class => @c2, :key => :blah, :primary_key => :pk
289
- @c2.new(:id => 1, :blah => 567).parent
290
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE (nodes.pk = 567) LIMIT 1"]
291
- end
292
-
293
- it "should support composite keys" do
294
- @c2.many_to_one :parent, :class => @c2, :key=>[:id, :parent_id], :primary_key=>[:parent_id, :id]
295
- @c2.new(:id => 1, :parent_id => 234).parent
296
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE ((nodes.parent_id = 1) AND (nodes.id = 234)) LIMIT 1"]
297
- end
298
-
299
- it "should not issue query if not all keys have values" do
300
- @c2.many_to_one :parent, :class => @c2, :key=>[:id, :parent_id], :primary_key=>[:parent_id, :id]
301
- @c2.new(:id => 1, :parent_id => nil).parent.must_be_nil
302
- DB.sqls.must_equal []
303
- end
304
-
305
- it "should raise an Error unless same number of composite keys used" do
306
- proc{@c2.many_to_one :parent, :class => @c2, :primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
307
- proc{@c2.many_to_one :parent, :class => @c2, :key=>[:id, :parent_id], :primary_key=>:id}.must_raise(Sequel::Error)
308
- proc{@c2.many_to_one :parent, :class => @c2, :key=>:id, :primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
309
- proc{@c2.many_to_one :parent, :class => @c2, :key=>[:id, :parent_id, :blah], :primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
310
- end
311
-
312
- it "should use :select option if given" do
313
- @c2.many_to_one :parent, :class => @c2, :key => :blah, :select=>[:id, :name]
314
- @c2.new(:id => 1, :blah => 567).parent
315
- DB.sqls.must_equal ["SELECT id, name FROM nodes WHERE (nodes.id = 567) LIMIT 1"]
316
- end
317
-
318
- it "should use :conditions option if given" do
319
- @c2.many_to_one :parent, :class => @c2, :key => :blah, :conditions=>{:a=>32}
320
- @c2.new(:id => 1, :blah => 567).parent
321
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE ((a = 32) AND (nodes.id = 567)) LIMIT 1"]
322
-
323
- @c2.many_to_one :parent, :class => @c2, :key => :blah, :conditions=>:a
324
- @c2.new(:id => 1, :blah => 567).parent
325
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE (a AND (nodes.id = 567)) LIMIT 1"]
326
- end
327
-
328
- it "should support :order, :limit (only for offset), and :dataset options, as well as a block" do
329
- @c2.many_to_one :child_20, :class => @c2, :key=>:id, :dataset=>proc{model.filter(:parent_id=>pk)}, :limit=>[10,20], :order=>:name do |ds|
330
- ds.filter{x > 1}
331
- end
332
- @c2.load(:id => 100).child_20
333
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE ((parent_id = 100) AND (x > 1)) ORDER BY name LIMIT 1 OFFSET 20"]
334
- end
335
-
336
- it "should return nil if key value is nil" do
337
- @c2.many_to_one :parent, :class => @c2
338
- @c2.new(:id => 1).parent.must_be_nil
339
- DB.sqls.must_equal []
340
- end
341
-
342
- it "should cache negative lookup" do
343
- @c2.many_to_one :parent, :class => @c2
344
- @c2.dataset = @c2.dataset.with_fetch([])
345
- d = @c2.new(:id => 1, :parent_id=>555)
346
- DB.sqls.must_equal []
347
- d.parent.must_be_nil
348
- DB.sqls.must_equal ['SELECT * FROM nodes WHERE id = 555']
349
- d.parent.must_be_nil
350
- DB.sqls.must_equal []
351
- end
352
-
353
- it "should define a setter method" do
354
- @c2.many_to_one :parent, :class => @c2
355
-
356
- d = @c2.new(:id => 1)
357
- d.parent = @c2.new(:id => 4321)
358
- d.values.must_equal(:id => 1, :parent_id => 4321)
359
-
360
- d.parent = nil
361
- d.values.must_equal(:id => 1, :parent_id => nil)
362
-
363
- e = @c2.new(:id => 6677)
364
- d.parent = e
365
- d.values.must_equal(:id => 1, :parent_id => 6677)
366
- end
367
-
368
- it "should have the setter method respect the :primary_key option" do
369
- @c2.many_to_one :parent, :class => @c2, :primary_key=>:blah
370
-
371
- d = @c2.new(:id => 1)
372
- d.parent = @c2.new(:id => 4321, :blah=>444)
373
- d.values.must_equal(:id => 1, :parent_id => 444)
374
-
375
- d.parent = nil
376
- d.values.must_equal(:id => 1, :parent_id => nil)
377
-
378
- e = @c2.new(:id => 6677, :blah=>8)
379
- d.parent = e
380
- d.values.must_equal(:id => 1, :parent_id => 8)
381
- end
382
-
383
- it "should have the setter method respect composite keys" do
384
- @c2.many_to_one :parent, :class => @c2, :key=>[:id, :parent_id], :primary_key=>[:parent_id, :id]
385
-
386
- d = @c2.new(:id => 1, :parent_id=> 234)
387
- d.parent = @c2.new(:id => 4, :parent_id=>52)
388
- d.values.must_equal(:id => 52, :parent_id => 4)
389
-
390
- d.parent = nil
391
- d.values.must_equal(:id => nil, :parent_id => nil)
392
-
393
- e = @c2.new(:id => 6677, :parent_id=>8)
394
- d.parent = e
395
- d.values.must_equal(:id => 8, :parent_id => 6677)
396
- end
397
-
398
- it "should not persist changes until saved" do
399
- @c2.many_to_one :parent, :class => @c2
400
-
401
- d = @c2.load(:id => 1)
402
- DB.reset
403
- d.parent = @c2.new(:id => 345)
404
- DB.sqls.must_equal []
405
- d.save_changes
406
- DB.sqls.must_equal ['UPDATE nodes SET parent_id = 345 WHERE (id = 1)']
407
- end
408
-
409
- it "should populate cache when accessed" do
410
- @c2.many_to_one :parent, :class => @c2
411
-
412
- d = @c2.load(:id => 1)
413
- d.parent_id = 234
414
- d.associations[:parent].must_be_nil
415
- @c2.dataset = @c2.dataset.with_fetch(:id=>234)
416
- e = d.parent
417
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE id = 234"]
418
- d.associations[:parent].must_equal e
419
- end
420
-
421
- it "should populate cache when assigned" do
422
- @c2.many_to_one :parent, :class => @c2
423
-
424
- d = @c2.create(:id => 1)
425
- DB.reset
426
- d.associations[:parent].must_be_nil
427
- d.parent = @c2.new(:id => 234)
428
- e = d.parent
429
- d.associations[:parent].must_equal e
430
- DB.sqls.must_equal []
431
- end
432
-
433
- it "should use cache if available" do
434
- @c2.many_to_one :parent, :class => @c2
435
-
436
- d = @c2.create(:id => 1, :parent_id => 234)
437
- DB.reset
438
- d.associations[:parent] = 42
439
- d.parent.must_equal 42
440
- DB.sqls.must_equal []
441
- end
442
-
443
- it "should not use cache if asked to reload" do
444
- @c2.many_to_one :parent, :class => @c2
445
-
446
- d = @c2.create(:id => 1)
447
- DB.reset
448
- d.parent_id = 234
449
- d.associations[:parent] = 42
450
- d.parent(:reload=>true).wont_equal 42
451
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE id = 234"]
452
- end
453
-
454
- it "should use a callback if given one as the argument" do
455
- @c2.many_to_one :parent, :class => @c2
456
-
457
- d = @c2.create(:id => 1)
458
- DB.reset
459
- d.parent_id = 234
460
- d.associations[:parent] = 42
461
- d.parent{|ds| ds.where{name > 'M'}}.wont_equal 42
462
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE ((nodes.id = 234) AND (name > 'M')) LIMIT 1"]
463
- end
464
-
465
- it "should use a block given to the association method as a callback" do
466
- @c2.many_to_one :parent, :class => @c2
467
-
468
- d = @c2.create(:id => 1)
469
- DB.reset
470
- d.parent_id = 234
471
- d.associations[:parent] = 42
472
- d.parent{|ds| ds.filter{name > 'M'}}.wont_equal 42
473
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE ((nodes.id = 234) AND (name > 'M')) LIMIT 1"]
474
- end
475
-
476
- it "should have the setter add to the reciprocal one_to_many cached association array if it exists" do
477
- @c2.many_to_one :parent, :class => @c2
478
- @c2.one_to_many :children, :class => @c2, :key=>:parent_id
479
- @c2.dataset = @c2.dataset.with_fetch([])
480
-
481
- d = @c2.new(:id => 1)
482
- e = @c2.new(:id => 2)
483
- DB.sqls.must_equal []
484
- d.parent = e
485
- e.children.wont_include(d)
486
- DB.sqls.must_equal ['SELECT * FROM nodes WHERE (nodes.parent_id = 2)']
487
-
488
- d = @c2.new(:id => 1)
489
- e = @c2.new(:id => 2)
490
- e.children.wont_include(d)
491
- DB.sqls.must_equal ['SELECT * FROM nodes WHERE (nodes.parent_id = 2)']
492
- d.parent = e
493
- e.children.must_include(d)
494
- DB.sqls.must_equal []
495
- end
496
-
497
- it "should have setter deal with a one_to_one reciprocal" do
498
- @c2.many_to_one :parent, :class => @c2, :key=>:parent_id
499
- @c2.one_to_one :child, :class => @c2, :key=>:parent_id
500
-
501
- d = @c2.new(:id => 1)
502
- e = @c2.new(:id => 2)
503
- e.associations[:child] = nil
504
- d.parent = e
505
- e.child.must_equal d
506
- d.parent = nil
507
- e.child.must_be_nil
508
- d.parent = e
509
- e.child.must_equal d
510
-
511
- f = @c2.new(:id => 3)
512
- d.parent = nil
513
- e.child.must_be_nil
514
- e.associations[:child] = f
515
- d.parent = e
516
- e.child.must_equal d
517
- end
518
-
519
- it "should have the setter remove the object from the previous associated object's reciprocal one_to_many cached association array if it exists" do
520
- @c2.many_to_one :parent, :class => @c2
521
- @c2.one_to_many :children, :class => @c2, :key=>:parent_id
522
- @c2.dataset = @c2.dataset.with_fetch([])
523
-
524
- d = @c2.new(:id => 1)
525
- e = @c2.new(:id => 2)
526
- f = @c2.new(:id => 3)
527
- e.children.wont_include(d)
528
- f.children.wont_include(d)
529
- DB.reset
530
- d.parent = e
531
- e.children.must_include(d)
532
- d.parent = f
533
- f.children.must_include(d)
534
- e.children.wont_include(d)
535
- d.parent = nil
536
- f.children.wont_include(d)
537
- DB.sqls.must_equal []
538
- end
539
-
540
- it "should have the setter not modify the reciprocal if set to same value as current" do
541
- @c2.many_to_one :parent, :class => @c2
542
- @c2.one_to_many :children, :class => @c2, :key=>:parent_id
543
-
544
- c1 = @c2.load(:id => 1, :parent_id=>nil)
545
- c2 = @c2.load(:id => 2, :parent_id=>1)
546
- c3 = @c2.load(:id => 3, :parent_id=>1)
547
- c1.associations[:children] = [c2, c3]
548
- c2.associations[:parent] = c1
549
- c2.parent = c1
550
- c1.children.must_equal [c2, c3]
551
- DB.sqls.must_equal []
552
- end
553
-
554
- it "should get all matching records and only return the first if :key option is set to nil" do
555
- @c2.dataset = @c2.dataset.with_fetch([{:id=>1, :parent_id=>0, :par_parent_id=>3, :blah=>4, :children_id=>2, :children_parent_id=>1, :children_par_parent_id=>5, :children_blah=>6}, {}])
556
- @c2.dataset.columns(:id, :parent_id, :par_parent_id, :blah)
557
- @c2.one_to_many :children, :class => @c2, :key=>:parent_id
558
- @c2.many_to_one :first_grand_parent, :class => @c2, :key=>nil, :eager_graph=>:children, :dataset=>proc{model.filter(:children_id=>parent_id)}
559
- p = @c2.new(:parent_id=>2)
560
- fgp = p.first_grand_parent
561
- DB.sqls.must_equal ["SELECT nodes.id, nodes.parent_id, nodes.par_parent_id, nodes.blah, children.id AS children_id, children.parent_id AS children_parent_id, children.par_parent_id AS children_par_parent_id, children.blah AS children_blah FROM nodes LEFT OUTER JOIN nodes AS children ON (children.parent_id = nodes.id) WHERE (children_id = 2)"]
562
- fgp.values.must_equal(:id=>1, :parent_id=>0, :par_parent_id=>3, :blah=>4)
563
- fgp.children.first.values.must_equal(:id=>2, :parent_id=>1, :par_parent_id=>5, :blah=>6)
564
- end
565
-
566
- it "should not create the setter method if :read_only option is used" do
567
- @c2.many_to_one :parent, :class => @c2, :read_only=>true
568
- @c2.instance_methods.must_include(:parent)
569
- @c2.instance_methods.wont_include(:parent=)
570
- end
571
-
572
- it "should not add associations methods directly to class" do
573
- @c2.many_to_one :parent, :class => @c2
574
- @c2.instance_methods.must_include(:parent)
575
- @c2.instance_methods.must_include(:parent=)
576
- @c2.instance_methods(false).wont_include(:parent)
577
- @c2.instance_methods(false).wont_include(:parent=)
578
- end
579
-
580
- it "should add associations methods to the :methods_module option" do
581
- m = Module.new
582
- @c2.many_to_one :parent, :class => @c2, :methods_module=>m
583
- m.instance_methods.must_include(:parent)
584
- m.instance_methods.must_include(:parent=)
585
- @c2.instance_methods.wont_include(:parent)
586
- @c2.instance_methods.wont_include(:parent=)
587
- end
588
-
589
- it "should add associations methods directly to class if :methods_module is the class itself" do
590
- @c2.many_to_one :parent, :class => @c2, :methods_module=>@c2
591
- @c2.instance_methods(false).must_include(:parent)
592
- @c2.instance_methods(false).must_include(:parent=)
593
- end
594
-
595
- it "should raise an error if trying to set a model object that doesn't have a valid primary key" do
596
- @c2.many_to_one :parent, :class => @c2
597
- p = @c2.new
598
- c = @c2.load(:id=>123)
599
- proc{c.parent = p}.must_raise(Sequel::Error)
600
- end
601
-
602
- it "should make the change to the foreign_key value inside a _association= method" do
603
- @c2.many_to_one :parent, :class => @c2
604
- @c2.private_instance_methods.must_include(:_parent=)
605
- p = @c2.new
606
- c = @c2.load(:id=>123)
607
- def p._parent=(x)
608
- @x = x
609
- end
610
- def p.parent_id=; raise; end
611
- p.parent = c
612
- p.instance_variable_get(:@x).must_equal c
613
- end
614
-
615
- it "should have the :setter option define the _association= method" do
616
- @c2.many_to_one :parent, :class => @c2, :setter=>proc{|x| @x = x}
617
- p = @c2.new
618
- c = @c2.load(:id=>123)
619
- def p.parent_id=; raise; end
620
- p.parent = c
621
- p.instance_variable_get(:@x).must_equal c
622
- end
623
-
624
- it "should support (before|after)_set callbacks" do
625
- h = []
626
- @c2.many_to_one :parent, :class => @c2, :before_set=>[proc{|x,y| h << x.pk; h << (y ? -y.pk : :y)}, :blah], :after_set=>proc{h << 3}
627
- @c2.class_eval do
628
- self::Foo = h
629
- def []=(a, v)
630
- a == :parent_id ? (model::Foo << (v ? 4 : 5)) : super
631
- end
632
- def blah(x)
633
- model::Foo << (x ? x.pk : :x)
634
- end
635
- def blahr(x)
636
- model::Foo << 6
637
- end
638
- end
639
- p = @c2.load(:id=>10)
640
- c = @c2.load(:id=>123)
641
- h.must_equal []
642
- p.parent = c
643
- h.must_equal [10, -123, 123, 4, 3]
644
- p.parent = nil
645
- h.must_equal [10, -123, 123, 4, 3, 10, :y, :x, 5, 3]
646
- end
647
-
648
- it "should support after_load association callback" do
649
- h = []
650
- @c2.many_to_one :parent, :class => @c2, :after_load=>[proc{|x,y| h << [x.pk, y.pk]}, :al]
651
- @c2.class_eval do
652
- self::Foo = h
653
- def al(v)
654
- model::Foo << v.pk
655
- end
656
- set_dataset dataset.with_fetch(:id=>20)
657
- end
658
- p = @c2.load(:id=>10, :parent_id=>20)
659
- parent = p.parent
660
- h.must_equal [[10, 20], 20]
661
- parent.pk.must_equal 20
662
- end
663
-
664
- it "should support after_load association callback that changes the cached object" do
665
- @c2.many_to_one :parent, :class => @c2, :after_load=>:al
666
- @c2.class_eval do
667
- def al(v)
668
- associations[:parent] = :foo
669
- end
670
- end
671
- p = @c2.load(:id=>10, :parent_id=>20)
672
- p.parent.must_equal :foo
673
- p.associations[:parent].must_equal :foo
674
- end
675
-
676
- it "should raise error and not call internal add or remove method if before callback calls cancel_action, even if raise_on_save_failure is false" do
677
- p = @c2.new
678
- c = @c2.load(:id=>123)
679
- p.raise_on_save_failure = false
680
- @c2.many_to_one :parent, :class => @c2, :before_set=>:bs
681
- def p.bs(x) cancel_action end
682
- def p._parent=; raise; end
683
- proc{p.parent = c}.must_raise(Sequel::HookFailed)
684
-
685
- p.parent.must_be_nil
686
- p.associations[:parent] = c
687
- p.parent.must_equal c
688
- proc{p.parent = nil}.must_raise(Sequel::HookFailed)
689
- end
690
-
691
- it "should raise an error if a callback is not a proc or symbol" do
692
- @c2.many_to_one :parent, :class => @c2, :before_set=>Object.new
693
- proc{@c2.new.parent = @c2.load(:id=>1)}.must_raise(Sequel::Error)
694
- end
695
-
696
- it "should have association dataset use false condition if any key is nil" do
697
- @c2.many_to_one :parent, :class => @c2
698
- @c2.load({}).parent_dataset.sql.must_equal "SELECT * FROM nodes WHERE 'f' LIMIT 1"
699
- end
700
- end
701
-
702
- describe Sequel::Model, "one_to_one" do
703
- before do
704
- @c1 = Class.new(Sequel::Model(:attributes)) do
705
- unrestrict_primary_key
706
- columns :id, :node_id, :y
707
- end
708
-
709
- @c2 = Class.new(Sequel::Model(:nodes)) do
710
- unrestrict_primary_key
711
- attr_accessor :xxx
712
-
713
- def self.name; 'Node'; end
714
- def self.to_s; 'Node'; end
715
- columns :id, :x, :parent_id, :par_parent_id, :blah, :node_id
716
- end
717
- @dataset = @c2.dataset
718
- @dataset = @dataset.with_fetch({})
719
- @c1.dataset = @c1.dataset.with_fetch({})
720
- DB.reset
721
- end
722
-
723
- it "should have the getter method return a single object" do
724
- @c2.one_to_one :attribute, :class => @c1
725
- att = @c2.new(:id => 1234).attribute
726
- DB.sqls.must_equal ['SELECT * FROM attributes WHERE (attributes.node_id = 1234) LIMIT 1']
727
- att.must_be_kind_of(@c1)
728
- att.values.must_equal({})
729
- end
730
-
731
- it "should not add a setter method if the :read_only option is true" do
732
- @c2.one_to_one :attribute, :class => @c1, :read_only=>true
733
- im = @c2.instance_methods
734
- im.must_include(:attribute)
735
- im.wont_include(:attribute=)
736
- end
737
-
738
- it "should add a setter method" do
739
- @c2.one_to_one :attribute, :class => @c1
740
- attrib = @c1.new(:id=>3)
741
- @c1.dataset = @c1.dataset.with_fetch(:id=>3)
742
- @c2.new(:id => 1234).attribute = attrib
743
- DB.sqls.must_equal ['UPDATE attributes SET node_id = NULL WHERE (node_id = 1234)',
744
- 'INSERT INTO attributes (id, node_id) VALUES (3, 1234)',
745
- "SELECT * FROM attributes WHERE id = 3"]
746
-
747
- @c2.new(:id => 1234).attribute.must_equal attrib
748
- attrib = @c1.load(:id=>3)
749
- @c2.new(:id => 1234).attribute = attrib
750
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE (attributes.node_id = 1234) LIMIT 1",
751
- 'UPDATE attributes SET node_id = NULL WHERE ((node_id = 1234) AND (id != 3))',
752
- "UPDATE attributes SET node_id = 1234 WHERE (id = 3)"]
753
- end
754
-
755
- it "should use a transaction in the setter method" do
756
- @c2.one_to_one :attribute, :class => @c1
757
- @c2.use_transactions = true
758
- attrib = @c1.load(:id=>3)
759
- @c2.new(:id => 1234).attribute = attrib
760
- DB.sqls.must_equal ['BEGIN',
761
- 'UPDATE attributes SET node_id = NULL WHERE ((node_id = 1234) AND (id != 3))',
762
- "UPDATE attributes SET node_id = 1234 WHERE (id = 3)",
763
- 'COMMIT']
764
- end
765
-
766
- it "should have setter method respect association filters" do
767
- @c2.one_to_one :attribute, :class => @c1, :conditions=>{:a=>1} do |ds|
768
- ds.filter(:b=>2)
769
- end
770
- attrib = @c1.load(:id=>3)
771
- @c2.new(:id => 1234).attribute = attrib
772
- DB.sqls.must_equal ['UPDATE attributes SET node_id = NULL WHERE ((a = 1) AND (node_id = 1234) AND (b = 2) AND (id != 3))',
773
- "UPDATE attributes SET node_id = 1234 WHERE (id = 3)"]
774
- end
775
-
776
- it "should have the setter method respect the :primary_key option" do
777
- @c2.one_to_one :attribute, :class => @c1, :primary_key=>:xxx
778
- attrib = @c1.new(:id=>3)
779
- @c1.dataset = @c1.dataset.with_fetch(:id=>3)
780
- @c2.new(:id => 1234, :xxx=>5).attribute = attrib
781
- DB.sqls.must_equal ['UPDATE attributes SET node_id = NULL WHERE (node_id = 5)',
782
- 'INSERT INTO attributes (id, node_id) VALUES (3, 5)',
783
- "SELECT * FROM attributes WHERE id = 3"]
784
-
785
- @c2.new(:id => 321, :xxx=>5).attribute.must_equal attrib
786
- attrib = @c1.load(:id=>3)
787
- @c2.new(:id => 621, :xxx=>5).attribute = attrib
788
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE (attributes.node_id = 5) LIMIT 1",
789
- 'UPDATE attributes SET node_id = NULL WHERE ((node_id = 5) AND (id != 3))',
790
- 'UPDATE attributes SET node_id = 5 WHERE (id = 3)']
791
- end
792
-
793
- it "should have the setter method respect composite keys" do
794
- @c2.one_to_one :attribute, :class => @c1, :key=>[:node_id, :y], :primary_key=>[:id, :x]
795
- attrib = @c1.load(:id=>3, :y=>6)
796
- @c1.dataset = @c1.dataset.with_fetch(:id=>3, :y=>6)
797
- @c2.load(:id => 1234, :x=>5).attribute = attrib
798
- DB.sqls.must_equal ["UPDATE attributes SET node_id = NULL, y = NULL WHERE ((node_id = 1234) AND (y = 5) AND (id != 3))",
799
- "UPDATE attributes SET y = 5, node_id = 1234 WHERE (id = 3)"]
800
- end
801
-
802
- it "should use implicit key if omitted" do
803
- @c2.dataset = @c2.dataset.with_fetch({})
804
- @c2.one_to_one :parent, :class => @c2
805
-
806
- d = @c2.new(:id => 234)
807
- p = d.parent
808
- p.class.must_equal @c2
809
- p.values.must_equal({})
810
-
811
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE (nodes.node_id = 234) LIMIT 1"]
812
- end
813
-
814
- it "should use implicit class if omitted" do
815
- begin
816
- class ::ParParent < Sequel::Model; end
817
- @c2.one_to_one :par_parent
818
- @c2.new(:id => 234).par_parent.class.must_equal ParParent
819
- DB.sqls.must_equal ["SELECT * FROM par_parents WHERE (par_parents.node_id = 234) LIMIT 1"]
820
- ensure
821
- Object.send(:remove_const, :ParParent)
822
- end
823
- end
824
-
825
- it "should use class inside module if given as a string" do
826
- begin
827
- module ::Par
828
- class Parent < Sequel::Model; end
829
- end
830
- @c2.one_to_one :par_parent, :class=>"Par::Parent"
831
- @c2.new(:id => 234).par_parent.class.must_equal Par::Parent
832
- DB.sqls.must_equal ["SELECT * FROM parents WHERE (parents.node_id = 234) LIMIT 1"]
833
- ensure
834
- Object.send(:remove_const, :Par)
835
- end
836
- end
837
-
838
- it "should use explicit key if given" do
839
- @c2.dataset = @c2.dataset.with_fetch({})
840
- @c2.one_to_one :parent, :class => @c2, :key => :blah
841
-
842
- d = @c2.new(:id => 234)
843
- p = d.parent
844
- p.class.must_equal @c2
845
- p.values.must_equal({})
846
-
847
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE (nodes.blah = 234) LIMIT 1"]
848
- end
849
-
850
- it "should use :primary_key option if given" do
851
- @c2.one_to_one :parent, :class => @c2, :key => :pk, :primary_key => :blah
852
- @c2.new(:id => 1, :blah => 567).parent
853
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE (nodes.pk = 567) LIMIT 1"]
854
- end
855
-
856
- it "should support composite keys" do
857
- @c2.one_to_one :parent, :class => @c2, :primary_key=>[:id, :parent_id], :key=>[:parent_id, :id]
858
- @c2.new(:id => 1, :parent_id => 234).parent
859
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE ((nodes.parent_id = 1) AND (nodes.id = 234)) LIMIT 1"]
860
- end
861
-
862
- it "should not issue query if not all keys have values" do
863
- @c2.one_to_one :parent, :class => @c2, :key=>[:id, :parent_id], :primary_key=>[:parent_id, :id]
864
- @c2.new(:id => 1, :parent_id => nil).parent.must_be_nil
865
- DB.sqls.must_equal []
866
- end
867
-
868
- it "should raise an Error unless same number of composite keys used" do
869
- proc{@c2.one_to_one :parent, :class => @c2, :primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
870
- proc{@c2.one_to_one :parent, :class => @c2, :key=>[:id, :parent_id], :primary_key=>:id}.must_raise(Sequel::Error)
871
- proc{@c2.one_to_one :parent, :class => @c2, :key=>:id, :primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
872
- proc{@c2.one_to_one :parent, :class => @c2, :key=>[:id, :parent_id, :blah], :primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
873
- end
874
-
875
- it "should use :select option if given" do
876
- @c2.one_to_one :parent, :class => @c2, :select=>[:id, :name]
877
- @c2.new(:id => 567).parent
878
- DB.sqls.must_equal ["SELECT id, name FROM nodes WHERE (nodes.node_id = 567) LIMIT 1"]
879
- end
880
-
881
- it "should use :conditions option if given" do
882
- @c2.one_to_one :parent, :class => @c2, :conditions=>{:a=>32}
883
- @c2.new(:id => 567).parent
884
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE ((a = 32) AND (nodes.node_id = 567)) LIMIT 1"]
885
-
886
- @c2.one_to_one :parent, :class => @c2, :conditions=>:a
887
- @c2.new(:id => 567).parent
888
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE (a AND (nodes.node_id = 567)) LIMIT 1"]
889
- end
890
-
891
- it "should support :order, :limit (only for offset), and :dataset options, as well as a block" do
892
- @c2.one_to_one :child_20, :class => @c2, :key=>:id, :dataset=>proc{model.filter(:parent_id=>pk)}, :limit=>[10,20], :order=>:name do |ds|
893
- ds.filter{x > 1}
894
- end
895
- @c2.load(:id => 100).child_20
896
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE ((parent_id = 100) AND (x > 1)) ORDER BY name LIMIT 1 OFFSET 20"]
897
- end
898
-
899
- it "should return nil if primary_key value is nil" do
900
- @c2.one_to_one :parent, :class => @c2, :primary_key=>:node_id
901
-
902
- @c2.new(:id => 1).parent.must_be_nil
903
- DB.sqls.must_equal []
904
- end
905
-
906
- it "should cache negative lookup" do
907
- @c2.one_to_one :parent, :class => @c2
908
- @c2.dataset = @c2.dataset.with_fetch([])
909
- d = @c2.new(:id => 555)
910
- DB.sqls.must_equal []
911
- d.parent.must_be_nil
912
- DB.sqls.must_equal ['SELECT * FROM nodes WHERE (nodes.node_id = 555) LIMIT 1']
913
- d.parent.must_be_nil
914
- DB.sqls.must_equal []
915
- end
916
-
917
- it "should have the setter method respect the :key option" do
918
- @c2.one_to_one :parent, :class => @c2, :key=>:blah
919
- d = @c2.new(:id => 3)
920
- e = @c2.new(:id => 4321, :blah=>444)
921
- @c2.dataset = @c2.dataset.with_fetch(:id => 4321, :blah => 3)
922
- d.parent = e
923
- e.values.must_equal(:id => 4321, :blah => 3)
924
- DB.sqls.must_equal ["UPDATE nodes SET blah = NULL WHERE (blah = 3)",
925
- "INSERT INTO nodes (id, blah) VALUES (4321, 3)",
926
- "SELECT * FROM nodes WHERE id = 4321"]
927
- end
928
-
929
- it "should persist changes to associated object when the setter is called" do
930
- @c2.one_to_one :parent, :class => @c2
931
- d = @c2.load(:id => 1)
932
- d.parent = @c2.load(:id => 3, :node_id=>345)
933
- DB.sqls.must_equal ["UPDATE nodes SET node_id = NULL WHERE ((node_id = 1) AND (id != 3))",
934
- "UPDATE nodes SET node_id = 1 WHERE (id = 3)"]
935
- end
936
-
937
- it "should populate cache when accessed" do
938
- @c2.one_to_one :parent, :class => @c2
939
-
940
- d = @c2.load(:id => 1)
941
- d.associations[:parent].must_be_nil
942
- @c2.dataset = @c2.dataset.with_fetch(:id=>234)
943
- e = d.parent
944
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE (nodes.node_id = 1) LIMIT 1"]
945
- d.parent
946
- DB.sqls.must_equal []
947
- d.associations[:parent].must_equal e
948
- end
949
-
950
- it "should populate cache when assigned" do
951
- @c2.one_to_one :parent, :class => @c2
952
-
953
- d = @c2.load(:id => 1)
954
- d.associations[:parent].must_be_nil
955
- e = @c2.load(:id => 234)
956
- d.parent = e
957
- f = d.parent
958
- d.associations[:parent].must_equal e
959
- e.must_equal f
960
- end
961
-
962
- it "should use cache if available" do
963
- @c2.one_to_one :parent, :class => @c2
964
- d = @c2.load(:id => 1, :parent_id => 234)
965
- d.associations[:parent] = 42
966
- d.parent.must_equal 42
967
- DB.sqls.must_equal []
968
- end
969
-
970
- it "should not use cache if asked to reload" do
971
- @c2.one_to_one :parent, :class => @c2
972
- d = @c2.load(:id => 1)
973
- d.associations[:parent] = [42]
974
- d.parent(:reload=>true).wont_equal 42
975
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE (nodes.node_id = 1) LIMIT 1"]
976
- end
977
-
978
- it "should have the setter set the reciprocal many_to_one cached association" do
979
- @c2.one_to_one :parent, :class => @c2, :key=>:parent_id
980
- @c2.many_to_one :child, :class => @c2, :key=>:parent_id
981
-
982
- d = @c2.load(:id => 1)
983
- e = @c2.load(:id => 2)
984
- d.parent = e
985
- e.child.must_equal d
986
- DB.sqls.must_equal ["UPDATE nodes SET parent_id = NULL WHERE ((parent_id = 1) AND (id != 2))",
987
- "UPDATE nodes SET parent_id = 1 WHERE (id = 2)"]
988
- d.parent = nil
989
- e.child.must_be_nil
990
- DB.sqls.must_equal ["UPDATE nodes SET parent_id = NULL WHERE (parent_id = 1)"]
991
- end
992
-
993
- it "should have the setter remove the object from the previous associated object's reciprocal many_to_one cached association array if it exists" do
994
- @c2.one_to_one :parent, :class => @c2, :key=>:parent_id
995
- @c2.many_to_one :child, :class => @c2, :key=>:parent_id
996
- @c2.dataset = @c2.dataset.with_fetch([])
997
-
998
- d = @c2.load(:id => 1)
999
- e = @c2.load(:id => 2)
1000
- f = @c2.load(:id => 3)
1001
- e.child.must_be_nil
1002
- f.child.must_be_nil
1003
- d.parent = e
1004
- e.child.must_equal d
1005
- d.parent = f
1006
- f.child.must_equal d
1007
- e.child.must_be_nil
1008
- d.parent = nil
1009
- f.child.must_be_nil
1010
- end
1011
-
1012
- it "should have the setter not modify the reciprocal if set to same value as current" do
1013
- @c2.one_to_one :parent, :class => @c2, :key=>:parent_id
1014
- @c2.many_to_one :child, :class => @c2, :key=>:parent_id
1015
-
1016
- c1 = @c2.load(:id => 1, :parent_id=>nil)
1017
- c2 = @c2.load(:id => 2, :parent_id=>1)
1018
- c1.associations[:child] = c2
1019
- c2.associations[:parent] = c1
1020
- c2.parent = c1
1021
- c1.child.must_equal c2
1022
- DB.sqls.must_equal []
1023
- end
1024
-
1025
- it "should not add associations methods directly to class" do
1026
- @c2.one_to_one :parent, :class => @c2
1027
- @c2.instance_methods.must_include(:parent)
1028
- @c2.instance_methods.must_include(:parent=)
1029
- @c2.instance_methods(false).wont_include(:parent)
1030
- @c2.instance_methods(false).wont_include(:parent=)
1031
- end
1032
-
1033
- it "should raise an error if the current model object that doesn't have a valid primary key" do
1034
- @c2.one_to_one :parent, :class => @c2
1035
- p = @c2.new
1036
- c = @c2.load(:id=>123)
1037
- proc{p.parent = c}.must_raise(Sequel::Error)
1038
- end
1039
-
1040
- it "should make the change to the foreign_key value inside a _association= method" do
1041
- @c2.one_to_one :parent, :class => @c2
1042
- @c2.private_instance_methods.must_include(:_parent=)
1043
- c = @c2.new
1044
- p = @c2.load(:id=>123)
1045
- def p._parent=(x)
1046
- @x = x
1047
- end
1048
- def p.parent_id=; raise; end
1049
- p.parent = c
1050
- p.instance_variable_get(:@x).must_equal c
1051
- end
1052
-
1053
- it "should have a :setter option define the _association= method" do
1054
- @c2.one_to_one :parent, :class => @c2, :setter=>proc{|x| @x = x}
1055
- c = @c2.new
1056
- p = @c2.load(:id=>123)
1057
- def p.parent_id=; raise; end
1058
- p.parent = c
1059
- p.instance_variable_get(:@x).must_equal c
1060
- end
1061
-
1062
- it "should support (before|after)_set callbacks" do
1063
- h = []
1064
- @c2.one_to_one :parent, :class => @c2, :before_set=>[proc{|x,y| h << x.pk; h << (y ? -y.pk : :y)}, :blah], :after_set=>proc{h << 3}
1065
- @c2.class_eval do
1066
- self::Foo = h
1067
- def blah(x)
1068
- model::Foo << (x ? x.pk : :x)
1069
- end
1070
- def blahr(x)
1071
- model::Foo << 6
1072
- end
1073
- end
1074
- p = @c2.load(:id=>10)
1075
- c = @c2.load(:id=>123)
1076
- h.must_equal []
1077
- p.parent = c
1078
- h.must_equal [10, -123, 123, 3]
1079
- p.parent = nil
1080
- h.must_equal [10, -123, 123, 3, 10, :y, :x, 3]
1081
- end
1082
-
1083
- it "should support after_load association callback" do
1084
- h = []
1085
- @c2.one_to_one :parent, :class => @c2, :after_load=>[proc{|x,y| h << [x.pk, y.pk]}, :al]
1086
- @c2.class_eval do
1087
- self::Foo = h
1088
- def al(v)
1089
- model::Foo << v.pk
1090
- end
1091
- @dataset = @dataset.with_fetch(:id=>20)
1092
- end
1093
- p = @c2.load(:id=>10)
1094
- parent = p.parent
1095
- h.must_equal [[10, 20], 20]
1096
- parent.pk.must_equal 20
1097
- end
1098
-
1099
- it "should raise error and not call internal add or remove method if before callback calls cancel_action, even if raise_on_save_failure is false" do
1100
- p = @c2.load(:id=>321)
1101
- c = @c2.load(:id=>123)
1102
- p.raise_on_save_failure = false
1103
- @c2.one_to_one :parent, :class => @c2, :before_set=>:bs
1104
- def p.bs(x) cancel_action end
1105
- def p._parent=; raise; end
1106
- proc{p.parent = c}.must_raise(Sequel::HookFailed)
1107
-
1108
- p.associations[:parent].must_be_nil
1109
- p.associations[:parent] = c
1110
- p.parent.must_equal c
1111
- proc{p.parent = nil}.must_raise(Sequel::HookFailed)
1112
- end
1113
-
1114
- it "should not validate the associated object in setter if the :validate=>false option is used" do
1115
- @c2.one_to_one :parent, :class => @c2, :validate=>false
1116
- n = @c2.new(:id => 1234)
1117
- a = @c2.new(:id => 2345)
1118
- def a.validate() errors.add(:id, 'foo') end
1119
- (n.parent = a).must_equal a
1120
- end
1121
-
1122
- it "should raise an error if a callback is not a proc or symbol" do
1123
- @c2.one_to_one :parent, :class => @c2, :before_set=>Object.new
1124
- proc{@c2.new.parent = @c2.load(:id=>1)}.must_raise(Sequel::Error)
1125
- end
1126
-
1127
- it "should work_correctly when used with associate" do
1128
- @c2.dataset = @c2.dataset.with_fetch({})
1129
- @c2.associate :one_to_one, :parent, :class => @c2
1130
- @c2.load(:id => 567).parent.must_equal @c2.load({})
1131
- DB.sqls.must_equal ["SELECT * FROM nodes WHERE (nodes.node_id = 567) LIMIT 1"]
1132
- end
1133
-
1134
- it "should have association dataset use false condition if any key is nil" do
1135
- @c2.one_to_one :parent, :class => @c2, :primary_key=>:parent_id
1136
- @c2.load(:id=>1).parent_dataset.sql.must_equal "SELECT * FROM nodes WHERE 'f' LIMIT 1"
1137
- end
1138
- end
1139
-
1140
- describe Sequel::Model, "one_to_many" do
1141
- before do
1142
- @c1 = Class.new(Sequel::Model(:attributes)) do
1143
- unrestrict_primary_key
1144
- columns :id, :node_id, :y, :z
1145
- end
1146
-
1147
- @c2 = Class.new(Sequel::Model(:nodes)) do
1148
- def _refresh(ds); end
1149
- unrestrict_primary_key
1150
- attr_accessor :xxx
1151
-
1152
- def self.name; 'Node'; end
1153
- def self.to_s; 'Node'; end
1154
- columns :id, :x
1155
- end
1156
- @dataset = @c2.dataset = @c2.dataset.with_fetch({})
1157
- @c1.dataset = @c1.dataset.with_fetch(proc{|sql| sql =~ /SELECT 1/ ? {:a=>1} : {}})
1158
- DB.reset
1159
- end
1160
-
1161
- it "should raise an error if current class does not have a primary key, and :primary_key is not specified" do
1162
- @c2.no_primary_key
1163
- proc{@c2.one_to_many :attributes, :class => @c1}.must_raise(Sequel::Error)
1164
- DB.sqls.must_equal []
1165
- end
1166
-
1167
- it "should use implicit key if omitted" do
1168
- @c2.one_to_many :attributes, :class => @c1
1169
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE (attributes.node_id = 1234)'
1170
- end
1171
-
1172
- it "should use implicit class if omitted" do
1173
- begin
1174
- class ::HistoricalValue < Sequel::Model; end
1175
- @c2.one_to_many :historical_values
1176
-
1177
- v = @c2.new(:id => 1234).historical_values_dataset
1178
- v.must_be_kind_of(Sequel::Dataset)
1179
- v.sql.must_equal 'SELECT * FROM historical_values WHERE (historical_values.node_id = 1234)'
1180
- v.model.must_equal HistoricalValue
1181
- ensure
1182
- Object.send(:remove_const, :HistoricalValue)
1183
- end
1184
- end
1185
-
1186
- it "should use class inside a module if given as a string" do
1187
- begin
1188
- module ::Historical
1189
- class Value < Sequel::Model; end
1190
- end
1191
- @c2.one_to_many :historical_values, :class=>'Historical::Value'
1192
-
1193
- v = @c2.new(:id => 1234).historical_values_dataset
1194
- v.must_be_kind_of(Sequel::Dataset)
1195
- v.sql.must_equal 'SELECT * FROM values WHERE (values.node_id = 1234)'
1196
- v.model.must_equal Historical::Value
1197
- ensure
1198
- Object.send(:remove_const, :Historical)
1199
- end
1200
- end
1201
-
1202
- it "should use a callback if given one as a block" do
1203
- @c2.one_to_many :attributes, :class => @c1, :key => :nodeid
1204
-
1205
- d = @c2.load(:id => 1234)
1206
- d.associations[:attributes] = []
1207
- d.attributes{|ds| ds.where{name > 'M'}}.wont_equal []
1208
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE ((attributes.nodeid = 1234) AND (name > 'M'))"]
1209
- end
1210
-
1211
- it "should use explicit key if given" do
1212
- @c2.one_to_many :attributes, :class => @c1, :key => :nodeid
1213
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE (attributes.nodeid = 1234)'
1214
- end
1215
-
1216
- it "should support_composite keys" do
1217
- @c2.one_to_many :attributes, :class => @c1, :key =>[:node_id, :id], :primary_key=>[:id, :x]
1218
- @c2.load(:id => 1234, :x=>234).attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE ((attributes.node_id = 1234) AND (attributes.id = 234))'
1219
- end
1220
-
1221
- it "should not issue query if not all keys have values" do
1222
- @c2.one_to_many :attributes, :class => @c1, :key =>[:node_id, :id], :primary_key=>[:id, :x]
1223
- @c2.load(:id => 1234, :x=>nil).attributes.must_equal []
1224
- DB.sqls.must_equal []
1225
- end
1226
-
1227
- it "should raise an Error unless same number of composite keys used" do
1228
- proc{@c2.one_to_many :attributes, :class => @c1, :key=>[:node_id, :id]}.must_raise(Sequel::Error)
1229
- proc{@c2.one_to_many :attributes, :class => @c1, :primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
1230
- proc{@c2.one_to_many :attributes, :class => @c1, :key=>[:node_id, :id], :primary_key=>:id}.must_raise(Sequel::Error)
1231
- proc{@c2.one_to_many :attributes, :class => @c1, :key=>:id, :primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
1232
- proc{@c2.one_to_many :attributes, :class => @c1, :key=>[:node_id, :id, :x], :primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
1233
- end
1234
-
1235
- it "should define an add_ method that works on existing records" do
1236
- @c2.one_to_many :attributes, :class => @c1
1237
-
1238
- n = @c2.load(:id => 1234)
1239
- a = @c1.load(:id => 2345)
1240
- a.must_equal n.add_attribute(a)
1241
- a.values.must_equal(:node_id => 1234, :id => 2345)
1242
- DB.sqls.must_equal ['UPDATE attributes SET node_id = 1234 WHERE (id = 2345)']
1243
- end
1244
-
1245
- it "should define an add_ method that works on new records" do
1246
- @c2.one_to_many :attributes, :class => @c1
1247
-
1248
- n = @c2.load(:id => 1234)
1249
- a = @c1.new(:id => 234)
1250
- @c1.dataset = @c1.dataset.with_fetch(:id=>234, :node_id=>1234)
1251
- a.must_equal n.add_attribute(a)
1252
- DB.sqls.must_equal ["INSERT INTO attributes (id, node_id) VALUES (234, 1234)",
1253
- "SELECT * FROM attributes WHERE id = 234"]
1254
- a.values.must_equal(:node_id => 1234, :id => 234)
1255
- end
1256
-
1257
- it "should define a remove_ method that works on existing records" do
1258
- @c2.one_to_many :attributes, :class => @c1
1259
-
1260
- n = @c2.load(:id => 1234)
1261
- a = @c1.load(:id => 2345, :node_id => 1234)
1262
- a.must_equal n.remove_attribute(a)
1263
- a.values.must_equal(:node_id => nil, :id => 2345)
1264
- DB.sqls.must_equal ["SELECT 1 AS one FROM attributes WHERE ((attributes.node_id = 1234) AND (id = 2345)) LIMIT 1", 'UPDATE attributes SET node_id = NULL WHERE (id = 2345)']
1265
- end
1266
-
1267
- it "should have the remove_ method raise an error if the passed object is not already associated" do
1268
- @c2.one_to_many :attributes, :class => @c1
1269
-
1270
- n = @c2.new(:id => 1234)
1271
- a = @c1.load(:id => 2345, :node_id => 1234)
1272
- @c1.dataset = @c1.dataset.with_fetch([])
1273
- proc{n.remove_attribute(a)}.must_raise(Sequel::Error)
1274
- DB.sqls.must_equal ["SELECT 1 AS one FROM attributes WHERE ((attributes.node_id = 1234) AND (id = 2345)) LIMIT 1"]
1275
- end
1276
-
1277
- it "should accept a hash for the add_ method and create a new record" do
1278
- @c2.one_to_many :attributes, :class => @c1
1279
- n = @c2.new(:id => 1234)
1280
- DB.reset
1281
- @c1.dataset = @c1.dataset.with_fetch(:node_id => 1234, :id => 234)
1282
- n.add_attribute(:id => 234).must_equal @c1.load(:node_id => 1234, :id => 234)
1283
- DB.sqls.must_equal ["INSERT INTO attributes (id, node_id) VALUES (234, 1234)",
1284
- "SELECT * FROM attributes WHERE id = 234"]
1285
- end
1286
-
1287
- it "should accept a primary key for the add_ method" do
1288
- @c2.one_to_many :attributes, :class => @c1
1289
- n = @c2.new(:id => 1234)
1290
- @c1.dataset = @c1.dataset.with_fetch(:node_id => nil, :id => 234)
1291
- n.add_attribute(234).must_equal @c1.load(:node_id => 1234, :id => 234)
1292
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE id = 234", "UPDATE attributes SET node_id = 1234 WHERE (id = 234)"]
1293
- end
1294
-
1295
- it "should raise an error if the primary key passed to the add_ method does not match an existing record" do
1296
- @c2.one_to_many :attributes, :class => @c1
1297
- n = @c2.new(:id => 1234)
1298
- @c1.dataset = @c1.dataset.with_fetch([])
1299
- proc{n.add_attribute(234)}.must_raise(Sequel::NoMatchingRow)
1300
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE id = 234"]
1301
- end
1302
-
1303
- it "should raise an error in the add_ method if the passed associated object is not of the correct type" do
1304
- @c2.one_to_many :attributes, :class => @c1
1305
- proc{@c2.new(:id => 1234).add_attribute(@c2.new)}.must_raise(Sequel::Error)
1306
- end
1307
-
1308
- it "should accept a primary key for the remove_ method and remove an existing record" do
1309
- @c2.one_to_many :attributes, :class => @c1
1310
- n = @c2.new(:id => 1234)
1311
- @c1.dataset = @c1.dataset.with_fetch(:id=>234, :node_id=>1234)
1312
- n.remove_attribute(234).must_equal @c1.load(:node_id => nil, :id => 234)
1313
- DB.sqls.must_equal ['SELECT * FROM attributes WHERE ((attributes.node_id = 1234) AND (attributes.id = 234)) LIMIT 1',
1314
- 'UPDATE attributes SET node_id = NULL WHERE (id = 234)']
1315
- end
1316
-
1317
- it "should raise an error in the remove_ method if the passed associated object is not of the correct type" do
1318
- @c2.one_to_many :attributes, :class => @c1
1319
- proc{@c2.new(:id => 1234).remove_attribute(@c2.new)}.must_raise(Sequel::Error)
1320
- end
1321
-
1322
- it "should have add_ method respect the :primary_key option" do
1323
- @c2.one_to_many :attributes, :class => @c1, :primary_key=>:xxx
1324
-
1325
- n = @c2.new(:id => 1234, :xxx=>5)
1326
- a = @c1.load(:id => 2345)
1327
- n.add_attribute(a).must_equal a
1328
- DB.sqls.must_equal ['UPDATE attributes SET node_id = 5 WHERE (id = 2345)']
1329
- end
1330
-
1331
- it "should have add_ method not add the same object to the cached association array if the object is already in the array" do
1332
- @c2.one_to_many :attributes, :class => @c1
1333
-
1334
- n = @c2.new(:id => 1234)
1335
- a = @c1.load(:id => 2345)
1336
- n.associations[:attributes] = []
1337
- a.must_equal n.add_attribute(a)
1338
- a.must_equal n.add_attribute(a)
1339
- a.values.must_equal(:node_id => 1234, :id => 2345)
1340
- n.attributes.must_equal [a]
1341
- DB.sqls.must_equal ['UPDATE attributes SET node_id = 1234 WHERE (id = 2345)'] * 2
1342
- end
1343
-
1344
- it "should have add_ method respect composite keys" do
1345
- @c2.one_to_many :attributes, :class => @c1, :key =>[:node_id, :y], :primary_key=>[:id, :x]
1346
-
1347
- n = @c2.load(:id => 1234, :x=>5)
1348
- a = @c1.load(:id => 2345)
1349
- n.add_attribute(a).must_equal a
1350
- DB.sqls.must_equal ["UPDATE attributes SET node_id = 1234, y = 5 WHERE (id = 2345)"]
1351
- end
1352
-
1353
- it "should have add_ method accept a composite key" do
1354
- @c1.dataset = @c1.dataset.with_fetch(:id=>2345, :node_id=>1234, :z=>8, :y=>5)
1355
- @c1.set_primary_key [:id, :z]
1356
- @c2.one_to_many :attributes, :class => @c1, :key =>[:node_id, :y], :primary_key=>[:id, :x]
1357
-
1358
- n = @c2.load(:id => 1234, :x=>5)
1359
- a = @c1.load(:id => 2345, :z => 8, :node_id => 1234, :y=>5)
1360
- n.add_attribute([2345, 8]).must_equal a
1361
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE ((id = 2345) AND (z = 8)) LIMIT 1",
1362
- "UPDATE attributes SET node_id = 1234, y = 5 WHERE ((id = 2345) AND (z = 8))"]
1363
- end
1364
-
1365
- it "should have remove_ method respect composite keys" do
1366
- @c2.one_to_many :attributes, :class => @c1, :key =>[:node_id, :y], :primary_key=>[:id, :x]
1367
-
1368
- n = @c2.load(:id => 1234, :x=>5)
1369
- a = @c1.load(:id => 2345, :node_id=>1234, :y=>5)
1370
- n.remove_attribute(a).must_equal a
1371
- DB.sqls.must_equal ["SELECT 1 AS one FROM attributes WHERE ((attributes.node_id = 1234) AND (attributes.y = 5) AND (id = 2345)) LIMIT 1",
1372
- "UPDATE attributes SET node_id = NULL, y = NULL WHERE (id = 2345)"]
1373
- end
1374
-
1375
- it "should accept a array of composite primary key values for the remove_ method and remove an existing record" do
1376
- @c1.dataset = @c1.dataset.with_fetch(:id=>234, :node_id=>123, :y=>5)
1377
- @c1.set_primary_key [:id, :y]
1378
- @c2.one_to_many :attributes, :class => @c1, :key=>:node_id, :primary_key=>:id
1379
- n = @c2.new(:id => 123)
1380
- n.remove_attribute([234, 5]).must_equal @c1.load(:node_id => nil, :y => 5, :id => 234)
1381
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE ((attributes.node_id = 123) AND (attributes.id = 234) AND (attributes.y = 5)) LIMIT 1",
1382
- "UPDATE attributes SET node_id = NULL WHERE ((id = 234) AND (y = 5))"]
1383
- end
1384
-
1385
- it "should raise an error in add_ and remove_ if the passed object returns false to save (is not valid)" do
1386
- @c2.one_to_many :attributes, :class => @c1
1387
- n = @c2.new(:id => 1234)
1388
- a = @c1.new(:id => 2345)
1389
- def a.validate() errors.add(:id, 'foo') end
1390
- proc{n.add_attribute(a)}.must_raise(Sequel::ValidationFailed)
1391
- proc{n.remove_attribute(a)}.must_raise(Sequel::ValidationFailed)
1392
- end
1393
-
1394
- it "should not validate the associated object in add_ and remove_ if the :validate=>false option is used" do
1395
- @c2.one_to_many :attributes, :class => @c1, :validate=>false
1396
- n = @c2.new(:id => 1234)
1397
- a = @c1.new(:id => 2345)
1398
- def a.validate() errors.add(:id, 'foo') end
1399
- n.add_attribute(a).must_equal a
1400
- n.remove_attribute(a).must_equal a
1401
- end
1402
-
1403
- it "should not raise exception in add_ and remove_ if the :raise_on_save_failure=>false option is used" do
1404
- @c2.one_to_many :attributes, :class => @c1, :raise_on_save_failure=>false
1405
- n = @c2.new(:id => 1234)
1406
- a = @c1.new(:id => 2345)
1407
- def a.validate() errors.add(:id, 'foo') end
1408
- n.associations[:attributes] = []
1409
- n.add_attribute(a).must_be_nil
1410
- n.associations[:attributes].must_equal []
1411
- n.remove_attribute(a).must_be_nil
1412
- n.associations[:attributes].must_equal []
1413
- end
1414
-
1415
- it "should raise an error if the model object doesn't have a valid primary key" do
1416
- @c2.one_to_many :attributes, :class => @c1
1417
- a = @c2.new
1418
- n = @c1.load(:id=>123)
1419
- proc{a.attributes_dataset}.must_raise(Sequel::Error)
1420
- proc{a.add_attribute(n)}.must_raise(Sequel::Error)
1421
- proc{a.remove_attribute(n)}.must_raise(Sequel::Error)
1422
- proc{a.remove_all_attributes}.must_raise(Sequel::Error)
1423
- end
1424
-
1425
- it "should use :primary_key option if given" do
1426
- @c1.one_to_many :nodes, :class => @c2, :primary_key => :node_id, :key=>:id
1427
- @c1.load(:id => 1234, :node_id=>4321).nodes_dataset.sql.must_equal "SELECT * FROM nodes WHERE (nodes.id = 4321)"
1428
- end
1429
-
1430
- it "should support a select option" do
1431
- @c2.one_to_many :attributes, :class => @c1, :select => [:id, :name]
1432
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal "SELECT id, name FROM attributes WHERE (attributes.node_id = 1234)"
1433
- end
1434
-
1435
- it "should support a conditions option" do
1436
- @c2.one_to_many :attributes, :class => @c1, :conditions => {:a=>32}
1437
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal "SELECT * FROM attributes WHERE ((a = 32) AND (attributes.node_id = 1234))"
1438
- @c2.one_to_many :attributes, :class => @c1, :conditions => Sequel.~(:a)
1439
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal "SELECT * FROM attributes WHERE (NOT a AND (attributes.node_id = 1234))"
1440
- end
1441
-
1442
- it "should support an order option" do
1443
- @c2.one_to_many :attributes, :class => @c1, :order => :kind
1444
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal "SELECT * FROM attributes WHERE (attributes.node_id = 1234) ORDER BY kind"
1445
- end
1446
-
1447
- it "should support an array for the order option" do
1448
- @c2.one_to_many :attributes, :class => @c1, :order => [:kind1, :kind2]
1449
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal "SELECT * FROM attributes WHERE (attributes.node_id = 1234) ORDER BY kind1, kind2"
1450
- end
1451
-
1452
- it "should have a dataset method for the associated object dataset" do
1453
- @c2.one_to_many :attributes, :class => @c1
1454
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE (attributes.node_id = 1234)'
1455
- end
1456
-
1457
- it "should accept a block" do
1458
- @c2.one_to_many :attributes, :class => @c1 do |ds|
1459
- ds.filter(:xxx => nil)
1460
- end
1461
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE ((attributes.node_id = 1234) AND (xxx IS NULL))'
1462
- end
1463
-
1464
- it "should support :order option with block" do
1465
- @c2.one_to_many :attributes, :class => @c1, :order => :kind do |ds|
1466
- ds.filter(:xxx => nil)
1467
- end
1468
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE ((attributes.node_id = 1234) AND (xxx IS NULL)) ORDER BY kind'
1469
- end
1470
-
1471
- it "should have the block argument affect the _dataset method" do
1472
- @c2.one_to_many :attributes, :class => @c1 do |ds|
1473
- ds.filter(:xxx => 456)
1474
- end
1475
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE ((attributes.node_id = 1234) AND (xxx = 456))'
1476
- end
1477
-
1478
- it "should support a :dataset option that is used instead of the default" do
1479
- c1 = @c1
1480
- @c1.dataset = @c1.dataset.with_fetch({})
1481
- @c2.one_to_many :all_other_attributes, :class => @c1, :dataset=>proc{c1.exclude(:nodeid=>pk)}, :order=>:a, :limit=>10 do |ds|
1482
- ds.filter(:xxx => 5)
1483
- end
1484
- @c2.new(:id => 1234).all_other_attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE ((nodeid != 1234) AND (xxx = 5)) ORDER BY a LIMIT 10'
1485
- @c2.new(:id => 1234).all_other_attributes.must_equal [@c1.load({})]
1486
- DB.sqls.must_equal ['SELECT * FROM attributes WHERE ((nodeid != 1234) AND (xxx = 5)) ORDER BY a LIMIT 10']
1487
- end
1488
-
1489
- it "should support a :limit option" do
1490
- @c2.one_to_many :attributes, :class => @c1 , :limit=>10
1491
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE (attributes.node_id = 1234) LIMIT 10'
1492
- @c2.one_to_many :attributes, :class => @c1 , :limit=>[10,10]
1493
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT * FROM attributes WHERE (attributes.node_id = 1234) LIMIT 10 OFFSET 10'
1494
- end
1495
-
1496
- it "should have the :eager option affect the _dataset method" do
1497
- @c2.one_to_many :attributes, :class => @c2 , :eager=>:attributes
1498
- @c2.new(:id => 1234).attributes_dataset.opts[:eager].must_equal(:attributes=>nil)
1499
- end
1500
-
1501
- it "should populate cache when accessed" do
1502
- @c2.one_to_many :attributes, :class => @c1
1503
- n = @c2.new(:id => 1234)
1504
- n.associations.include?(:attributes).must_equal false
1505
- atts = n.attributes
1506
- atts.must_equal n.associations[:attributes]
1507
- DB.sqls.must_equal ['SELECT * FROM attributes WHERE (attributes.node_id = 1234)']
1508
- end
1509
-
1510
- it "should use cache if available" do
1511
- @c2.one_to_many :attributes, :class => @c1
1512
- n = @c2.new(:id => 1234)
1513
- n.associations[:attributes] = 42
1514
- n.attributes.must_equal 42
1515
- DB.sqls.must_equal []
1516
- end
1517
-
1518
- it "should not use cache if asked to reload" do
1519
- @c2.one_to_many :attributes, :class => @c1
1520
- n = @c2.new(:id => 1234)
1521
- n.associations[:attributes] = 42
1522
- n.attributes(:reload=>true).wont_equal 42
1523
- DB.sqls.must_equal ['SELECT * FROM attributes WHERE (attributes.node_id = 1234)']
1524
- end
1525
-
1526
- it "should add item to cache if it exists when calling add_" do
1527
- @c2.one_to_many :attributes, :class => @c1
1528
- n = @c2.new(:id => 1234)
1529
- att = @c1.load(:id => 345)
1530
- a = []
1531
- n.associations[:attributes] = a
1532
- n.add_attribute(att)
1533
- a.must_equal [att]
1534
- end
1535
-
1536
- it "should set object to item's reciprocal cache when calling add_" do
1537
- @c2.one_to_many :attributes, :class => @c1
1538
- @c1.many_to_one :node, :class => @c2
1539
-
1540
- n = @c2.new(:id => 1234)
1541
- att = @c1.new(:id => 345)
1542
- n.add_attribute(att)
1543
- att.node.must_equal n
1544
- end
1545
-
1546
- it "should remove item from cache if it exists when calling remove_" do
1547
- @c2.one_to_many :attributes, :class => @c1
1548
-
1549
- n = @c2.load(:id => 1234)
1550
- att = @c1.load(:id => 345)
1551
- a = [att]
1552
- n.associations[:attributes] = a
1553
- n.remove_attribute(att)
1554
- a.must_equal []
1555
- end
1556
-
1557
- it "should remove item's reciprocal cache calling remove_" do
1558
- @c2.one_to_many :attributes, :class => @c1
1559
- @c1.many_to_one :node, :class => @c2
1560
-
1561
- n = @c2.new(:id => 1234)
1562
- att = @c1.new(:id => 345)
1563
- att.associations[:node] = n
1564
- att.node.must_equal n
1565
- n.remove_attribute(att)
1566
- att.node.must_be_nil
1567
- end
1568
-
1569
- it "should not create the add_, remove_, or remove_all_ methods if :read_only option is used" do
1570
- @c2.one_to_many :attributes, :class => @c1, :read_only=>true
1571
- im = @c2.instance_methods
1572
- im.must_include(:attributes)
1573
- im.must_include(:attributes_dataset)
1574
- im.wont_include(:add_attribute)
1575
- im.wont_include(:remove_attribute)
1576
- im.wont_include(:remove_all_attributes)
1577
- end
1578
-
1579
- it "should not add associations methods directly to class" do
1580
- @c2.one_to_many :attributes, :class => @c1
1581
- im = @c2.instance_methods
1582
- im.must_include(:attributes)
1583
- im.must_include(:attributes_dataset)
1584
- im.must_include(:add_attribute)
1585
- im.must_include(:remove_attribute)
1586
- im.must_include(:remove_all_attributes)
1587
- im2 = @c2.instance_methods(false)
1588
- im2.wont_include(:attributes)
1589
- im2.wont_include(:attributes_dataset)
1590
- im2.wont_include(:add_attribute)
1591
- im2.wont_include(:remove_attribute)
1592
- im2.wont_include(:remove_all_attributes)
1593
- end
1594
-
1595
- it "should populate the reciprocal many_to_one cache when loading the one_to_many association" do
1596
- @c2.one_to_many :attributes, :class => @c1, :key => :node_id
1597
- @c1.many_to_one :node, :class => @c2, :key => :node_id
1598
-
1599
- n = @c2.new(:id => 1234)
1600
- atts = n.attributes
1601
- DB.sqls.must_equal ['SELECT * FROM attributes WHERE (attributes.node_id = 1234)']
1602
- atts.must_equal [@c1.load({})]
1603
- atts.map{|a| a.node}.must_equal [n]
1604
- DB.sqls.must_equal []
1605
- end
1606
-
1607
- it "should use an explicit :reciprocal option if given" do
1608
- @c2.one_to_many :attributes, :class => @c1, :key => :node_id, :reciprocal=>:wxyz
1609
-
1610
- n = @c2.new(:id => 1234)
1611
- atts = n.attributes
1612
- DB.sqls.must_equal ['SELECT * FROM attributes WHERE (attributes.node_id = 1234)']
1613
- atts.must_equal [@c1.load({})]
1614
- atts.map{|a| a.associations[:wxyz]}.must_equal [n]
1615
- DB.sqls.must_equal []
1616
- end
1617
-
1618
- it "should have an remove_all_ method that removes all associated objects" do
1619
- @c2.one_to_many :attributes, :class => @c1
1620
- @c2.new(:id => 1234).remove_all_attributes
1621
- DB.sqls.must_equal ['UPDATE attributes SET node_id = NULL WHERE (node_id = 1234)']
1622
- end
1623
-
1624
- it "should have remove_all method respect association filters" do
1625
- @c2.one_to_many :attributes, :class => @c1, :conditions=>{:a=>1} do |ds|
1626
- ds.filter(:b=>2)
1627
- end
1628
- @c2.new(:id => 1234).remove_all_attributes
1629
- DB.sqls.must_equal ['UPDATE attributes SET node_id = NULL WHERE ((a = 1) AND (node_id = 1234) AND (b = 2))']
1630
- end
1631
-
1632
- it "should have the remove_all_ method respect the :primary_key option" do
1633
- @c2.one_to_many :attributes, :class => @c1, :primary_key=>:xxx
1634
- @c2.new(:id => 1234, :xxx=>5).remove_all_attributes
1635
- DB.sqls.must_equal ['UPDATE attributes SET node_id = NULL WHERE (node_id = 5)']
1636
- end
1637
-
1638
- it "should have the remove_all_ method respect composite keys" do
1639
- @c2.one_to_many :attributes, :class => @c1, :key=>[:node_id, :y], :primary_key=>[:id, :x]
1640
- @c2.new(:id => 1234, :x=>5).remove_all_attributes
1641
- DB.sqls.must_equal ["UPDATE attributes SET node_id = NULL, y = NULL WHERE ((node_id = 1234) AND (y = 5))"]
1642
- end
1643
-
1644
- it "remove_all should set the cache to []" do
1645
- @c2.one_to_many :attributes, :class => @c1
1646
- node = @c2.new(:id => 1234)
1647
- node.remove_all_attributes
1648
- node.associations[:attributes].must_equal []
1649
- end
1650
-
1651
- it "remove_all should return the array of previously associated items if the cache is populated" do
1652
- @c2.one_to_many :attributes, :class => @c1
1653
- attrib = @c1.new(:id=>3)
1654
- node = @c2.new(:id => 1234)
1655
- @c1.dataset = @c1.dataset.with_fetch([[], [{:id=>3, :node_id=>1234}]])
1656
- node.attributes.must_equal []
1657
- node.add_attribute(attrib)
1658
- node.associations[:attributes].must_equal [attrib]
1659
- node.remove_all_attributes.must_equal [attrib]
1660
- end
1661
-
1662
- it "remove_all should return nil if the cache is not populated" do
1663
- @c2.one_to_many :attributes, :class => @c1
1664
- @c2.new(:id => 1234).remove_all_attributes.must_be_nil
1665
- end
1666
-
1667
- it "remove_all should remove the current item from all reciprocal association caches if they are populated" do
1668
- @c2.one_to_many :attributes, :class => @c1
1669
- @c1.many_to_one :node, :class => @c2
1670
- @c2.dataset = @c2.dataset.with_fetch([])
1671
- @c1.dataset = @c1.dataset.with_fetch([[], [{:id=>3, :node_id=>1234}]])
1672
- attrib = @c1.new(:id=>3)
1673
- node = @c2.load(:id => 1234)
1674
- node.attributes.must_equal []
1675
- attrib.node.must_be_nil
1676
- node.add_attribute(attrib)
1677
- attrib.associations[:node].must_equal node
1678
- node.remove_all_attributes
1679
- attrib.associations.fetch(:node, 2).must_be_nil
1680
- end
1681
-
1682
- it "should call an _add_ method internally to add attributes" do
1683
- @c2.one_to_many :attributes, :class => @c1
1684
- @c2.private_instance_methods.must_include(:_add_attribute)
1685
- p = @c2.load(:id=>10)
1686
- c = @c1.load(:id=>123)
1687
- def p._add_attribute(x)
1688
- @x = x
1689
- end
1690
- def c._node_id=; raise; end
1691
- p.add_attribute(c)
1692
- p.instance_variable_get(:@x).must_equal c
1693
- end
1694
-
1695
- it "should support an :adder option for defining the _add_ method" do
1696
- @c2.one_to_many :attributes, :class => @c1, :adder=>proc{|x| @x = x}
1697
- p = @c2.load(:id=>10)
1698
- c = @c1.load(:id=>123)
1699
- def c._node_id=; raise; end
1700
- p.add_attribute(c)
1701
- p.instance_variable_get(:@x).must_equal c
1702
- end
1703
-
1704
- it "should allow additional arguments given to the add_ method and pass them onwards to the _add_ method" do
1705
- @c2.one_to_many :attributes, :class => @c1
1706
- p = @c2.load(:id=>10)
1707
- c = @c1.load(:id=>123)
1708
- def p._add_attribute(x,*y)
1709
- @x = x
1710
- @y = y
1711
- end
1712
- def c._node_id=; raise; end
1713
- p.add_attribute(c,:foo,:bar=>:baz)
1714
- p.instance_variable_get(:@x).must_equal c
1715
- p.instance_variable_get(:@y).must_equal [:foo,{:bar=>:baz}]
1716
- end
1717
-
1718
- it "should call a _remove_ method internally to remove attributes" do
1719
- @c2.one_to_many :attributes, :class => @c1
1720
- @c2.private_instance_methods.must_include(:_remove_attribute)
1721
- p = @c2.load(:id=>10)
1722
- c = @c1.load(:id=>123)
1723
- def p._remove_attribute(x)
1724
- @x = x
1725
- end
1726
- def c._node_id=; raise; end
1727
- p.remove_attribute(c)
1728
- p.instance_variable_get(:@x).must_equal c
1729
- end
1730
-
1731
- it "should support a :remover option for defining the _remove_ method" do
1732
- @c2.one_to_many :attributes, :class => @c1, :remover=>proc{|x| @x = x}
1733
- p = @c2.load(:id=>10)
1734
- c = @c1.load(:id=>123)
1735
- def c._node_id=; raise; end
1736
- p.remove_attribute(c)
1737
- p.instance_variable_get(:@x).must_equal c
1738
- end
1739
-
1740
- it "should allow additional arguments given to the remove_ method and pass them onwards to the _remove_ method" do
1741
- @c2.one_to_many :attributes, :class => @c1, :reciprocal=>nil
1742
- p = @c2.load(:id=>10)
1743
- c = @c1.load(:id=>123)
1744
- def p._remove_attribute(x,*y)
1745
- @x = x
1746
- @y = y
1747
- end
1748
- def c._node_id=; raise; end
1749
- p.remove_attribute(c,:foo,:bar=>:baz)
1750
- p.instance_variable_get(:@x).must_equal c
1751
- p.instance_variable_get(:@y).must_equal [:foo,{:bar=>:baz}]
1752
- end
1753
-
1754
- it "should allow additional arguments given to the remove_all_ method and pass them onwards to the _remove_all_ method" do
1755
- @c2.one_to_many :attributes, :class => @c1
1756
- p = @c2.load(:id=>10)
1757
- c = @c1.load(:id=>123)
1758
- def p._remove_all_attributes(*y)
1759
- @y = y
1760
- end
1761
- def c._node_id=; raise; end
1762
- p.remove_all_attributes(:foo,:bar=>:baz)
1763
- p.instance_variable_get(:@y).must_equal [:foo,{:bar=>:baz}]
1764
- end
1765
-
1766
- it "should call a _remove_all_ method internally to remove attributes" do
1767
- @c2.one_to_many :attributes, :class => @c1
1768
- @c2.private_instance_methods.must_include(:_remove_all_attributes)
1769
- p = @c2.load(:id=>10)
1770
- def p._remove_all_attributes
1771
- @x = :foo
1772
- end
1773
- p.remove_all_attributes
1774
- p.instance_variable_get(:@x).must_equal :foo
1775
- end
1776
-
1777
- it "should support a :clearer option for defining the _remove_all_ method" do
1778
- @c2.one_to_many :attributes, :class => @c1, :clearer=>proc{@x = :foo}
1779
- p = @c2.load(:id=>10)
1780
- p.remove_all_attributes
1781
- p.instance_variable_get(:@x).must_equal :foo
1782
- end
1783
-
1784
- it "should support (before|after)_(add|remove) callbacks" do
1785
- h = []
1786
- @c2.one_to_many :attributes, :class => @c1, :before_add=>[proc{|x,y| h << x.pk; h << -y.pk}, :blah], :after_add=>proc{h << 3}, :before_remove=>:blah, :after_remove=>[:blahr]
1787
- @c2.class_eval do
1788
- self::Foo = h
1789
- def _add_attribute(v)
1790
- model::Foo << 4
1791
- end
1792
- def _remove_attribute(v)
1793
- model::Foo << 5
1794
- end
1795
- def blah(x)
1796
- model::Foo << x.pk
1797
- end
1798
- def blahr(x)
1799
- model::Foo << 6
1800
- end
1801
- end
1802
- p = @c2.load(:id=>10)
1803
- c = @c1.load(:id=>123)
1804
- h.must_equal []
1805
- p.add_attribute(c)
1806
- h.must_equal [10, -123, 123, 4, 3]
1807
- p.remove_attribute(c)
1808
- h.must_equal [10, -123, 123, 4, 3, 123, 5, 6]
1809
- end
1810
-
1811
- it "should support after_load association callback" do
1812
- h = []
1813
- @c2.one_to_many :attributes, :class => @c1, :after_load=>[proc{|x,y| h << [x.pk, y.collect{|z|z.pk}]}, :al]
1814
- @c2.class_eval do
1815
- self::Foo = h
1816
- def al(v)
1817
- v.each{|x| model::Foo << x.pk}
1818
- end
1819
- end
1820
- @c1.dataset = @c1.dataset.with_fetch([{:id=>20}, {:id=>30}])
1821
- p = @c2.load(:id=>10, :parent_id=>20)
1822
- attributes = p.attributes
1823
- h.must_equal [[10, [20, 30]], 20, 30]
1824
- attributes.collect{|a| a.pk}.must_equal [20, 30]
1825
- end
1826
-
1827
- it "should raise error and not call internal add or remove method if before callback calls cancel_action if raise_on_save_failure is true" do
1828
- p = @c2.load(:id=>10)
1829
- c = @c1.load(:id=>123)
1830
- @c2.one_to_many :attributes, :class => @c1, :before_add=>:ba, :before_remove=>:br
1831
- def p.ba(o); cancel_action; end
1832
- def p._add_attribute; raise; end
1833
- def p._remove_attribute; raise; end
1834
- p.associations[:attributes] = []
1835
- proc{p.add_attribute(c)}.must_raise(Sequel::HookFailed)
1836
- p.attributes.must_equal []
1837
- p.associations[:attributes] = [c]
1838
- def p.br(o); cancel_action; end
1839
- proc{p.remove_attribute(c)}.must_raise(Sequel::HookFailed)
1840
- p.attributes.must_equal [c]
1841
- end
1842
-
1843
- it "should return nil and not call internal add or remove method if before callback calls cancel_action if raise_on_save_failure is false" do
1844
- p = @c2.load(:id=>10)
1845
- c = @c1.load(:id=>123)
1846
- p.raise_on_save_failure = false
1847
- @c2.one_to_many :attributes, :class => @c1, :before_add=>:ba, :before_remove=>:br
1848
- def p.ba(o); cancel_action; end
1849
- def p._add_attribute; raise; end
1850
- def p._remove_attribute; raise; end
1851
- p.associations[:attributes] = []
1852
- p.add_attribute(c).must_be_nil
1853
- p.attributes.must_equal []
1854
- p.associations[:attributes] = [c]
1855
- def p.br(o); cancel_action; end
1856
- p.remove_attribute(c).must_be_nil
1857
- p.attributes.must_equal [c]
1858
- end
1859
-
1860
- it "should have association dataset use false condition if any key is nil" do
1861
- @c1.one_to_many :children, :class => @c1, :primary_key=>:node_id
1862
- @c1.load(:id=>1).children_dataset.sql.must_equal "SELECT * FROM attributes WHERE 'f'"
1863
- end
1864
- end
1865
-
1866
- describe Sequel::Model, "many_to_many" do
1867
- before do
1868
- @c1 = Class.new(Sequel::Model(:attributes)) do
1869
- unrestrict_primary_key
1870
- attr_accessor :yyy
1871
- def self.name; 'Attribute'; end
1872
- def self.to_s; 'Attribute'; end
1873
- columns :id, :y, :z
1874
- end
1875
-
1876
- @c2 = Class.new(Sequel::Model(:nodes)) do
1877
- unrestrict_primary_key
1878
- attr_accessor :xxx
1879
-
1880
- def self.name; 'Node'; end
1881
- def self.to_s; 'Node'; end
1882
- columns :id, :x
1883
- end
1884
- @dataset = @c2.dataset
1885
- @c1.dataset = @c1.dataset.with_autoid(1)
1886
-
1887
- [@c1, @c2].each{|c| c.dataset = c.dataset.with_fetch({})}
1888
- DB.reset
1889
- end
1890
-
1891
- it "should raise an error if current class does not have a primary key, and :left_primary_key is not specified" do
1892
- @c2.no_primary_key
1893
- proc{@c2.many_to_many :attributes, :class => @c1}.must_raise(Sequel::Error)
1894
- DB.sqls.must_equal []
1895
- end
1896
-
1897
- it "should raise an error if associated class does not have a primary key, and :right_primary_key is not specified" do
1898
- @c1.no_primary_key
1899
- @c2.many_to_many :attributes, :class => @c1
1900
- d = @c2.new(:id => 1234)
1901
- proc{d.attributes}.must_raise(Sequel::Error)
1902
- DB.sqls.must_equal []
1903
- end
1904
-
1905
- it "should use implicit key values and join table if omitted" do
1906
- @c2.many_to_many :attributes, :class => @c1
1907
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)'
1908
- end
1909
-
1910
- it "should use implicit key values and join table if omitted" do
1911
- @c2.one_through_one :attribute, :class => @c1
1912
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 1'
1913
- end
1914
-
1915
- it "should use implicit class if omitted" do
1916
- begin
1917
- class ::Tag < Sequel::Model; end
1918
- @c2.many_to_many :tags
1919
- @c2.new(:id => 1234).tags_dataset.sql.must_equal 'SELECT tags.* FROM tags INNER JOIN nodes_tags ON (nodes_tags.tag_id = tags.id) WHERE (nodes_tags.node_id = 1234)'
1920
- ensure
1921
- Object.send(:remove_const, :Tag)
1922
- end
1923
- end
1924
-
1925
- it "should use class inside module if given as a string" do
1926
- begin
1927
- module ::Historical
1928
- class Tag < Sequel::Model; end
1929
- end
1930
- @c2.many_to_many :tags, :class=>'::Historical::Tag'
1931
- @c2.new(:id => 1234).tags_dataset.sql.must_equal 'SELECT tags.* FROM tags INNER JOIN nodes_tags ON (nodes_tags.tag_id = tags.id) WHERE (nodes_tags.node_id = 1234)'
1932
- ensure
1933
- Object.send(:remove_const, :Historical)
1934
- end
1935
- end
1936
-
1937
- it "should not override a selection consisting completely of qualified columns using Sequel::SQL::QualifiedIdentifier" do
1938
- @c1.dataset = @c1.dataset.select(Sequel.qualify(:attributes, :id), Sequel.qualify(:attributes, :b))
1939
- @c2.many_to_many :attributes, :class => @c1
1940
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.id, attributes.b FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)'
1941
- end
1942
-
1943
- with_symbol_splitting "should not override a selection consisting completely of qualified columns using symbols" do
1944
- @c1.dataset = @c1.dataset.select(:attributes__id, :attributes__b)
1945
- @c2.many_to_many :attributes, :class => @c1
1946
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.id, attributes.b FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)'
1947
- end
1948
-
1949
- it "should not override a selection consisting completely of qualified columns using Sequel::SQL::AliasedExpression" do
1950
- @c1.dataset = @c1.dataset.select(Sequel.qualify(:attributes, :id).as(:a), Sequel[:attributes][:b].as(:c))
1951
- @c2.many_to_many :attributes, :class => @c1
1952
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.id AS a, attributes.b AS c FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)'
1953
- end
1954
-
1955
- with_symbol_splitting "should not override a selection consisting completely of qualified columns using Sequel::SQL::AliasedExpression with qualified symbol" do
1956
- @c1.dataset = @c1.dataset.select(Sequel.qualify(:attributes, :id).as(:a), Sequel.as(:attributes__b, :c))
1957
- @c2.many_to_many :attributes, :class => @c1
1958
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.id AS a, attributes.b AS c FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)'
1959
- end
1960
-
1961
- it "should override a selection consisting of non qualified columns" do
1962
- @c1.dataset = @c1.dataset.select{foo(:bar)}
1963
- @c2.many_to_many :attributes, :class => @c1
1964
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)'
1965
- end
1966
-
1967
- it "should respect :predicate_key when lazily loading" do
1968
- @c2.many_to_many :attributes, :class => @c1, :predicate_key=>Sequel.subscript(Sequel[:attributes_nodes][:node_id], 0)
1969
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id[0] = 1234)'
1970
- end
1971
-
1972
- it "should use explicit key values and join table if given" do
1973
- @c2.many_to_many :attributes, :class => @c1, :left_key => :nodeid, :right_key => :attributeid, :join_table => :attribute2node
1974
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attribute2node ON (attribute2node.attributeid = attributes.id) WHERE (attribute2node.nodeid = 1234)'
1975
- end
1976
-
1977
- it "should support a conditions option" do
1978
- @c2.many_to_many :attributes, :class => @c1, :conditions => {:a=>32}
1979
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((a = 32) AND (attributes_nodes.node_id = 1234))'
1980
-
1981
- @c2.many_to_many :attributes, :class => @c1, :conditions => Sequel.lit('a = ?', 32)
1982
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((a = 32) AND (attributes_nodes.node_id = 1234))'
1983
- @c2.new(:id => 1234).attributes.must_equal [@c1.load({})]
1984
- end
1985
-
1986
- it "should support an order option" do
1987
- @c2.many_to_many :attributes, :class => @c1, :order => :blah
1988
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) ORDER BY blah'
1989
- end
1990
-
1991
- it "should support an array for the order option" do
1992
- @c2.many_to_many :attributes, :class => @c1, :order => [:blah1, :blah2]
1993
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) ORDER BY blah1, blah2'
1994
- end
1995
-
1996
- it "should support :left_primary_key and :right_primary_key options" do
1997
- @c2.many_to_many :attributes, :class => @c1, :left_primary_key=>:xxx, :right_primary_key=>:yyy
1998
- @c2.new(:id => 1234, :xxx=>5).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.yyy) WHERE (attributes_nodes.node_id = 5)'
1999
- end
2000
-
2001
- it "should support composite keys" do
2002
- @c2.many_to_many :attributes, :class => @c1, :left_key=>[:l1, :l2], :right_key=>[:r1, :r2], :left_primary_key=>[:id, :x], :right_primary_key=>[:id, :y]
2003
- @c2.load(:id => 1234, :x=>5).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON ((attributes_nodes.r1 = attributes.id) AND (attributes_nodes.r2 = attributes.y)) WHERE ((attributes_nodes.l1 = 1234) AND (attributes_nodes.l2 = 5))'
2004
- end
2005
-
2006
- it "should not issue query if not all keys have values" do
2007
- @c2.many_to_many :attributes, :class => @c1, :left_key=>[:l1, :l2], :right_key=>[:r1, :r2], :left_primary_key=>[:id, :x], :right_primary_key=>[:id, :y]
2008
- @c2.load(:id => 1234, :x=>nil).attributes.must_equal []
2009
- DB.sqls.must_equal []
2010
- end
2011
-
2012
- it "should raise an Error unless same number of composite keys used" do
2013
- proc{@c2.many_to_many :attributes, :class => @c1, :left_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2014
- proc{@c2.many_to_many :attributes, :class => @c1, :left_primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2015
- proc{@c2.many_to_many :attributes, :class => @c1, :left_key=>[:node_id, :id], :left_primary_key=>:id}.must_raise(Sequel::Error)
2016
- proc{@c2.many_to_many :attributes, :class => @c1, :left_key=>:id, :left_primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2017
- proc{@c2.many_to_many :attributes, :class => @c1, :left_key=>[:node_id, :id, :x], :left_primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
2018
-
2019
- proc{@c2.many_to_many :attributes, :class => @c1, :right_primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2020
- proc{@c2.many_to_many :attributes, :class => @c1, :right_key=>[:node_id, :id], :right_primary_key=>:id}.must_raise(Sequel::Error)
2021
- proc{@c2.many_to_many :attributes, :class => @c1, :right_key=>:id, :left_primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2022
- proc{@c2.many_to_many :attributes, :class => @c1, :right_key=>[:node_id, :id, :x], :right_primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
2023
- end
2024
-
2025
- it "should support a select option" do
2026
- @c2.many_to_many :attributes, :class => @c1, :select => :blah
2027
-
2028
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT blah FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)'
2029
- end
2030
-
2031
- it "should support an array for the select option" do
2032
- @c2.many_to_many :attributes, :class => @c1, :select => [Sequel::SQL::ColumnAll.new(:attributes), Sequel[:attribute_nodes][:blah2]]
2033
-
2034
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.*, attribute_nodes.blah2 FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)'
2035
- end
2036
-
2037
- it "should accept a block" do
2038
- @c2.many_to_many :attributes, :class => @c1 do |ds|
2039
- ds.filter(:xxx => @xxx)
2040
- end
2041
-
2042
- n = @c2.new(:id => 1234)
2043
- n.xxx = 555
2044
- n.attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((attributes_nodes.node_id = 1234) AND (xxx = 555))'
2045
- end
2046
-
2047
- it "should allow the :order option while accepting a block" do
2048
- @c2.many_to_many :attributes, :class => @c1, :order=>[:blah1, :blah2] do |ds|
2049
- ds.filter(:xxx => @xxx)
2050
- end
2051
-
2052
- n = @c2.new(:id => 1234)
2053
- n.xxx = 555
2054
- n.attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((attributes_nodes.node_id = 1234) AND (xxx = 555)) ORDER BY blah1, blah2'
2055
- end
2056
-
2057
- it "should support a :dataset option that is used instead of the default" do
2058
- c1 = @c1
2059
- @c2.many_to_many :attributes, :class => @c1, :dataset=>proc{c1.join_table(:natural, :an).filter(Sequel[:an][:nodeid]=>pk)}, :order=> :a, :limit=>10, :select=>nil do |ds|
2060
- ds.filter(:xxx => @xxx)
2061
- end
2062
-
2063
- n = @c2.new(:id => 1234)
2064
- n.xxx = 555
2065
- n.attributes_dataset.sql.must_equal 'SELECT * FROM attributes NATURAL JOIN an WHERE ((an.nodeid = 1234) AND (xxx = 555)) ORDER BY a LIMIT 10'
2066
- n.attributes.must_equal [@c1.load({})]
2067
- DB.sqls.must_equal ['SELECT * FROM attributes NATURAL JOIN an WHERE ((an.nodeid = 1234) AND (xxx = 555)) ORDER BY a LIMIT 10']
2068
- end
2069
-
2070
- it "should support a :dataset option that accepts the reflection as an argument" do
2071
- @c2.many_to_many :attributes, :class => @c1, :dataset=>lambda{|opts| opts.associated_class.natural_join(:an).filter(Sequel[:an][:nodeid]=>pk)}, :order=> :a, :limit=>10, :select=>nil do |ds|
2072
- ds.filter(:xxx => @xxx)
2073
- end
2074
-
2075
- n = @c2.new(:id => 1234)
2076
- n.xxx = 555
2077
- n.attributes_dataset.sql.must_equal 'SELECT * FROM attributes NATURAL JOIN an WHERE ((an.nodeid = 1234) AND (xxx = 555)) ORDER BY a LIMIT 10'
2078
- n.attributes.must_equal [@c1.load({})]
2079
- DB.sqls.must_equal ['SELECT * FROM attributes NATURAL JOIN an WHERE ((an.nodeid = 1234) AND (xxx = 555)) ORDER BY a LIMIT 10']
2080
- end
2081
-
2082
- it "should support a :limit option" do
2083
- @c2.many_to_many :attributes, :class => @c1 , :limit=>10
2084
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 10'
2085
- @c2.many_to_many :attributes, :class => @c1 , :limit=>[10, 10]
2086
- @c2.new(:id => 1234).attributes_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 10 OFFSET 10'
2087
- end
2088
-
2089
- it "should have the :eager option affect the _dataset method" do
2090
- @c2.many_to_many :attributes, :class => @c2 , :eager=>:attributes
2091
- @c2.new(:id => 1234).attributes_dataset.opts[:eager].must_equal(:attributes=>nil)
2092
- end
2093
-
2094
- it "should handle an aliased join table" do
2095
- @c2.many_to_many :attributes, :class => @c1, :join_table => Sequel[:attribute2node].as(:attributes_nodes)
2096
- n = @c2.load(:id => 1234)
2097
- a = @c1.load(:id => 2345)
2098
- n.attributes_dataset.sql.must_equal "SELECT attributes.* FROM attributes INNER JOIN attribute2node AS attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)"
2099
- a.must_equal n.add_attribute(a)
2100
- a.must_equal n.remove_attribute(a)
2101
- n.remove_all_attributes
2102
- DB.sqls.must_equal ["INSERT INTO attribute2node (node_id, attribute_id) VALUES (1234, 2345)",
2103
- "DELETE FROM attribute2node WHERE ((node_id = 1234) AND (attribute_id = 2345))",
2104
- "DELETE FROM attribute2node WHERE (node_id = 1234)"]
2105
- end
2106
-
2107
- with_symbol_splitting "should handle an aliased symbol join table" do
2108
- @c2.many_to_many :attributes, :class => @c1, :join_table => :attribute2node___attributes_nodes
2109
- n = @c2.load(:id => 1234)
2110
- a = @c1.load(:id => 2345)
2111
- n.attributes_dataset.sql.must_equal "SELECT attributes.* FROM attributes INNER JOIN attribute2node AS attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)"
2112
- a.must_equal n.add_attribute(a)
2113
- a.must_equal n.remove_attribute(a)
2114
- n.remove_all_attributes
2115
- DB.sqls.must_equal ["INSERT INTO attribute2node (node_id, attribute_id) VALUES (1234, 2345)",
2116
- "DELETE FROM attribute2node WHERE ((node_id = 1234) AND (attribute_id = 2345))",
2117
- "DELETE FROM attribute2node WHERE (node_id = 1234)"]
2118
- end
2119
-
2120
- it "should define an add_ method that works on existing records" do
2121
- @c2.many_to_many :attributes, :class => @c1
2122
-
2123
- n = @c2.load(:id => 1234)
2124
- a = @c1.load(:id => 2345)
2125
- n.add_attribute(a).must_equal a
2126
- DB.sqls.must_equal ["INSERT INTO attributes_nodes (node_id, attribute_id) VALUES (1234, 2345)"]
2127
- end
2128
-
2129
- it "should define an add_ method that works with a primary key" do
2130
- @c2.many_to_many :attributes, :class => @c1
2131
-
2132
- n = @c2.load(:id => 1234)
2133
- a = @c1.load(:id => 2345)
2134
- @c1.dataset = @c1.dataset.with_fetch(:id=>2345)
2135
- n.add_attribute(2345).must_equal a
2136
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE id = 2345",
2137
- "INSERT INTO attributes_nodes (node_id, attribute_id) VALUES (1234, 2345)"]
2138
- end
2139
-
2140
- it "should raise an error if the primary key passed to the add_ method does not match an existing record" do
2141
- @c2.many_to_many :attributes, :class => @c1
2142
-
2143
- n = @c2.load(:id => 1234)
2144
- @c1.dataset = @c1.dataset.with_fetch([])
2145
- proc{n.add_attribute(2345)}.must_raise(Sequel::NoMatchingRow)
2146
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE id = 2345"]
2147
- end
2148
-
2149
- it "should allow passing a hash to the add_ method which creates a new record" do
2150
- @c2.many_to_many :attributes, :class => @c1
2151
-
2152
- n = @c2.load(:id => 1234)
2153
- @c1.dataset = @c1.dataset.with_fetch(:id=>1)
2154
- n.add_attribute(:id => 1).must_equal @c1.load(:id => 1)
2155
- DB.sqls.must_equal ['INSERT INTO attributes (id) VALUES (1)',
2156
- "SELECT * FROM attributes WHERE id = 1",
2157
- "INSERT INTO attributes_nodes (node_id, attribute_id) VALUES (1234, 1)"]
2158
- end
2159
-
2160
- it "should define a remove_ method that works on existing records" do
2161
- @c2.many_to_many :attributes, :class => @c1
2162
-
2163
- n = @c2.new(:id => 1234)
2164
- a = @c1.new(:id => 2345)
2165
- n.remove_attribute(a).must_equal a
2166
- DB.sqls.must_equal ['DELETE FROM attributes_nodes WHERE ((node_id = 1234) AND (attribute_id = 2345))']
2167
- end
2168
-
2169
- it "should raise an error in the add_ method if the passed associated object is not of the correct type" do
2170
- @c2.many_to_many :attributes, :class => @c1
2171
- proc{@c2.new(:id => 1234).add_attribute(@c2.new)}.must_raise(Sequel::Error)
2172
- end
2173
-
2174
- it "should accept a primary key for the remove_ method and remove an existing record" do
2175
- @c2.many_to_many :attributes, :class => @c1
2176
- n = @c2.new(:id => 1234)
2177
- @c1.dataset = @c1.dataset.with_fetch(:id=>234)
2178
- n.remove_attribute(234).must_equal @c1.load(:id => 234)
2179
- DB.sqls.must_equal ["SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((attributes_nodes.node_id = 1234) AND (attributes.id = 234)) LIMIT 1",
2180
- "DELETE FROM attributes_nodes WHERE ((node_id = 1234) AND (attribute_id = 234))"]
2181
- end
2182
-
2183
- it "should raise an error in the remove_ method if the passed associated object is not of the correct type" do
2184
- @c2.many_to_many :attributes, :class => @c1
2185
- proc{@c2.new(:id => 1234).remove_attribute(@c2.new)}.must_raise(Sequel::Error)
2186
- end
2187
-
2188
- it "should have the add_ method respect the :left_primary_key and :right_primary_key options" do
2189
- @c2.many_to_many :attributes, :class => @c1, :left_primary_key=>:xxx, :right_primary_key=>:yyy
2190
-
2191
- n = @c2.load(:id => 1234).set(:xxx=>5)
2192
- a = @c1.load(:id => 2345).set(:yyy=>8)
2193
- n.add_attribute(a).must_equal a
2194
- DB.sqls.must_equal ["INSERT INTO attributes_nodes (node_id, attribute_id) VALUES (5, 8)"]
2195
- end
2196
-
2197
- it "should have add_ method not add the same object to the cached association array if the object is already in the array" do
2198
- @c2.many_to_many :attributes, :class => @c1
2199
-
2200
- n = @c2.load(:id => 1234).set(:xxx=>5)
2201
- a = @c1.load(:id => 2345).set(:yyy=>8)
2202
- n.associations[:attributes] = []
2203
- a.must_equal n.add_attribute(a)
2204
- a.must_equal n.add_attribute(a)
2205
- n.attributes.must_equal [a]
2206
- end
2207
-
2208
- it "should have the add_ method respect composite keys" do
2209
- @c2.many_to_many :attributes, :class => @c1, :left_key=>[:l1, :l2], :right_key=>[:r1, :r2], :left_primary_key=>[:id, :x], :right_primary_key=>[:id, :z]
2210
- n = @c2.load(:id => 1234, :x=>5)
2211
- a = @c1.load(:id => 2345, :z=>8)
2212
- a.must_equal n.add_attribute(a)
2213
- sqls = DB.sqls
2214
- m = /INSERT INTO attributes_nodes \((\w+), (\w+), (\w+), (\w+)\) VALUES \((\d+), (\d+), (\d+), (\d+)\)/.match(sqls.pop)
2215
- sqls.must_equal []
2216
- m.wont_equal nil
2217
- map = {'l1'=>1234, 'l2'=>5, 'r1'=>2345, 'r2'=>8}
2218
- %w[l1 l2 r1 r2].each do |x|
2219
- v = false
2220
- 4.times do |i| i += 1
2221
- if m[i] == x
2222
- m[i+4].must_equal map[x].to_s
2223
- v = true
2224
- end
2225
- end
2226
- v.must_equal true
2227
- end
2228
- end
2229
-
2230
- it "should have the add_ method respect composite keys" do
2231
- @c2.many_to_many :attributes, :class => @c1, :left_key=>[:l1, :l2], :right_key=>[:r1, :r2], :left_primary_key=>[:id, :x], :right_primary_key=>[:id, :z]
2232
- @c1.dataset = @c1.dataset.with_fetch(:id=>2345, :z=>8)
2233
- @c1.set_primary_key [:id, :z]
2234
- n = @c2.load(:id => 1234, :x=>5)
2235
- a = @c1.load(:id => 2345, :z=>8)
2236
- n.add_attribute([2345, 8]).must_equal a
2237
- DB.sqls.must_equal ["SELECT * FROM attributes WHERE ((id = 2345) AND (z = 8)) LIMIT 1",
2238
- "INSERT INTO attributes_nodes (l1, l2, r1, r2) VALUES (1234, 5, 2345, 8)"]
2239
- end
2240
-
2241
- it "should have the remove_ method respect the :left_primary_key and :right_primary_key options" do
2242
- @c2.many_to_many :attributes, :class => @c1, :left_primary_key=>:xxx, :right_primary_key=>:yyy
2243
-
2244
- n = @c2.new(:id => 1234, :xxx=>5)
2245
- a = @c1.new(:id => 2345, :yyy=>8)
2246
- n.remove_attribute(a).must_equal a
2247
- DB.sqls.must_equal ['DELETE FROM attributes_nodes WHERE ((node_id = 5) AND (attribute_id = 8))']
2248
- end
2249
-
2250
- it "should have the remove_ method respect composite keys" do
2251
- @c2.many_to_many :attributes, :class => @c1, :left_key=>[:l1, :l2], :right_key=>[:r1, :r2], :left_primary_key=>[:id, :x], :right_primary_key=>[:id, :z]
2252
- n = @c2.load(:id => 1234, :x=>5)
2253
- a = @c1.load(:id => 2345, :z=>8)
2254
- a.must_equal n.remove_attribute(a)
2255
- DB.sqls.must_equal ["DELETE FROM attributes_nodes WHERE ((l1 = 1234) AND (l2 = 5) AND (r1 = 2345) AND (r2 = 8))"]
2256
- end
2257
-
2258
- it "should accept a array of composite primary key values for the remove_ method and remove an existing record" do
2259
- @c1.dataset = @c1.dataset.with_fetch(:id=>234, :y=>8)
2260
- @c1.set_primary_key [:id, :y]
2261
- @c2.many_to_many :attributes, :class => @c1
2262
- n = @c2.new(:id => 1234)
2263
- @c1.load(:id => 234, :y=>8).must_equal n.remove_attribute([234, 8])
2264
- DB.sqls.must_equal ["SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((attributes_nodes.node_id = 1234) AND (attributes.id = 234) AND (attributes.y = 8)) LIMIT 1",
2265
- "DELETE FROM attributes_nodes WHERE ((node_id = 1234) AND (attribute_id = 234))"]
2266
- end
2267
-
2268
- it "should raise an error if the model object doesn't have a valid primary key" do
2269
- @c2.many_to_many :attributes, :class => @c1
2270
- a = @c2.new
2271
- n = @c1.load(:id=>123)
2272
- proc{a.attributes_dataset}.must_raise(Sequel::Error)
2273
- proc{a.add_attribute(n)}.must_raise(Sequel::Error)
2274
- proc{a.remove_attribute(n)}.must_raise(Sequel::Error)
2275
- proc{a.remove_all_attributes}.must_raise(Sequel::Error)
2276
- end
2277
-
2278
- it "should save the associated object first in add_ if passed a new model object" do
2279
- @c2.many_to_many :attributes, :class => @c1
2280
- n = @c1.new
2281
- a = @c2.load(:id=>123)
2282
- n.new?.must_equal true
2283
- @c1.dataset = @c1.dataset.with_fetch(:id=>1)
2284
- a.add_attribute(n)
2285
- n.new?.must_equal false
2286
- end
2287
-
2288
- it "should raise a ValidationFailed in add_ if the associated object is new and invalid" do
2289
- @c2.many_to_many :attributes, :class => @c1
2290
- n = @c1.new
2291
- a = @c2.load(:id=>123)
2292
- def n.validate() errors.add(:id, 'foo') end
2293
- proc{a.add_attribute(n)}.must_raise(Sequel::ValidationFailed)
2294
- end
2295
-
2296
- it "should raise an Error in add_ if the associated object is new and invalid and raise_on_save_failure is false" do
2297
- @c2.many_to_many :attributes, :class => @c1
2298
- n = @c1.new
2299
- n.raise_on_save_failure = false
2300
- a = @c2.load(:id=>123)
2301
- def n.validate() errors.add(:id, 'foo') end
2302
- proc{a.add_attribute(n)}.must_raise(Sequel::Error)
2303
- end
2304
-
2305
- it "should not attempt to validate the associated object in add_ if the :validate=>false option is used" do
2306
- @c2.many_to_many :attributes, :class => @c1, :validate=>false
2307
- n = @c1.new
2308
- a = @c2.load(:id=>123)
2309
- def n.validate() errors.add(:id, 'foo') end
2310
- @c1.dataset = @c1.dataset.with_fetch(:id=>1)
2311
- a.add_attribute(n)
2312
- n.new?.must_equal false
2313
- end
2314
-
2315
- it "should raise an error if trying to remove a model object that doesn't have a valid primary key" do
2316
- @c2.many_to_many :attributes, :class => @c1
2317
- n = @c1.new
2318
- a = @c2.load(:id=>123)
2319
- proc{a.remove_attribute(n)}.must_raise(Sequel::Error)
2320
- end
2321
-
2322
- it "should provide an array with all members of the association" do
2323
- @c2.many_to_many :attributes, :class => @c1
2324
-
2325
- @c2.new(:id => 1234).attributes.must_equal [@c1.load({})]
2326
- DB.sqls.must_equal ['SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)']
2327
- end
2328
-
2329
- it "should populate cache when accessed" do
2330
- @c2.many_to_many :attributes, :class => @c1
2331
-
2332
- n = @c2.new(:id => 1234)
2333
- n.associations.include?(:attributes).must_equal false
2334
- atts = n.attributes
2335
- atts.must_equal n.associations[:attributes]
2336
- end
2337
-
2338
- it "should use cache if available" do
2339
- @c2.many_to_many :attributes, :class => @c1
2340
-
2341
- n = @c2.new(:id => 1234)
2342
- n.associations[:attributes] = 42
2343
- n.attributes.must_equal 42
2344
- DB.sqls.must_equal []
2345
- end
2346
-
2347
- it "should not use cache if asked to reload" do
2348
- @c2.many_to_many :attributes, :class => @c1
2349
-
2350
- n = @c2.new(:id => 1234)
2351
- n.associations[:attributes] = 42
2352
- n.attributes(:reload=>true).wont_equal 42
2353
- DB.sqls.must_equal ["SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234)"]
2354
- end
2355
-
2356
- it "should add item to cache if it exists when calling add_" do
2357
- @c2.many_to_many :attributes, :class => @c1
2358
-
2359
- n = @c2.new(:id => 1234)
2360
- att = @c1.load(:id => 345)
2361
- a = []
2362
- n.associations[:attributes] = a
2363
- n.add_attribute(att)
2364
- a.must_equal [att]
2365
- end
2366
-
2367
- it "should add item to reciprocal's cache if it exists when calling add_" do
2368
- @c2.many_to_many :attributes, :class => @c1
2369
- @c1.many_to_many :nodes, :class => @c2
2370
-
2371
- n = @c2.new(:id => 1234)
2372
- att = @c1.load(:id => 345)
2373
- att.associations[:nodes] = []
2374
- n.add_attribute(att)
2375
- att.nodes.must_equal [n]
2376
- end
2377
-
2378
- it "should remove item from cache if it exists when calling remove_" do
2379
- @c2.many_to_many :attributes, :class => @c1
2380
-
2381
- n = @c2.new(:id => 1234)
2382
- att = @c1.load(:id => 345)
2383
- a = [att]
2384
- n.associations[:attributes] = a
2385
- n.remove_attribute(att)
2386
- a.must_equal []
2387
- end
2388
-
2389
- it "should remove item from reciprocal's if it exists when calling remove_" do
2390
- @c2.many_to_many :attributes, :class => @c1
2391
- @c1.many_to_many :nodes, :class => @c2
2392
-
2393
- n = @c2.new(:id => 1234)
2394
- att = @c1.new(:id => 345)
2395
- att.associations[:nodes] = [n]
2396
- n.remove_attribute(att)
2397
- att.nodes.must_equal []
2398
- end
2399
-
2400
- it "should not create the add_, remove_, or remove_all_ methods if :read_only option is used" do
2401
- @c2.many_to_many :attributes, :class => @c1, :read_only=>true
2402
- im = @c2.instance_methods
2403
- im.must_include(:attributes)
2404
- im.must_include(:attributes_dataset)
2405
- im.wont_include(:add_attribute)
2406
- im.wont_include(:remove_attribute)
2407
- im.wont_include(:remove_all_attributes)
2408
- end
2409
-
2410
- it "should not add associations methods directly to class" do
2411
- @c2.many_to_many :attributes, :class => @c1
2412
- im = @c2.instance_methods
2413
- im.must_include(:attributes)
2414
- im.must_include(:attributes_dataset)
2415
- im.must_include(:add_attribute)
2416
- im.must_include(:remove_attribute)
2417
- im.must_include(:remove_all_attributes)
2418
- im2 = @c2.instance_methods(false)
2419
- im2.wont_include(:attributes)
2420
- im2.wont_include(:attributes_dataset)
2421
- im2.wont_include(:add_attribute)
2422
- im2.wont_include(:remove_attribute)
2423
- im2.wont_include(:remove_all_attributes)
2424
- end
2425
-
2426
- it "should have an remove_all_ method that removes all associations" do
2427
- @c2.many_to_many :attributes, :class => @c1
2428
- @c2.new(:id => 1234).remove_all_attributes
2429
- DB.sqls.must_equal ['DELETE FROM attributes_nodes WHERE (node_id = 1234)']
2430
- end
2431
-
2432
- it "should have the remove_all_ method respect the :left_primary_key option" do
2433
- @c2.many_to_many :attributes, :class => @c1, :left_primary_key=>:xxx
2434
- @c2.new(:id => 1234, :xxx=>5).remove_all_attributes
2435
- DB.sqls.must_equal ['DELETE FROM attributes_nodes WHERE (node_id = 5)']
2436
- end
2437
-
2438
- it "should have the remove_all_ method respect composite keys" do
2439
- @c2.many_to_many :attributes, :class => @c1, :left_primary_key=>[:id, :x], :left_key=>[:l1, :l2]
2440
- @c2.load(:id => 1234, :x=>5).remove_all_attributes
2441
- DB.sqls.must_equal ['DELETE FROM attributes_nodes WHERE ((l1 = 1234) AND (l2 = 5))']
2442
- end
2443
-
2444
- it "remove_all should set the cached instance variable to []" do
2445
- @c2.many_to_many :attributes, :class => @c1
2446
- node = @c2.new(:id => 1234)
2447
- node.remove_all_attributes
2448
- node.associations[:attributes].must_equal []
2449
- end
2450
-
2451
- it "remove_all should return the array of previously associated items if the cached instance variable exists" do
2452
- @c2.many_to_many :attributes, :class => @c1
2453
- attrib = @c1.load(:id=>3)
2454
- node = @c2.load(:id => 1234)
2455
- @c1.dataset = @c1.dataset.with_fetch([])
2456
- node.attributes.must_equal []
2457
- node.add_attribute(attrib)
2458
- node.associations[:attributes].must_equal [attrib]
2459
- node.remove_all_attributes.must_equal [attrib]
2460
- end
2461
-
2462
- it "remove_all should return nil if the cached instance variable does not exist" do
2463
- @c2.many_to_many :attributes, :class => @c1
2464
- @c2.new(:id => 1234).remove_all_attributes.must_be_nil
2465
- end
2466
-
2467
- it "remove_all should remove the current item from all reciprocal instance varaibles if it cached instance variable exists" do
2468
- @c2.many_to_many :attributes, :class => @c1
2469
- @c1.many_to_many :nodes, :class => @c2
2470
- @c1.dataset = @c1.dataset.with_fetch([])
2471
- @c2.dataset = @c2.dataset.with_fetch([])
2472
- attrib = @c1.load(:id=>3)
2473
- node = @c2.new(:id => 1234)
2474
- node.attributes.must_equal []
2475
- attrib.nodes.must_equal []
2476
- node.add_attribute(attrib)
2477
- attrib.associations[:nodes].must_equal [node]
2478
- node.remove_all_attributes
2479
- attrib.associations[:nodes].must_equal []
2480
- end
2481
-
2482
- it "add, remove, and remove_all methods should respect :join_table_block option" do
2483
- @c2.many_to_many :attributes, :class => @c1, :join_table_block=>proc{|ds| ds.filter(:x=>123)}
2484
- o = @c2.load(:id => 1234)
2485
- o.add_attribute(@c1.load(:id=>44))
2486
- o.remove_attribute(@c1.load(:id=>45))
2487
- o.remove_all_attributes
2488
- sqls = DB.sqls
2489
- sqls.shift =~ /INSERT INTO attributes_nodes \((node_id|attribute_id), (node_id|attribute_id)\) VALUES \((1234|44), (1234|44)\)/
2490
- sqls.must_equal ["DELETE FROM attributes_nodes WHERE ((x = 123) AND (node_id = 1234) AND (attribute_id = 45))",
2491
- "DELETE FROM attributes_nodes WHERE ((x = 123) AND (node_id = 1234))"]
2492
- end
2493
-
2494
- it "should call an _add_ method internally to add attributes" do
2495
- @c2.many_to_many :attributes, :class => @c1
2496
- @c2.private_instance_methods.must_include(:_add_attribute)
2497
- p = @c2.load(:id=>10)
2498
- c = @c1.load(:id=>123)
2499
- def p._add_attribute(x)
2500
- @x = x
2501
- end
2502
- p.add_attribute(c)
2503
- p.instance_variable_get(:@x).must_equal c
2504
- DB.sqls.must_equal []
2505
- end
2506
-
2507
- it "should support an :adder option for defining the _add_ method" do
2508
- @c2.many_to_many :attributes, :class => @c1, :adder=>proc{|x| @x = x}
2509
- p = @c2.load(:id=>10)
2510
- c = @c1.load(:id=>123)
2511
- p.add_attribute(c)
2512
- p.instance_variable_get(:@x).must_equal c
2513
- DB.sqls.must_equal []
2514
- end
2515
-
2516
- it "should allow additional arguments given to the add_ method and pass them onwards to the _add_ method" do
2517
- @c2.many_to_many :attributes, :class => @c1
2518
- p = @c2.load(:id=>10)
2519
- c = @c1.load(:id=>123)
2520
- def p._add_attribute(x,*y)
2521
- @x = x
2522
- @y = y
2523
- end
2524
- p.add_attribute(c,:foo,:bar=>:baz)
2525
- p.instance_variable_get(:@x).must_equal c
2526
- p.instance_variable_get(:@y).must_equal [:foo,{:bar=>:baz}]
2527
- end
2528
-
2529
- it "should call a _remove_ method internally to remove attributes" do
2530
- @c2.many_to_many :attributes, :class => @c1
2531
- @c2.private_instance_methods.must_include(:_remove_attribute)
2532
- p = @c2.load(:id=>10)
2533
- c = @c1.load(:id=>123)
2534
- def p._remove_attribute(x)
2535
- @x = x
2536
- end
2537
- p.remove_attribute(c)
2538
- p.instance_variable_get(:@x).must_equal c
2539
- DB.sqls.must_equal []
2540
- end
2541
-
2542
- it "should support a :remover option for defining the _remove_ method" do
2543
- @c2.many_to_many :attributes, :class => @c1, :remover=>proc{|x| @x = x}
2544
- p = @c2.load(:id=>10)
2545
- c = @c1.load(:id=>123)
2546
- p.remove_attribute(c)
2547
- p.instance_variable_get(:@x).must_equal c
2548
- DB.sqls.must_equal []
2549
- end
2550
-
2551
- it "should allow additional arguments given to the remove_ method and pass them onwards to the _remove_ method" do
2552
- @c2.many_to_many :attributes, :class => @c1
2553
- p = @c2.load(:id=>10)
2554
- c = @c1.load(:id=>123)
2555
- def p._remove_attribute(x,*y)
2556
- @x = x
2557
- @y = y
2558
- end
2559
- p.remove_attribute(c,:foo,:bar=>:baz)
2560
- p.instance_variable_get(:@x).must_equal c
2561
- p.instance_variable_get(:@y).must_equal [:foo,{:bar=>:baz}]
2562
- end
2563
-
2564
- it "should allow additional arguments given to the remove_all_ method and pass them onwards to the _remove_all_ method" do
2565
- @c2.many_to_many :attributes, :class => @c1
2566
- p = @c2.load(:id=>10)
2567
- def p._remove_all_attributes(*y)
2568
- @y = y
2569
- end
2570
- p.remove_all_attributes(:foo,:bar=>:baz)
2571
- p.instance_variable_get(:@y).must_equal [:foo,{:bar=>:baz}]
2572
- end
2573
-
2574
- it "should call a _remove_all_ method internally to remove attributes" do
2575
- @c2.many_to_many :attributes, :class => @c1
2576
- @c2.private_instance_methods.must_include(:_remove_all_attributes)
2577
- p = @c2.load(:id=>10)
2578
- def p._remove_all_attributes
2579
- @x = :foo
2580
- end
2581
- p.remove_all_attributes
2582
- p.instance_variable_get(:@x).must_equal :foo
2583
- DB.sqls.must_equal []
2584
- end
2585
-
2586
- it "should support a :clearer option for defining the _remove_all_ method" do
2587
- @c2.many_to_many :attributes, :class => @c1, :clearer=>proc{@x = :foo}
2588
- p = @c2.load(:id=>10)
2589
- p.remove_all_attributes
2590
- p.instance_variable_get(:@x).must_equal :foo
2591
- DB.sqls.must_equal []
2592
- end
2593
-
2594
- it "should support (before|after)_(add|remove) callbacks" do
2595
- h = []
2596
- @c2.many_to_many :attributes, :class => @c1, :before_add=>[proc{|x,y| h << x.pk; h << -y.pk}, :blah], :after_add=>proc{h << 3}, :before_remove=>:blah, :after_remove=>[:blahr]
2597
- @c2.class_eval do
2598
- self::Foo = h
2599
- def _add_attribute(v)
2600
- model::Foo << 4
2601
- end
2602
- def _remove_attribute(v)
2603
- model::Foo << 5
2604
- end
2605
- def blah(x)
2606
- model::Foo << x.pk
2607
- end
2608
- def blahr(x)
2609
- model::Foo << 6
2610
- end
2611
- end
2612
- p = @c2.load(:id=>10)
2613
- c = @c1.load(:id=>123)
2614
- h.must_equal []
2615
- p.add_attribute(c)
2616
- h.must_equal [10, -123, 123, 4, 3]
2617
- p.remove_attribute(c)
2618
- h.must_equal [10, -123, 123, 4, 3, 123, 5, 6]
2619
- end
2620
-
2621
- it "should support after_load association callback" do
2622
- h = []
2623
- @c2.many_to_many :attributes, :class => @c1, :after_load=>[proc{|x,y| h << [x.pk, y.collect{|z|z.pk}]}, :al]
2624
- @c2.class_eval do
2625
- self::Foo = h
2626
- def al(v)
2627
- v.each{|x| model::Foo << x.pk}
2628
- end
2629
- end
2630
- @c1.dataset = @c1.dataset.with_fetch([{:id=>20}, {:id=>30}])
2631
- p = @c2.load(:id=>10, :parent_id=>20)
2632
- attributes = p.attributes
2633
- h.must_equal [[10, [20, 30]], 20, 30]
2634
- attributes.collect{|a| a.pk}.must_equal [20, 30]
2635
- end
2636
-
2637
- it "should raise error and not call internal add or remove method if before callback calls cancel_action if raise_on_save_failure is true" do
2638
- p = @c2.load(:id=>10)
2639
- c = @c1.load(:id=>123)
2640
- @c2.many_to_many :attributes, :class => @c1, :before_add=>:ba, :before_remove=>:br
2641
- def p.ba(o) cancel_action end
2642
- def p._add_attribute; raise; end
2643
- def p._remove_attribute; raise; end
2644
- p.associations[:attributes] = []
2645
- p.raise_on_save_failure = true
2646
- proc{p.add_attribute(c)}.must_raise(Sequel::HookFailed)
2647
- p.attributes.must_equal []
2648
- p.associations[:attributes] = [c]
2649
- def p.br(o) cancel_action end
2650
- proc{p.remove_attribute(c)}.must_raise(Sequel::HookFailed)
2651
- p.attributes.must_equal [c]
2652
- end
2653
-
2654
- it "should return nil and not call internal add or remove method if before callback calls cancel_action if raise_on_save_failure is false" do
2655
- p = @c2.load(:id=>10)
2656
- c = @c1.load(:id=>123)
2657
- p.raise_on_save_failure = false
2658
- @c2.many_to_many :attributes, :class => @c1, :before_add=>:ba, :before_remove=>:br
2659
- def p.ba(o) cancel_action end
2660
- def p._add_attribute; raise; end
2661
- def p._remove_attribute; raise; end
2662
- p.associations[:attributes] = []
2663
- p.add_attribute(c).must_be_nil
2664
- p.attributes.must_equal []
2665
- p.associations[:attributes] = [c]
2666
- def p.br(o) cancel_action end
2667
- p.remove_attribute(c).must_be_nil
2668
- p.attributes.must_equal [c]
2669
- end
2670
-
2671
- it "should support a :uniq option that removes duplicates from the association" do
2672
- @c2.many_to_many :attributes, :class => @c1, :uniq=>true
2673
- @c1.dataset = @c1.dataset.with_fetch([{:id=>20}, {:id=>30}, {:id=>20}, {:id=>30}])
2674
- @c2.load(:id=>10, :parent_id=>20).attributes.must_equal [@c1.load(:id=>20), @c1.load(:id=>30)]
2675
- end
2676
-
2677
- it "should support a :distinct option that uses the DISTINCT clause" do
2678
- @c2.many_to_many :attributes, :class => @c1, :distinct=>true
2679
- @c2.load(:id=>10).attributes_dataset.sql.must_equal "SELECT DISTINCT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 10)"
2680
- end
2681
-
2682
- it "should not apply association options when removing all associated records" do
2683
- @c2.many_to_many :attributes, :class => @c1 do |ds|
2684
- ds.filter(:name=>'John')
2685
- end
2686
- @c2.load(:id=>1).remove_all_attributes
2687
- DB.sqls.must_equal ["DELETE FROM attributes_nodes WHERE (node_id = 1)"]
2688
- end
2689
-
2690
- it "should use assocation's dataset when grabbing a record to remove from the assocation by primary key" do
2691
- @c2.many_to_many :attributes, :class => @c1 do |ds|
2692
- ds.filter(:join_table_att=>3)
2693
- end
2694
- @c1.dataset = @c1.dataset.with_fetch(:id=>2)
2695
- @c2.load(:id=>1).remove_attribute(2)
2696
- DB.sqls.must_equal ["SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((attributes_nodes.node_id = 1) AND (join_table_att = 3) AND (attributes.id = 2)) LIMIT 1",
2697
- "DELETE FROM attributes_nodes WHERE ((node_id = 1) AND (attribute_id = 2))"]
2698
- end
2699
-
2700
- it "should have association dataset use false condition if any key is nil" do
2701
- @c1.many_to_many :attributes, :class => @c1, :left_primary_key=>:y
2702
- @c1.load(:id=>1).attributes_dataset.sql.must_equal "SELECT attributes.* FROM attributes INNER JOIN attributes_attributes ON (attributes_attributes.attribute_id = attributes.id) WHERE 'f'"
2703
- end
2704
- end
2705
-
2706
- describe Sequel::Model, "one_through_one" do
2707
- before do
2708
- @c1 = Class.new(Sequel::Model(:attributes)) do
2709
- unrestrict_primary_key
2710
- attr_accessor :yyy
2711
- def self.name; 'Attribute'; end
2712
- def self.to_s; 'Attribute'; end
2713
- columns :id, :y, :z
2714
- end
2715
-
2716
- @c2 = Class.new(Sequel::Model(:nodes)) do
2717
- unrestrict_primary_key
2718
- attr_accessor :xxx
2719
-
2720
- def self.name; 'Node'; end
2721
- def self.to_s; 'Node'; end
2722
- columns :id, :x
2723
- end
2724
- @dataset = @c2.dataset
2725
- @c1.dataset = @c1.dataset.with_autoid(1)
2726
-
2727
- [@c1, @c2].each{|c| c.dataset = c.dataset.with_fetch({})}
2728
- DB.reset
2729
- end
2730
- after do
2731
- DB.fetch = {:id => 1, :x => 1}
2732
- end
2733
-
2734
- it "should use implicit key values and join table if omitted" do
2735
- @c2.one_through_one :attribute, :class => @c1
2736
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 1'
2737
- end
2738
-
2739
- it "should respect :predicate_key when lazily loading" do
2740
- @c2.one_through_one :attribute, :class => @c1, :predicate_key=>Sequel.subscript(Sequel[:attributes_nodes][:node_id], 0)
2741
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id[0] = 1234) LIMIT 1'
2742
- end
2743
-
2744
- it "should use explicit key values and join table if given" do
2745
- @c2.one_through_one :attribute, :class => @c1, :left_key => :nodeid, :right_key => :attributeid, :join_table => :attribute2node
2746
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attribute2node ON (attribute2node.attributeid = attributes.id) WHERE (attribute2node.nodeid = 1234) LIMIT 1'
2747
- end
2748
-
2749
- it "should support a conditions option" do
2750
- @c2.one_through_one :attribute, :class => @c1, :conditions => {:a=>32}
2751
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((a = 32) AND (attributes_nodes.node_id = 1234)) LIMIT 1'
2752
-
2753
- @c2.one_through_one :attribute, :class => @c1, :conditions => Sequel.lit('a = ?', 32)
2754
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((a = 32) AND (attributes_nodes.node_id = 1234)) LIMIT 1'
2755
- @c2.new(:id => 1234).attribute.must_equal @c1.load({})
2756
- end
2757
-
2758
- it "should support an order option" do
2759
- @c2.one_through_one :attribute, :class => @c1, :order => :blah
2760
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) ORDER BY blah LIMIT 1'
2761
- end
2762
-
2763
- it "should support an array for the order option" do
2764
- @c2.one_through_one :attribute, :class => @c1, :order => [:blah1, :blah2]
2765
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) ORDER BY blah1, blah2 LIMIT 1'
2766
- end
2767
-
2768
- it "should support :left_primary_key and :right_primary_key options" do
2769
- @c2.one_through_one :attribute, :class => @c1, :left_primary_key=>:xxx, :right_primary_key=>:yyy
2770
- @c2.new(:id => 1234, :xxx=>5).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.yyy) WHERE (attributes_nodes.node_id = 5) LIMIT 1'
2771
- end
2772
-
2773
- it "should support composite keys" do
2774
- @c2.one_through_one :attribute, :class => @c1, :left_key=>[:l1, :l2], :right_key=>[:r1, :r2], :left_primary_key=>[:id, :x], :right_primary_key=>[:id, :y]
2775
- @c2.load(:id => 1234, :x=>5).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON ((attributes_nodes.r1 = attributes.id) AND (attributes_nodes.r2 = attributes.y)) WHERE ((attributes_nodes.l1 = 1234) AND (attributes_nodes.l2 = 5)) LIMIT 1'
2776
- end
2777
-
2778
- it "should not issue query if not all keys have values" do
2779
- @c2.one_through_one :attribute, :class => @c1, :left_key=>[:l1, :l2], :right_key=>[:r1, :r2], :left_primary_key=>[:id, :x], :right_primary_key=>[:id, :y]
2780
- @c2.load(:id => 1234, :x=>nil).attribute.must_be_nil
2781
- DB.sqls.must_equal []
2782
- end
2783
-
2784
- it "should raise an Error unless same number of composite keys used" do
2785
- proc{@c2.one_through_one :attribute, :class => @c1, :left_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2786
- proc{@c2.one_through_one :attribute, :class => @c1, :left_primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2787
- proc{@c2.one_through_one :attribute, :class => @c1, :left_key=>[:node_id, :id], :left_primary_key=>:id}.must_raise(Sequel::Error)
2788
- proc{@c2.one_through_one :attribute, :class => @c1, :left_key=>:id, :left_primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2789
- proc{@c2.one_through_one :attribute, :class => @c1, :left_key=>[:node_id, :id, :x], :left_primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
2790
-
2791
- proc{@c2.one_through_one :attribute, :class => @c1, :right_primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2792
- proc{@c2.one_through_one :attribute, :class => @c1, :right_key=>[:node_id, :id], :right_primary_key=>:id}.must_raise(Sequel::Error)
2793
- proc{@c2.one_through_one :attribute, :class => @c1, :right_key=>:id, :left_primary_key=>[:node_id, :id]}.must_raise(Sequel::Error)
2794
- proc{@c2.one_through_one :attribute, :class => @c1, :right_key=>[:node_id, :id, :x], :right_primary_key=>[:parent_id, :id]}.must_raise(Sequel::Error)
2795
- end
2796
-
2797
- it "should support a select option" do
2798
- @c2.one_through_one :attribute, :class => @c1, :select => :blah
2799
-
2800
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT blah FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 1'
2801
- end
2802
-
2803
- it "should support an array for the select option" do
2804
- @c2.one_through_one :attribute, :class => @c1, :select => [Sequel::SQL::ColumnAll.new(:attributes), Sequel[:attribute_nodes][:blah2]]
2805
-
2806
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.*, attribute_nodes.blah2 FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 1'
2807
- end
2808
-
2809
- it "should accept a block" do
2810
- @c2.one_through_one :attribute, :class => @c1 do |ds|
2811
- ds.filter(:xxx => @xxx)
2812
- end
2813
-
2814
- n = @c2.new(:id => 1234)
2815
- n.xxx = 555
2816
- n.attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((attributes_nodes.node_id = 1234) AND (xxx = 555)) LIMIT 1'
2817
- end
2818
-
2819
- it "should allow the :order option while accepting a block" do
2820
- @c2.one_through_one :attribute, :class => @c1, :order=>[:blah1, :blah2] do |ds|
2821
- ds.filter(:xxx => @xxx)
2822
- end
2823
-
2824
- n = @c2.new(:id => 1234)
2825
- n.xxx = 555
2826
- n.attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE ((attributes_nodes.node_id = 1234) AND (xxx = 555)) ORDER BY blah1, blah2 LIMIT 1'
2827
- end
2828
-
2829
- it "should support a :dataset option that is used instead of the default" do
2830
- c1 = @c1
2831
- @c2.one_through_one :attribute, :class => @c1, :dataset=>proc{c1.join_table(:natural, :an).filter(Sequel[:an][:nodeid]=>pk)}, :order=> :a, :select=>nil do |ds|
2832
- ds.filter(:xxx => @xxx)
2833
- end
2834
-
2835
- n = @c2.new(:id => 1234)
2836
- n.xxx = 555
2837
- n.attribute_dataset.sql.must_equal 'SELECT * FROM attributes NATURAL JOIN an WHERE ((an.nodeid = 1234) AND (xxx = 555)) ORDER BY a LIMIT 1'
2838
- n.attribute.must_equal @c1.load({})
2839
- DB.sqls.must_equal ['SELECT * FROM attributes NATURAL JOIN an WHERE ((an.nodeid = 1234) AND (xxx = 555)) ORDER BY a LIMIT 1']
2840
- end
2841
-
2842
- it "should support a :dataset option that accepts the reflection as an argument" do
2843
- @c2.one_through_one :attribute, :class => @c1, :dataset=>lambda{|opts| opts.associated_class.natural_join(:an).filter(Sequel[:an][:nodeid]=>pk)}, :order=> :a, :select=>nil do |ds|
2844
- ds.filter(:xxx => @xxx)
2845
- end
2846
-
2847
- n = @c2.new(:id => 1234)
2848
- n.xxx = 555
2849
- n.attribute_dataset.sql.must_equal 'SELECT * FROM attributes NATURAL JOIN an WHERE ((an.nodeid = 1234) AND (xxx = 555)) ORDER BY a LIMIT 1'
2850
- n.attribute.must_equal @c1.load({})
2851
- DB.sqls.must_equal ['SELECT * FROM attributes NATURAL JOIN an WHERE ((an.nodeid = 1234) AND (xxx = 555)) ORDER BY a LIMIT 1']
2852
- end
2853
-
2854
- it "should support a :limit option to specify an offset" do
2855
- @c2.one_through_one :attribute, :class => @c1 , :limit=>[nil, 10]
2856
- @c2.new(:id => 1234).attribute_dataset.sql.must_equal 'SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 1 OFFSET 10'
2857
- end
2858
-
2859
- it "should have the :eager option affect the _dataset method" do
2860
- @c2.one_through_one :attribute, :class => @c2 , :eager=>:attribute
2861
- @c2.new(:id => 1234).attribute_dataset.opts[:eager].must_equal(:attribute=>nil)
2862
- end
2863
-
2864
- it "should handle an aliased join table" do
2865
- @c2.one_through_one :attribute, :class => @c1, :join_table => Sequel[:attribute2node].as(:attributes_nodes)
2866
- n = @c2.load(:id => 1234)
2867
- n.attribute_dataset.sql.must_equal "SELECT attributes.* FROM attributes INNER JOIN attribute2node AS attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 1"
2868
- end
2869
-
2870
- with_symbol_splitting "should handle an aliased join table with splittable symbol" do
2871
- @c2.one_through_one :attribute, :class => @c1, :join_table => :attribute2node___attributes_nodes
2872
- n = @c2.load(:id => 1234)
2873
- n.attribute_dataset.sql.must_equal "SELECT attributes.* FROM attributes INNER JOIN attribute2node AS attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 1"
2874
- end
2875
-
2876
- it "should raise an error if the model object doesn't have a valid primary key" do
2877
- @c2.one_through_one :attribute, :class => @c1
2878
- a = @c2.new
2879
- proc{a.attribute_dataset}.must_raise(Sequel::Error)
2880
- end
2881
-
2882
- it "should provide an array with all members of the association" do
2883
- @c2.one_through_one :attribute, :class => @c1
2884
-
2885
- @c2.new(:id => 1234).attribute.must_equal @c1.load({})
2886
- DB.sqls.must_equal ['SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 1']
2887
- end
2888
-
2889
- it "should populate cache when accessed" do
2890
- @c2.one_through_one :attribute, :class => @c1
2891
-
2892
- n = @c2.new(:id => 1234)
2893
- n.associations.include?(:attribute).must_equal false
2894
- atts = n.attribute
2895
- atts.must_equal n.associations[:attribute]
2896
- end
2897
-
2898
- it "should use cache if available" do
2899
- @c2.one_through_one :attribute, :class => @c1
2900
-
2901
- n = @c2.new(:id => 1234)
2902
- n.associations[:attribute] = 42
2903
- n.attribute.must_equal 42
2904
- DB.sqls.must_equal []
2905
- end
2906
-
2907
- it "should not use cache if asked to reload" do
2908
- @c2.one_through_one :attribute, :class => @c1
2909
-
2910
- n = @c2.new(:id => 1234)
2911
- n.associations[:attribute] = 42
2912
- n.attribute(:reload=>true).wont_equal 42
2913
- DB.sqls.must_equal ["SELECT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 1234) LIMIT 1"]
2914
- end
2915
-
2916
- it "should not add associations methods directly to class" do
2917
- @c2.one_through_one :attribute, :class => @c1
2918
- im = @c2.instance_methods
2919
- im.must_include(:attribute)
2920
- im.must_include(:attribute_dataset)
2921
- im2 = @c2.instance_methods(false)
2922
- im2.wont_include(:attribute)
2923
- im2.wont_include(:attribute_dataset)
2924
- end
2925
-
2926
- it "should support after_load association callback" do
2927
- h = []
2928
- @c2.one_through_one :attribute, :class => @c1, :after_load=>[proc{|x,y| h << [x.pk, y.pk]}, :al]
2929
- @c2.class_eval do
2930
- self::Foo = h
2931
- def al(v)
2932
- model::Foo << v.pk
2933
- end
2934
- end
2935
- @c1.dataset = @c1.dataset.with_fetch([{:id=>20}])
2936
- p = @c2.load(:id=>10, :parent_id=>20)
2937
- attribute = p.attribute
2938
- h.must_equal [[10, 20], 20]
2939
- attribute.pk.must_equal 20
2940
- end
2941
-
2942
- it "should support a :distinct option that uses the DISTINCT clause" do
2943
- @c2.one_through_one :attribute, :class => @c1, :distinct=>true
2944
- @c2.load(:id=>10).attribute_dataset.sql.must_equal "SELECT DISTINCT attributes.* FROM attributes INNER JOIN attributes_nodes ON (attributes_nodes.attribute_id = attributes.id) WHERE (attributes_nodes.node_id = 10) LIMIT 1"
2945
- end
2946
-
2947
- it "should not add a setter method if the :read_only option is true" do
2948
- @c2.one_through_one :attribute, :class => @c1, :read_only=>true
2949
- im = @c2.instance_methods
2950
- im.must_include(:attribute)
2951
- im.wont_include(:attribute=)
2952
- end
2953
-
2954
- it "should add a setter method" do
2955
- @c2.one_through_one :attribute, :class => @c1
2956
- attrib = @c1.new(:id=>3)
2957
- DB.fetch = []
2958
- o = @c2.load(:id => 1234)
2959
- o.attribute = nil
2960
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (node_id = 1234) LIMIT 1"]
2961
-
2962
- o.attribute = attrib
2963
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (node_id = 1234) LIMIT 1",
2964
- "INSERT INTO attributes_nodes (attribute_id, node_id) VALUES (3, 1234)"]
2965
-
2966
- DB.fetch = {:node_id=>1234, :attribute_id=>5}
2967
- o.attribute = nil
2968
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (node_id = 1234) LIMIT 1",
2969
- "DELETE FROM attributes_nodes WHERE ((node_id = 1234) AND (attribute_id = 5))"]
2970
-
2971
- o.attribute = attrib
2972
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (node_id = 1234) LIMIT 1",
2973
- "UPDATE attributes_nodes SET attribute_id = 3 WHERE ((node_id = 1234) AND (attribute_id = 5))"]
2974
-
2975
- @c2.load(:id => 1234).attribute = @c1.new(:id=>5)
2976
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (node_id = 1234) LIMIT 1"]
2977
- end
2978
-
2979
- it "should use a transaction in the setter method" do
2980
- @c2.one_through_one :attribute, :class => @c1
2981
- @c2.use_transactions = true
2982
- @c1.load(:id=>3)
2983
- DB.fetch = []
2984
- @c2.new(:id => 1234).attribute = nil
2985
- DB.sqls.must_equal ['BEGIN',
2986
- "SELECT * FROM attributes_nodes WHERE (node_id = 1234) LIMIT 1",
2987
- 'COMMIT']
2988
- end
2989
-
2990
- it "should have setter method respect :join_table_block option" do
2991
- @c2.one_through_one :attribute, :class => @c1, :join_table_block=>proc{|ds| ds.where(:a)}
2992
- attrib = @c1.new(:id=>3)
2993
- DB.fetch = []
2994
- o = @c2.new(:id => 1234)
2995
- o.attribute = nil
2996
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (a AND (node_id = 1234)) LIMIT 1"]
2997
-
2998
- o.attribute = attrib
2999
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (a AND (node_id = 1234)) LIMIT 1",
3000
- "INSERT INTO attributes_nodes (attribute_id, node_id) VALUES (3, 1234)"]
3001
-
3002
- DB.fetch = {:node_id=>1234, :attribute_id=>5}
3003
- o.attribute = nil
3004
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (a AND (node_id = 1234)) LIMIT 1",
3005
- "DELETE FROM attributes_nodes WHERE (a AND (node_id = 1234) AND (attribute_id = 5))"]
3006
-
3007
- o.attribute = attrib
3008
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (a AND (node_id = 1234)) LIMIT 1",
3009
- "UPDATE attributes_nodes SET attribute_id = 3 WHERE (a AND (node_id = 1234) AND (attribute_id = 5))"]
3010
- end
3011
-
3012
- it "should have the setter method respect the :left_primary_key and :right_primary_key option" do
3013
- @c2.one_through_one :attribute, :class => @c1, :left_primary_key=>:xxx, :right_primary_key=>:yyy
3014
- attrib = @c1.new(:id=>3, :yyy=>7)
3015
- DB.fetch = []
3016
- o = @c2.new(:id => 1234, :xxx=>5)
3017
- o.attribute = nil
3018
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (node_id = 5) LIMIT 1"]
3019
-
3020
- o.attribute = attrib
3021
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (node_id = 5) LIMIT 1",
3022
- "INSERT INTO attributes_nodes (attribute_id, node_id) VALUES (7, 5)"]
3023
-
3024
- DB.fetch = {:node_id=>1234, :attribute_id=>9}
3025
- o.attribute = nil
3026
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (node_id = 5) LIMIT 1",
3027
- "DELETE FROM attributes_nodes WHERE ((node_id = 5) AND (attribute_id = 9))"]
3028
-
3029
- o.attribute = attrib
3030
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE (node_id = 5) LIMIT 1",
3031
- "UPDATE attributes_nodes SET attribute_id = 7 WHERE ((node_id = 5) AND (attribute_id = 9))"]
3032
- end
3033
-
3034
- it "should have the setter method respect composite keys" do
3035
- @c2.one_through_one :attribute, :class => @c1, :left_key=>[:node_id, :y], :left_primary_key=>[:id, :x], :right_key=>[:attribute_id, :z], :right_primary_key=>[:id, :w]
3036
- attrib = @c1.load(:id=>3, :w=>7)
3037
- @c1.def_column_alias :w, :w
3038
- DB.fetch = []
3039
- o = @c2.new(:id => 1234, :x=>5)
3040
- o.attribute = nil
3041
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE ((node_id = 1234) AND (y = 5)) LIMIT 1"]
3042
-
3043
- o.attribute = attrib
3044
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE ((node_id = 1234) AND (y = 5)) LIMIT 1",
3045
- "INSERT INTO attributes_nodes (attribute_id, z, node_id, y) VALUES (3, 7, 1234, 5)"]
3046
-
3047
- DB.fetch = {:node_id=>1234, :attribute_id=>10, :y=>6, :z=>8}
3048
- o.attribute = nil
3049
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE ((node_id = 1234) AND (y = 5)) LIMIT 1",
3050
- "DELETE FROM attributes_nodes WHERE ((node_id = 1234) AND (y = 5) AND (attribute_id = 10) AND (z = 8))"]
3051
-
3052
- o.attribute = attrib
3053
- DB.sqls.must_equal ["SELECT * FROM attributes_nodes WHERE ((node_id = 1234) AND (y = 5)) LIMIT 1",
3054
- "UPDATE attributes_nodes SET attribute_id = 3, z = 7 WHERE ((node_id = 1234) AND (y = 5) AND (attribute_id = 10) AND (z = 8))"]
3055
- end
3056
-
3057
- it "should raise an error if the current model object that doesn't have a valid primary key" do
3058
- @c2.one_through_one :attribute, :class => @c1
3059
- p = @c2.new
3060
- c = @c2.load(:id=>123)
3061
- proc{c.attribute = p}.must_raise(Sequel::Error)
3062
- end
3063
-
3064
- it "should raise an error if the associated object that doesn't have a valid primary key" do
3065
- @c2.one_through_one :attribute, :class => @c1
3066
- p = @c2.new
3067
- c = @c2.load(:id=>123)
3068
- proc{p.attribute = c}.must_raise(Sequel::Error)
3069
- end
3070
-
3071
- it "should make the change to the foreign_key value inside a _association= method" do
3072
- @c2.one_through_one :attribute, :class => @c1
3073
- @c2.private_instance_methods.must_include(:_attribute=)
3074
- attrib = @c1.new(:id=>3)
3075
- o = @c2.new(:id => 1234)
3076
- def o._attribute=(x)
3077
- @x = x
3078
- end
3079
- o.attribute = attrib
3080
- o.instance_variable_get(:@x).must_equal attrib
3081
- end
3082
-
3083
- it "should have a :setter option define the _association= method" do
3084
- @c2.one_through_one :attribute, :class => @c1, :setter=>proc{|x| @x = x}
3085
- attrib = @c1.new(:id=>3)
3086
- o = @c2.new(:id => 1234)
3087
- o.attribute = attrib
3088
- o.instance_variable_get(:@x).must_equal attrib
3089
- end
3090
-
3091
- it "should support (before|after)_set callbacks" do
3092
- h = []
3093
- @c2.one_through_one :attribute, :class => @c1, :before_set=>[proc{|x,y| h << x.pk; h << (y ? -y.pk : :y)}, :blah], :after_set=>proc{h << :l}
3094
- @c2.class_eval do
3095
- self::Foo = h
3096
- def blah(x)
3097
- model::Foo << (x ? x.pk : :x)
3098
- end
3099
- end
3100
- attrib = @c1.new(:id=>3)
3101
- o = @c2.new(:id => 1234)
3102
- h.must_equal []
3103
- o.attribute = attrib
3104
- h.must_equal [1234, -3, 3, :l]
3105
- o.attribute = nil
3106
- h.must_equal [1234, -3, 3, :l, 1234, :y, :x, :l]
3107
- end
3108
-
3109
- it "should have association dataset use false condition if any key is nil" do
3110
- @c1.one_through_one :attribute, :class => @c1, :left_primary_key=>:y
3111
- @c1.load(:id=>1).attribute_dataset.sql.must_equal "SELECT attributes.* FROM attributes INNER JOIN attributes_attributes ON (attributes_attributes.attribute_id = attributes.id) WHERE 'f' LIMIT 1"
3112
- end
3113
- end
3114
-
3115
- describe "Filtering by associations" do
3116
- before(:all) do
3117
- db = Sequel.mock
3118
- db.extend_datasets do
3119
- def supports_window_functions?; true; end
3120
- def supports_distinct_on?; true; end
3121
- end
3122
- @Album = Class.new(Sequel::Model(db[:albums]))
3123
- artist = @Artist = Class.new(Sequel::Model(db[:artists]))
3124
- tag = @Tag = Class.new(Sequel::Model(db[:tags]))
3125
- track = @Track = Class.new(Sequel::Model(db[:tracks]))
3126
- album_info = @AlbumInfo = Class.new(Sequel::Model(db[:album_infos]))
3127
- @Artist.columns :id, :id1, :id2
3128
- @Tag.columns :id, :tid1, :tid2
3129
- @Track.columns :id, :album_id, :album_id1, :album_id2
3130
- @AlbumInfo.columns :id, :album_id, :album_id1, :album_id2
3131
- @Album.class_eval do
3132
- columns :id, :id1, :id2, :artist_id, :artist_id1, :artist_id2
3133
- b = lambda{|ds| ds.where(:name=>'B')}
3134
- c = {:name=>'A'}
3135
-
3136
- many_to_one :artist, :class=>artist, :key=>:artist_id
3137
- one_to_many :tracks, :class=>track, :key=>:album_id
3138
- one_to_one :track, :class=>track, :key=>:album_id
3139
- one_to_one :album_info, :class=>album_info, :key=>:album_id
3140
- many_to_many :tags, :class=>tag, :left_key=>:album_id, :join_table=>:albums_tags, :right_key=>:tag_id
3141
-
3142
- many_to_one :a_artist, :clone=>:artist, :conditions=>c
3143
- one_to_many :a_tracks, :clone=>:tracks, :conditions=>c
3144
- one_to_one :a_album_info, :clone=>:album_info, :conditions=>c
3145
- many_to_many :a_tags, :clone=>:tags, :conditions=>c
3146
-
3147
- many_to_one :b_artist, :clone=>:artist, &b
3148
- one_to_many :b_tracks, :clone=>:tracks, &b
3149
- one_to_one :b_album_info, :clone=>:album_info, &b
3150
- many_to_many :b_tags, :clone=>:tags, &b
3151
-
3152
- one_to_many :l_tracks, :clone=>:tracks, :limit=>10
3153
- one_to_one :l_track, :clone=>:tracks, :order=>:name
3154
- many_to_many :l_tags, :clone=>:tags, :limit=>10
3155
- one_through_one :l_tag, :clone=>:tags, :order=>:name
3156
-
3157
- one_to_many :al_tracks, :clone=>:l_tracks, :conditions=>c
3158
- one_to_one :al_track, :clone=>:l_track, :conditions=>c
3159
- many_to_many :al_tags, :clone=>:l_tags, :conditions=>c
3160
- one_through_one :al_tag, :clone=>:l_tag, :conditions=>c
3161
-
3162
- many_to_one :cartist, :class=>artist, :key=>[:artist_id1, :artist_id2], :primary_key=>[:id1, :id2]
3163
- one_to_many :ctracks, :class=>track, :key=>[:album_id1, :album_id2], :primary_key=>[:id1, :id2]
3164
- one_to_one :calbum_info, :class=>album_info, :key=>[:album_id1, :album_id2], :primary_key=>[:id1, :id2]
3165
- many_to_many :ctags, :class=>tag, :left_key=>[:album_id1, :album_id2], :left_primary_key=>[:id1, :id2], :right_key=>[:tag_id1, :tag_id2], :right_primary_key=>[:tid1, :tid2], :join_table=>:albums_tags
3166
-
3167
- many_to_one :a_cartist, :clone=>:cartist, :conditions=>c
3168
- one_to_many :a_ctracks, :clone=>:ctracks, :conditions=>c
3169
- one_to_one :a_calbum_info, :clone=>:calbum_info, :conditions=>c
3170
- many_to_many :a_ctags, :clone=>:ctags, :conditions=>c
3171
-
3172
- many_to_one :b_cartist, :clone=>:cartist, &b
3173
- one_to_many :b_ctracks, :clone=>:ctracks, &b
3174
- one_to_one :b_calbum_info, :clone=>:calbum_info, &b
3175
- many_to_many :b_ctags, :clone=>:ctags, &b
3176
-
3177
- one_to_many :l_ctracks, :clone=>:ctracks, :limit=>10
3178
- one_to_one :l_ctrack, :clone=>:ctracks, :order=>:name
3179
- many_to_many :l_ctags, :clone=>:ctags, :limit=>10
3180
- one_through_one :l_ctag, :clone=>:ctags, :order=>:name
3181
-
3182
- one_to_many :al_ctracks, :clone=>:l_ctracks, :conditions=>c
3183
- one_to_one :al_ctrack, :clone=>:l_ctrack, :conditions=>c
3184
- many_to_many :al_ctags, :clone=>:l_ctags, :conditions=>c
3185
- one_through_one :al_ctag, :clone=>:l_ctag, :conditions=>c
3186
- end
3187
- end
3188
- after do
3189
- @Album.default_eager_limit_strategy = true
3190
- end
3191
-
3192
- it "should be able to filter on many_to_one associations" do
3193
- @Album.filter(:artist=>@Artist.load(:id=>3)).sql.must_equal 'SELECT * FROM albums WHERE (albums.artist_id = 3)'
3194
- end
3195
-
3196
- it "should be able to filter on one_to_many associations" do
3197
- @Album.filter(:tracks=>@Track.load(:album_id=>3)).sql.must_equal 'SELECT * FROM albums WHERE (albums.id = 3)'
3198
- end
3199
-
3200
- it "should be able to filter on one_to_one associations" do
3201
- @Album.filter(:album_info=>@AlbumInfo.load(:album_id=>3)).sql.must_equal 'SELECT * FROM albums WHERE (albums.id = 3)'
3202
- end
3203
-
3204
- it "should be able to filter on many_to_many associations" do
3205
- @Album.filter(:tags=>@Tag.load(:id=>3)).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM albums_tags WHERE ((albums_tags.tag_id = 3) AND (albums_tags.album_id IS NOT NULL))))'
3206
- end
3207
-
3208
- it "should be able to filter on many_to_one associations with :conditions" do
3209
- @Album.filter(:a_artist=>@Artist.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.artist_id IN (SELECT artists.id FROM artists WHERE ((name = 'A') AND (artists.id IS NOT NULL) AND (artists.id = 3))))"
3210
- end
3211
-
3212
- it "should be able to filter on one_to_many associations with :conditions" do
3213
- @Album.filter(:a_tracks=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'A') AND (tracks.album_id IS NOT NULL) AND (tracks.id = 5))))"
3214
- end
3215
-
3216
- it "should be able to filter on one_to_one associations with :conditions" do
3217
- @Album.filter(:a_album_info=>@AlbumInfo.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id = 5))))"
3218
- end
3219
-
3220
- it "should be able to filter on many_to_many associations with :conditions" do
3221
- @Album.filter(:a_tags=>@Tag.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'A') AND (albums_tags.album_id IS NOT NULL) AND (tags.id = 3))))"
3222
- end
3223
-
3224
- it "should be able to filter on many_to_one associations with block" do
3225
- @Album.filter(:b_artist=>@Artist.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.artist_id IN (SELECT artists.id FROM artists WHERE ((name = 'B') AND (artists.id IS NOT NULL) AND (artists.id = 3))))"
3226
- end
3227
-
3228
- it "should be able to filter on one_to_many associations with block" do
3229
- @Album.filter(:b_tracks=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'B') AND (tracks.album_id IS NOT NULL) AND (tracks.id = 5))))"
3230
- end
3231
-
3232
- it "should be able to filter on one_to_one associations with block" do
3233
- @Album.filter(:b_album_info=>@AlbumInfo.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id = 5))))"
3234
- end
3235
-
3236
- it "should be able to filter on many_to_many associations with block" do
3237
- @Album.filter(:b_tags=>@Tag.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'B') AND (albums_tags.album_id IS NOT NULL) AND (tags.id = 3))))"
3238
- end
3239
-
3240
- it "should be able to filter on one_to_many associations with :limit" do
3241
- @Album.filter(:l_tracks=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT id FROM (SELECT tracks.id, row_number() OVER (PARTITION BY tracks.album_id) AS x_sequel_row_number_x FROM tracks) AS t1 WHERE (x_sequel_row_number_x <= 10))) AND (tracks.id = 5))))"
3242
- end
3243
-
3244
- it "should be able to filter on one_to_one associations with :order" do
3245
- @Album.filter(:l_track=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT DISTINCT ON (tracks.album_id) tracks.id FROM tracks ORDER BY tracks.album_id, name)) AND (tracks.id = 5))))"
3246
- end
3247
-
3248
- it "should be able to filter on one_to_one associations with :filter_limit_strategy" do
3249
- @Album.one_to_one :l_track2, :clone=>:track, :filter_limit_strategy=>:window_function
3250
- @Album.filter(:l_track2=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT id FROM (SELECT tracks.id, row_number() OVER (PARTITION BY tracks.album_id) AS x_sequel_row_number_x FROM tracks) AS t1 WHERE (x_sequel_row_number_x = 1))) AND (tracks.id = 5))))"
3251
- end
3252
-
3253
- it "should be able to filter on one_to_one associations with :eager_limit_strategy" do
3254
- @Album.one_to_one :l_track2, :clone=>:track, :eager_limit_strategy=>:window_function
3255
- @Album.filter(:l_track2=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT id FROM (SELECT tracks.id, row_number() OVER (PARTITION BY tracks.album_id) AS x_sequel_row_number_x FROM tracks) AS t1 WHERE (x_sequel_row_number_x = 1))) AND (tracks.id = 5))))"
3256
- end
3257
-
3258
- it "should be able to filter on one_to_one associations with :order and :filter_limit_strategy" do
3259
- @Album.one_to_one :l_track2, :clone=>:l_track, :filter_limit_strategy=>:window_function
3260
- @Album.filter(:l_track2=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT id FROM (SELECT tracks.id, row_number() OVER (PARTITION BY tracks.album_id ORDER BY name) AS x_sequel_row_number_x FROM tracks) AS t1 WHERE (x_sequel_row_number_x = 1))) AND (tracks.id = 5))))"
3261
- end
3262
-
3263
- it "should be able to filter on one_to_one associations with :order and :eager_limit_strategy" do
3264
- @Album.one_to_one :l_track2, :clone=>:l_track, :eager_limit_strategy=>:window_function
3265
- @Album.filter(:l_track2=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT id FROM (SELECT tracks.id, row_number() OVER (PARTITION BY tracks.album_id ORDER BY name) AS x_sequel_row_number_x FROM tracks) AS t1 WHERE (x_sequel_row_number_x = 1))) AND (tracks.id = 5))))"
3266
- end
3267
-
3268
- it "should be able to filter on one_to_one associations with :order and Model.default_eager_limit_strategy" do
3269
- @Album.default_eager_limit_strategy = :window_function
3270
- @Album.one_to_one :l_track2, :clone=>:l_track
3271
- @Album.filter(:l_track2=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT id FROM (SELECT tracks.id, row_number() OVER (PARTITION BY tracks.album_id ORDER BY name) AS x_sequel_row_number_x FROM tracks) AS t1 WHERE (x_sequel_row_number_x = 1))) AND (tracks.id = 5))))"
3272
- end
3273
-
3274
- it "should be able to filter on one_to_one associations with :order and :eager_limit_strategy=>:union" do
3275
- @Album.one_to_one :l_track2, :clone=>:l_track, :eager_limit_strategy=>:union
3276
- @Album.filter(:l_track2=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT DISTINCT ON (tracks.album_id) tracks.id FROM tracks ORDER BY tracks.album_id, name)) AND (tracks.id = 5))))"
3277
- end
3278
-
3279
- it "should be able to filter on one_to_one associations with :order and :eager_limit_strategy=>:ruby" do
3280
- @Album.one_to_one :l_track2, :clone=>:l_track, :eager_limit_strategy=>:ruby
3281
- @Album.filter(:l_track2=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT DISTINCT ON (tracks.album_id) tracks.id FROM tracks ORDER BY tracks.album_id, name)) AND (tracks.id = 5))))"
3282
- end
3283
-
3284
- it "should be able to filter on one_to_one associations with :filter_limit_strategy :correlated_subquery" do
3285
- @Album.one_to_one :l_track2, :clone=>:track, :filter_limit_strategy=>:correlated_subquery
3286
- @Album.filter(:l_track2=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT t1.id FROM tracks AS t1 WHERE (t1.album_id = tracks.album_id) LIMIT 1)) AND (tracks.id = 5))))"
3287
- end
3288
-
3289
- it "should be able to filter on many_to_many associations with :limit" do
3290
- @Album.filter(:l_tags=>@Tag.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((albums_tags.album_id IS NOT NULL) AND ((albums_tags.album_id, tags.id) IN (SELECT b, c FROM (SELECT albums_tags.album_id AS b, tags.id AS c, row_number() OVER (PARTITION BY albums_tags.album_id) AS x_sequel_row_number_x FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id)) AS t1 WHERE (x_sequel_row_number_x <= 10))) AND (tags.id = 3))))"
3291
- end
3292
-
3293
- it "should be able to filter on one_through_one associations with :order" do
3294
- @Album.filter(:l_tag=>@Tag.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((albums_tags.album_id IS NOT NULL) AND ((albums_tags.album_id, tags.id) IN (SELECT DISTINCT ON (albums_tags.album_id) albums_tags.album_id, tags.id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) ORDER BY albums_tags.album_id, name)) AND (tags.id = 3))))"
3295
- end
3296
-
3297
- it "should be able to filter on one_to_many associations with :limit and :conditions" do
3298
- @Album.filter(:al_tracks=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'A') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT id FROM (SELECT tracks.id, row_number() OVER (PARTITION BY tracks.album_id) AS x_sequel_row_number_x FROM tracks WHERE (name = 'A')) AS t1 WHERE (x_sequel_row_number_x <= 10))) AND (tracks.id = 5))))"
3299
- end
3300
-
3301
- it "should be able to filter on one_to_one associations with :order and :conditions" do
3302
- @Album.filter(:al_track=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'A') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT DISTINCT ON (tracks.album_id) tracks.id FROM tracks WHERE (name = 'A') ORDER BY tracks.album_id, name)) AND (tracks.id = 5))))"
3303
- end
3304
-
3305
- it "should be able to filter on many_to_many associations with :limit and :conditions" do
3306
- @Album.filter(:al_tags=>@Tag.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'A') AND (albums_tags.album_id IS NOT NULL) AND ((albums_tags.album_id, tags.id) IN (SELECT b, c FROM (SELECT albums_tags.album_id AS b, tags.id AS c, row_number() OVER (PARTITION BY albums_tags.album_id) AS x_sequel_row_number_x FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE (name = 'A')) AS t1 WHERE (x_sequel_row_number_x <= 10))) AND (tags.id = 3))))"
3307
- end
3308
-
3309
- it "should be able to filter on one_through_one associations with :order and :conditions" do
3310
- @Album.filter(:al_tag=>@Tag.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'A') AND (albums_tags.album_id IS NOT NULL) AND ((albums_tags.album_id, tags.id) IN (SELECT DISTINCT ON (albums_tags.album_id) albums_tags.album_id, tags.id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE (name = 'A') ORDER BY albums_tags.album_id, name)) AND (tags.id = 3))))"
3311
- end
3312
-
3313
- it "should be able to filter on many_to_one associations with composite keys" do
3314
- @Album.filter(:cartist=>@Artist.load(:id1=>3, :id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id1 = 3) AND (albums.artist_id2 = 4))'
3315
- end
3316
-
3317
- it "should be able to filter on one_to_many associations with composite keys" do
3318
- @Album.filter(:ctracks=>@Track.load(:album_id1=>3, :album_id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1 = 3) AND (albums.id2 = 4))'
3319
- end
3320
-
3321
- it "should be able to filter on one_to_one associations with composite keys" do
3322
- @Album.filter(:calbum_info=>@AlbumInfo.load(:album_id1=>3, :album_id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1 = 3) AND (albums.id2 = 4))'
3323
- end
3324
-
3325
- it "should be able to filter on many_to_many associations with composite keys" do
3326
- @Album.filter(:ctags=>@Tag.load(:tid1=>3, :tid2=>4)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE ((albums_tags.tag_id1 = 3) AND (albums_tags.tag_id2 = 4) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL))))'
3327
- end
3328
-
3329
- it "should be able to filter on many_to_one associations with :conditions and composite keys" do
3330
- @Album.filter(:a_cartist=>@Artist.load(:id=>5, :id1=>3, :id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'A') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id = 5))))"
3331
- end
3332
-
3333
- it "should be able to filter on one_to_many associations with :conditions and composite keys" do
3334
- @Album.filter(:a_ctracks=>@Track.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'A') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id = 5))))"
3335
- end
3336
-
3337
- it "should be able to filter on one_to_one associations with :conditions and composite keys" do
3338
- @Album.filter(:a_calbum_info=>@AlbumInfo.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id = 5))))"
3339
- end
3340
-
3341
- it "should be able to filter on many_to_many associations with block and composite keys" do
3342
- @Album.filter(:a_ctags=>@Tag.load(:id=>5, :tid1=>3, :tid2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'A') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id = 5))))"
3343
- end
3344
-
3345
- it "should be able to filter on many_to_one associations with block and composite keys" do
3346
- @Album.filter(:b_cartist=>@Artist.load(:id=>5, :id1=>3, :id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'B') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id = 5))))"
3347
- end
3348
-
3349
- it "should be able to filter on one_to_many associations with block and composite keys" do
3350
- @Album.filter(:b_ctracks=>@Track.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'B') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id = 5))))"
3351
- end
3352
-
3353
- it "should be able to filter on one_to_one associations with block and composite keys" do
3354
- @Album.filter(:b_calbum_info=>@AlbumInfo.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id = 5))))"
3355
- end
3356
-
3357
- it "should be able to filter on many_to_many associations with block and composite keys" do
3358
- @Album.filter(:b_ctags=>@Tag.load(:id=>5, :tid1=>3, :tid2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'B') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id = 5))))"
3359
- end
3360
-
3361
- it "should be able to filter on one_to_many associations with :limit and composite keys" do
3362
- @Album.filter(:l_ctracks=>@Track.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (SELECT id FROM (SELECT tracks.id, row_number() OVER (PARTITION BY tracks.album_id1, tracks.album_id2) AS x_sequel_row_number_x FROM tracks) AS t1 WHERE (x_sequel_row_number_x <= 10))) AND (tracks.id = 5))))"
3363
- end
3364
-
3365
- it "should be able to filter on one_to_many associations with composite keys and :filter_limit_strategy :correlated_subquery" do
3366
- @Album.one_to_one :l_ctracks2, :clone=>:l_ctracks, :filter_limit_strategy=>:correlated_subquery
3367
- @Album.filter(:l_ctracks2=>@Track.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (SELECT t1.id FROM tracks AS t1 WHERE ((t1.album_id1 = tracks.album_id1) AND (t1.album_id2 = tracks.album_id2)) LIMIT 1)) AND (tracks.id = 5))))"
3368
- end
3369
-
3370
- it "should be able to filter on one_to_one associations with :order and composite keys" do
3371
- @Album.filter(:l_ctrack=>@Track.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (SELECT DISTINCT ON (tracks.album_id1, tracks.album_id2) tracks.id FROM tracks ORDER BY tracks.album_id1, tracks.album_id2, name)) AND (tracks.id = 5))))"
3372
- end
3373
-
3374
- it "should be able to filter on many_to_many associations with :limit and composite keys" do
3375
- @Album.filter(:l_ctags=>@Tag.load(:id=>5, :tid1=>3, :tid2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND ((albums_tags.album_id1, albums_tags.album_id2, tags.id) IN (SELECT b, c, d FROM (SELECT albums_tags.album_id1 AS b, albums_tags.album_id2 AS c, tags.id AS d, row_number() OVER (PARTITION BY albums_tags.album_id1, albums_tags.album_id2) AS x_sequel_row_number_x FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2))) AS t1 WHERE (x_sequel_row_number_x <= 10))) AND (tags.id = 5))))"
3376
- end
3377
-
3378
- it "should be able to filter on one_through_one associations with :order and composite keys" do
3379
- @Album.filter(:l_ctag=>@Tag.load(:id=>5, :tid1=>3, :tid2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND ((albums_tags.album_id1, albums_tags.album_id2, tags.id) IN (SELECT DISTINCT ON (albums_tags.album_id1, albums_tags.album_id2) albums_tags.album_id1, albums_tags.album_id2, tags.id FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) ORDER BY albums_tags.album_id1, albums_tags.album_id2, name)) AND (tags.id = 5))))"
3380
- end
3381
-
3382
- it "should be able to filter on one_to_many associations with :limit and :conditions and composite keys" do
3383
- @Album.filter(:al_ctracks=>@Track.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'A') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (SELECT id FROM (SELECT tracks.id, row_number() OVER (PARTITION BY tracks.album_id1, tracks.album_id2) AS x_sequel_row_number_x FROM tracks WHERE (name = 'A')) AS t1 WHERE (x_sequel_row_number_x <= 10))) AND (tracks.id = 5))))"
3384
- end
3385
-
3386
- it "should be able to filter on one_to_one associations with :order and :conditions and composite keys" do
3387
- @Album.filter(:al_ctrack=>@Track.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'A') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (SELECT DISTINCT ON (tracks.album_id1, tracks.album_id2) tracks.id FROM tracks WHERE (name = 'A') ORDER BY tracks.album_id1, tracks.album_id2, name)) AND (tracks.id = 5))))"
3388
- end
3389
-
3390
- it "should be able to filter on many_to_many associations with :limit and :conditions and composite keys" do
3391
- @Album.filter(:al_ctags=>@Tag.load(:id=>5, :tid1=>3, :tid2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'A') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND ((albums_tags.album_id1, albums_tags.album_id2, tags.id) IN (SELECT b, c, d FROM (SELECT albums_tags.album_id1 AS b, albums_tags.album_id2 AS c, tags.id AS d, row_number() OVER (PARTITION BY albums_tags.album_id1, albums_tags.album_id2) AS x_sequel_row_number_x FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE (name = 'A')) AS t1 WHERE (x_sequel_row_number_x <= 10))) AND (tags.id = 5))))"
3392
- end
3393
-
3394
- it "should be able to filter on one_through_one associations with :order and :conditions and composite keys" do
3395
- @Album.filter(:al_ctag=>@Tag.load(:id=>5, :tid1=>3, :tid2=>4)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'A') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND ((albums_tags.album_id1, albums_tags.album_id2, tags.id) IN (SELECT DISTINCT ON (albums_tags.album_id1, albums_tags.album_id2) albums_tags.album_id1, albums_tags.album_id2, tags.id FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE (name = 'A') ORDER BY albums_tags.album_id1, albums_tags.album_id2, name)) AND (tags.id = 5))))"
3396
- end
3397
-
3398
- it "should work inside a complex filter" do
3399
- artist = @Artist.load(:id=>3)
3400
- @Album.filter{foo & {:artist=>artist}}.sql.must_equal 'SELECT * FROM albums WHERE (foo AND (albums.artist_id = 3))'
3401
- track = @Track.load(:album_id=>4)
3402
- @Album.filter{foo & [[:artist, artist], [:tracks, track]]}.sql.must_equal 'SELECT * FROM albums WHERE (foo AND (albums.artist_id = 3) AND (albums.id = 4))'
3403
- end
3404
-
3405
- it "should raise for an invalid association name" do
3406
- proc{@Album.filter(:foo=>@Artist.load(:id=>3)).sql}.must_raise(Sequel::Error)
3407
- end
3408
-
3409
- it "should raise for an invalid association type" do
3410
- @Album.many_to_many :iatags, :clone=>:tags
3411
- @Album.association_reflection(:iatags)[:type] = :foo
3412
- proc{@Album.filter(:iatags=>@Tag.load(:id=>3)).sql}.must_raise(Sequel::Error)
3413
- end
3414
-
3415
- it "should raise for an invalid associated object class " do
3416
- proc{@Album.filter(:tags=>@Artist.load(:id=>3)).sql}.must_raise(Sequel::Error)
3417
- end
3418
-
3419
- it "should raise for an invalid associated object class when multiple objects are used" do
3420
- proc{@Album.filter(:tags=>[@Tag.load(:id=>3), @Artist.load(:id=>3)]).sql}.must_raise(Sequel::Error)
3421
- end
3422
-
3423
- it "should correctly handle case when a multiple value association is used" do
3424
- proc{@Album.filter(:tags=>[@Tag.load(:id=>3), @Artist.load(:id=>3)]).sql}.must_raise(Sequel::Error)
3425
- end
3426
-
3427
- it "should not affect non-association IN/NOT IN filtering with an empty array" do
3428
- @Album.filter(:tag_id=>[]).sql.must_equal 'SELECT * FROM albums WHERE (1 = 0)'
3429
- @Album.exclude(:tag_id=>[]).sql.must_equal 'SELECT * FROM albums WHERE (1 = 1)'
3430
- end
3431
-
3432
- it "should work correctly in subclasses" do
3433
- c = Class.new(@Album)
3434
- c.many_to_one :sartist, :class=>@Artist
3435
- c.filter(:sartist=>@Artist.load(:id=>3)).sql.must_equal 'SELECT * FROM albums WHERE (albums.sartist_id = 3)'
3436
- end
3437
-
3438
- it "should be able to exclude on many_to_one associations" do
3439
- @Album.exclude(:artist=>@Artist.load(:id=>3)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id != 3) OR (albums.artist_id IS NULL))'
3440
- end
3441
-
3442
- it "should be able to exclude on one_to_many associations" do
3443
- @Album.exclude(:tracks=>@Track.load(:album_id=>3)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id != 3) OR (albums.id IS NULL))'
3444
- end
3445
-
3446
- it "should be able to exclude on one_to_one associations" do
3447
- @Album.exclude(:album_info=>@AlbumInfo.load(:album_id=>3)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id != 3) OR (albums.id IS NULL))'
3448
- end
3449
-
3450
- it "should be able to exclude on many_to_many associations" do
3451
- @Album.exclude(:tags=>@Tag.load(:id=>3)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM albums_tags WHERE ((albums_tags.tag_id = 3) AND (albums_tags.album_id IS NOT NULL)))) OR (albums.id IS NULL))'
3452
- end
3453
-
3454
- it "should be able to exclude on many_to_one associations with :conditions" do
3455
- @Album.exclude(:a_artist=>@Artist.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id NOT IN (SELECT artists.id FROM artists WHERE ((name = 'A') AND (artists.id IS NOT NULL) AND (artists.id = 3)))) OR (albums.artist_id IS NULL))"
3456
- end
3457
-
3458
- it "should be able to exclude on one_to_many associations with :conditions" do
3459
- @Album.exclude(:a_tracks=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'A') AND (tracks.album_id IS NOT NULL) AND (tracks.id = 5)))) OR (albums.id IS NULL))"
3460
- end
3461
-
3462
- it "should be able to exclude on one_to_one associations with :conditions" do
3463
- @Album.exclude(:a_album_info=>@AlbumInfo.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id = 5)))) OR (albums.id IS NULL))"
3464
- end
3465
-
3466
- it "should be able to exclude on many_to_many associations with :conditions" do
3467
- @Album.exclude(:a_tags=>@Tag.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'A') AND (albums_tags.album_id IS NOT NULL) AND (tags.id = 3)))) OR (albums.id IS NULL))"
3468
- end
3469
-
3470
- it "should be able to exclude on many_to_one associations with block" do
3471
- @Album.exclude(:b_artist=>@Artist.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id NOT IN (SELECT artists.id FROM artists WHERE ((name = 'B') AND (artists.id IS NOT NULL) AND (artists.id = 3)))) OR (albums.artist_id IS NULL))"
3472
- end
3473
-
3474
- it "should be able to exclude on one_to_many associations with block" do
3475
- @Album.exclude(:b_tracks=>@Track.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'B') AND (tracks.album_id IS NOT NULL) AND (tracks.id = 5)))) OR (albums.id IS NULL))"
3476
- end
3477
-
3478
- it "should be able to exclude on one_to_one associations with block" do
3479
- @Album.exclude(:b_album_info=>@AlbumInfo.load(:id=>5, :album_id=>3)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id = 5)))) OR (albums.id IS NULL))"
3480
- end
3481
-
3482
- it "should be able to exclude on many_to_many associations with block" do
3483
- @Album.exclude(:b_tags=>@Tag.load(:id=>3)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'B') AND (albums_tags.album_id IS NOT NULL) AND (tags.id = 3)))) OR (albums.id IS NULL))"
3484
- end
3485
-
3486
- it "should be able to exclude on many_to_one associations with composite keys" do
3487
- @Album.exclude(:cartist=>@Artist.load(:id1=>3, :id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id1 != 3) OR (albums.artist_id2 != 4) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))'
3488
- end
3489
-
3490
- it "should be able to exclude on one_to_many associations with composite keys" do
3491
- @Album.exclude(:ctracks=>@Track.load(:album_id1=>3, :album_id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1 != 3) OR (albums.id2 != 4) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3492
- end
3493
-
3494
- it "should be able to exclude on one_to_one associations with composite keys" do
3495
- @Album.exclude(:calbum_info=>@AlbumInfo.load(:album_id1=>3, :album_id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1 != 3) OR (albums.id2 != 4) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3496
- end
3497
-
3498
- it "should be able to exclude on many_to_many associations with composite keys" do
3499
- @Album.exclude(:ctags=>@Tag.load(:tid1=>3, :tid2=>4)).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE ((albums_tags.tag_id1 = 3) AND (albums_tags.tag_id2 = 4) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3500
- end
3501
-
3502
- it "should be able to exclude on many_to_one associations with :conditions and composite keys" do
3503
- @Album.exclude(:a_cartist=>@Artist.load(:id=>5, :id1=>3, :id2=>4)).sql.must_equal "SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'A') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id = 5)))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))"
3504
- end
3505
-
3506
- it "should be able to exclude on one_to_many associations with :conditions and composite keys" do
3507
- @Album.exclude(:a_ctracks=>@Track.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'A') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id = 5)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3508
- end
3509
-
3510
- it "should be able to exclude on one_to_one associations with :conditions and composite keys" do
3511
- @Album.exclude(:a_calbum_info=>@AlbumInfo.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id = 5)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3512
- end
3513
-
3514
- it "should be able to exclude on many_to_many associations with block and composite keys" do
3515
- @Album.exclude(:a_ctags=>@Tag.load(:id=>5, :tid1=>3, :tid2=>4)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'A') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id = 5)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3516
- end
3517
-
3518
- it "should be able to exclude on many_to_one associations with block and composite keys" do
3519
- @Album.exclude(:b_cartist=>@Artist.load(:id=>5, :id1=>3, :id2=>4)).sql.must_equal "SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'B') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id = 5)))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))"
3520
- end
3521
-
3522
- it "should be able to exclude on one_to_many associations with block and composite keys" do
3523
- @Album.exclude(:b_ctracks=>@Track.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'B') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id = 5)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3524
- end
3525
-
3526
- it "should be able to exclude on one_to_one associations with block and composite keys" do
3527
- @Album.exclude(:b_calbum_info=>@AlbumInfo.load(:id=>5, :album_id1=>3, :album_id2=>4)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id = 5)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3528
- end
3529
-
3530
- it "should be able to exclude on many_to_many associations with block and composite keys" do
3531
- @Album.exclude(:b_ctags=>@Tag.load(:id=>5, :tid1=>3, :tid2=>4)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'B') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id = 5)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3532
- end
3533
-
3534
- it "should be able to filter on multiple many_to_one associations" do
3535
- @Album.filter(:artist=>[@Artist.load(:id=>3), @Artist.load(:id=>4)]).sql.must_equal 'SELECT * FROM albums WHERE (albums.artist_id IN (3, 4))'
3536
- end
3537
-
3538
- it "should be able to filter on multiple one_to_many associations" do
3539
- @Album.filter(:tracks=>[@Track.load(:album_id=>3), @Track.load(:album_id=>4)]).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (3, 4))'
3540
- end
3541
-
3542
- it "should be able to filter on multiple one_to_one associations" do
3543
- @Album.filter(:album_info=>[@AlbumInfo.load(:album_id=>3), @AlbumInfo.load(:album_id=>4)]).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (3, 4))'
3544
- end
3545
-
3546
- it "should be able to filter on multiple many_to_many associations" do
3547
- @Album.filter(:tags=>[@Tag.load(:id=>3), @Tag.load(:id=>4)]).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM albums_tags WHERE ((albums_tags.tag_id IN (3, 4)) AND (albums_tags.album_id IS NOT NULL))))'
3548
- end
3549
-
3550
- it "should be able to filter on multiple many_to_one associations with :conditions" do
3551
- @Album.filter(:a_artist=>[@Artist.load(:id=>3), @Artist.load(:id=>4)]).sql.must_equal "SELECT * FROM albums WHERE (albums.artist_id IN (SELECT artists.id FROM artists WHERE ((name = 'A') AND (artists.id IS NOT NULL) AND (artists.id IN (3, 4)))))"
3552
- end
3553
-
3554
- it "should be able to filter on multiple one_to_many associations with :conditions" do
3555
- @Album.filter(:a_tracks=>[@Track.load(:id=>5, :album_id=>3), @Track.load(:id=>6, :album_id=>4)]).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'A') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (5, 6)))))"
3556
- end
3557
-
3558
- it "should be able to filter on multiple one_to_one associations with :conditions" do
3559
- @Album.filter(:a_album_info=>[@AlbumInfo.load(:id=>5, :album_id=>3), @AlbumInfo.load(:id=>6, :album_id=>4)]).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id IN (5, 6)))))"
3560
- end
3561
-
3562
- it "should be able to filter on multiple many_to_many associations with :conditions" do
3563
- @Album.filter(:a_tags=>[@Tag.load(:id=>3), @Tag.load(:id=>4)]).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'A') AND (albums_tags.album_id IS NOT NULL) AND (tags.id IN (3, 4)))))"
3564
- end
3565
-
3566
- it "should be able to filter on multiple many_to_one associations with block" do
3567
- @Album.filter(:b_artist=>[@Artist.load(:id=>3), @Artist.load(:id=>4)]).sql.must_equal "SELECT * FROM albums WHERE (albums.artist_id IN (SELECT artists.id FROM artists WHERE ((name = 'B') AND (artists.id IS NOT NULL) AND (artists.id IN (3, 4)))))"
3568
- end
3569
-
3570
- it "should be able to filter on multiple one_to_many associations with block" do
3571
- @Album.filter(:b_tracks=>[@Track.load(:id=>5, :album_id=>3), @Track.load(:id=>6, :album_id=>4)]).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'B') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (5, 6)))))"
3572
- end
3573
-
3574
- it "should be able to filter on multiple one_to_one associations with block" do
3575
- @Album.filter(:b_album_info=>[@AlbumInfo.load(:id=>5, :album_id=>3), @AlbumInfo.load(:id=>6, :album_id=>4)]).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id IN (5, 6)))))"
3576
- end
3577
-
3578
- it "should be able to filter on multiple many_to_many associations with block" do
3579
- @Album.filter(:b_tags=>[@Tag.load(:id=>3), @Tag.load(:id=>4)]).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'B') AND (albums_tags.album_id IS NOT NULL) AND (tags.id IN (3, 4)))))"
3580
- end
3581
-
3582
- it "should be able to filter on multiple many_to_one associations with composite keys" do
3583
- @Album.filter(:cartist=>[@Artist.load(:id1=>3, :id2=>4), @Artist.load(:id1=>5, :id2=>6)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN ((3, 4), (5, 6)))'
3584
- end
3585
-
3586
- it "should be able to filter on multiple one_to_many associations with composite keys" do
3587
- @Album.filter(:ctracks=>[@Track.load(:album_id1=>3, :album_id2=>4), @Track.load(:album_id1=>5, :album_id2=>6)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN ((3, 4), (5, 6)))'
3588
- end
3589
-
3590
- it "should be able to filter on multiple one_to_one associations with composite keys" do
3591
- @Album.filter(:calbum_info=>[@AlbumInfo.load(:album_id1=>3, :album_id2=>4), @AlbumInfo.load(:album_id1=>5, :album_id2=>6)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN ((3, 4), (5, 6)))'
3592
- end
3593
-
3594
- it "should be able to filter on multiple many_to_many associations with composite keys" do
3595
- @Album.filter(:ctags=>[@Tag.load(:tid1=>3, :tid2=>4), @Tag.load(:tid1=>5, :tid2=>6)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE (((albums_tags.tag_id1, albums_tags.tag_id2) IN ((3, 4), (5, 6))) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL))))'
3596
- end
3597
-
3598
- it "should be able to filter on multiple many_to_one associations with :conditions and composite keys" do
3599
- @Album.filter(:a_cartist=>[@Artist.load(:id=>7, :id1=>3, :id2=>4), @Artist.load(:id=>8, :id1=>5, :id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'A') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id IN (7, 8)))))"
3600
- end
3601
-
3602
- it "should be able to filter on multiple one_to_many associations with :conditions and composite keys" do
3603
- @Album.filter(:a_ctracks=>[@Track.load(:id=>7, :album_id1=>3, :album_id2=>4), @Track.load(:id=>8, :album_id1=>5, :album_id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'A') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (7, 8)))))"
3604
- end
3605
-
3606
- it "should be able to filter on multiple one_to_one associations with :conditions and composite keys" do
3607
- @Album.filter(:a_calbum_info=>[@AlbumInfo.load(:id=>7, :album_id1=>3, :album_id2=>4), @AlbumInfo.load(:id=>8, :album_id1=>5, :album_id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id IN (7, 8)))))"
3608
- end
3609
-
3610
- it "should be able to filter on multiple many_to_many associations with block and composite keys" do
3611
- @Album.filter(:a_ctags=>[@Tag.load(:id=>7, :tid1=>3, :tid2=>4), @Tag.load(:id=>8, :tid1=>5, :tid2=>6)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'A') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id IN (7, 8)))))"
3612
- end
3613
-
3614
- it "should be able to filter on multiple many_to_one associations with block and composite keys" do
3615
- @Album.filter(:b_cartist=>[@Artist.load(:id=>7, :id1=>3, :id2=>4), @Artist.load(:id=>8, :id1=>5, :id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'B') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id IN (7, 8)))))"
3616
- end
3617
-
3618
- it "should be able to filter on multiple one_to_many associations with block and composite keys" do
3619
- @Album.filter(:b_ctracks=>[@Track.load(:id=>7, :album_id1=>3, :album_id2=>4), @Track.load(:id=>8, :album_id1=>5, :album_id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'B') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (7, 8)))))"
3620
- end
3621
-
3622
- it "should be able to filter on multiple one_to_one associations with block and composite keys" do
3623
- @Album.filter(:b_calbum_info=>[@AlbumInfo.load(:id=>7, :album_id1=>3, :album_id2=>4), @AlbumInfo.load(:id=>8, :album_id1=>5, :album_id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id IN (7, 8)))))"
3624
- end
3625
-
3626
- it "should be able to filter on multiple many_to_many associations with block and composite keys" do
3627
- @Album.filter(:b_ctags=>[@Tag.load(:id=>7, :tid1=>3, :tid2=>4), @Tag.load(:id=>8, :tid1=>5, :tid2=>6)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'B') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id IN (7, 8)))))"
3628
- end
3629
-
3630
- it "should be able to exclude on multiple many_to_one associations" do
3631
- @Album.exclude(:artist=>[@Artist.load(:id=>3), @Artist.load(:id=>4)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id NOT IN (3, 4)) OR (albums.artist_id IS NULL))'
3632
- end
3633
-
3634
- it "should be able to exclude on multiple one_to_many associations" do
3635
- @Album.exclude(:tracks=>[@Track.load(:album_id=>3), @Track.load(:album_id=>4)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (3, 4)) OR (albums.id IS NULL))'
3636
- end
3637
-
3638
- it "should be able to exclude on multiple one_to_one associations" do
3639
- @Album.exclude(:album_info=>[@AlbumInfo.load(:album_id=>3), @AlbumInfo.load(:album_id=>4)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (3, 4)) OR (albums.id IS NULL))'
3640
- end
3641
-
3642
- it "should be able to exclude on multiple many_to_many associations" do
3643
- @Album.exclude(:tags=>[@Tag.load(:id=>3), @Tag.load(:id=>4)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM albums_tags WHERE ((albums_tags.tag_id IN (3, 4)) AND (albums_tags.album_id IS NOT NULL)))) OR (albums.id IS NULL))'
3644
- end
3645
-
3646
- it "should be able to exclude on multiple many_to_one associations with :conditions" do
3647
- @Album.exclude(:a_artist=>[@Artist.load(:id=>3), @Artist.load(:id=>4)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id NOT IN (SELECT artists.id FROM artists WHERE ((name = 'A') AND (artists.id IS NOT NULL) AND (artists.id IN (3, 4))))) OR (albums.artist_id IS NULL))"
3648
- end
3649
-
3650
- it "should be able to exclude on multiple one_to_many associations with :conditions" do
3651
- @Album.exclude(:a_tracks=>[@Track.load(:id=>5, :album_id=>3), @Track.load(:id=>6, :album_id=>4)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'A') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (5, 6))))) OR (albums.id IS NULL))"
3652
- end
3653
-
3654
- it "should be able to exclude on multiple one_to_one associations with :conditions" do
3655
- @Album.exclude(:a_album_info=>[@AlbumInfo.load(:id=>5, :album_id=>3), @AlbumInfo.load(:id=>6, :album_id=>4)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id IN (5, 6))))) OR (albums.id IS NULL))"
3656
- end
3657
-
3658
- it "should be able to exclude on multiple many_to_many associations with :conditions" do
3659
- @Album.exclude(:a_tags=>[@Tag.load(:id=>3), @Tag.load(:id=>4)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'A') AND (albums_tags.album_id IS NOT NULL) AND (tags.id IN (3, 4))))) OR (albums.id IS NULL))"
3660
- end
3661
-
3662
- it "should be able to exclude on multiple many_to_one associations with block" do
3663
- @Album.exclude(:b_artist=>[@Artist.load(:id=>3), @Artist.load(:id=>4)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id NOT IN (SELECT artists.id FROM artists WHERE ((name = 'B') AND (artists.id IS NOT NULL) AND (artists.id IN (3, 4))))) OR (albums.artist_id IS NULL))"
3664
- end
3665
-
3666
- it "should be able to exclude on multiple one_to_many associations with block" do
3667
- @Album.exclude(:b_tracks=>[@Track.load(:id=>5, :album_id=>3), @Track.load(:id=>6, :album_id=>4)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'B') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (5, 6))))) OR (albums.id IS NULL))"
3668
- end
3669
-
3670
- it "should be able to exclude on multiple one_to_one associations with block" do
3671
- @Album.exclude(:b_album_info=>[@AlbumInfo.load(:id=>5, :album_id=>3), @AlbumInfo.load(:id=>6, :album_id=>4)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id IN (5, 6))))) OR (albums.id IS NULL))"
3672
- end
3673
-
3674
- it "should be able to exclude on multiple many_to_many associations with block" do
3675
- @Album.exclude(:b_tags=>[@Tag.load(:id=>3), @Tag.load(:id=>4)]).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'B') AND (albums_tags.album_id IS NOT NULL) AND (tags.id IN (3, 4))))) OR (albums.id IS NULL))"
3676
- end
3677
-
3678
- it "should be able to exclude on multiple many_to_one associations with composite keys" do
3679
- @Album.exclude(:cartist=>[@Artist.load(:id1=>3, :id2=>4), @Artist.load(:id1=>5, :id2=>6)]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN ((3, 4), (5, 6))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))'
3680
- end
3681
-
3682
- it "should be able to exclude on multiple one_to_many associations with composite keys" do
3683
- @Album.exclude(:ctracks=>[@Track.load(:album_id1=>3, :album_id2=>4), @Track.load(:album_id1=>5, :album_id2=>6)]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN ((3, 4), (5, 6))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3684
- end
3685
-
3686
- it "should be able to exclude on multiple one_to_one associations with composite keys" do
3687
- @Album.exclude(:calbum_info=>[@AlbumInfo.load(:album_id1=>3, :album_id2=>4), @AlbumInfo.load(:album_id1=>5, :album_id2=>6)]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN ((3, 4), (5, 6))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3688
- end
3689
-
3690
- it "should be able to exclude on multiple many_to_many associations with composite keys" do
3691
- @Album.exclude(:ctags=>[@Tag.load(:tid1=>3, :tid2=>4), @Tag.load(:tid1=>5, :tid2=>6)]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE (((albums_tags.tag_id1, albums_tags.tag_id2) IN ((3, 4), (5, 6))) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3692
- end
3693
-
3694
- it "should be able to exclude on multiple many_to_one associations with :conditions and composite keys" do
3695
- @Album.exclude(:a_cartist=>[@Artist.load(:id=>7, :id1=>3, :id2=>4), @Artist.load(:id=>8, :id1=>5, :id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'A') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id IN (7, 8))))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))"
3696
- end
3697
-
3698
- it "should be able to exclude on multiple one_to_many associations with :conditions and composite keys" do
3699
- @Album.exclude(:a_ctracks=>[@Track.load(:id=>7, :album_id1=>3, :album_id2=>4), @Track.load(:id=>8, :album_id1=>5, :album_id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'A') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (7, 8))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3700
- end
3701
-
3702
- it "should be able to exclude on multiple one_to_one associations with :conditions and composite keys" do
3703
- @Album.exclude(:a_calbum_info=>[@AlbumInfo.load(:id=>7, :album_id1=>3, :album_id2=>4), @AlbumInfo.load(:id=>8, :album_id1=>5, :album_id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id IN (7, 8))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3704
- end
3705
-
3706
- it "should be able to exclude on multiple many_to_many associations with :conditions and composite keys" do
3707
- @Album.exclude(:a_ctags=>[@Tag.load(:id=>7, :tid1=>3, :tid2=>4), @Tag.load(:id=>8, :tid1=>5, :tid2=>6)]).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'A') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id IN (7, 8))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3708
- end
3709
-
3710
- it "should be able to exclude on multiple many_to_one associations with block and composite keys" do
3711
- @Album.exclude(:b_cartist=>[@Artist.load(:id=>7, :id1=>3, :id2=>4), @Artist.load(:id=>8, :id1=>5, :id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'B') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id IN (7, 8))))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))"
3712
- end
3713
-
3714
- it "should be able to exclude on multiple one_to_many associations with block and composite keys" do
3715
- @Album.exclude(:b_ctracks=>[@Track.load(:id=>7, :album_id1=>3, :album_id2=>4), @Track.load(:id=>8, :album_id1=>5, :album_id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'B') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (7, 8))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3716
- end
3717
-
3718
- it "should be able to exclude on multiple one_to_one associations with block and composite keys" do
3719
- @Album.exclude(:b_calbum_info=>[@AlbumInfo.load(:id=>7, :album_id1=>3, :album_id2=>4), @AlbumInfo.load(:id=>8, :album_id1=>5, :album_id2=>6)]).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id IN (7, 8))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3720
- end
3721
-
3722
- it "should be able to exclude on multiple many_to_many associations with block and composite keys" do
3723
- @Album.exclude(:b_ctags=>[@Tag.load(:id=>7, :tid1=>3, :tid2=>4), @Tag.load(:id=>8, :tid1=>5, :tid2=>6)]).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'B') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id IN (7, 8))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
3724
- end
3725
-
3726
- it "should be able to handle NULL values when filtering many_to_one associations" do
3727
- @Album.filter(:artist=>@Artist.new).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3728
- end
3729
-
3730
- it "should be able to handle NULL values when filtering one_to_many associations" do
3731
- @Album.filter(:tracks=>@Track.new).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3732
- end
3733
-
3734
- it "should be able to handle NULL values when filtering one_to_one associations" do
3735
- @Album.filter(:album_info=>@AlbumInfo.new).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3736
- end
3737
-
3738
- it "should be able to handle NULL values when filtering many_to_many associations" do
3739
- @Album.filter(:tags=>@Tag.new).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3740
- end
3741
-
3742
- it "should be able to handle filtering with NULL values for many_to_one associations with composite keys" do
3743
- @Album.filter(:cartist=>@Artist.load(:id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3744
- @Album.filter(:cartist=>@Artist.load(:id1=>3)).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3745
- @Album.filter(:cartist=>@Artist.new).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3746
- end
3747
-
3748
- it "should be able to filter with NULL values for one_to_many associations with composite keys" do
3749
- @Album.filter(:ctracks=>@Track.load(:album_id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3750
- @Album.filter(:ctracks=>@Track.load(:album_id1=>3)).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3751
- @Album.filter(:ctracks=>@Track.new).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3752
- end
3753
-
3754
- it "should be able to filter with NULL values for one_to_one associations with composite keys" do
3755
- @Album.filter(:calbum_info=>@AlbumInfo.load(:album_id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3756
- @Album.filter(:calbum_info=>@AlbumInfo.load(:album_id1=>3)).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3757
- @Album.filter(:calbum_info=>@AlbumInfo.new).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3758
- end
3759
-
3760
- it "should be able to filter with NULL values for many_to_many associations with composite keys" do
3761
- @Album.filter(:ctags=>@Tag.load(:tid1=>3)).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3762
- @Album.filter(:ctags=>@Tag.load(:tid2=>4)).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3763
- @Album.filter(:ctags=>@Tag.new).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3764
- end
3765
-
3766
- it "should be able to handle NULL values when excluding many_to_one associations" do
3767
- @Album.exclude(:artist=>@Artist.new).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3768
- end
3769
-
3770
- it "should be able to handle NULL values when excluding one_to_many associations" do
3771
- @Album.exclude(:tracks=>@Track.new).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3772
- end
3773
-
3774
- it "should be able to handle NULL values when excluding one_to_one associations" do
3775
- @Album.exclude(:album_info=>@AlbumInfo.new).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3776
- end
3777
-
3778
- it "should be able to handle NULL values when excluding many_to_many associations" do
3779
- @Album.exclude(:tags=>@Tag.new).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3780
- end
3781
-
3782
- it "should be able to handle excluding with NULL values for many_to_one associations with composite keys" do
3783
- @Album.exclude(:cartist=>@Artist.load(:id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3784
- @Album.exclude(:cartist=>@Artist.load(:id1=>3)).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3785
- @Album.exclude(:cartist=>@Artist.new).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3786
- end
3787
-
3788
- it "should be able to excluding with NULL values for one_to_many associations with composite keys" do
3789
- @Album.exclude(:ctracks=>@Track.load(:album_id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3790
- @Album.exclude(:ctracks=>@Track.load(:album_id1=>3)).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3791
- @Album.exclude(:ctracks=>@Track.new).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3792
- end
3793
-
3794
- it "should be able to excluding with NULL values for one_to_one associations with composite keys" do
3795
- @Album.exclude(:calbum_info=>@AlbumInfo.load(:album_id2=>4)).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3796
- @Album.exclude(:calbum_info=>@AlbumInfo.load(:album_id1=>3)).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3797
- @Album.exclude(:calbum_info=>@AlbumInfo.new).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3798
- end
3799
-
3800
- it "should be able to excluding with NULL values for many_to_many associations with composite keys" do
3801
- @Album.exclude(:ctags=>@Tag.load(:tid1=>3)).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3802
- @Album.exclude(:ctags=>@Tag.load(:tid2=>4)).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3803
- @Album.exclude(:ctags=>@Tag.new).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3804
- end
3805
-
3806
- it "should be able to handle NULL values when filtering multiple many_to_one associations" do
3807
- @Album.filter(:artist=>[@Artist.load(:id=>3), @Artist.new]).sql.must_equal 'SELECT * FROM albums WHERE (albums.artist_id IN (3))'
3808
- @Album.filter(:artist=>[@Artist.new, @Artist.new]).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3809
- end
3810
-
3811
- it "should be able to handle NULL values when filtering multiple one_to_many associations" do
3812
- @Album.filter(:tracks=>[@Track.load(:album_id=>3), @Track.new]).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (3))'
3813
- @Album.filter(:tracks=>[@Track.new, @Track.new]).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3814
- end
3815
-
3816
- it "should be able to handle NULL values when filtering multiple one_to_one associations" do
3817
- @Album.filter(:album_info=>[@AlbumInfo.load(:album_id=>3), @AlbumInfo.new]).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (3))'
3818
- @Album.filter(:album_info=>[@AlbumInfo.new, @AlbumInfo.new]).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3819
- end
3820
-
3821
- it "should be able to handle NULL values when filtering multiple many_to_many associations" do
3822
- @Album.filter(:tags=>[@Tag.load(:id=>3), @Tag.new]).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM albums_tags WHERE ((albums_tags.tag_id IN (3)) AND (albums_tags.album_id IS NOT NULL))))'
3823
- @Album.filter(:tags=>[@Tag.new, @Tag.new]).sql.must_equal 'SELECT * FROM albums WHERE \'f\''
3824
- end
3825
-
3826
- it "should be able to handle NULL values when filtering multiple many_to_one associations with composite keys" do
3827
- @Album.filter(:cartist=>[@Artist.load(:id1=>3, :id2=>4), @Artist.load(:id1=>3)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN ((3, 4)))'
3828
- @Album.filter(:cartist=>[@Artist.load(:id1=>3, :id2=>4), @Artist.new]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN ((3, 4)))'
3829
- end
3830
-
3831
- it "should be able handle NULL values when filtering multiple one_to_many associations with composite keys" do
3832
- @Album.filter(:ctracks=>[@Track.load(:album_id1=>3, :album_id2=>4), @Track.load(:album_id1=>3)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN ((3, 4)))'
3833
- @Album.filter(:ctracks=>[@Track.load(:album_id1=>3, :album_id2=>4), @Track.new]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN ((3, 4)))'
3834
- end
3835
-
3836
- it "should be able to handle NULL values when filtering multiple one_to_one associations with composite keys" do
3837
- @Album.filter(:calbum_info=>[@AlbumInfo.load(:album_id1=>3, :album_id2=>4), @AlbumInfo.load(:album_id1=>5)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN ((3, 4)))'
3838
- @Album.filter(:calbum_info=>[@AlbumInfo.load(:album_id1=>3, :album_id2=>4), @AlbumInfo.new]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN ((3, 4)))'
3839
- end
3840
-
3841
- it "should be able to handle NULL values when filtering multiple many_to_many associations with composite keys" do
3842
- @Album.filter(:ctags=>[@Tag.load(:tid1=>3, :tid2=>4), @Tag.load(:tid1=>5)]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE (((albums_tags.tag_id1, albums_tags.tag_id2) IN ((3, 4))) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL))))'
3843
- @Album.filter(:ctags=>[@Tag.load(:tid1=>3, :tid2=>4), @Tag.new]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE (((albums_tags.tag_id1, albums_tags.tag_id2) IN ((3, 4))) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL))))'
3844
- end
3845
-
3846
- it "should be able to handle NULL values when excluding multiple many_to_one associations" do
3847
- @Album.exclude(:artist=>[@Artist.load(:id=>3), @Artist.new]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id NOT IN (3)) OR (albums.artist_id IS NULL))'
3848
- @Album.exclude(:artist=>[@Artist.new, @Artist.new]).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3849
- end
3850
-
3851
- it "should be able to handle NULL values when excluding multiple one_to_many associations" do
3852
- @Album.exclude(:tracks=>[@Track.load(:album_id=>3), @Track.new]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (3)) OR (albums.id IS NULL))'
3853
- @Album.exclude(:tracks=>[@Track.new, @Track.new]).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3854
- end
3855
-
3856
- it "should be able to handle NULL values when excluding multiple one_to_one associations" do
3857
- @Album.exclude(:album_info=>[@AlbumInfo.load(:album_id=>3), @AlbumInfo.new]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (3)) OR (albums.id IS NULL))'
3858
- @Album.exclude(:album_info=>[@AlbumInfo.new, @AlbumInfo.new]).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3859
- end
3860
-
3861
- it "should be able to handle NULL values when excluding multiple many_to_many associations" do
3862
- @Album.exclude(:tags=>[@Tag.load(:id=>3), @Tag.new]).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM albums_tags WHERE ((albums_tags.tag_id IN (3)) AND (albums_tags.album_id IS NOT NULL)))) OR (albums.id IS NULL))'
3863
- @Album.exclude(:tags=>[@Tag.new, @Tag.new]).sql.must_equal 'SELECT * FROM albums WHERE \'t\''
3864
- end
3865
-
3866
- it "should be able to handle NULL values when excluding multiple many_to_one associations with composite keys" do
3867
- @Album.exclude(:cartist=>[@Artist.load(:id1=>3, :id2=>4), @Artist.load(:id1=>3)]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN ((3, 4))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))'
3868
- @Album.exclude(:cartist=>[@Artist.load(:id1=>3, :id2=>4), @Artist.new]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN ((3, 4))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))'
3869
- end
3870
-
3871
- it "should be able handle NULL values when excluding multiple one_to_many associations with composite keys" do
3872
- @Album.exclude(:ctracks=>[@Track.load(:album_id1=>3, :album_id2=>4), @Track.load(:album_id1=>3)]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN ((3, 4))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3873
- @Album.exclude(:ctracks=>[@Track.load(:album_id1=>3, :album_id2=>4), @Track.new]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN ((3, 4))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3874
- end
3875
-
3876
- it "should be able to handle NULL values when excluding multiple one_to_one associations with composite keys" do
3877
- @Album.exclude(:calbum_info=>[@AlbumInfo.load(:album_id1=>3, :album_id2=>4), @AlbumInfo.load(:album_id1=>5)]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN ((3, 4))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3878
- @Album.exclude(:calbum_info=>[@AlbumInfo.load(:album_id1=>3, :album_id2=>4), @AlbumInfo.new]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN ((3, 4))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3879
- end
3880
-
3881
- it "should be able to handle NULL values when excluding multiple many_to_many associations with composite keys" do
3882
- @Album.exclude(:ctags=>[@Tag.load(:tid1=>3, :tid2=>4), @Tag.load(:tid1=>5)]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE (((albums_tags.tag_id1, albums_tags.tag_id2) IN ((3, 4))) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3883
- @Album.exclude(:ctags=>[@Tag.load(:tid1=>3, :tid2=>4), @Tag.new]).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE (((albums_tags.tag_id1, albums_tags.tag_id2) IN ((3, 4))) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
3884
- end
3885
-
3886
- it "should be able to filter on many_to_one association datasets" do
3887
- @Album.filter(:artist=>@Artist.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE (albums.artist_id IN (SELECT artists.id FROM artists WHERE ((x = 1) AND (artists.id IS NOT NULL))))'
3888
- end
3889
-
3890
- it "should be able to filter on one_to_many association datasets" do
3891
- @Album.filter(:tracks=>@Track.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((x = 1) AND (tracks.album_id IS NOT NULL))))'
3892
- end
3893
-
3894
- it "should be able to filter on one_to_one association datasets" do
3895
- @Album.filter(:album_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (SELECT album_infos.album_id FROM album_infos WHERE ((x = 1) AND (album_infos.album_id IS NOT NULL))))'
3896
- end
3897
-
3898
- it "should be able to filter on many_to_many association datasets" do
3899
- @Album.filter(:tags=>@Tag.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM albums_tags WHERE ((albums_tags.tag_id IN (SELECT tags.id FROM tags WHERE ((x = 1) AND (tags.id IS NOT NULL)))) AND (albums_tags.album_id IS NOT NULL))))'
3900
- end
3901
-
3902
- it "should be able to filter on many_to_one association datasets with :conditions" do
3903
- @Album.filter(:a_artist=>@Artist.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (albums.artist_id IN (SELECT artists.id FROM artists WHERE ((name = 'A') AND (artists.id IS NOT NULL) AND (artists.id IN (SELECT artists.id FROM artists WHERE (x = 1))))))"
3904
- end
3905
-
3906
- it "should be able to filter on one_to_many association datasets with :conditions" do
3907
- @Album.filter(:a_tracks=>@Track.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'A') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT tracks.id FROM tracks WHERE (x = 1))))))"
3908
- end
3909
-
3910
- it "should be able to filter on one_to_one association datasets with :conditions" do
3911
- @Album.filter(:a_album_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id IN (SELECT album_infos.id FROM album_infos WHERE (x = 1))))))"
3912
- end
3913
-
3914
- it "should be able to filter on many_to_many association datasets with :conditions" do
3915
- @Album.filter(:a_tags=>@Tag.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'A') AND (albums_tags.album_id IS NOT NULL) AND (tags.id IN (SELECT tags.id FROM tags WHERE (x = 1))))))"
3916
- end
3917
-
3918
- it "should be able to filter on many_to_one association datasets with block" do
3919
- @Album.filter(:b_artist=>@Artist.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (albums.artist_id IN (SELECT artists.id FROM artists WHERE ((name = 'B') AND (artists.id IS NOT NULL) AND (artists.id IN (SELECT artists.id FROM artists WHERE (x = 1))))))"
3920
- end
3921
-
3922
- it "should be able to filter on one_to_many association datasets with block" do
3923
- @Album.filter(:b_tracks=>@Track.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'B') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT tracks.id FROM tracks WHERE (x = 1))))))"
3924
- end
3925
-
3926
- it "should be able to filter on one_to_one association datasets with block" do
3927
- @Album.filter(:b_album_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id IN (SELECT album_infos.id FROM album_infos WHERE (x = 1))))))"
3928
- end
3929
-
3930
- it "should be able to filter on many_to_many association datasets with block" do
3931
- @Album.filter(:b_tags=>@Tag.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (albums.id IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'B') AND (albums_tags.album_id IS NOT NULL) AND (tags.id IN (SELECT tags.id FROM tags WHERE (x = 1))))))"
3932
- end
3933
-
3934
- it "should be able to filter on many_to_one association datasets with composite keys" do
3935
- @Album.filter(:cartist=>@Artist.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((x = 1) AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL))))'
3936
- end
3937
-
3938
- it "should be able to filter on one_to_many association datasets with composite keys" do
3939
- @Album.filter(:ctracks=>@Track.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((x = 1) AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL))))'
3940
- end
3941
-
3942
- it "should be able to filter on one_to_one association datasets with composite keys" do
3943
- @Album.filter(:calbum_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((x = 1) AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL))))'
3944
- end
3945
-
3946
- it "should be able to filter on many_to_many association datasets with composite keys" do
3947
- @Album.filter(:ctags=>@Tag.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE (((albums_tags.tag_id1, albums_tags.tag_id2) IN (SELECT tags.tid1, tags.tid2 FROM tags WHERE ((x = 1) AND (tags.tid1 IS NOT NULL) AND (tags.tid2 IS NOT NULL)))) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL))))'
3948
- end
3949
-
3950
- it "should be able to filter on many_to_one association datasets with :conditions and composite keys" do
3951
- @Album.filter(:a_cartist=>@Artist.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'A') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id IN (SELECT artists.id FROM artists WHERE (x = 1))))))"
3952
- end
3953
-
3954
- it "should be able to filter on one_to_many association datasets with :conditions and composite keys" do
3955
- @Album.filter(:a_ctracks=>@Track.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'A') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (SELECT tracks.id FROM tracks WHERE (x = 1))))))"
3956
- end
3957
-
3958
- it "should be able to filter on one_to_one association datasets with :conditions and composite keys" do
3959
- @Album.filter(:a_calbum_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id IN (SELECT album_infos.id FROM album_infos WHERE (x = 1))))))"
3960
- end
3961
-
3962
- it "should be able to filter on many_to_many association datasets with :conditions and composite keys" do
3963
- @Album.filter(:a_ctags=>@Tag.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'A') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id IN (SELECT tags.id FROM tags WHERE (x = 1))))))"
3964
- end
3965
-
3966
- it "should be able to filter on many_to_one association datasets with block and composite keys" do
3967
- @Album.filter(:b_cartist=>@Artist.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id1, albums.artist_id2) IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'B') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id IN (SELECT artists.id FROM artists WHERE (x = 1))))))"
3968
- end
3969
-
3970
- it "should be able to filter on one_to_many association datasets with block and composite keys" do
3971
- @Album.filter(:b_ctracks=>@Track.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'B') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (SELECT tracks.id FROM tracks WHERE (x = 1))))))"
3972
- end
3973
-
3974
- it "should be able to filter on one_to_one association datasets with block and composite keys" do
3975
- @Album.filter(:b_calbum_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id IN (SELECT album_infos.id FROM album_infos WHERE (x = 1))))))"
3976
- end
3977
-
3978
- it "should be able to filter on many_to_many association datasets with block and composite keys" do
3979
- @Album.filter(:b_ctags=>@Tag.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id1, albums.id2) IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'B') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id IN (SELECT tags.id FROM tags WHERE (x = 1))))))"
3980
- end
3981
-
3982
- it "should be able to exclude on many_to_one association datasets" do
3983
- @Album.exclude(:artist=>@Artist.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.artist_id NOT IN (SELECT artists.id FROM artists WHERE ((x = 1) AND (artists.id IS NOT NULL)))) OR (albums.artist_id IS NULL))'
3984
- end
3985
-
3986
- it "should be able to exclude on one_to_many association datasets" do
3987
- @Album.exclude(:tracks=>@Track.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT tracks.album_id FROM tracks WHERE ((x = 1) AND (tracks.album_id IS NOT NULL)))) OR (albums.id IS NULL))'
3988
- end
3989
-
3990
- it "should be able to exclude on one_to_one association datasets" do
3991
- @Album.exclude(:album_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT album_infos.album_id FROM album_infos WHERE ((x = 1) AND (album_infos.album_id IS NOT NULL)))) OR (albums.id IS NULL))'
3992
- end
3993
-
3994
- it "should be able to exclude on many_to_many association datasets" do
3995
- @Album.exclude(:tags=>@Tag.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM albums_tags WHERE ((albums_tags.tag_id IN (SELECT tags.id FROM tags WHERE ((x = 1) AND (tags.id IS NOT NULL)))) AND (albums_tags.album_id IS NOT NULL)))) OR (albums.id IS NULL))'
3996
- end
3997
-
3998
- it "should be able to exclude on many_to_one association datasets with :conditions" do
3999
- @Album.exclude(:a_artist=>@Artist.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id NOT IN (SELECT artists.id FROM artists WHERE ((name = 'A') AND (artists.id IS NOT NULL) AND (artists.id IN (SELECT artists.id FROM artists WHERE (x = 1)))))) OR (albums.artist_id IS NULL))"
4000
- end
4001
-
4002
- it "should be able to exclude on one_to_many association datasets with :conditions" do
4003
- @Album.exclude(:a_tracks=>@Track.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'A') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT tracks.id FROM tracks WHERE (x = 1)))))) OR (albums.id IS NULL))"
4004
- end
4005
-
4006
- it "should be able to exclude on one_to_one association datasets with :conditions" do
4007
- @Album.exclude(:a_album_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id IN (SELECT album_infos.id FROM album_infos WHERE (x = 1)))))) OR (albums.id IS NULL))"
4008
- end
4009
-
4010
- it "should be able to exclude on many_to_many association datasets with :conditions" do
4011
- @Album.exclude(:a_tags=>@Tag.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'A') AND (albums_tags.album_id IS NOT NULL) AND (tags.id IN (SELECT tags.id FROM tags WHERE (x = 1)))))) OR (albums.id IS NULL))"
4012
- end
4013
-
4014
- it "should be able to exclude on many_to_one association datasets with block" do
4015
- @Album.exclude(:b_artist=>@Artist.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.artist_id NOT IN (SELECT artists.id FROM artists WHERE ((name = 'B') AND (artists.id IS NOT NULL) AND (artists.id IN (SELECT artists.id FROM artists WHERE (x = 1)))))) OR (albums.artist_id IS NULL))"
4016
- end
4017
-
4018
- it "should be able to exclude on one_to_many association datasets with block" do
4019
- @Album.exclude(:b_tracks=>@Track.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT tracks.album_id FROM tracks WHERE ((name = 'B') AND (tracks.album_id IS NOT NULL) AND (tracks.id IN (SELECT tracks.id FROM tracks WHERE (x = 1)))))) OR (albums.id IS NULL))"
4020
- end
4021
-
4022
- it "should be able to exclude on one_to_one association datasets with block" do
4023
- @Album.exclude(:b_album_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT album_infos.album_id FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id IS NOT NULL) AND (album_infos.id IN (SELECT album_infos.id FROM album_infos WHERE (x = 1)))))) OR (albums.id IS NULL))"
4024
- end
4025
-
4026
- it "should be able to exclude on many_to_many association datasets with block" do
4027
- @Album.exclude(:b_tags=>@Tag.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE ((albums.id NOT IN (SELECT albums_tags.album_id FROM tags INNER JOIN albums_tags ON (albums_tags.tag_id = tags.id) WHERE ((name = 'B') AND (albums_tags.album_id IS NOT NULL) AND (tags.id IN (SELECT tags.id FROM tags WHERE (x = 1)))))) OR (albums.id IS NULL))"
4028
- end
4029
-
4030
- it "should be able to exclude on many_to_one association datasets with composite keys" do
4031
- @Album.exclude(:cartist=>@Artist.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((x = 1) AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL)))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))'
4032
- end
4033
-
4034
- it "should be able to exclude on one_to_many association datasets with composite keys" do
4035
- @Album.exclude(:ctracks=>@Track.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((x = 1) AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
4036
- end
4037
-
4038
- it "should be able to exclude on one_to_one association datasets with composite keys" do
4039
- @Album.exclude(:calbum_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((x = 1) AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
4040
- end
4041
-
4042
- it "should be able to exclude on many_to_many association datasets with composite keys" do
4043
- @Album.exclude(:ctags=>@Tag.filter(:x=>1)).sql.must_equal 'SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM albums_tags WHERE (((albums_tags.tag_id1, albums_tags.tag_id2) IN (SELECT tags.tid1, tags.tid2 FROM tags WHERE ((x = 1) AND (tags.tid1 IS NOT NULL) AND (tags.tid2 IS NOT NULL)))) AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL)))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))'
4044
- end
4045
-
4046
- it "should be able to exclude on many_to_one association datasets with :conditions and composite keys" do
4047
- @Album.exclude(:a_cartist=>@Artist.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'A') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id IN (SELECT artists.id FROM artists WHERE (x = 1)))))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))"
4048
- end
4049
-
4050
- it "should be able to exclude on one_to_many association datasets with :conditions and composite keys" do
4051
- @Album.exclude(:a_ctracks=>@Track.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'A') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (SELECT tracks.id FROM tracks WHERE (x = 1)))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
4052
- end
4053
-
4054
- it "should be able to exclude on one_to_one association datasets with :conditions and composite keys" do
4055
- @Album.exclude(:a_calbum_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'A') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id IN (SELECT album_infos.id FROM album_infos WHERE (x = 1)))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
4056
- end
4057
-
4058
- it "should be able to exclude on many_to_many association datasets with :conditions and composite keys" do
4059
- @Album.exclude(:a_ctags=>@Tag.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'A') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id IN (SELECT tags.id FROM tags WHERE (x = 1)))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
4060
- end
4061
-
4062
- it "should be able to exclude on many_to_one association datasets with block and composite keys" do
4063
- @Album.exclude(:b_cartist=>@Artist.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (((albums.artist_id1, albums.artist_id2) NOT IN (SELECT artists.id1, artists.id2 FROM artists WHERE ((name = 'B') AND (artists.id1 IS NOT NULL) AND (artists.id2 IS NOT NULL) AND (artists.id IN (SELECT artists.id FROM artists WHERE (x = 1)))))) OR (albums.artist_id1 IS NULL) OR (albums.artist_id2 IS NULL))"
4064
- end
4065
-
4066
- it "should be able to exclude on one_to_many association datasets with block and composite keys" do
4067
- @Album.exclude(:b_ctracks=>@Track.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT tracks.album_id1, tracks.album_id2 FROM tracks WHERE ((name = 'B') AND (tracks.album_id1 IS NOT NULL) AND (tracks.album_id2 IS NOT NULL) AND (tracks.id IN (SELECT tracks.id FROM tracks WHERE (x = 1)))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
4068
- end
4069
-
4070
- it "should be able to exclude on one_to_one association datasets with block and composite keys" do
4071
- @Album.exclude(:b_calbum_info=>@AlbumInfo.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT album_infos.album_id1, album_infos.album_id2 FROM album_infos WHERE ((name = 'B') AND (album_infos.album_id1 IS NOT NULL) AND (album_infos.album_id2 IS NOT NULL) AND (album_infos.id IN (SELECT album_infos.id FROM album_infos WHERE (x = 1)))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
4072
- end
4073
-
4074
- it "should be able to exclude on many_to_many association datasets with block and composite keys" do
4075
- @Album.exclude(:b_ctags=>@Tag.filter(:x=>1)).sql.must_equal "SELECT * FROM albums WHERE (((albums.id1, albums.id2) NOT IN (SELECT albums_tags.album_id1, albums_tags.album_id2 FROM tags INNER JOIN albums_tags ON ((albums_tags.tag_id1 = tags.tid1) AND (albums_tags.tag_id2 = tags.tid2)) WHERE ((name = 'B') AND (albums_tags.album_id1 IS NOT NULL) AND (albums_tags.album_id2 IS NOT NULL) AND (tags.id IN (SELECT tags.id FROM tags WHERE (x = 1)))))) OR (albums.id1 IS NULL) OR (albums.id2 IS NULL))"
4076
- end
4077
-
4078
- it "should do a regular IN query if the dataset for a different model is used" do
4079
- @Album.filter(:artist=>@Album.select(:x)).sql.must_equal 'SELECT * FROM albums WHERE (artist IN (SELECT x FROM albums))'
4080
- end
4081
-
4082
- it "should do a regular IN query if a non-model dataset is used" do
4083
- @Album.filter(:artist=>@Album.db.from(:albums).select(:x)).sql.must_equal 'SELECT * FROM albums WHERE (artist IN (SELECT x FROM albums))'
4084
- end
4085
- end
4086
-
4087
- describe "Sequel::Model Associations with clashing column names" do
4088
- before do
4089
- @db = Sequel.mock(:fetch=>{:id=>1, :object_id=>2})
4090
- @Foo = Class.new(Sequel::Model(@db[:foos]))
4091
- @Bar = Class.new(Sequel::Model(@db[:bars]))
4092
- @Foo.columns :id, :object_id
4093
- @Bar.columns :id, :object_id
4094
- @Foo.def_column_alias(:obj_id, :object_id)
4095
- @Bar.def_column_alias(:obj_id, :object_id)
4096
- @Foo.one_to_many :bars, :primary_key=>:obj_id, :primary_key_column=>:object_id, :key=>:object_id, :key_method=>:obj_id, :class=>@Bar
4097
- @Foo.one_to_one :bar, :primary_key=>:obj_id, :primary_key_column=>:object_id, :key=>:object_id, :key_method=>:obj_id, :class=>@Bar
4098
- @Bar.many_to_one :foo, :key=>:obj_id, :key_column=>:object_id, :primary_key=>:object_id, :primary_key_method=>:obj_id, :class=>@Foo
4099
- @Foo.many_to_many :mtmbars, :join_table=>:bars_foos, :left_primary_key=>:obj_id, :left_primary_key_column=>:object_id, :right_primary_key=>:object_id, :right_primary_key_method=>:obj_id, :left_key=>:foo_id, :right_key=>:object_id, :class=>@Bar
4100
- @Bar.many_to_many :mtmfoos, :join_table=>:bars_foos, :left_primary_key=>:obj_id, :left_primary_key_column=>:object_id, :right_primary_key=>:object_id, :right_primary_key_method=>:obj_id, :left_key=>:object_id, :right_key=>:foo_id, :class=>@Foo
4101
- @foo = @Foo.load(:id=>1, :object_id=>2)
4102
- @bar = @Bar.load(:id=>1, :object_id=>2)
4103
- @db.sqls
4104
- end
4105
-
4106
- it "should have working regular association methods" do
4107
- @Bar.first.foo.must_equal @foo
4108
- @db.sqls.must_equal ["SELECT * FROM bars LIMIT 1", "SELECT * FROM foos WHERE (foos.object_id = 2) LIMIT 1"]
4109
- @Foo.first.bars.must_equal [@bar]
4110
- @db.sqls.must_equal ["SELECT * FROM foos LIMIT 1", "SELECT * FROM bars WHERE (bars.object_id = 2)"]
4111
- @Foo.first.bar.must_equal @bar
4112
- @db.sqls.must_equal ["SELECT * FROM foos LIMIT 1", "SELECT * FROM bars WHERE (bars.object_id = 2) LIMIT 1"]
4113
- @Foo.first.mtmbars.must_equal [@bar]
4114
- @db.sqls.must_equal ["SELECT * FROM foos LIMIT 1", "SELECT bars.* FROM bars INNER JOIN bars_foos ON (bars_foos.object_id = bars.object_id) WHERE (bars_foos.foo_id = 2)"]
4115
- @Bar.first.mtmfoos.must_equal [@foo]
4116
- @db.sqls.must_equal ["SELECT * FROM bars LIMIT 1", "SELECT foos.* FROM foos INNER JOIN bars_foos ON (bars_foos.foo_id = foos.object_id) WHERE (bars_foos.object_id = 2)"]
4117
- end
4118
-
4119
- it "should have working eager loading methods" do
4120
- @Bar.eager(:foo).all.map{|o| [o, o.foo]}.must_equal [[@bar, @foo]]
4121
- @db.sqls.must_equal ["SELECT * FROM bars", "SELECT * FROM foos WHERE (foos.object_id IN (2))"]
4122
- @Foo.eager(:bars).all.map{|o| [o, o.bars]}.must_equal [[@foo, [@bar]]]
4123
- @db.sqls.must_equal ["SELECT * FROM foos", "SELECT * FROM bars WHERE (bars.object_id IN (2))"]
4124
- @Foo.eager(:bar).all.map{|o| [o, o.bar]}.must_equal [[@foo, @bar]]
4125
- @db.sqls.must_equal ["SELECT * FROM foos", "SELECT * FROM bars WHERE (bars.object_id IN (2))"]
4126
- @db.fetch = [[{:id=>1, :object_id=>2}], [{:id=>1, :object_id=>2, :x_foreign_key_x=>2}]]
4127
- @Foo.eager(:mtmbars).all.map{|o| [o, o.mtmbars]}.must_equal [[@foo, [@bar]]]
4128
- @db.sqls.must_equal ["SELECT * FROM foos", "SELECT bars.*, bars_foos.foo_id AS x_foreign_key_x FROM bars INNER JOIN bars_foos ON (bars_foos.object_id = bars.object_id) WHERE (bars_foos.foo_id IN (2))"]
4129
- @db.fetch = [[{:id=>1, :object_id=>2}], [{:id=>1, :object_id=>2, :x_foreign_key_x=>2}]]
4130
- @Bar.eager(:mtmfoos).all.map{|o| [o, o.mtmfoos]}.must_equal [[@bar, [@foo]]]
4131
- @db.sqls.must_equal ["SELECT * FROM bars", "SELECT foos.*, bars_foos.object_id AS x_foreign_key_x FROM foos INNER JOIN bars_foos ON (bars_foos.foo_id = foos.object_id) WHERE (bars_foos.object_id IN (2))"]
4132
- end
4133
-
4134
- it "should have working eager graphing methods" do
4135
- @db.fetch = {:id=>1, :object_id=>2, :foo_id=>1, :foo_object_id=>2}
4136
- @Bar.eager_graph(:foo).all.map{|o| [o, o.foo]}.must_equal [[@bar, @foo]]
4137
- @db.sqls.must_equal ["SELECT bars.id, bars.object_id, foo.id AS foo_id, foo.object_id AS foo_object_id FROM bars LEFT OUTER JOIN foos AS foo ON (foo.object_id = bars.object_id)"]
4138
- @db.fetch = {:id=>1, :object_id=>2, :bars_id=>1, :bars_object_id=>2}
4139
- @Foo.eager_graph(:bars).all.map{|o| [o, o.bars]}.must_equal [[@foo, [@bar]]]
4140
- @db.sqls.must_equal ["SELECT foos.id, foos.object_id, bars.id AS bars_id, bars.object_id AS bars_object_id FROM foos LEFT OUTER JOIN bars ON (bars.object_id = foos.object_id)"]
4141
- @db.fetch = {:id=>1, :object_id=>2, :bar_id=>1, :bar_object_id=>2}
4142
- @Foo.eager_graph(:bar).all.map{|o| [o, o.bar]}.must_equal [[@foo, @bar]]
4143
- @db.sqls.must_equal ["SELECT foos.id, foos.object_id, bar.id AS bar_id, bar.object_id AS bar_object_id FROM foos LEFT OUTER JOIN bars AS bar ON (bar.object_id = foos.object_id)"]
4144
- @db.fetch = {:id=>1, :object_id=>2, :mtmfoos_id=>1, :mtmfoos_object_id=>2}
4145
- @Bar.eager_graph(:mtmfoos).all.map{|o| [o, o.mtmfoos]}.must_equal [[@bar, [@foo]]]
4146
- @db.sqls.must_equal ["SELECT bars.id, bars.object_id, mtmfoos.id AS mtmfoos_id, mtmfoos.object_id AS mtmfoos_object_id FROM bars LEFT OUTER JOIN bars_foos ON (bars_foos.object_id = bars.object_id) LEFT OUTER JOIN foos AS mtmfoos ON (mtmfoos.object_id = bars_foos.foo_id)"]
4147
- @db.fetch = {:id=>1, :object_id=>2, :mtmbars_id=>1, :mtmbars_object_id=>2}
4148
- @Foo.eager_graph(:mtmbars).all.map{|o| [o, o.mtmbars]}.must_equal [[@foo, [@bar]]]
4149
- @db.sqls.must_equal ["SELECT foos.id, foos.object_id, mtmbars.id AS mtmbars_id, mtmbars.object_id AS mtmbars_object_id FROM foos LEFT OUTER JOIN bars_foos ON (bars_foos.foo_id = foos.object_id) LEFT OUTER JOIN bars AS mtmbars ON (mtmbars.object_id = bars_foos.object_id)"]
4150
- end
4151
-
4152
- it "should have working filter by associations with model instances" do
4153
- @Bar.first(:foo=>@foo).must_equal @bar
4154
- @db.sqls.must_equal ["SELECT * FROM bars WHERE (bars.object_id = 2) LIMIT 1"]
4155
- @Foo.first(:bars=>@bar).must_equal @foo
4156
- @db.sqls.must_equal ["SELECT * FROM foos WHERE (foos.object_id = 2) LIMIT 1"]
4157
- @Foo.first(:bar=>@bar).must_equal @foo
4158
- @db.sqls.must_equal ["SELECT * FROM foos WHERE (foos.object_id = 2) LIMIT 1"]
4159
- @Foo.first(:mtmbars=>@bar).must_equal @foo
4160
- @db.sqls.must_equal ["SELECT * FROM foos WHERE (foos.object_id IN (SELECT bars_foos.foo_id FROM bars_foos WHERE ((bars_foos.object_id = 2) AND (bars_foos.foo_id IS NOT NULL)))) LIMIT 1"]
4161
- @Bar.first(:mtmfoos=>@foo).must_equal @bar
4162
- @db.sqls.must_equal ["SELECT * FROM bars WHERE (bars.object_id IN (SELECT bars_foos.object_id FROM bars_foos WHERE ((bars_foos.foo_id = 2) AND (bars_foos.object_id IS NOT NULL)))) LIMIT 1"]
4163
- end
4164
-
4165
- it "should have working filter by associations for associations with :conditions with model instances" do
4166
- @Bar.many_to_one :foo, :clone=>:foo, :conditions=>{:name=>'A'}
4167
- @Foo.one_to_many :bars, :clone=>:bars, :conditions=>{:name=>'A'}
4168
- @Foo.one_to_one :bar, :clone=>:bars
4169
- @Foo.many_to_many :mtmbars, :clone=>:mtmbars, :conditions=>{:name=>'A'}
4170
- @Bar.many_to_many :mtmfoos, :clone=>:mtmfoos, :conditions=>{:name=>'A'}
4171
-
4172
- @Bar.where(:foo=>@foo).sql.must_equal "SELECT * FROM bars WHERE (bars.object_id IN (SELECT foos.object_id FROM foos WHERE ((name = 'A') AND (foos.object_id IS NOT NULL) AND (foos.id = 1))))"
4173
- @Foo.where(:bars=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_id IN (SELECT bars.object_id FROM bars WHERE ((name = 'A') AND (bars.object_id IS NOT NULL) AND (bars.id = 1))))"
4174
- @Foo.where(:bar=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_id IN (SELECT bars.object_id FROM bars WHERE ((name = 'A') AND (bars.object_id IS NOT NULL) AND (bars.id = 1))))"
4175
- @Foo.where(:mtmbars=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_id IN (SELECT bars_foos.foo_id FROM bars INNER JOIN bars_foos ON (bars_foos.object_id = bars.object_id) WHERE ((name = 'A') AND (bars_foos.foo_id IS NOT NULL) AND (bars.id = 1))))"
4176
- @Bar.where(:mtmfoos=>@foo).sql.must_equal "SELECT * FROM bars WHERE (bars.object_id IN (SELECT bars_foos.object_id FROM foos INNER JOIN bars_foos ON (bars_foos.foo_id = foos.object_id) WHERE ((name = 'A') AND (bars_foos.object_id IS NOT NULL) AND (foos.id = 1))))"
4177
- end
4178
-
4179
- it "should have working filter by associations for associations with block with model instances" do
4180
- b = lambda{|ds| ds.where(:name=>'A')}
4181
- @Bar.many_to_one :foo, :clone=>:foo, &b
4182
- @Foo.one_to_many :bars, :clone=>:bars, &b
4183
- @Foo.one_to_one :bar, :clone=>:bars
4184
- @Foo.many_to_many :mtmbars, :clone=>:mtmbars, &b
4185
- @Bar.many_to_many :mtmfoos, :clone=>:mtmfoos, &b
4186
-
4187
- @Bar.where(:foo=>@foo).sql.must_equal "SELECT * FROM bars WHERE (bars.object_id IN (SELECT foos.object_id FROM foos WHERE ((name = 'A') AND (foos.object_id IS NOT NULL) AND (foos.id = 1))))"
4188
- @Foo.where(:bars=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_id IN (SELECT bars.object_id FROM bars WHERE ((name = 'A') AND (bars.object_id IS NOT NULL) AND (bars.id = 1))))"
4189
- @Foo.where(:bar=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_id IN (SELECT bars.object_id FROM bars WHERE ((name = 'A') AND (bars.object_id IS NOT NULL) AND (bars.id = 1))))"
4190
- @Foo.where(:mtmbars=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_id IN (SELECT bars_foos.foo_id FROM bars INNER JOIN bars_foos ON (bars_foos.object_id = bars.object_id) WHERE ((name = 'A') AND (bars_foos.foo_id IS NOT NULL) AND (bars.id = 1))))"
4191
- @Bar.where(:mtmfoos=>@foo).sql.must_equal "SELECT * FROM bars WHERE (bars.object_id IN (SELECT bars_foos.object_id FROM foos INNER JOIN bars_foos ON (bars_foos.foo_id = foos.object_id) WHERE ((name = 'A') AND (bars_foos.object_id IS NOT NULL) AND (foos.id = 1))))"
4192
- end
4193
-
4194
- it "should have working modification methods" do
4195
- b = @Bar.load(:id=>2, :object_id=>3)
4196
- f = @Foo.load(:id=>2, :object_id=>3)
4197
- @db.numrows = 1
4198
-
4199
- @bar.foo = f
4200
- @bar.obj_id.must_equal 3
4201
- @foo.bar = @bar
4202
- @bar.obj_id.must_equal 2
4203
-
4204
- @foo.add_bar(b)
4205
- @db.fetch = [[{:id=>1, :object_id=>2}, {:id=>2, :object_id=>2}], [{:id=>1, :object_id=>2}]]
4206
- @foo.bars.must_equal [@bar, b]
4207
- @foo.remove_bar(b)
4208
- @foo.bars.must_equal [@bar]
4209
- @foo.remove_all_bars
4210
- @foo.bars.must_equal []
4211
-
4212
- @db.fetch = [[{:id=>1, :object_id=>2}], [], [{:id=>2, :object_id=>2}]]
4213
- @bar = @Bar.load(:id=>1, :object_id=>2)
4214
- @foo.mtmbars.must_equal [@bar]
4215
- @foo.remove_all_mtmbars
4216
- @foo.mtmbars.must_equal []
4217
- @foo.add_mtmbar(b)
4218
- @foo.mtmbars.must_equal [b]
4219
- @foo.remove_mtmbar(b)
4220
- @foo.mtmbars.must_equal []
4221
-
4222
- @db.fetch = [[{:id=>2, :object_id=>3}], [], [{:id=>2, :object_id=>3}]]
4223
- @bar.add_mtmfoo(f)
4224
- @bar.mtmfoos.must_equal [f]
4225
- @bar.remove_all_mtmfoos
4226
- @bar.mtmfoos.must_equal []
4227
- @bar.add_mtmfoo(f)
4228
- @bar.mtmfoos.must_equal [f]
4229
- @bar.remove_mtmfoo(f)
4230
- @bar.mtmfoos.must_equal []
4231
- end
4232
- end
4233
-
4234
- describe "Sequel::Model Associations with non-column expression keys" do
4235
- before do
4236
- @db = Sequel.mock(:fetch=>{:id=>1, :object_ids=>[2]})
4237
- @Foo = Class.new(Sequel::Model(@db[:foos]))
4238
- @Bar = Class.new(Sequel::Model(@db[:bars]))
4239
- @Foo.columns :id, :object_ids
4240
- @Bar.columns :id, :object_ids
4241
- m = Module.new{def obj_id; object_ids[0]; end}
4242
- @Foo.include m
4243
- @Bar.include m
4244
-
4245
- @Foo.one_to_many :bars, :primary_key=>:obj_id, :primary_key_column=>Sequel.subscript(:object_ids, 0), :key=>Sequel.subscript(:object_ids, 0), :key_method=>:obj_id, :class=>@Bar
4246
- @Foo.one_to_one :bar, :primary_key=>:obj_id, :primary_key_column=>Sequel.subscript(:object_ids, 0), :key=>Sequel.subscript(:object_ids, 0), :key_method=>:obj_id, :class=>@Bar
4247
- @Bar.many_to_one :foo, :key=>:obj_id, :key_column=>Sequel.subscript(:object_ids, 0), :primary_key=>Sequel.subscript(:object_ids, 0), :primary_key_method=>:obj_id, :class=>@Foo
4248
- @Foo.many_to_many :mtmbars, :join_table=>:bars_foos, :left_primary_key=>:obj_id, :left_primary_key_column=>Sequel.subscript(:object_ids, 0), :right_primary_key=>Sequel.subscript(:object_ids, 0), :right_primary_key_method=>:obj_id, :left_key=>Sequel.subscript(:foo_ids, 0), :right_key=>Sequel.subscript(:bar_ids, 0), :class=>@Bar
4249
- @Bar.many_to_many :mtmfoos, :join_table=>:bars_foos, :left_primary_key=>:obj_id, :left_primary_key_column=>Sequel.subscript(:object_ids, 0), :right_primary_key=>Sequel.subscript(:object_ids, 0), :right_primary_key_method=>:obj_id, :left_key=>Sequel.subscript(:bar_ids, 0), :right_key=>Sequel.subscript(:foo_ids, 0), :class=>@Foo, :reciprocal=>nil
4250
- @foo = @Foo.load(:id=>1, :object_ids=>[2])
4251
- @bar = @Bar.load(:id=>1, :object_ids=>[2])
4252
- @db.sqls
4253
- end
4254
-
4255
- it "should have working regular association methods" do
4256
- @Bar.first.foo.must_equal @foo
4257
- @db.sqls.must_equal ["SELECT * FROM bars LIMIT 1", "SELECT * FROM foos WHERE (foos.object_ids[0] = 2) LIMIT 1"]
4258
- @Foo.first.bars.must_equal [@bar]
4259
- @db.sqls.must_equal ["SELECT * FROM foos LIMIT 1", "SELECT * FROM bars WHERE (bars.object_ids[0] = 2)"]
4260
- @Foo.first.bar.must_equal @bar
4261
- @db.sqls.must_equal ["SELECT * FROM foos LIMIT 1", "SELECT * FROM bars WHERE (bars.object_ids[0] = 2) LIMIT 1"]
4262
- @Foo.first.mtmbars.must_equal [@bar]
4263
- @db.sqls.must_equal ["SELECT * FROM foos LIMIT 1", "SELECT bars.* FROM bars INNER JOIN bars_foos ON (bars_foos.bar_ids[0] = bars.object_ids[0]) WHERE (bars_foos.foo_ids[0] = 2)"]
4264
- @Bar.first.mtmfoos.must_equal [@foo]
4265
- @db.sqls.must_equal ["SELECT * FROM bars LIMIT 1", "SELECT foos.* FROM foos INNER JOIN bars_foos ON (bars_foos.foo_ids[0] = foos.object_ids[0]) WHERE (bars_foos.bar_ids[0] = 2)"]
4266
- end
4267
-
4268
- it "should have working eager loading methods" do
4269
- @Bar.eager(:foo).all.map{|o| [o, o.foo]}.must_equal [[@bar, @foo]]
4270
- @db.sqls.must_equal ["SELECT * FROM bars", "SELECT * FROM foos WHERE (foos.object_ids[0] IN (2))"]
4271
- @Foo.eager(:bars).all.map{|o| [o, o.bars]}.must_equal [[@foo, [@bar]]]
4272
- @db.sqls.must_equal ["SELECT * FROM foos", "SELECT * FROM bars WHERE (bars.object_ids[0] IN (2))"]
4273
- @Foo.eager(:bar).all.map{|o| [o, o.bar]}.must_equal [[@foo, @bar]]
4274
- @db.sqls.must_equal ["SELECT * FROM foos", "SELECT * FROM bars WHERE (bars.object_ids[0] IN (2))"]
4275
- @db.fetch = [[{:id=>1, :object_ids=>[2]}], [{:id=>1, :object_ids=>[2], :x_foreign_key_x=>2}]]
4276
- @Foo.eager(:mtmbars).all.map{|o| [o, o.mtmbars]}.must_equal [[@foo, [@bar]]]
4277
- @db.sqls.must_equal ["SELECT * FROM foos", "SELECT bars.*, bars_foos.foo_ids[0] AS x_foreign_key_x FROM bars INNER JOIN bars_foos ON (bars_foos.bar_ids[0] = bars.object_ids[0]) WHERE (bars_foos.foo_ids[0] IN (2))"]
4278
- @db.fetch = [[{:id=>1, :object_ids=>[2]}], [{:id=>1, :object_ids=>[2], :x_foreign_key_x=>2}]]
4279
- @Bar.eager(:mtmfoos).all.map{|o| [o, o.mtmfoos]}.must_equal [[@bar, [@foo]]]
4280
- @db.sqls.must_equal ["SELECT * FROM bars", "SELECT foos.*, bars_foos.bar_ids[0] AS x_foreign_key_x FROM foos INNER JOIN bars_foos ON (bars_foos.foo_ids[0] = foos.object_ids[0]) WHERE (bars_foos.bar_ids[0] IN (2))"]
4281
- end
4282
-
4283
- it "should have working eager graphing methods" do
4284
- @db.fetch = {:id=>1, :object_ids=>[2], :foo_id=>1, :foo_object_ids=>[2]}
4285
- @Bar.eager_graph(:foo).all.map{|o| [o, o.foo]}.must_equal [[@bar, @foo]]
4286
- @db.sqls.must_equal ["SELECT bars.id, bars.object_ids, foo.id AS foo_id, foo.object_ids AS foo_object_ids FROM bars LEFT OUTER JOIN foos AS foo ON (foo.object_ids[0] = bars.object_ids[0])"]
4287
- @db.fetch = {:id=>1, :object_ids=>[2], :bars_id=>1, :bars_object_ids=>[2]}
4288
- @Foo.eager_graph(:bars).all.map{|o| [o, o.bars]}.must_equal [[@foo, [@bar]]]
4289
- @db.sqls.must_equal ["SELECT foos.id, foos.object_ids, bars.id AS bars_id, bars.object_ids AS bars_object_ids FROM foos LEFT OUTER JOIN bars ON (bars.object_ids[0] = foos.object_ids[0])"]
4290
- @db.fetch = {:id=>1, :object_ids=>[2], :bar_id=>1, :bar_object_ids=>[2]}
4291
- @Foo.eager_graph(:bar).all.map{|o| [o, o.bar]}.must_equal [[@foo, @bar]]
4292
- @db.sqls.must_equal ["SELECT foos.id, foos.object_ids, bar.id AS bar_id, bar.object_ids AS bar_object_ids FROM foos LEFT OUTER JOIN bars AS bar ON (bar.object_ids[0] = foos.object_ids[0])"]
4293
- @db.fetch = {:id=>1, :object_ids=>[2], :mtmfoos_id=>1, :mtmfoos_object_ids=>[2]}
4294
- @Bar.eager_graph(:mtmfoos).all.map{|o| [o, o.mtmfoos]}.must_equal [[@bar, [@foo]]]
4295
- @db.sqls.must_equal ["SELECT bars.id, bars.object_ids, mtmfoos.id AS mtmfoos_id, mtmfoos.object_ids AS mtmfoos_object_ids FROM bars LEFT OUTER JOIN bars_foos ON (bars_foos.bar_ids[0] = bars.object_ids[0]) LEFT OUTER JOIN foos AS mtmfoos ON (mtmfoos.object_ids[0] = bars_foos.foo_ids[0])"]
4296
- @db.fetch = {:id=>1, :object_ids=>[2], :mtmbars_id=>1, :mtmbars_object_ids=>[2]}
4297
- @Foo.eager_graph(:mtmbars).all.map{|o| [o, o.mtmbars]}.must_equal [[@foo, [@bar]]]
4298
- @db.sqls.must_equal ["SELECT foos.id, foos.object_ids, mtmbars.id AS mtmbars_id, mtmbars.object_ids AS mtmbars_object_ids FROM foos LEFT OUTER JOIN bars_foos ON (bars_foos.foo_ids[0] = foos.object_ids[0]) LEFT OUTER JOIN bars AS mtmbars ON (mtmbars.object_ids[0] = bars_foos.bar_ids[0])"]
4299
- end
4300
-
4301
- it "should have working filter by associations with model instances" do
4302
- @Bar.first(:foo=>@foo).must_equal @bar
4303
- @db.sqls.must_equal ["SELECT * FROM bars WHERE (bars.object_ids[0] = 2) LIMIT 1"]
4304
- @Foo.first(:bars=>@bar).must_equal @foo
4305
- @db.sqls.must_equal ["SELECT * FROM foos WHERE (foos.object_ids[0] = 2) LIMIT 1"]
4306
- @Foo.first(:bar=>@bar).must_equal @foo
4307
- @db.sqls.must_equal ["SELECT * FROM foos WHERE (foos.object_ids[0] = 2) LIMIT 1"]
4308
- @Foo.first(:mtmbars=>@bar).must_equal @foo
4309
- @db.sqls.must_equal ["SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars_foos.foo_ids[0] FROM bars_foos WHERE ((bars_foos.bar_ids[0] = 2) AND (bars_foos.foo_ids[0] IS NOT NULL)))) LIMIT 1"]
4310
- @Bar.first(:mtmfoos=>@foo).must_equal @bar
4311
- @db.sqls.must_equal ["SELECT * FROM bars WHERE (bars.object_ids[0] IN (SELECT bars_foos.bar_ids[0] FROM bars_foos WHERE ((bars_foos.foo_ids[0] = 2) AND (bars_foos.bar_ids[0] IS NOT NULL)))) LIMIT 1"]
4312
- end
4313
-
4314
- it "should have working filter by associations for associations with :conditions with model instances" do
4315
- @Bar.many_to_one :foo, :clone=>:foo, :conditions=>{:name=>'A'}
4316
- @Foo.one_to_many :bars, :clone=>:bars, :conditions=>{:name=>'A'}
4317
- @Foo.one_to_one :bar, :clone=>:bars
4318
- @Foo.many_to_many :mtmbars, :clone=>:mtmbars, :conditions=>{:name=>'A'}
4319
- @Bar.many_to_many :mtmfoos, :clone=>:mtmfoos, :conditions=>{:name=>'A'}
4320
-
4321
- @Bar.where(:foo=>@foo).sql.must_equal "SELECT * FROM bars WHERE (bars.object_ids[0] IN (SELECT foos.object_ids[0] FROM foos WHERE ((name = 'A') AND (foos.object_ids[0] IS NOT NULL) AND (foos.id = 1))))"
4322
- @Foo.where(:bars=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars.object_ids[0] FROM bars WHERE ((name = 'A') AND (bars.object_ids[0] IS NOT NULL) AND (bars.id = 1))))"
4323
- @Foo.where(:bar=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars.object_ids[0] FROM bars WHERE ((name = 'A') AND (bars.object_ids[0] IS NOT NULL) AND (bars.id = 1))))"
4324
- @Foo.where(:mtmbars=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars_foos.foo_ids[0] FROM bars INNER JOIN bars_foos ON (bars_foos.bar_ids[0] = bars.object_ids[0]) WHERE ((name = 'A') AND (bars_foos.foo_ids[0] IS NOT NULL) AND (bars.id = 1))))"
4325
- @Bar.where(:mtmfoos=>@foo).sql.must_equal "SELECT * FROM bars WHERE (bars.object_ids[0] IN (SELECT bars_foos.bar_ids[0] FROM foos INNER JOIN bars_foos ON (bars_foos.foo_ids[0] = foos.object_ids[0]) WHERE ((name = 'A') AND (bars_foos.bar_ids[0] IS NOT NULL) AND (foos.id = 1))))"
4326
- end
4327
-
4328
- it "should have working filter by associations for associations with block with model instances" do
4329
- b = lambda{|ds| ds.where(:name=>'A')}
4330
- @Bar.many_to_one :foo, :clone=>:foo, &b
4331
- @Foo.one_to_many :bars, :clone=>:bars, &b
4332
- @Foo.one_to_one :bar, :clone=>:bars
4333
- @Foo.many_to_many :mtmbars, :clone=>:mtmbars, &b
4334
- @Bar.many_to_many :mtmfoos, :clone=>:mtmfoos, &b
4335
-
4336
- @Bar.where(:foo=>@foo).sql.must_equal "SELECT * FROM bars WHERE (bars.object_ids[0] IN (SELECT foos.object_ids[0] FROM foos WHERE ((name = 'A') AND (foos.object_ids[0] IS NOT NULL) AND (foos.id = 1))))"
4337
- @Foo.where(:bars=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars.object_ids[0] FROM bars WHERE ((name = 'A') AND (bars.object_ids[0] IS NOT NULL) AND (bars.id = 1))))"
4338
- @Foo.where(:bar=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars.object_ids[0] FROM bars WHERE ((name = 'A') AND (bars.object_ids[0] IS NOT NULL) AND (bars.id = 1))))"
4339
- @Foo.where(:mtmbars=>@bar).sql.must_equal "SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars_foos.foo_ids[0] FROM bars INNER JOIN bars_foos ON (bars_foos.bar_ids[0] = bars.object_ids[0]) WHERE ((name = 'A') AND (bars_foos.foo_ids[0] IS NOT NULL) AND (bars.id = 1))))"
4340
- @Bar.where(:mtmfoos=>@foo).sql.must_equal "SELECT * FROM bars WHERE (bars.object_ids[0] IN (SELECT bars_foos.bar_ids[0] FROM foos INNER JOIN bars_foos ON (bars_foos.foo_ids[0] = foos.object_ids[0]) WHERE ((name = 'A') AND (bars_foos.bar_ids[0] IS NOT NULL) AND (foos.id = 1))))"
4341
- end
4342
-
4343
- it "should have working filter by associations with model datasets" do
4344
- @Bar.first(:foo=>@Foo.where(:id=>@foo.id)).must_equal @bar
4345
- @db.sqls.must_equal ["SELECT * FROM bars WHERE (bars.object_ids[0] IN (SELECT foos.object_ids[0] FROM foos WHERE ((id = 1) AND (foos.object_ids[0] IS NOT NULL)))) LIMIT 1"]
4346
- @Foo.first(:bars=>@Bar.where(:id=>@bar.id)).must_equal @foo
4347
- @db.sqls.must_equal ["SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars.object_ids[0] FROM bars WHERE ((id = 1) AND (bars.object_ids[0] IS NOT NULL)))) LIMIT 1"]
4348
- @Foo.first(:bar=>@Bar.where(:id=>@bar.id)).must_equal @foo
4349
- @db.sqls.must_equal ["SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars.object_ids[0] FROM bars WHERE ((id = 1) AND (bars.object_ids[0] IS NOT NULL)))) LIMIT 1"]
4350
- @Foo.first(:mtmbars=>@Bar.where(:id=>@bar.id)).must_equal @foo
4351
- @db.sqls.must_equal ["SELECT * FROM foos WHERE (foos.object_ids[0] IN (SELECT bars_foos.foo_ids[0] FROM bars_foos WHERE ((bars_foos.bar_ids[0] IN (SELECT bars.object_ids[0] FROM bars WHERE ((id = 1) AND (bars.object_ids[0] IS NOT NULL)))) AND (bars_foos.foo_ids[0] IS NOT NULL)))) LIMIT 1"]
4352
- @Bar.first(:mtmfoos=>@Foo.where(:id=>@foo.id)).must_equal @bar
4353
- @db.sqls.must_equal ["SELECT * FROM bars WHERE (bars.object_ids[0] IN (SELECT bars_foos.bar_ids[0] FROM bars_foos WHERE ((bars_foos.foo_ids[0] IN (SELECT foos.object_ids[0] FROM foos WHERE ((id = 1) AND (foos.object_ids[0] IS NOT NULL)))) AND (bars_foos.bar_ids[0] IS NOT NULL)))) LIMIT 1"]
4354
- end
4355
- end
4356
-
4357
- describe Sequel::Model, "#refresh" do
4358
- before do
4359
- @c = Class.new(Sequel::Model(:items)) do
4360
- unrestrict_primary_key
4361
- columns :id, :x
4362
- end
4363
- DB.reset
4364
- end
4365
-
4366
- it "should remove cached associations" do
4367
- @c.many_to_one :node, :class=>@c
4368
- @m = @c.new(:id => 555)
4369
- @m.associations[:node] = 15
4370
- @m.reload
4371
- @m.associations.must_equal({})
4372
- end
4373
- end
4374
-
4375
- describe "Model#freeze" do
4376
- before do
4377
- class ::Album < Sequel::Model
4378
- columns :id
4379
- class B < Sequel::Model
4380
- columns :id, :album_id
4381
- many_to_one :album, :class=>Album
4382
- end
4383
- one_to_one :b, :key=>:album_id, :class=>B
4384
- end
4385
- @o = Album.load(:id=>1).freeze
4386
- DB.sqls
4387
- end
4388
- after do
4389
- Object.send(:remove_const, :Album)
4390
- end
4391
-
4392
- it "should freeze the object's associations" do
4393
- @o.associations.frozen?.must_equal true
4394
- end
4395
-
4396
- it "should freeze associations after validating" do
4397
- Album.send(:define_method, :validate){super(); b}
4398
- @o = Album.load(:id=>1)
4399
- @o.freeze
4400
- @o.associations.fetch(:b).id.must_equal 1
4401
- end
4402
-
4403
- it "should not break associations getters" do
4404
- Album::B.dataset = Album::B.dataset.with_fetch(:album_id=>1, :id=>2)
4405
- @o.b.must_equal Album::B.load(:id=>2, :album_id=>1)
4406
- @o.associations[:b].must_be_nil
4407
-
4408
- @o = @o.dup
4409
- @o.b.must_equal Album::B.load(:id=>2, :album_id=>1)
4410
- @o.associations[:b].must_equal Album::B.load(:id=>2, :album_id=>1)
4411
- end
4412
-
4413
- it "should not break reciprocal associations" do
4414
- b = Album::B.load(:id=>2, :album_id=>nil)
4415
- b.album = @o
4416
- @o.associations[:b].must_be_nil
4417
-
4418
- @o = @o.dup
4419
- b = Album::B.load(:id=>2, :album_id=>nil)
4420
- b.album = @o
4421
- @o.associations[:b].must_equal Album::B.load(:id=>2, :album_id=>1)
4422
- end
4423
- end
4424
-
4425
- describe "association autoreloading" do
4426
- before do
4427
- @c = Class.new(Sequel::Model)
4428
- @Artist = Class.new(@c).set_dataset(:artists)
4429
- @Artist.dataset = @Artist.dataset.with_fetch(:id=>2, :name=>'Ar')
4430
- @Album = Class.new(@c).set_dataset(:albums)
4431
- @Artist.columns :id, :name
4432
- @Album.columns :id, :name, :artist_id
4433
- @Album.db_schema[:artist_id][:type] = :integer
4434
- @Album.many_to_one :artist, :class=>@Artist
4435
- DB.reset
4436
- end
4437
-
4438
- it "should reload many_to_one association when foreign key is modified" do
4439
- album = @Album.load(:id => 1, :name=>'Al', :artist_id=>2)
4440
- album.artist
4441
- DB.sqls.must_equal ['SELECT * FROM artists WHERE id = 2']
4442
-
4443
- album.artist_id = 1
4444
- album.artist
4445
- DB.sqls.must_equal ['SELECT * FROM artists WHERE id = 1']
4446
- end
4447
-
4448
- it "should handle multiple many_to_one association with the same foreign key" do
4449
- @Album.many_to_one :artist2, :key=>:artist_id, :class=>@Artist
4450
- album = @Album.load(:id => 1, :name=>'Al', :artist_id=>2)
4451
- album.artist
4452
- album.artist2
4453
- DB.sqls.must_equal ['SELECT * FROM artists WHERE id = 2'] * 2
4454
-
4455
- album.artist
4456
- album.artist2
4457
- DB.sqls.must_equal []
4458
-
4459
- album.artist_id = 1
4460
- album.artist
4461
- album.artist2
4462
- DB.sqls.must_equal ['SELECT * FROM artists WHERE id = 1'] * 2
4463
- end
4464
-
4465
- it "should not reload when value has not changed" do
4466
- album = @Album.load(:id => 1, :name=>'Al', :artist_id=>2)
4467
- album.artist
4468
- DB.sqls.must_equal ['SELECT * FROM artists WHERE id = 2']
4469
-
4470
- album.artist_id = 2
4471
- album.artist
4472
- DB.sqls.must_equal []
4473
-
4474
- album.artist_id = "2"
4475
- album.artist
4476
- DB.sqls.must_equal []
4477
- end
4478
-
4479
- it "should reload all associations which use the foreign key" do
4480
- @Album.many_to_one :other_artist, :key => :artist_id, :foreign_key => :id, :class => @Artist
4481
- album = @Album.load(:id => 1, :name=>'Al', :artist_id=>2)
4482
- album.artist
4483
- album.other_artist
4484
- DB.reset
4485
-
4486
- album.artist_id = 1
4487
- album.artist
4488
- DB.sqls.must_equal ['SELECT * FROM artists WHERE id = 1']
4489
-
4490
- album.other_artist
4491
- DB.sqls.must_equal ['SELECT * FROM artists WHERE id = 1']
4492
- end
4493
-
4494
- it "should work with composite keys" do
4495
- @Album.many_to_one :composite_artist, :key => [:artist_id, :name], :primary_key => [:id, :name], :class => @Artist
4496
- album = @Album.load(:id => 1, :name=>'Al', :artist_id=>2)
4497
- album.composite_artist
4498
- DB.reset
4499
-
4500
- album.artist_id = 1
4501
- album.composite_artist
4502
- DB.sqls.must_equal ["SELECT * FROM artists WHERE ((artists.id = 1) AND (artists.name = 'Al')) LIMIT 1"]
4503
-
4504
- album.name = 'Al2'
4505
- album.composite_artist
4506
- DB.sqls.must_equal ["SELECT * FROM artists WHERE ((artists.id = 1) AND (artists.name = 'Al2')) LIMIT 1"]
4507
- end
4508
-
4509
- it "should work with subclasses" do
4510
- salbum = Class.new(@Album)
4511
- oartist = Class.new(@c).set_dataset(:oartist)
4512
- oartist.columns :id, :name
4513
- salbum.many_to_one :artist2, :class=>oartist, :key=>:artist_id
4514
- album = salbum.load(:id => 1, :name=>'Al', :artist_id=>2)
4515
- album.artist
4516
- DB.sqls.must_equal ['SELECT * FROM artists WHERE id = 2']
4517
-
4518
- album.artist_id = 1
4519
- album.artist
4520
- DB.sqls.must_equal ['SELECT * FROM artists WHERE id = 1']
4521
- end
4522
- end
4523
-
4524
- describe Sequel::Model, ".dataset_module" do
4525
- before do
4526
- @c = Class.new(Sequel::Model(:items))
4527
- end
4528
-
4529
- it "should have dataset_module support an eager method" do
4530
- @c.many_to_one :foo, :class=>@c
4531
- @c.many_to_one :bar, :class=>@c
4532
- @c.many_to_one :baz, :class=>@c
4533
- @c.many_to_one :quux, :class=>@c
4534
- @c.dataset_module{eager(:foo, {:foo=>{:bar=>:baz}}, :quux)}
4535
- @c.foo.opts[:eager].must_equal(:foo=>{:bar=>:baz}, :quux=>nil)
4536
- @c.where(:bar).foo.opts[:eager].must_equal(:foo=>{:bar=>:baz}, :quux=>nil)
4537
- end
4538
- end