tdiary 5.0.9 → 5.0.10

Sign up to get free protection for your applications and to get access to all the features.
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