tdiary 5.0.1 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2377) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +10 -0
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +19 -19
  5. data/doc/INSTALL-cgi.md +6 -8
  6. data/doc/INSTALL-rack.md +16 -0
  7. data/doc/INSTALL.md +6 -6
  8. data/js/comment_emoji_autocomplete.js +30 -31
  9. data/lib/tdiary/cli.rb +11 -11
  10. data/lib/tdiary/core_ext.rb +1 -1
  11. data/lib/tdiary/dispatcher.rb +2 -2
  12. data/lib/tdiary/environment.rb +16 -0
  13. data/lib/tdiary/plugin/00default.rb +22 -9
  14. data/lib/tdiary/plugin.rb +1 -3
  15. data/lib/tdiary/server.rb +7 -7
  16. data/lib/tdiary/style/wiki.rb +5 -5
  17. data/lib/tdiary/tasks/release.rake +142 -139
  18. data/lib/tdiary/version.rb +1 -1
  19. data/misc/paas/heroku/Gemfile.local +1 -1
  20. data/misc/paas/heroku/Gemfile.lock +66 -61
  21. data/misc/plugin/amazon.rb +21 -9
  22. data/public/index.rdf +7 -378
  23. data/tdiary.conf +82 -0
  24. data/theme/base.css +5 -5
  25. data/theme/default/default.css +9 -7
  26. data/vendor/bundle/bin/cdiff +2 -2
  27. data/vendor/bundle/bin/colortab +2 -2
  28. data/vendor/bundle/bin/coveralls +2 -2
  29. data/vendor/bundle/bin/decolor +2 -2
  30. data/vendor/bundle/bin/emot +2 -2
  31. data/vendor/bundle/bin/hikidoc +2 -2
  32. data/vendor/bundle/bin/htmldiff +3 -3
  33. data/vendor/bundle/bin/jasmine +2 -2
  34. data/vendor/bundle/bin/launchy +2 -2
  35. data/vendor/bundle/bin/ldiff +3 -3
  36. data/vendor/bundle/bin/nokogiri +2 -1
  37. data/vendor/bundle/bin/pit +2 -2
  38. data/vendor/bundle/bin/racksh +2 -2
  39. data/vendor/bundle/bin/rackup +2 -2
  40. data/vendor/bundle/bin/rake +2 -1
  41. data/vendor/bundle/bin/restclient +2 -2
  42. data/vendor/bundle/bin/sequel +2 -1
  43. data/vendor/bundle/bin/sprockets +2 -1
  44. data/vendor/bundle/bin/term_display +2 -2
  45. data/vendor/bundle/bin/term_mandel +2 -2
  46. data/vendor/bundle/bin/thor +2 -2
  47. data/vendor/bundle/cache/capybara-2.8.0.gem +0 -0
  48. data/vendor/bundle/cache/ffi-1.9.14.gem +0 -0
  49. data/vendor/bundle/cache/rspec-3.5.0.gem +0 -0
  50. data/vendor/bundle/cache/rspec-core-3.5.2.gem +0 -0
  51. data/vendor/bundle/cache/rspec-expectations-3.5.0.gem +0 -0
  52. data/vendor/bundle/cache/rspec-mocks-3.5.0.gem +0 -0
  53. data/vendor/bundle/cache/rspec-support-3.5.0.gem +0 -0
  54. data/vendor/bundle/cache/sequel-4.37.0.gem +0 -0
  55. data/vendor/bundle/cache/sprockets-3.7.0.gem +0 -0
  56. data/vendor/bundle/cache/test-unit-3.2.1.gem +0 -0
  57. data/vendor/bundle/cache/tins-1.12.0.gem +0 -0
  58. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.1.1/gem_make.out +2 -2
  59. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/ffi-1.9.14/ffi_c.so +0 -0
  60. data/vendor/bundle/extensions/x86_64-linux/{2.2.0-static/bson-4.0.0 → 2.3.0-static/ffi-1.9.14}/gem.build_complete +0 -0
  61. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/ffi-1.9.14/gem_make.out +52 -0
  62. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/ffi-1.9.14/mkmf.log +399 -0
  63. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/github-markdown-0.6.9/gem_make.out +12 -12
  64. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/github-markdown-0.6.9/github/markdown.so +0 -0
  65. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.8/gem_make.out +2 -2
  66. data/vendor/bundle/extensions/x86_64-linux/{2.2.0-static/eventmachine-1.0.8 → 2.3.0-static/puma-3.6.0}/gem.build_complete +0 -0
  67. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-3.6.0/gem_make.out +41 -0
  68. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/{puma-3.4.0 → puma-3.6.0}/mkmf.log +0 -0
  69. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-3.6.0/puma/puma_http11.so +0 -0
  70. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/redcarpet-3.3.4/gem_make.out +2 -2
  71. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/redcarpet-3.3.4/redcarpet.so +0 -0
  72. data/vendor/bundle/extensions/x86_64-linux/{2.2.0-static/github-markdown-0.6.9 → 2.3.0-static/sqlite3-1.3.11}/gem.build_complete +0 -0
  73. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/sqlite3-1.3.11/gem_make.out +36 -0
  74. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/sqlite3-1.3.11/mkmf.log +467 -0
  75. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/sqlite3-1.3.11/sqlite3/sqlite3_native.so +0 -0
  76. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/unf_ext-0.0.7.2/gem_make.out +2 -2
  77. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/unf_ext-0.0.7.2/mkmf.log +2 -2
  78. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/unf_ext-0.0.7.2/unf_ext.so +0 -0
  79. data/vendor/bundle/gems/capybara-2.8.0/History.md +794 -0
  80. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/License.txt +0 -0
  81. data/vendor/bundle/gems/capybara-2.8.0/README.md +1007 -0
  82. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/cucumber.rb +0 -0
  83. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/driver/base.rb +147 -0
  84. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/driver/node.rb +113 -0
  85. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/dsl.rb +0 -0
  86. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/helpers.rb +141 -0
  87. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/node/actions.rb +266 -0
  88. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/node/base.rb +131 -0
  89. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/node/document.rb +0 -0
  90. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/node/document_matchers.rb +0 -0
  91. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/node/element.rb +359 -0
  92. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/node/finders.rb +232 -0
  93. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/node/matchers.rb +595 -0
  94. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/node/simple.rb +0 -0
  95. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/queries/base_query.rb +0 -0
  96. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/queries/current_path_query.rb +0 -0
  97. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/queries/match_query.rb +0 -0
  98. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/queries/selector_query.rb +155 -0
  99. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/queries/text_query.rb +84 -0
  100. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/queries/title_query.rb +0 -0
  101. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/query.rb +0 -0
  102. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/rack_test/browser.rb +0 -0
  103. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/rack_test/css_handlers.rb +0 -0
  104. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/rack_test/driver.rb +0 -0
  105. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/rack_test/form.rb +0 -0
  106. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/rack_test/node.rb +217 -0
  107. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/rails.rb +0 -0
  108. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/result.rb +130 -0
  109. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/rspec/features.rb +55 -0
  110. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/rspec/matchers.rb +0 -0
  111. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/rspec.rb +0 -0
  112. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/selector/filter.rb +0 -0
  113. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/selector/filter_set.rb +46 -0
  114. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/selector.rb +406 -0
  115. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/selenium/driver.rb +294 -0
  116. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/selenium/node.rb +191 -0
  117. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/server.rb +133 -0
  118. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/session/matchers.rb +0 -0
  119. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/session.rb +784 -0
  120. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/fixtures/another_test_file.txt +0 -0
  121. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/fixtures/capybara.jpg +0 -0
  122. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/fixtures/test_file.txt +0 -0
  123. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/public/jquery-ui.js +0 -0
  124. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/public/jquery.js +0 -0
  125. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/public/test.js +0 -0
  126. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/accept_alert_spec.rb +0 -0
  127. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/accept_confirm_spec.rb +0 -0
  128. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/accept_prompt_spec.rb +0 -0
  129. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/all_spec.rb +158 -0
  130. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/assert_current_path.rb +0 -0
  131. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/assert_selector.rb +0 -0
  132. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/assert_text.rb +219 -0
  133. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/assert_title.rb +0 -0
  134. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/attach_file_spec.rb +0 -0
  135. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/body_spec.rb +0 -0
  136. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/check_spec.rb +172 -0
  137. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/choose_spec.rb +89 -0
  138. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/click_button_spec.rb +446 -0
  139. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/click_link_or_button_spec.rb +0 -0
  140. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/click_link_spec.rb +189 -0
  141. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/current_scope_spec.rb +0 -0
  142. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/current_url_spec.rb +0 -0
  143. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/dismiss_confirm_spec.rb +0 -0
  144. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/dismiss_prompt_spec.rb +0 -0
  145. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/element/assert_match_selector.rb +0 -0
  146. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/element/match_css_spec.rb +0 -0
  147. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/element/match_xpath_spec.rb +0 -0
  148. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/element/matches_selector_spec.rb +0 -0
  149. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/evaluate_script_spec.rb +0 -0
  150. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/execute_script_spec.rb +13 -0
  151. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/fill_in_spec.rb +0 -0
  152. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/find_button_spec.rb +73 -0
  153. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/find_by_id_spec.rb +0 -0
  154. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/find_field_spec.rb +110 -0
  155. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/find_link_spec.rb +51 -0
  156. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/find_spec.rb +413 -0
  157. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/first_spec.rb +113 -0
  158. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/go_back_spec.rb +0 -0
  159. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/go_forward_spec.rb +0 -0
  160. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/has_button_spec.rb +0 -0
  161. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/has_css_spec.rb +0 -0
  162. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/has_current_path_spec.rb +0 -0
  163. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/has_field_spec.rb +299 -0
  164. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/has_link_spec.rb +0 -0
  165. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/has_select_spec.rb +0 -0
  166. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/has_selector_spec.rb +0 -0
  167. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/has_table_spec.rb +0 -0
  168. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/has_text_spec.rb +317 -0
  169. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/has_title_spec.rb +0 -0
  170. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/has_xpath_spec.rb +0 -0
  171. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/headers.rb +0 -0
  172. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/html_spec.rb +0 -0
  173. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/node_spec.rb +436 -0
  174. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/reset_session_spec.rb +114 -0
  175. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/response_code.rb +0 -0
  176. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/save_and_open_page_spec.rb +0 -0
  177. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +0 -0
  178. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/save_page_spec.rb +0 -0
  179. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/save_screenshot_spec.rb +0 -0
  180. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/screenshot_spec.rb +0 -0
  181. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/select_spec.rb +0 -0
  182. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/selectors_spec.rb +49 -0
  183. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/source_spec.rb +0 -0
  184. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/text_spec.rb +0 -0
  185. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/title_spec.rb +0 -0
  186. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/uncheck_spec.rb +80 -0
  187. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/unselect_spec.rb +0 -0
  188. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/visit_spec.rb +0 -0
  189. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/window/become_closed_spec.rb +0 -0
  190. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/window/current_window_spec.rb +0 -0
  191. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/window/open_new_window_spec.rb +0 -0
  192. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/window/switch_to_window_spec.rb +125 -0
  193. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/window/window_opened_by_spec.rb +93 -0
  194. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/window/window_spec.rb +169 -0
  195. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/window/windows_spec.rb +0 -0
  196. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/window/within_window_spec.rb +0 -0
  197. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/session/within_frame_spec.rb +82 -0
  198. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/session/within_spec.rb +0 -0
  199. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/spec_helper.rb +103 -0
  200. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/test_app.rb +0 -0
  201. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/buttons.erb +0 -0
  202. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/fieldsets.erb +0 -0
  203. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/views/form.erb +529 -0
  204. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/frame_child.erb +0 -0
  205. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/frame_one.erb +0 -0
  206. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/frame_parent.erb +0 -0
  207. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/frame_two.erb +0 -0
  208. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/header_links.erb +0 -0
  209. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/host_links.erb +0 -0
  210. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/path.erb +0 -0
  211. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/popup_one.erb +0 -0
  212. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/popup_two.erb +0 -0
  213. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/postback.erb +0 -0
  214. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/tables.erb +0 -0
  215. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/with_base_tag.erb +0 -0
  216. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/with_count.erb +0 -0
  217. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/with_hover.erb +0 -0
  218. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/views/with_html.erb +122 -0
  219. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/with_html_entities.erb +0 -0
  220. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/with_js.erb +0 -0
  221. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/with_scope.erb +0 -0
  222. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/with_simple_html.erb +0 -0
  223. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/with_slow_unload.erb +0 -0
  224. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/with_title.erb +0 -0
  225. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/views/with_unload_alert.erb +14 -0
  226. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/spec/views/with_windows.erb +50 -0
  227. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/spec/views/within_frames.erb +0 -0
  228. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara/version.rb +4 -0
  229. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/lib/capybara/window.rb +0 -0
  230. data/vendor/bundle/gems/capybara-2.8.0/lib/capybara.rb +515 -0
  231. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/basic_node_spec.rb +0 -0
  232. data/vendor/bundle/gems/capybara-2.8.0/spec/capybara_spec.rb +124 -0
  233. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/dsl_spec.rb +0 -0
  234. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/fixtures/selenium_driver_rspec_failure.rb +0 -0
  235. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/fixtures/selenium_driver_rspec_success.rb +0 -0
  236. data/vendor/bundle/gems/capybara-2.8.0/spec/rack_test_spec.rb +210 -0
  237. data/vendor/bundle/gems/capybara-2.8.0/spec/result_spec.rb +91 -0
  238. data/vendor/bundle/gems/capybara-2.8.0/spec/rspec/features_spec.rb +95 -0
  239. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/rspec/matchers_spec.rb +0 -0
  240. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/rspec/scenarios_spec.rb +0 -0
  241. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/rspec/views_spec.rb +0 -0
  242. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/rspec_spec.rb +0 -0
  243. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/selector_spec.rb +0 -0
  244. data/vendor/bundle/gems/capybara-2.8.0/spec/selenium_spec.rb +154 -0
  245. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/selenium_spec_chrome.rb +0 -0
  246. data/vendor/bundle/gems/capybara-2.8.0/spec/server_spec.rb +204 -0
  247. data/vendor/bundle/gems/{capybara-2.7.1 → capybara-2.8.0}/spec/spec_helper.rb +0 -0
  248. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/COPYING +0 -0
  249. data/vendor/bundle/gems/ffi-1.9.14/LICENSE +24 -0
  250. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/README.md +0 -0
  251. data/vendor/bundle/gems/ffi-1.9.14/Rakefile +232 -0
  252. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/AbstractMemory.c +1032 -0
  253. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/AbstractMemory.h +0 -0
  254. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/AbstractMemory.o +0 -0
  255. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/ArrayType.c +0 -0
  256. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/ArrayType.h +0 -0
  257. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/ArrayType.o +0 -0
  258. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Buffer.c +365 -0
  259. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Buffer.o +0 -0
  260. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Call.c +517 -0
  261. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Call.h +110 -0
  262. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Call.o +0 -0
  263. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/ClosurePool.c +0 -0
  264. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/ClosurePool.h +0 -0
  265. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/ClosurePool.o +0 -0
  266. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/DataConverter.c +0 -0
  267. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/DataConverter.o +0 -0
  268. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/DynamicLibrary.c +0 -0
  269. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/DynamicLibrary.h +0 -0
  270. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/DynamicLibrary.o +0 -0
  271. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Function.c +998 -0
  272. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Function.h +0 -0
  273. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Function.o +0 -0
  274. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/FunctionInfo.c +0 -0
  275. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/FunctionInfo.o +0 -0
  276. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/LastError.c +0 -0
  277. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/LastError.h +0 -0
  278. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/LastError.o +0 -0
  279. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/LongDouble.c +0 -0
  280. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/LongDouble.h +0 -0
  281. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/LongDouble.o +0 -0
  282. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Makefile +260 -0
  283. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/MappedType.c +0 -0
  284. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/MappedType.h +0 -0
  285. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/MappedType.o +0 -0
  286. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/MemoryPointer.c +0 -0
  287. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/MemoryPointer.h +0 -0
  288. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/MemoryPointer.o +0 -0
  289. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/MethodHandle.c +358 -0
  290. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/MethodHandle.h +0 -0
  291. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/MethodHandle.o +0 -0
  292. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Platform.c +0 -0
  293. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Platform.h +0 -0
  294. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Platform.o +0 -0
  295. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Pointer.c +508 -0
  296. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Pointer.h +0 -0
  297. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Pointer.o +0 -0
  298. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Struct.c +0 -0
  299. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Struct.h +0 -0
  300. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Struct.o +0 -0
  301. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/StructByReference.c +0 -0
  302. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/StructByReference.h +0 -0
  303. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/StructByReference.o +0 -0
  304. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/StructByValue.c +0 -0
  305. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/StructByValue.h +0 -0
  306. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/StructByValue.o +0 -0
  307. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/StructLayout.c +0 -0
  308. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/StructLayout.o +0 -0
  309. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Thread.c +0 -0
  310. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Thread.h +0 -0
  311. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Thread.o +0 -0
  312. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Type.c +0 -0
  313. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Type.h +0 -0
  314. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Type.o +0 -0
  315. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Types.c +0 -0
  316. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/Types.h +0 -0
  317. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Types.o +0 -0
  318. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Variadic.c +304 -0
  319. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/Variadic.o +0 -0
  320. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/compat.h +78 -0
  321. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/extconf.h +11 -0
  322. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/extconf.rb +0 -0
  323. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/ffi.c +0 -0
  324. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/ffi.o +0 -0
  325. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/ffi_c.so +0 -0
  326. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/ChangeLog +0 -0
  327. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/ChangeLog.libffi +0 -0
  328. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/ChangeLog.libgcj +0 -0
  329. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/ChangeLog.v1 +0 -0
  330. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/LICENSE +0 -0
  331. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/Makefile.am +0 -0
  332. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/Makefile.in +0 -0
  333. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/Makefile.vc +0 -0
  334. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/Makefile.vc64 +0 -0
  335. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/README +0 -0
  336. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/acinclude.m4 +0 -0
  337. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/aclocal.m4 +0 -0
  338. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/build-ios.sh +0 -0
  339. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/compile +0 -0
  340. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/config.guess +0 -0
  341. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/config.sub +0 -0
  342. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/configure +0 -0
  343. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/configure.ac +0 -0
  344. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/configure.host +0 -0
  345. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/depcomp +0 -0
  346. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/doc/libffi.info +0 -0
  347. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/doc/libffi.texi +0 -0
  348. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/doc/stamp-vti +0 -0
  349. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/doc/version.texi +0 -0
  350. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/fficonfig.h.in +0 -0
  351. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/fficonfig.hw +0 -0
  352. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/include/Makefile.am +0 -0
  353. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/include/Makefile.in +0 -0
  354. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/include/ffi.h.in +0 -0
  355. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/include/ffi.h.vc +0 -0
  356. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/include/ffi.h.vc64 +0 -0
  357. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/include/ffi_common.h +0 -0
  358. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/install-sh +0 -0
  359. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/libffi.pc.in +0 -0
  360. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/libtool-version +0 -0
  361. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/ltmain.sh +0 -0
  362. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +0 -0
  363. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +0 -0
  364. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ax_check_compiler_flags.m4 +0 -0
  365. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +0 -0
  366. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ax_configure_args.m4 +0 -0
  367. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +0 -0
  368. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +0 -0
  369. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +0 -0
  370. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/libtool.m4 +0 -0
  371. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ltoptions.m4 +0 -0
  372. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ltsugar.m4 +0 -0
  373. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/ltversion.m4 +0 -0
  374. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/m4/lt~obsolete.m4 +0 -0
  375. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/man/Makefile.am +0 -0
  376. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/man/Makefile.in +0 -0
  377. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/man/ffi.3 +0 -0
  378. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/man/ffi_call.3 +0 -0
  379. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/man/ffi_prep_cif.3 +0 -0
  380. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/mdate-sh +0 -0
  381. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/missing +0 -0
  382. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/msvcc.sh +0 -0
  383. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/alpha/ffi.c +0 -0
  384. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/alpha/ffitarget.h +0 -0
  385. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/alpha/osf.S +0 -0
  386. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/arm/ffi.c +0 -0
  387. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/arm/ffitarget.h +0 -0
  388. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/arm/gentramp.sh +0 -0
  389. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/arm/sysv.S +0 -0
  390. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/arm/trampoline.S +0 -0
  391. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/avr32/ffi.c +0 -0
  392. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/avr32/ffitarget.h +0 -0
  393. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/avr32/sysv.S +0 -0
  394. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/closures.c +0 -0
  395. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/cris/ffi.c +0 -0
  396. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/cris/ffitarget.h +0 -0
  397. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/cris/sysv.S +0 -0
  398. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/debug.c +0 -0
  399. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/dlmalloc.c +0 -0
  400. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/frv/eabi.S +0 -0
  401. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/frv/ffi.c +0 -0
  402. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/frv/ffitarget.h +0 -0
  403. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/ia64/ffi.c +0 -0
  404. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/ia64/ffitarget.h +0 -0
  405. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/ia64/ia64_flags.h +0 -0
  406. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/ia64/unix.S +0 -0
  407. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/java_raw_api.c +0 -0
  408. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/m32r/ffi.c +0 -0
  409. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/m32r/ffitarget.h +0 -0
  410. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/m32r/sysv.S +0 -0
  411. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/m68k/ffi.c +0 -0
  412. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/m68k/ffitarget.h +0 -0
  413. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/m68k/sysv.S +0 -0
  414. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/libffi/src/mips/ffi.c +1038 -0
  415. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/mips/ffitarget.h +0 -0
  416. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/mips/n32.S +0 -0
  417. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/mips/o32.S +0 -0
  418. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/moxie/eabi.S +0 -0
  419. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/moxie/ffi.c +0 -0
  420. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/pa/ffi.c +0 -0
  421. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/pa/ffitarget.h +0 -0
  422. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/pa/hpux32.S +0 -0
  423. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/pa/linux.S +0 -0
  424. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/aix.S +0 -0
  425. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/aix_closure.S +0 -0
  426. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/asm.h +0 -0
  427. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/darwin.S +0 -0
  428. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +0 -0
  429. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/ffi.c +0 -0
  430. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +0 -0
  431. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/ffitarget.h +0 -0
  432. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/linux64.S +0 -0
  433. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +0 -0
  434. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +0 -0
  435. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/powerpc/sysv.S +0 -0
  436. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/prep_cif.c +0 -0
  437. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/raw_api.c +0 -0
  438. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/s390/ffi.c +0 -0
  439. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/s390/ffitarget.h +0 -0
  440. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/s390/sysv.S +0 -0
  441. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sh/ffi.c +0 -0
  442. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sh/ffitarget.h +0 -0
  443. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sh/sysv.S +0 -0
  444. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sh64/ffi.c +0 -0
  445. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sh64/ffitarget.h +0 -0
  446. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sh64/sysv.S +0 -0
  447. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sparc/ffi.c +0 -0
  448. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sparc/ffitarget.h +0 -0
  449. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sparc/v8.S +0 -0
  450. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/sparc/v9.S +0 -0
  451. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/types.c +0 -0
  452. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/darwin.S +0 -0
  453. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/darwin64.S +0 -0
  454. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/ffi.c +0 -0
  455. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/ffi64.c +0 -0
  456. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/ffitarget.h +0 -0
  457. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/freebsd.S +0 -0
  458. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/sysv.S +0 -0
  459. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/unix64.S +0 -0
  460. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/win32.S +0 -0
  461. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/src/x86/win64.S +0 -0
  462. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/Makefile.am +0 -0
  463. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/Makefile.in +0 -0
  464. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/config/default.exp +0 -0
  465. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +0 -0
  466. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/lib/libffi.exp +0 -0
  467. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +0 -0
  468. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +0 -0
  469. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +0 -0
  470. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +0 -0
  471. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +0 -0
  472. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +0 -0
  473. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +0 -0
  474. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +0 -0
  475. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +0 -0
  476. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +0 -0
  477. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +0 -0
  478. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c +0 -0
  479. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +0 -0
  480. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +0 -0
  481. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +0 -0
  482. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +0 -0
  483. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +0 -0
  484. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +0 -0
  485. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +0 -0
  486. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +0 -0
  487. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +0 -0
  488. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +0 -0
  489. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +0 -0
  490. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +0 -0
  491. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +0 -0
  492. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +0 -0
  493. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +0 -0
  494. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +0 -0
  495. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +0 -0
  496. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +0 -0
  497. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +0 -0
  498. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +0 -0
  499. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +0 -0
  500. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +0 -0
  501. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +0 -0
  502. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +0 -0
  503. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +0 -0
  504. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +0 -0
  505. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +0 -0
  506. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +0 -0
  507. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +0 -0
  508. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +0 -0
  509. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +0 -0
  510. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +0 -0
  511. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +0 -0
  512. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +0 -0
  513. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +0 -0
  514. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +0 -0
  515. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +0 -0
  516. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +0 -0
  517. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +0 -0
  518. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +0 -0
  519. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +0 -0
  520. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +0 -0
  521. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +0 -0
  522. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +0 -0
  523. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +0 -0
  524. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +0 -0
  525. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +0 -0
  526. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +0 -0
  527. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +0 -0
  528. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +0 -0
  529. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +0 -0
  530. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +0 -0
  531. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +0 -0
  532. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +0 -0
  533. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +0 -0
  534. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +0 -0
  535. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +0 -0
  536. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +0 -0
  537. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +0 -0
  538. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +0 -0
  539. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/float.c +0 -0
  540. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +0 -0
  541. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +0 -0
  542. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +0 -0
  543. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +0 -0
  544. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +0 -0
  545. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/many.c +0 -0
  546. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c +0 -0
  547. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -0
  548. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +0 -0
  549. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +0 -0
  550. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +0 -0
  551. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +0 -0
  552. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +0 -0
  553. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +0 -0
  554. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +0 -0
  555. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +0 -0
  556. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +0 -0
  557. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +0 -0
  558. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +0 -0
  559. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +0 -0
  560. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +0 -0
  561. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c +0 -0
  562. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +0 -0
  563. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +0 -0
  564. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +0 -0
  565. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +0 -0
  566. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +0 -0
  567. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +0 -0
  568. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +0 -0
  569. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +0 -0
  570. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +0 -0
  571. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +0 -0
  572. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +0 -0
  573. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +0 -0
  574. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +0 -0
  575. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +0 -0
  576. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +0 -0
  577. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +0 -0
  578. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +0 -0
  579. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +0 -0
  580. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +0 -0
  581. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c +0 -0
  582. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +0 -0
  583. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +0 -0
  584. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +0 -0
  585. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +0 -0
  586. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +0 -0
  587. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +0 -0
  588. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +0 -0
  589. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +0 -0
  590. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +0 -0
  591. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +0 -0
  592. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +0 -0
  593. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.special/special.exp +0 -0
  594. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc +0 -0
  595. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc +0 -0
  596. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi/texinfo.tex +0 -0
  597. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi.bsd.mk +0 -0
  598. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi.darwin.mk +0 -0
  599. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi.gnu.mk +0 -0
  600. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi.mk +0 -0
  601. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi.vc.mk +0 -0
  602. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/libffi.vc64.mk +0 -0
  603. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/rbffi.h +0 -0
  604. data/vendor/bundle/gems/ffi-1.9.14/ext/ffi_c/rbffi_endian.h +59 -0
  605. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/win32/stdbool.h +0 -0
  606. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/ext/ffi_c/win32/stdint.h +0 -0
  607. data/vendor/bundle/gems/ffi-1.9.14/ffi.gemspec +23 -0
  608. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/gen/Rakefile +0 -0
  609. data/vendor/bundle/gems/ffi-1.9.14/lib/ffi/autopointer.rb +203 -0
  610. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/buffer.rb +0 -0
  611. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/callback.rb +0 -0
  612. data/vendor/bundle/gems/ffi-1.9.14/lib/ffi/enum.rb +172 -0
  613. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/errno.rb +0 -0
  614. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/ffi.rb +0 -0
  615. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/io.rb +0 -0
  616. data/vendor/bundle/gems/ffi-1.9.14/lib/ffi/library.rb +538 -0
  617. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/managedstruct.rb +0 -0
  618. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/memorypointer.rb +0 -0
  619. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/aarch64-linux/types.conf +0 -0
  620. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/arm-linux/types.conf +0 -0
  621. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/i386-cygwin/types.conf +0 -0
  622. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/i386-darwin/types.conf +0 -0
  623. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/i386-freebsd/types.conf +0 -0
  624. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/i386-gnu/types.conf +0 -0
  625. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/i386-linux/types.conf +0 -0
  626. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/i386-netbsd/types.conf +0 -0
  627. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/i386-openbsd/types.conf +0 -0
  628. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/i386-solaris/types.conf +0 -0
  629. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/i386-windows/types.conf +0 -0
  630. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/ia64-linux/types.conf +0 -0
  631. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/mips-linux/types.conf +0 -0
  632. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/mips64el-linux/types.conf +0 -0
  633. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/mipsel-linux/types.conf +0 -0
  634. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/powerpc-aix/types.conf +0 -0
  635. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/powerpc-darwin/types.conf +0 -0
  636. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/powerpc-linux/types.conf +0 -0
  637. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/powerpc64-linux/types.conf +0 -0
  638. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/s390-linux/types.conf +0 -0
  639. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/s390x-linux/types.conf +0 -0
  640. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/sparc-linux/types.conf +0 -0
  641. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/sparc-solaris/types.conf +0 -0
  642. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/sparcv9-solaris/types.conf +0 -0
  643. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/x86_64-cygwin/types.conf +0 -0
  644. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/x86_64-darwin/types.conf +0 -0
  645. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/x86_64-freebsd/types.conf +0 -0
  646. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/x86_64-linux/types.conf +0 -0
  647. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/x86_64-netbsd/types.conf +0 -0
  648. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/x86_64-openbsd/types.conf +0 -0
  649. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/x86_64-solaris/types.conf +0 -0
  650. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform/x86_64-windows/types.conf +0 -0
  651. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/platform.rb +0 -0
  652. data/vendor/bundle/gems/ffi-1.9.14/lib/ffi/pointer.rb +134 -0
  653. data/vendor/bundle/gems/ffi-1.9.14/lib/ffi/struct.rb +373 -0
  654. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/struct_layout_builder.rb +0 -0
  655. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/tools/const_generator.rb +0 -0
  656. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/tools/generator.rb +0 -0
  657. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/tools/generator_task.rb +0 -0
  658. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/tools/struct_generator.rb +0 -0
  659. data/vendor/bundle/gems/ffi-1.9.14/lib/ffi/tools/types_generator.rb +134 -0
  660. data/vendor/bundle/gems/ffi-1.9.14/lib/ffi/types.rb +194 -0
  661. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/union.rb +0 -0
  662. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi/variadic.rb +0 -0
  663. data/vendor/bundle/gems/ffi-1.9.14/lib/ffi/version.rb +4 -0
  664. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/lib/ffi.rb +0 -0
  665. data/vendor/bundle/gems/ffi-1.9.14/lib/ffi_c.so +0 -0
  666. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/Benchmark.c +0 -0
  667. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/BoolTest.c +0 -0
  668. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/BufferTest.c +0 -0
  669. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/ClosureTest.c +0 -0
  670. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/EnumTest.c +0 -0
  671. data/vendor/bundle/gems/ffi-1.9.14/libtest/FunctionTest.c +70 -0
  672. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/GNUmakefile +0 -0
  673. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/GlobalVariable.c +0 -0
  674. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/LastErrorTest.c +0 -0
  675. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/NumberTest.c +0 -0
  676. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/PointerTest.c +0 -0
  677. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/ReferenceTest.c +0 -0
  678. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/StringTest.c +0 -0
  679. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/StructTest.c +0 -0
  680. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/libtest/UnionTest.c +0 -0
  681. data/vendor/bundle/gems/{ffi-1.9.10/spec/ffi/fixtures → ffi-1.9.14/libtest}/VariadicTest.c +0 -0
  682. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/LICENSE.SPECS +0 -0
  683. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/async_callback_spec.rb +0 -0
  684. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/bool_spec.rb +0 -0
  685. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/buffer_spec.rb +0 -0
  686. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/callback_spec.rb +0 -0
  687. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/custom_param_type.rb +0 -0
  688. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/custom_type_spec.rb +0 -0
  689. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/dup_spec.rb +0 -0
  690. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/enum_spec.rb +0 -0
  691. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/errno_spec.rb +0 -0
  692. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/ffi_spec.rb +0 -0
  693. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/Benchmark.c +0 -0
  694. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/BoolTest.c +0 -0
  695. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/BufferTest.c +0 -0
  696. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/fixtures/ClosureTest.c +205 -0
  697. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/EnumTest.c +0 -0
  698. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/fixtures/FunctionTest.c +142 -0
  699. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/GNUmakefile +0 -0
  700. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/GlobalVariable.c +0 -0
  701. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/LastErrorTest.c +0 -0
  702. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/NumberTest.c +0 -0
  703. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/fixtures/PipeHelper.h +21 -0
  704. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/fixtures/PipeHelperPosix.c +41 -0
  705. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/fixtures/PipeHelperWindows.c +72 -0
  706. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/PointerTest.c +0 -0
  707. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/ReferenceTest.c +0 -0
  708. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/StringTest.c +0 -0
  709. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/StructTest.c +0 -0
  710. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/UnionTest.c +0 -0
  711. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/fixtures/VariadicTest.c +99 -0
  712. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/fixtures/classes.rb +0 -0
  713. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/function_spec.rb +97 -0
  714. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/io_spec.rb +0 -0
  715. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/library_spec.rb +286 -0
  716. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/long_double.rb +0 -0
  717. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/managed_struct_spec.rb +0 -0
  718. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/memorypointer_spec.rb +0 -0
  719. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/number_spec.rb +0 -0
  720. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/platform_spec.rb +0 -0
  721. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/pointer_spec.rb +0 -0
  722. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/rbx/attach_function_spec.rb +34 -0
  723. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/rbx/memory_pointer_spec.rb +0 -0
  724. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/rbx/spec_helper.rb +0 -0
  725. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/rbx/struct_spec.rb +0 -0
  726. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/spec_helper.rb +0 -0
  727. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/string_spec.rb +0 -0
  728. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/strptr_spec.rb +0 -0
  729. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/struct_by_ref_spec.rb +0 -0
  730. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/struct_callback_spec.rb +0 -0
  731. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/struct_initialize_spec.rb +0 -0
  732. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/struct_packed_spec.rb +0 -0
  733. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/struct_spec.rb +886 -0
  734. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/typedef_spec.rb +0 -0
  735. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/ffi/union_spec.rb +0 -0
  736. data/vendor/bundle/gems/ffi-1.9.14/spec/ffi/variadic_spec.rb +132 -0
  737. data/vendor/bundle/gems/{ffi-1.9.10 → ffi-1.9.14}/spec/spec.opts +0 -0
  738. data/vendor/bundle/gems/nokogiri-1.6.8/ext/nokogiri/Makefile +2 -2
  739. data/vendor/bundle/gems/redcarpet-3.3.4/ext/redcarpet/Makefile +7 -7
  740. data/vendor/bundle/gems/redcarpet-3.3.4/ext/redcarpet/rc_markdown.o +0 -0
  741. data/vendor/bundle/gems/redcarpet-3.3.4/ext/redcarpet/rc_render.o +0 -0
  742. data/vendor/bundle/gems/redcarpet-3.3.4/ext/redcarpet/redcarpet.so +0 -0
  743. data/vendor/bundle/gems/redcarpet-3.3.4/lib/redcarpet.so +0 -0
  744. data/vendor/bundle/gems/{rspec-3.4.0 → rspec-3.5.0}/LICENSE.md +0 -0
  745. data/vendor/bundle/gems/rspec-3.5.0/README.md +39 -0
  746. data/vendor/bundle/gems/rspec-3.5.0/lib/rspec/version.rb +5 -0
  747. data/vendor/bundle/gems/{rspec-3.4.0 → rspec-3.5.0}/lib/rspec.rb +0 -0
  748. data/vendor/bundle/gems/rspec-core-3.5.2/Changelog.md +2080 -0
  749. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/LICENSE.md +0 -0
  750. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/README.md +0 -0
  751. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/exe/rspec +0 -0
  752. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/autorun.rb +0 -0
  753. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/backtrace_formatter.rb +65 -0
  754. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/bisect/coordinator.rb +0 -0
  755. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/bisect/example_minimizer.rb +0 -0
  756. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/bisect/runner.rb +169 -0
  757. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/bisect/server.rb +65 -0
  758. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/configuration.rb +2093 -0
  759. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/configuration_options.rb +194 -0
  760. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/drb.rb +0 -0
  761. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/dsl.rb +98 -0
  762. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/example.rb +649 -0
  763. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/example_group.rb +873 -0
  764. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/example_status_persister.rb +0 -0
  765. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/filter_manager.rb +0 -0
  766. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/flat_map.rb +0 -0
  767. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/base_formatter.rb +0 -0
  768. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/base_text_formatter.rb +0 -0
  769. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/formatters/bisect_formatter.rb +69 -0
  770. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -0
  771. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/console_codes.rb +0 -0
  772. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/deprecation_formatter.rb +0 -0
  773. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/formatters/documentation_formatter.rb +69 -0
  774. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/formatters/exception_presenter.rb +490 -0
  775. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -0
  776. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/formatters/helpers.rb +110 -0
  777. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/formatters/html_formatter.rb +151 -0
  778. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/html_printer.rb +0 -0
  779. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -0
  780. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/json_formatter.rb +0 -0
  781. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/profile_formatter.rb +0 -0
  782. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/progress_formatter.rb +0 -0
  783. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/protocol.rb +0 -0
  784. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters/snippet_extractor.rb +0 -0
  785. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/formatters.rb +0 -0
  786. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/hooks.rb +631 -0
  787. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/invocations.rb +67 -0
  788. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/memoized_helpers.rb +0 -0
  789. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/metadata.rb +498 -0
  790. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/metadata_filter.rb +243 -0
  791. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/minitest_assertions_adapter.rb +0 -0
  792. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/mocking_adapters/flexmock.rb +0 -0
  793. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/mocking_adapters/mocha.rb +0 -0
  794. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/mocking_adapters/null.rb +0 -0
  795. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/mocking_adapters/rr.rb +0 -0
  796. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/mocking_adapters/rspec.rb +0 -0
  797. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/notifications.rb +499 -0
  798. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/option_parser.rb +289 -0
  799. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/ordering.rb +0 -0
  800. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/pending.rb +0 -0
  801. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/profiler.rb +0 -0
  802. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +103 -0
  803. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/project_initializer.rb +0 -0
  804. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/rake_task.rb +168 -0
  805. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/reporter.rb +0 -0
  806. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/ruby_project.rb +0 -0
  807. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/runner.rb +186 -0
  808. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/sandbox.rb +0 -0
  809. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/set.rb +0 -0
  810. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/shared_context.rb +0 -0
  811. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/shared_example_group.rb +247 -0
  812. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/shell_escape.rb +0 -0
  813. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/source/location.rb +0 -0
  814. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/source/node.rb +0 -0
  815. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/source/syntax_highlighter.rb +0 -0
  816. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/source/token.rb +87 -0
  817. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/source.rb +86 -0
  818. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/test_unit_assertions_adapter.rb +0 -0
  819. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/version.rb +9 -0
  820. data/vendor/bundle/gems/{rspec-core-3.4.4 → rspec-core-3.5.2}/lib/rspec/core/warnings.rb +0 -0
  821. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core/world.rb +246 -0
  822. data/vendor/bundle/gems/rspec-core-3.5.2/lib/rspec/core.rb +184 -0
  823. data/vendor/bundle/gems/rspec-expectations-3.5.0/Changelog.md +1034 -0
  824. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/LICENSE.md +0 -0
  825. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/README.md +0 -0
  826. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/configuration.rb +201 -0
  827. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/expectation_target.rb +127 -0
  828. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/expectations/fail_with.rb +0 -0
  829. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/expectations/failure_aggregator.rb +0 -0
  830. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb +170 -0
  831. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb +58 -0
  832. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/syntax.rb +132 -0
  833. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/version.rb +8 -0
  834. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/expectations.rb +0 -0
  835. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/aliased_matcher.rb +0 -0
  836. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/all.rb +0 -0
  837. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/base_matcher.rb +0 -0
  838. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be.rb +288 -0
  839. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/be_between.rb +0 -0
  840. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/be_instance_of.rb +0 -0
  841. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/be_kind_of.rb +0 -0
  842. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/be_within.rb +0 -0
  843. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/change.rb +354 -0
  844. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/compound.rb +0 -0
  845. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/contain_exactly.rb +0 -0
  846. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/cover.rb +0 -0
  847. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/eq.rb +0 -0
  848. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/eql.rb +0 -0
  849. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/equal.rb +0 -0
  850. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/exist.rb +0 -0
  851. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/has.rb +0 -0
  852. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/have_attributes.rb +0 -0
  853. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/include.rb +143 -0
  854. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/match.rb +0 -0
  855. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/operators.rb +0 -0
  856. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/output.rb +0 -0
  857. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/raise_error.rb +230 -0
  858. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/respond_to.rb +165 -0
  859. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/satisfy.rb +0 -0
  860. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -0
  861. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/throw_symbol.rb +0 -0
  862. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in/yield.rb +0 -0
  863. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/built_in.rb +0 -0
  864. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/composable.rb +0 -0
  865. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/dsl.rb +466 -0
  866. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/english_phrasing.rb +58 -0
  867. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -0
  868. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/fail_matchers.rb +0 -0
  869. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/generated_descriptions.rb +0 -0
  870. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/matcher_delegator.rb +0 -0
  871. data/vendor/bundle/gems/{rspec-expectations-3.4.0 → rspec-expectations-3.5.0}/lib/rspec/matchers/matcher_protocol.rb +0 -0
  872. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers.rb +1038 -0
  873. data/vendor/bundle/gems/rspec-mocks-3.5.0/Changelog.md +1043 -0
  874. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/LICENSE.md +0 -0
  875. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/README.md +0 -0
  876. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/any_instance/chain.rb +0 -0
  877. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/any_instance/error_generator.rb +0 -0
  878. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -0
  879. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -0
  880. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/any_instance/message_chains.rb +0 -0
  881. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/any_instance/proxy.rb +0 -0
  882. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/recorder.rb +289 -0
  883. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/stub_chain.rb +47 -0
  884. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +28 -0
  885. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/any_instance.rb +0 -0
  886. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/argument_list_matcher.rb +0 -0
  887. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/argument_matchers.rb +0 -0
  888. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/configuration.rb +0 -0
  889. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/error_generator.rb +369 -0
  890. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/example_methods.rb +0 -0
  891. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/instance_method_stasher.rb +0 -0
  892. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/marshal_extension.rb +0 -0
  893. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/matchers/expectation_customization.rb +0 -0
  894. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/have_received.rb +130 -0
  895. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/receive.rb +132 -0
  896. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  897. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  898. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/message_chain.rb +0 -0
  899. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/message_expectation.rb +740 -0
  900. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/method_double.rb +0 -0
  901. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/method_reference.rb +202 -0
  902. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/minitest_integration.rb +68 -0
  903. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/mutate_const.rb +0 -0
  904. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/object_reference.rb +0 -0
  905. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/order_group.rb +0 -0
  906. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/proxy.rb +489 -0
  907. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/space.rb +0 -0
  908. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/standalone.rb +0 -0
  909. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/syntax.rb +0 -0
  910. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/targets.rb +124 -0
  911. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/test_double.rb +0 -0
  912. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/verifying_double.rb +0 -0
  913. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/verifying_message_expectation.rb +0 -0
  914. data/vendor/bundle/gems/{rspec-mocks-3.4.1 → rspec-mocks-3.5.0}/lib/rspec/mocks/verifying_proxy.rb +0 -0
  915. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/version.rb +9 -0
  916. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks.rb +130 -0
  917. data/vendor/bundle/gems/rspec-support-3.5.0/Changelog.md +192 -0
  918. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/LICENSE.md +0 -0
  919. data/vendor/bundle/gems/rspec-support-3.5.0/README.md +40 -0
  920. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/caller_filter.rb +0 -0
  921. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/comparable_version.rb +0 -0
  922. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/differ.rb +0 -0
  923. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/directory_maker.rb +0 -0
  924. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/encoded_string.rb +165 -0
  925. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/fuzzy_matcher.rb +0 -0
  926. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/hunk_generator.rb +0 -0
  927. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/matcher_definition.rb +0 -0
  928. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/method_signature_verifier.rb +392 -0
  929. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/mutex.rb +0 -0
  930. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/object_formatter.rb +249 -0
  931. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/recursive_const_methods.rb +0 -0
  932. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/reentrant_mutex.rb +0 -0
  933. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/ruby_features.rb +0 -0
  934. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/spec/deprecation_helpers.rb +0 -0
  935. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/spec/formatting_support.rb +0 -0
  936. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/spec/in_sub_process.rb +0 -0
  937. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  938. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/shell_out.rb +82 -0
  939. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/spec/stderr_splitter.rb +0 -0
  940. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/spec/string_matcher.rb +0 -0
  941. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  942. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/spec/with_isolated_stderr.rb +0 -0
  943. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec.rb +81 -0
  944. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/version.rb +7 -0
  945. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support/warnings.rb +0 -0
  946. data/vendor/bundle/gems/{rspec-support-3.4.1 → rspec-support-3.5.0}/lib/rspec/support.rb +0 -0
  947. data/vendor/bundle/gems/sequel-4.37.0/CHANGELOG +6314 -0
  948. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/MIT-LICENSE +0 -0
  949. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/README.rdoc +0 -0
  950. data/vendor/bundle/gems/sequel-4.37.0/Rakefile +164 -0
  951. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/bin/sequel +0 -0
  952. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/active_record.rdoc +0 -0
  953. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/advanced_associations.rdoc +0 -0
  954. data/vendor/bundle/gems/sequel-4.37.0/doc/association_basics.rdoc +1833 -0
  955. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/bin_sequel.rdoc +0 -0
  956. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/cheat_sheet.rdoc +0 -0
  957. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/code_order.rdoc +0 -0
  958. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/core_extensions.rdoc +0 -0
  959. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/dataset_basics.rdoc +0 -0
  960. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/dataset_filtering.rdoc +0 -0
  961. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/extensions.rdoc +0 -0
  962. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/mass_assignment.rdoc +0 -0
  963. data/vendor/bundle/gems/sequel-4.37.0/doc/migration.rdoc +637 -0
  964. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/model_hooks.rdoc +0 -0
  965. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/model_plugins.rdoc +0 -0
  966. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/mssql_stored_procedures.rdoc +0 -0
  967. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/object_model.rdoc +0 -0
  968. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/opening_databases.rdoc +0 -0
  969. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/postgresql.rdoc +0 -0
  970. data/vendor/bundle/gems/sequel-4.37.0/doc/prepared_statements.rdoc +139 -0
  971. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/querying.rdoc +0 -0
  972. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/reflection.rdoc +0 -0
  973. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/1.0.txt +0 -0
  974. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/1.1.txt +0 -0
  975. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/1.3.txt +0 -0
  976. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/1.4.0.txt +0 -0
  977. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/1.5.0.txt +0 -0
  978. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.0.0.txt +0 -0
  979. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.1.0.txt +0 -0
  980. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.10.0.txt +0 -0
  981. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.11.0.txt +0 -0
  982. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.12.0.txt +0 -0
  983. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.2.0.txt +0 -0
  984. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.3.0.txt +0 -0
  985. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.4.0.txt +0 -0
  986. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.5.0.txt +0 -0
  987. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.6.0.txt +0 -0
  988. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.7.0.txt +0 -0
  989. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.8.0.txt +0 -0
  990. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/2.9.0.txt +0 -0
  991. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.0.0.txt +0 -0
  992. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.1.0.txt +0 -0
  993. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.10.0.txt +0 -0
  994. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.11.0.txt +0 -0
  995. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.12.0.txt +0 -0
  996. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.13.0.txt +0 -0
  997. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.14.0.txt +0 -0
  998. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.15.0.txt +0 -0
  999. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.16.0.txt +0 -0
  1000. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.17.0.txt +0 -0
  1001. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.18.0.txt +0 -0
  1002. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.19.0.txt +0 -0
  1003. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.2.0.txt +0 -0
  1004. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.20.0.txt +0 -0
  1005. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.21.0.txt +0 -0
  1006. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.22.0.txt +0 -0
  1007. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.23.0.txt +0 -0
  1008. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.24.0.txt +0 -0
  1009. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.25.0.txt +0 -0
  1010. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.26.0.txt +0 -0
  1011. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.27.0.txt +0 -0
  1012. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.28.0.txt +0 -0
  1013. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.29.0.txt +0 -0
  1014. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.3.0.txt +0 -0
  1015. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.30.0.txt +0 -0
  1016. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.31.0.txt +0 -0
  1017. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.32.0.txt +0 -0
  1018. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.33.0.txt +0 -0
  1019. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.34.0.txt +0 -0
  1020. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.35.0.txt +0 -0
  1021. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.36.0.txt +0 -0
  1022. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.37.0.txt +0 -0
  1023. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.38.0.txt +0 -0
  1024. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.39.0.txt +0 -0
  1025. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.4.0.txt +0 -0
  1026. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.40.0.txt +0 -0
  1027. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.41.0.txt +0 -0
  1028. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.42.0.txt +0 -0
  1029. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.43.0.txt +0 -0
  1030. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.44.0.txt +0 -0
  1031. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.45.0.txt +0 -0
  1032. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.46.0.txt +0 -0
  1033. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.47.0.txt +0 -0
  1034. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.48.0.txt +0 -0
  1035. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.5.0.txt +0 -0
  1036. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.6.0.txt +0 -0
  1037. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.7.0.txt +0 -0
  1038. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.8.0.txt +0 -0
  1039. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/3.9.0.txt +0 -0
  1040. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.0.0.txt +0 -0
  1041. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.1.0.txt +0 -0
  1042. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.10.0.txt +0 -0
  1043. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.11.0.txt +0 -0
  1044. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.12.0.txt +0 -0
  1045. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.13.0.txt +0 -0
  1046. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.14.0.txt +0 -0
  1047. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.15.0.txt +0 -0
  1048. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.16.0.txt +0 -0
  1049. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.17.0.txt +0 -0
  1050. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.18.0.txt +0 -0
  1051. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.19.0.txt +0 -0
  1052. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.2.0.txt +0 -0
  1053. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.20.0.txt +0 -0
  1054. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.21.0.txt +0 -0
  1055. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.22.0.txt +0 -0
  1056. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.23.0.txt +0 -0
  1057. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.24.0.txt +0 -0
  1058. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.25.0.txt +0 -0
  1059. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.26.0.txt +0 -0
  1060. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.27.0.txt +0 -0
  1061. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.28.0.txt +0 -0
  1062. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.29.0.txt +0 -0
  1063. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.3.0.txt +0 -0
  1064. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.30.0.txt +0 -0
  1065. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.31.0.txt +0 -0
  1066. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.32.0.txt +0 -0
  1067. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.33.0.txt +0 -0
  1068. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.34.0.txt +0 -0
  1069. data/vendor/bundle/gems/sequel-4.37.0/doc/release_notes/4.35.0.txt +130 -0
  1070. data/vendor/bundle/gems/sequel-4.37.0/doc/release_notes/4.36.0.txt +116 -0
  1071. data/vendor/bundle/gems/sequel-4.37.0/doc/release_notes/4.37.0.txt +50 -0
  1072. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.4.0.txt +0 -0
  1073. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.5.0.txt +0 -0
  1074. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.6.0.txt +0 -0
  1075. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.7.0.txt +0 -0
  1076. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.8.0.txt +0 -0
  1077. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/release_notes/4.9.0.txt +0 -0
  1078. data/vendor/bundle/gems/sequel-4.37.0/doc/schema_modification.rdoc +665 -0
  1079. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/security.rdoc +0 -0
  1080. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/sharding.rdoc +0 -0
  1081. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/sql.rdoc +0 -0
  1082. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/testing.rdoc +0 -0
  1083. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/thread_safety.rdoc +0 -0
  1084. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/transactions.rdoc +0 -0
  1085. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/validations.rdoc +0 -0
  1086. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/doc/virtual_rows.rdoc +0 -0
  1087. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/ado/access.rb +0 -0
  1088. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/ado/mssql.rb +0 -0
  1089. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/ado.rb +0 -0
  1090. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/amalgalite.rb +0 -0
  1091. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/cubrid.rb +0 -0
  1092. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/do/mysql.rb +0 -0
  1093. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/do/postgres.rb +0 -0
  1094. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/do/sqlite3.rb +0 -0
  1095. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/do.rb +0 -0
  1096. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/ibmdb.rb +0 -0
  1097. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/as400.rb +0 -0
  1098. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/cubrid.rb +0 -0
  1099. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/db2.rb +0 -0
  1100. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/derby.rb +0 -0
  1101. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/firebirdsql.rb +0 -0
  1102. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/jdbc/h2.rb +229 -0
  1103. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/hsqldb.rb +0 -0
  1104. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/informix-sqli.rb +0 -0
  1105. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/jdbcprogress.rb +0 -0
  1106. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/jtds.rb +0 -0
  1107. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/mssql.rb +0 -0
  1108. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/mysql.rb +0 -0
  1109. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/oracle.rb +0 -0
  1110. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/postgresql.rb +0 -0
  1111. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/sqlanywhere.rb +0 -0
  1112. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/sqlite.rb +0 -0
  1113. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/sqlserver.rb +0 -0
  1114. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/jdbc/transactions.rb +0 -0
  1115. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/jdbc.rb +817 -0
  1116. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/mock.rb +393 -0
  1117. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/mysql.rb +378 -0
  1118. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/mysql2.rb +307 -0
  1119. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/odbc/db2.rb +0 -0
  1120. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/odbc/mssql.rb +0 -0
  1121. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/odbc/progress.rb +0 -0
  1122. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/odbc.rb +0 -0
  1123. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/oracle.rb +416 -0
  1124. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/postgres.rb +886 -0
  1125. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/postgresql.rb +0 -0
  1126. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/shared/access.rb +296 -0
  1127. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/shared/cubrid.rb +0 -0
  1128. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/shared/db2.rb +0 -0
  1129. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/shared/firebird.rb +0 -0
  1130. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/shared/informix.rb +0 -0
  1131. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/shared/mssql.rb +0 -0
  1132. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/shared/mysql.rb +0 -0
  1133. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/shared/oracle.rb +600 -0
  1134. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/shared/postgres.rb +1770 -0
  1135. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/shared/progress.rb +0 -0
  1136. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/shared/sqlanywhere.rb +0 -0
  1137. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/shared/sqlite.rb +777 -0
  1138. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/sqlanywhere.rb +0 -0
  1139. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/sqlite.rb +0 -0
  1140. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/swift/mysql.rb +0 -0
  1141. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/swift/postgres.rb +0 -0
  1142. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/swift/sqlite.rb +0 -0
  1143. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/swift.rb +162 -0
  1144. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/tinytds.rb +0 -0
  1145. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb +0 -0
  1146. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +0 -0
  1147. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/utils/mysql_mysql2.rb +82 -0
  1148. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/adapters/utils/mysql_prepared_statements.rb +82 -0
  1149. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/utils/pg_types.rb +0 -0
  1150. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/utils/replace.rb +0 -0
  1151. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/utils/split_alter_table.rb +0 -0
  1152. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/adapters/utils/stored_procedures.rb +0 -0
  1153. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/ast_transformer.rb +208 -0
  1154. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/connection_pool/sharded_single.rb +110 -0
  1155. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/connection_pool/sharded_threaded.rb +352 -0
  1156. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/connection_pool/single.rb +52 -0
  1157. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/connection_pool/threaded.rb +286 -0
  1158. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/connection_pool.rb +130 -0
  1159. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/core.rb +0 -0
  1160. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/database/connecting.rb +0 -0
  1161. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/database/dataset.rb +0 -0
  1162. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/database/dataset_defaults.rb +0 -0
  1163. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/database/features.rb +0 -0
  1164. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/database/logging.rb +0 -0
  1165. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/database/misc.rb +0 -0
  1166. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/database/query.rb +0 -0
  1167. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/database/schema_generator.rb +560 -0
  1168. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/database/schema_methods.rb +1006 -0
  1169. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/database/transactions.rb +0 -0
  1170. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/database.rb +0 -0
  1171. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/dataset/actions.rb +0 -0
  1172. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/dataset/features.rb +0 -0
  1173. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/dataset/graph.rb +0 -0
  1174. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/dataset/misc.rb +0 -0
  1175. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/dataset/mutation.rb +0 -0
  1176. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/dataset/placeholder_literalizer.rb +0 -0
  1177. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/dataset/prepared_statements.rb +0 -0
  1178. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/dataset/query.rb +0 -0
  1179. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/dataset/sql.rb +1589 -0
  1180. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/dataset.rb +0 -0
  1181. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/deprecated.rb +0 -0
  1182. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/exceptions.rb +0 -0
  1183. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/_pretty_table.rb +0 -0
  1184. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/extensions/arbitrary_servers.rb +114 -0
  1185. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/blank.rb +0 -0
  1186. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/columns_introspection.rb +0 -0
  1187. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/extensions/connection_expiration.rb +89 -0
  1188. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/extensions/connection_validator.rb +122 -0
  1189. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/extensions/constraint_validations.rb +487 -0
  1190. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/core_extensions.rb +0 -0
  1191. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/core_refinements.rb +0 -0
  1192. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/current_datetime_timestamp.rb +0 -0
  1193. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/dataset_source_alias.rb +0 -0
  1194. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/date_arithmetic.rb +0 -0
  1195. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/duplicate_columns_handler.rb +0 -0
  1196. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/empty_array_consider_nulls.rb +0 -0
  1197. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/empty_array_ignore_nulls.rb +0 -0
  1198. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/error_sql.rb +0 -0
  1199. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/eval_inspect.rb +0 -0
  1200. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/filter_having.rb +0 -0
  1201. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/from_block.rb +0 -0
  1202. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/graph_each.rb +0 -0
  1203. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/hash_aliases.rb +0 -0
  1204. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/inflector.rb +0 -0
  1205. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/looser_typecasting.rb +0 -0
  1206. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/meta_def.rb +0 -0
  1207. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/extensions/migration.rb +758 -0
  1208. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb +0 -0
  1209. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/named_timezones.rb +0 -0
  1210. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/no_auto_literal_strings.rb +0 -0
  1211. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/null_dataset.rb +0 -0
  1212. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pagination.rb +0 -0
  1213. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_array.rb +0 -0
  1214. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_array_ops.rb +0 -0
  1215. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_enum.rb +0 -0
  1216. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_hstore.rb +0 -0
  1217. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_hstore_ops.rb +0 -0
  1218. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_inet.rb +0 -0
  1219. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_inet_ops.rb +0 -0
  1220. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_interval.rb +0 -0
  1221. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_json.rb +0 -0
  1222. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_json_ops.rb +0 -0
  1223. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_loose_count.rb +0 -0
  1224. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_range.rb +0 -0
  1225. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_range_ops.rb +0 -0
  1226. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_row.rb +0 -0
  1227. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_row_ops.rb +0 -0
  1228. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pg_static_cache_updater.rb +0 -0
  1229. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/pretty_table.rb +0 -0
  1230. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/query.rb +0 -0
  1231. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/query_literals.rb +0 -0
  1232. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/round_timestamps.rb +0 -0
  1233. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/ruby18_symbol_extensions.rb +0 -0
  1234. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/schema_caching.rb +0 -0
  1235. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/schema_dumper.rb +0 -0
  1236. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/select_remove.rb +0 -0
  1237. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/sequel_3_dataset_methods.rb +0 -0
  1238. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/server_block.rb +0 -0
  1239. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/server_logging.rb +0 -0
  1240. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/set_overrides.rb +0 -0
  1241. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/split_array_nil.rb +0 -0
  1242. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/sql_comments.rb +0 -0
  1243. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/sql_expr.rb +0 -0
  1244. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/extensions/string_agg.rb +178 -0
  1245. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/string_date_time.rb +0 -0
  1246. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/thread_local_timezones.rb +0 -0
  1247. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/extensions/to_dot.rb +0 -0
  1248. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/model/associations.rb +3292 -0
  1249. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/model/base.rb +2515 -0
  1250. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/model/dataset_module.rb +0 -0
  1251. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/model/default_inflections.rb +0 -0
  1252. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/model/errors.rb +0 -0
  1253. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/model/exceptions.rb +0 -0
  1254. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/model/inflections.rb +0 -0
  1255. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/model/plugins.rb +0 -0
  1256. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/model.rb +135 -0
  1257. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/no_core_ext.rb +0 -0
  1258. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/accessed_columns.rb +0 -0
  1259. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/active_model.rb +0 -0
  1260. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/after_initialize.rb +0 -0
  1261. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/association_autoreloading.rb +0 -0
  1262. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/association_dependencies.rb +0 -0
  1263. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/association_pks.rb +0 -0
  1264. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/association_proxies.rb +0 -0
  1265. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/auto_validations.rb +0 -0
  1266. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/before_after_save.rb +0 -0
  1267. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/blacklist_security.rb +0 -0
  1268. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/boolean_readers.rb +0 -0
  1269. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/boolean_subsets.rb +0 -0
  1270. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/caching.rb +0 -0
  1271. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/class_table_inheritance.rb +0 -0
  1272. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/column_conflicts.rb +0 -0
  1273. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/column_select.rb +0 -0
  1274. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/composition.rb +0 -0
  1275. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/plugins/constraint_validations.rb +245 -0
  1276. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/csv_serializer.rb +0 -0
  1277. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/dataset_associations.rb +0 -0
  1278. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/defaults_setter.rb +0 -0
  1279. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/delay_add_association.rb +0 -0
  1280. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/dirty.rb +0 -0
  1281. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/eager_each.rb +0 -0
  1282. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/error_splitter.rb +0 -0
  1283. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/force_encoding.rb +0 -0
  1284. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/hook_class_methods.rb +0 -0
  1285. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/identifier_columns.rb +0 -0
  1286. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/input_transformer.rb +0 -0
  1287. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/insert_returning_select.rb +0 -0
  1288. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/instance_filters.rb +0 -0
  1289. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/instance_hooks.rb +0 -0
  1290. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/inverted_subsets.rb +0 -0
  1291. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/json_serializer.rb +0 -0
  1292. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/lazy_attributes.rb +0 -0
  1293. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/list.rb +0 -0
  1294. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/many_through_many.rb +0 -0
  1295. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/many_to_one_pk_lookup.rb +0 -0
  1296. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/modification_detection.rb +0 -0
  1297. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/mssql_optimistic_locking.rb +0 -0
  1298. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/nested_attributes.rb +0 -0
  1299. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/optimistic_locking.rb +0 -0
  1300. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/pg_array_associations.rb +0 -0
  1301. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/pg_row.rb +0 -0
  1302. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/pg_typecast_on_load.rb +0 -0
  1303. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/prepared_statements.rb +0 -0
  1304. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/prepared_statements_associations.rb +0 -0
  1305. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/prepared_statements_safe.rb +0 -0
  1306. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/prepared_statements_with_pk.rb +0 -0
  1307. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/rcte_tree.rb +0 -0
  1308. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/schema.rb +0 -0
  1309. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/scissors.rb +0 -0
  1310. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/serialization.rb +0 -0
  1311. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/serialization_modification_detection.rb +0 -0
  1312. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/sharding.rb +0 -0
  1313. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/single_table_inheritance.rb +0 -0
  1314. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/singular_table_names.rb +0 -0
  1315. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/skip_create_refresh.rb +0 -0
  1316. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/split_values.rb +0 -0
  1317. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/static_cache.rb +0 -0
  1318. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/string_stripper.rb +0 -0
  1319. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/subclasses.rb +0 -0
  1320. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/subset_conditions.rb +0 -0
  1321. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/table_select.rb +0 -0
  1322. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/tactical_eager_loading.rb +0 -0
  1323. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/timestamps.rb +0 -0
  1324. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/touch.rb +0 -0
  1325. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/tree.rb +0 -0
  1326. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/typecast_on_load.rb +0 -0
  1327. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/unlimited_update.rb +0 -0
  1328. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/update_or_create.rb +0 -0
  1329. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/update_primary_key.rb +0 -0
  1330. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/update_refresh.rb +0 -0
  1331. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/uuid.rb +0 -0
  1332. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/validate_associated.rb +0 -0
  1333. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/validation_class_methods.rb +0 -0
  1334. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/plugins/validation_helpers.rb +308 -0
  1335. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/plugins/xml_serializer.rb +0 -0
  1336. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/sql.rb +1909 -0
  1337. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel/timezones.rb +0 -0
  1338. data/vendor/bundle/gems/sequel-4.37.0/lib/sequel/version.rb +20 -0
  1339. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/lib/sequel.rb +0 -0
  1340. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/adapter_spec.rb +0 -0
  1341. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/adapters/db2_spec.rb +0 -0
  1342. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/adapters/firebird_spec.rb +0 -0
  1343. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/adapters/informix_spec.rb +0 -0
  1344. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/adapters/mssql_spec.rb +0 -0
  1345. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/adapters/mysql_spec.rb +0 -0
  1346. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/adapters/oracle_spec.rb +0 -0
  1347. data/vendor/bundle/gems/sequel-4.37.0/spec/adapters/postgres_spec.rb +3790 -0
  1348. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/adapters/spec_helper.rb +0 -0
  1349. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/adapters/sqlanywhere_spec.rb +0 -0
  1350. data/vendor/bundle/gems/sequel-4.37.0/spec/adapters/sqlite_spec.rb +706 -0
  1351. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/bin_spec.rb +0 -0
  1352. data/vendor/bundle/gems/sequel-4.37.0/spec/core/connection_pool_spec.rb +1087 -0
  1353. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core/database_spec.rb +0 -0
  1354. data/vendor/bundle/gems/sequel-4.37.0/spec/core/dataset_spec.rb +5179 -0
  1355. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core/deprecated_spec.rb +0 -0
  1356. data/vendor/bundle/gems/sequel-4.37.0/spec/core/expression_filters_spec.rb +1247 -0
  1357. data/vendor/bundle/gems/sequel-4.37.0/spec/core/mock_adapter_spec.rb +465 -0
  1358. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core/object_graph_spec.rb +0 -0
  1359. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core/placeholder_literalizer_spec.rb +0 -0
  1360. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core/schema_generator_spec.rb +0 -0
  1361. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core/schema_spec.rb +0 -0
  1362. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core/spec_helper.rb +0 -0
  1363. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core/version_spec.rb +0 -0
  1364. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core_extensions_spec.rb +0 -0
  1365. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core_model_spec.rb +0 -0
  1366. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/core_spec.rb +0 -0
  1367. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/accessed_columns_spec.rb +0 -0
  1368. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/active_model_spec.rb +0 -0
  1369. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/after_initialize_spec.rb +0 -0
  1370. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/arbitrary_servers_spec.rb +0 -0
  1371. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/association_dependencies_spec.rb +0 -0
  1372. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/association_pks_spec.rb +0 -0
  1373. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/association_proxies_spec.rb +0 -0
  1374. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/auto_validations_spec.rb +0 -0
  1375. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/before_after_save_spec.rb +0 -0
  1376. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/blacklist_security_spec.rb +0 -0
  1377. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/blank_spec.rb +0 -0
  1378. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/boolean_readers_spec.rb +0 -0
  1379. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/boolean_subsets_spec.rb +0 -0
  1380. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/caching_spec.rb +0 -0
  1381. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/class_table_inheritance_spec.rb +0 -0
  1382. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/column_conflicts_spec.rb +0 -0
  1383. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/column_select_spec.rb +0 -0
  1384. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/columns_introspection_spec.rb +0 -0
  1385. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/composition_spec.rb +0 -0
  1386. data/vendor/bundle/gems/sequel-4.37.0/spec/extensions/connection_expiration_spec.rb +121 -0
  1387. data/vendor/bundle/gems/sequel-4.37.0/spec/extensions/connection_validator_spec.rb +127 -0
  1388. data/vendor/bundle/gems/sequel-4.37.0/spec/extensions/constraint_validations_plugin_spec.rb +288 -0
  1389. data/vendor/bundle/gems/sequel-4.37.0/spec/extensions/constraint_validations_spec.rb +389 -0
  1390. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/core_refinements_spec.rb +0 -0
  1391. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/csv_serializer_spec.rb +0 -0
  1392. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/current_datetime_timestamp_spec.rb +0 -0
  1393. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/dataset_associations_spec.rb +0 -0
  1394. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/dataset_source_alias_spec.rb +0 -0
  1395. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/date_arithmetic_spec.rb +0 -0
  1396. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/defaults_setter_spec.rb +0 -0
  1397. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/delay_add_association_spec.rb +0 -0
  1398. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/dirty_spec.rb +0 -0
  1399. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/duplicate_columns_handler_spec.rb +0 -0
  1400. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/eager_each_spec.rb +0 -0
  1401. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/empty_array_consider_nulls_spec.rb +0 -0
  1402. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/error_splitter_spec.rb +0 -0
  1403. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/error_sql_spec.rb +0 -0
  1404. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/eval_inspect_spec.rb +0 -0
  1405. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/filter_having_spec.rb +0 -0
  1406. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/force_encoding_spec.rb +0 -0
  1407. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/from_block_spec.rb +0 -0
  1408. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/graph_each_spec.rb +0 -0
  1409. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/hash_aliases_spec.rb +0 -0
  1410. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/hook_class_methods_spec.rb +0 -0
  1411. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/identifier_columns_spec.rb +0 -0
  1412. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/inflector_spec.rb +0 -0
  1413. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/input_transformer_spec.rb +0 -0
  1414. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/insert_returning_select_spec.rb +0 -0
  1415. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/instance_filters_spec.rb +0 -0
  1416. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/instance_hooks_spec.rb +0 -0
  1417. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/inverted_subsets_spec.rb +0 -0
  1418. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/json_serializer_spec.rb +0 -0
  1419. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/lazy_attributes_spec.rb +0 -0
  1420. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/list_spec.rb +0 -0
  1421. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/looser_typecasting_spec.rb +0 -0
  1422. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/many_through_many_spec.rb +0 -0
  1423. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/meta_def_spec.rb +0 -0
  1424. data/vendor/bundle/gems/sequel-4.37.0/spec/extensions/migration_spec.rb +731 -0
  1425. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/modification_detection_spec.rb +0 -0
  1426. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/mssql_optimistic_locking_spec.rb +0 -0
  1427. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/named_timezones_spec.rb +0 -0
  1428. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/nested_attributes_spec.rb +0 -0
  1429. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/no_auto_literal_strings_spec.rb +0 -0
  1430. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/null_dataset_spec.rb +0 -0
  1431. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/optimistic_locking_spec.rb +0 -0
  1432. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pagination_spec.rb +0 -0
  1433. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_array_associations_spec.rb +0 -0
  1434. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_array_ops_spec.rb +0 -0
  1435. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_array_spec.rb +0 -0
  1436. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_enum_spec.rb +0 -0
  1437. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_hstore_ops_spec.rb +0 -0
  1438. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_hstore_spec.rb +0 -0
  1439. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_inet_ops_spec.rb +0 -0
  1440. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_inet_spec.rb +0 -0
  1441. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_interval_spec.rb +0 -0
  1442. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_json_ops_spec.rb +0 -0
  1443. data/vendor/bundle/gems/sequel-4.37.0/spec/extensions/pg_json_spec.rb +218 -0
  1444. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_loose_count_spec.rb +0 -0
  1445. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_range_ops_spec.rb +0 -0
  1446. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_range_spec.rb +0 -0
  1447. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_row_ops_spec.rb +0 -0
  1448. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_row_plugin_spec.rb +0 -0
  1449. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_row_spec.rb +0 -0
  1450. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_static_cache_updater_spec.rb +0 -0
  1451. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pg_typecast_on_load_spec.rb +0 -0
  1452. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/prepared_statements_associations_spec.rb +0 -0
  1453. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/prepared_statements_safe_spec.rb +0 -0
  1454. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/prepared_statements_spec.rb +0 -0
  1455. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/prepared_statements_with_pk_spec.rb +0 -0
  1456. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/pretty_table_spec.rb +0 -0
  1457. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/query_literals_spec.rb +0 -0
  1458. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/query_spec.rb +0 -0
  1459. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/rcte_tree_spec.rb +0 -0
  1460. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/round_timestamps_spec.rb +0 -0
  1461. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/schema_caching_spec.rb +0 -0
  1462. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/schema_dumper_spec.rb +0 -0
  1463. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/schema_spec.rb +0 -0
  1464. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/scissors_spec.rb +0 -0
  1465. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/select_remove_spec.rb +0 -0
  1466. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/sequel_3_dataset_methods_spec.rb +0 -0
  1467. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/serialization_modification_detection_spec.rb +0 -0
  1468. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/serialization_spec.rb +0 -0
  1469. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/server_block_spec.rb +0 -0
  1470. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/server_logging_spec.rb +0 -0
  1471. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/set_overrides_spec.rb +0 -0
  1472. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/sharding_spec.rb +0 -0
  1473. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/shared_caching_spec.rb +0 -0
  1474. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/single_table_inheritance_spec.rb +0 -0
  1475. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/singular_table_names_spec.rb +0 -0
  1476. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/skip_create_refresh_spec.rb +0 -0
  1477. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/spec_helper.rb +0 -0
  1478. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/split_array_nil_spec.rb +0 -0
  1479. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/split_values_spec.rb +0 -0
  1480. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/sql_comments_spec.rb +0 -0
  1481. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/sql_expr_spec.rb +0 -0
  1482. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/static_cache_spec.rb +0 -0
  1483. data/vendor/bundle/gems/sequel-4.37.0/spec/extensions/string_agg_spec.rb +85 -0
  1484. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/string_date_time_spec.rb +0 -0
  1485. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/string_stripper_spec.rb +0 -0
  1486. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/subclasses_spec.rb +0 -0
  1487. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/subset_conditions_spec.rb +0 -0
  1488. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/table_select_spec.rb +0 -0
  1489. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/tactical_eager_loading_spec.rb +0 -0
  1490. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/thread_local_timezones_spec.rb +0 -0
  1491. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/timestamps_spec.rb +0 -0
  1492. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/to_dot_spec.rb +0 -0
  1493. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/touch_spec.rb +0 -0
  1494. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/tree_spec.rb +0 -0
  1495. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/typecast_on_load_spec.rb +0 -0
  1496. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/unlimited_update_spec.rb +0 -0
  1497. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/update_or_create_spec.rb +0 -0
  1498. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/update_primary_key_spec.rb +0 -0
  1499. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/update_refresh_spec.rb +0 -0
  1500. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/uuid_spec.rb +0 -0
  1501. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/validate_associated_spec.rb +0 -0
  1502. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/validation_class_methods_spec.rb +0 -0
  1503. data/vendor/bundle/gems/sequel-4.37.0/spec/extensions/validation_helpers_spec.rb +554 -0
  1504. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/extensions/xml_serializer_spec.rb +0 -0
  1505. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/bad_down_migration/001_create_alt_basic.rb +0 -0
  1506. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/bad_down_migration/002_create_alt_advanced.rb +0 -0
  1507. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/bad_timestamped_migrations/1273253849_create_sessions.rb +0 -0
  1508. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/bad_timestamped_migrations/1273253851_create_nodes.rb +0 -0
  1509. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/bad_timestamped_migrations/1273253853_3_create_users.rb +0 -0
  1510. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/bad_up_migration/001_create_alt_basic.rb +0 -0
  1511. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/bad_up_migration/002_create_alt_advanced.rb +0 -0
  1512. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/convert_to_timestamp_migrations/001_create_sessions.rb +0 -0
  1513. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/convert_to_timestamp_migrations/002_create_nodes.rb +0 -0
  1514. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/convert_to_timestamp_migrations/003_3_create_users.rb +0 -0
  1515. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/convert_to_timestamp_migrations/1273253850_create_artists.rb +0 -0
  1516. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/convert_to_timestamp_migrations/1273253852_create_albums.rb +0 -0
  1517. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/double_migration/001_create_sessions.rb +0 -0
  1518. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/double_migration/002_create_nodes.rb +0 -0
  1519. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/double_migration/003_3_create_users.rb +0 -0
  1520. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/duplicate_integer_migrations/001_create_alt_advanced.rb +0 -0
  1521. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/duplicate_integer_migrations/001_create_alt_basic.rb +0 -0
  1522. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/duplicate_timestamped_migrations/1273253849_create_sessions.rb +0 -0
  1523. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/duplicate_timestamped_migrations/1273253853_create_nodes.rb +0 -0
  1524. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/duplicate_timestamped_migrations/1273253853_create_users.rb +0 -0
  1525. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/empty_migration/001_create_sessions.rb +0 -0
  1526. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/empty_migration/002_create_nodes.rb +0 -0
  1527. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/empty_migration/003_3_create_users.rb +0 -0
  1528. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/integer_migrations/001_create_sessions.rb +0 -0
  1529. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/integer_migrations/002_create_nodes.rb +0 -0
  1530. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/integer_migrations/003_3_create_users.rb +0 -0
  1531. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/interleaved_timestamped_migrations/1273253849_create_sessions.rb +0 -0
  1532. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/interleaved_timestamped_migrations/1273253850_create_artists.rb +0 -0
  1533. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/interleaved_timestamped_migrations/1273253851_create_nodes.rb +0 -0
  1534. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/interleaved_timestamped_migrations/1273253852_create_albums.rb +0 -0
  1535. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/interleaved_timestamped_migrations/1273253853_3_create_users.rb +0 -0
  1536. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/missing_integer_migrations/001_create_alt_basic.rb +0 -0
  1537. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/missing_integer_migrations/003_create_alt_advanced.rb +0 -0
  1538. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/missing_timestamped_migrations/1273253849_create_sessions.rb +0 -0
  1539. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/missing_timestamped_migrations/1273253853_3_create_users.rb +0 -0
  1540. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/reversible_migrations/001_reversible.rb +0 -0
  1541. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/reversible_migrations/002_reversible.rb +0 -0
  1542. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/reversible_migrations/003_reversible.rb +0 -0
  1543. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/reversible_migrations/004_reversible.rb +0 -0
  1544. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/reversible_migrations/005_reversible.rb +0 -0
  1545. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/reversible_migrations/006_reversible.rb +0 -0
  1546. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/reversible_migrations/007_reversible.rb +0 -0
  1547. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/timestamped_migrations/1273253849_create_sessions.rb +0 -0
  1548. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/timestamped_migrations/1273253851_create_nodes.rb +0 -0
  1549. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/timestamped_migrations/1273253853_3_create_users.rb +0 -0
  1550. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/transaction_specified_migrations/001_create_alt_basic.rb +0 -0
  1551. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/transaction_specified_migrations/002_create_basic.rb +0 -0
  1552. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb +0 -0
  1553. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/transaction_unspecified_migrations/002_create_basic.rb +0 -0
  1554. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB +0 -0
  1555. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB +0 -0
  1556. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB +0 -0
  1557. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/guards_helper.rb +0 -0
  1558. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/associations_test.rb +0 -0
  1559. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/database_test.rb +0 -0
  1560. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/dataset_test.rb +0 -0
  1561. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/eager_loader_test.rb +0 -0
  1562. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/migrator_test.rb +0 -0
  1563. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/model_test.rb +0 -0
  1564. data/vendor/bundle/gems/sequel-4.37.0/spec/integration/plugin_test.rb +2297 -0
  1565. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/prepared_statement_test.rb +0 -0
  1566. data/vendor/bundle/gems/sequel-4.37.0/spec/integration/schema_test.rb +815 -0
  1567. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/spec_helper.rb +0 -0
  1568. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/timezone_test.rb +0 -0
  1569. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/transaction_test.rb +0 -0
  1570. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/integration/type_test.rb +0 -0
  1571. data/vendor/bundle/gems/sequel-4.37.0/spec/model/association_reflection_spec.rb +565 -0
  1572. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/associations_spec.rb +0 -0
  1573. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/base_spec.rb +0 -0
  1574. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/class_dataset_methods_spec.rb +0 -0
  1575. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/dataset_methods_spec.rb +0 -0
  1576. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/eager_loading_spec.rb +0 -0
  1577. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/hooks_spec.rb +0 -0
  1578. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/inflector_spec.rb +0 -0
  1579. data/vendor/bundle/gems/sequel-4.37.0/spec/model/model_spec.rb +1097 -0
  1580. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/plugins_spec.rb +0 -0
  1581. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/record_spec.rb +0 -0
  1582. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/spec_helper.rb +0 -0
  1583. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model/validations_spec.rb +0 -0
  1584. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model_no_assoc_spec.rb +0 -0
  1585. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/model_spec.rb +0 -0
  1586. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/plugin_spec.rb +0 -0
  1587. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/sequel_coverage.rb +0 -0
  1588. data/vendor/bundle/gems/{sequel-4.35.0 → sequel-4.37.0}/spec/spec_config.rb +0 -0
  1589. data/vendor/bundle/gems/sprockets-3.7.0/CHANGELOG.md +288 -0
  1590. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/LICENSE +0 -0
  1591. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/README.md +0 -0
  1592. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/bin/sprockets +0 -0
  1593. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/rake/sprocketstask.rb +0 -0
  1594. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/asset.rb +0 -0
  1595. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/autoload/closure.rb +0 -0
  1596. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/autoload/coffee_script.rb +0 -0
  1597. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/autoload/eco.rb +0 -0
  1598. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/autoload/ejs.rb +0 -0
  1599. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/autoload/sass.rb +0 -0
  1600. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/autoload/uglifier.rb +0 -0
  1601. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/autoload/yui.rb +0 -0
  1602. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/autoload.rb +0 -0
  1603. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/base.rb +0 -0
  1604. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/bower.rb +0 -0
  1605. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/bundle.rb +0 -0
  1606. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/cache/file_store.rb +0 -0
  1607. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/cache/memory_store.rb +0 -0
  1608. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/cache/null_store.rb +0 -0
  1609. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/cache.rb +0 -0
  1610. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/cached_environment.rb +0 -0
  1611. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/closure_compressor.rb +0 -0
  1612. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/coffee_script_processor.rb +0 -0
  1613. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/coffee_script_template.rb +17 -0
  1614. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/compressing.rb +0 -0
  1615. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/configuration.rb +0 -0
  1616. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/context.rb +0 -0
  1617. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/dependencies.rb +0 -0
  1618. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/deprecation.rb +90 -0
  1619. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/digest_utils.rb +0 -0
  1620. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/directive_processor.rb +0 -0
  1621. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/eco_processor.rb +0 -0
  1622. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/eco_template.rb +17 -0
  1623. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/ejs_processor.rb +0 -0
  1624. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/ejs_template.rb +17 -0
  1625. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/encoding_utils.rb +0 -0
  1626. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/engines.rb +92 -0
  1627. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/environment.rb +0 -0
  1628. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/erb_processor.rb +0 -0
  1629. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/erb_template.rb +11 -0
  1630. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/errors.rb +0 -0
  1631. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/file_reader.rb +0 -0
  1632. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/http_utils.rb +0 -0
  1633. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/jst_processor.rb +0 -0
  1634. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/legacy.rb +0 -0
  1635. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/legacy_proc_processor.rb +0 -0
  1636. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/legacy_tilt_processor.rb +0 -0
  1637. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/loader.rb +0 -0
  1638. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/manifest.rb +0 -0
  1639. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/manifest_utils.rb +0 -0
  1640. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/mime.rb +0 -0
  1641. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/path_dependency_utils.rb +0 -0
  1642. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/path_digest_utils.rb +0 -0
  1643. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb +287 -0
  1644. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/paths.rb +0 -0
  1645. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/processing.rb +258 -0
  1646. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/processor_utils.rb +0 -0
  1647. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/resolve.rb +211 -0
  1648. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/sass_cache_store.rb +34 -0
  1649. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/sass_compressor.rb +0 -0
  1650. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/sass_functions.rb +0 -0
  1651. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/sass_importer.rb +0 -0
  1652. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/sass_processor.rb +0 -0
  1653. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/sass_template.rb +19 -0
  1654. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/server.rb +0 -0
  1655. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/transformers.rb +0 -0
  1656. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/uglifier_compressor.rb +55 -0
  1657. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/unloaded_asset.rb +0 -0
  1658. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/uri_tar.rb +0 -0
  1659. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/uri_utils.rb +0 -0
  1660. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/utils/gzip.rb +0 -0
  1661. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/utils.rb +0 -0
  1662. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets/version.rb +3 -0
  1663. data/vendor/bundle/gems/{sprockets-3.6.2 → sprockets-3.7.0}/lib/sprockets/yui_compressor.rb +0 -0
  1664. data/vendor/bundle/gems/sprockets-3.7.0/lib/sprockets.rb +169 -0
  1665. data/vendor/bundle/gems/sqlite3-1.3.11/ext/sqlite3/Makefile +47 -24
  1666. data/vendor/bundle/gems/sqlite3-1.3.11/ext/sqlite3/backup.o +0 -0
  1667. data/vendor/bundle/gems/sqlite3-1.3.11/ext/sqlite3/database.o +0 -0
  1668. data/vendor/bundle/gems/sqlite3-1.3.11/ext/sqlite3/exception.o +0 -0
  1669. data/vendor/bundle/gems/sqlite3-1.3.11/ext/sqlite3/sqlite3.o +0 -0
  1670. data/vendor/bundle/gems/sqlite3-1.3.11/ext/sqlite3/sqlite3_native.so +0 -0
  1671. data/vendor/bundle/gems/sqlite3-1.3.11/ext/sqlite3/statement.o +0 -0
  1672. data/vendor/bundle/gems/sqlite3-1.3.11/lib/sqlite3/sqlite3_native.so +0 -0
  1673. data/vendor/bundle/gems/test-unit-3.2.1/COPYING +67 -0
  1674. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/GPL +0 -0
  1675. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/LGPL +0 -0
  1676. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/PSFL +0 -0
  1677. data/vendor/bundle/gems/test-unit-3.2.1/README.md +101 -0
  1678. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/Rakefile +0 -0
  1679. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/doc/text/how-to.md +0 -0
  1680. data/vendor/bundle/gems/test-unit-3.2.1/doc/text/news.md +1131 -0
  1681. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/assertion-failed-error.rb +0 -0
  1682. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/assertions.rb +0 -0
  1683. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/attribute-matcher.rb +0 -0
  1684. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/attribute.rb +0 -0
  1685. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/auto-runner-loader.rb +0 -0
  1686. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/autorunner.rb +0 -0
  1687. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/code-snippet-fetcher.rb +0 -0
  1688. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/collector/descendant.rb +0 -0
  1689. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/collector/dir.rb +0 -0
  1690. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/collector/load.rb +0 -0
  1691. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/collector/objectspace.rb +0 -0
  1692. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/collector/xml.rb +0 -0
  1693. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/collector.rb +0 -0
  1694. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/color-scheme.rb +0 -0
  1695. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/color.rb +0 -0
  1696. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/data.rb +0 -0
  1697. data/vendor/bundle/gems/test-unit-3.2.1/lib/test/unit/diff.rb +746 -0
  1698. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/error.rb +0 -0
  1699. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/exception-handler.rb +0 -0
  1700. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/failure.rb +0 -0
  1701. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/fault-location-detector.rb +0 -0
  1702. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/fixture.rb +0 -0
  1703. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/notification.rb +0 -0
  1704. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/omission.rb +0 -0
  1705. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/pending.rb +0 -0
  1706. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/priority.rb +0 -0
  1707. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/runner/console.rb +0 -0
  1708. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/runner/emacs.rb +0 -0
  1709. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/runner/xml.rb +0 -0
  1710. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/test-suite-creator.rb +0 -0
  1711. data/vendor/bundle/gems/test-unit-3.2.1/lib/test/unit/testcase.rb +825 -0
  1712. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/testresult.rb +0 -0
  1713. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/testsuite.rb +0 -0
  1714. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/ui/console/outputlevel.rb +0 -0
  1715. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/ui/console/testrunner.rb +0 -0
  1716. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/ui/emacs/testrunner.rb +0 -0
  1717. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/ui/testrunner.rb +0 -0
  1718. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/ui/testrunnermediator.rb +0 -0
  1719. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/ui/testrunnerutilities.rb +0 -0
  1720. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/ui/xml/testrunner.rb +0 -0
  1721. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/util/backtracefilter.rb +0 -0
  1722. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/util/method-owner-finder.rb +0 -0
  1723. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/util/observable.rb +0 -0
  1724. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/util/output.rb +0 -0
  1725. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit/util/procwrapper.rb +0 -0
  1726. data/vendor/bundle/gems/test-unit-3.2.1/lib/test/unit/version.rb +5 -0
  1727. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test/unit.rb +0 -0
  1728. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/lib/test-unit.rb +0 -0
  1729. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/sample/adder.rb +0 -0
  1730. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/sample/subtracter.rb +0 -0
  1731. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/sample/test_adder.rb +0 -0
  1732. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/sample/test_subtracter.rb +0 -0
  1733. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/sample/test_user.rb +0 -0
  1734. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/collector/test-descendant.rb +0 -0
  1735. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/collector/test-load.rb +0 -0
  1736. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/collector/test_dir.rb +0 -0
  1737. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/collector/test_objectspace.rb +0 -0
  1738. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/fixtures/header-label.csv +0 -0
  1739. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/fixtures/header-label.tsv +0 -0
  1740. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/fixtures/header.csv +0 -0
  1741. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/fixtures/header.tsv +0 -0
  1742. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/fixtures/no-header.csv +0 -0
  1743. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/fixtures/no-header.tsv +0 -0
  1744. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/fixtures/plus.csv +0 -0
  1745. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/run-test.rb +0 -0
  1746. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-assertions.rb +0 -0
  1747. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-attribute-matcher.rb +0 -0
  1748. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-attribute.rb +0 -0
  1749. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-code-snippet.rb +0 -0
  1750. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-color-scheme.rb +0 -0
  1751. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-color.rb +0 -0
  1752. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-data.rb +0 -0
  1753. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-diff.rb +0 -0
  1754. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-emacs-runner.rb +0 -0
  1755. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-error.rb +0 -0
  1756. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-failure.rb +0 -0
  1757. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-fault-location-detector.rb +0 -0
  1758. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-fixture.rb +0 -0
  1759. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-notification.rb +0 -0
  1760. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-omission.rb +0 -0
  1761. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-pending.rb +0 -0
  1762. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-priority.rb +0 -0
  1763. data/vendor/bundle/gems/test-unit-3.2.1/test/test-test-case.rb +1188 -0
  1764. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-test-result.rb +0 -0
  1765. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-test-suite-creator.rb +0 -0
  1766. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/test-test-suite.rb +0 -0
  1767. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/testunit-test-util.rb +0 -0
  1768. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/ui/test_testrunmediator.rb +0 -0
  1769. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/util/test-method-owner-finder.rb +0 -0
  1770. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/util/test-output.rb +0 -0
  1771. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/util/test_backtracefilter.rb +0 -0
  1772. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/util/test_observable.rb +0 -0
  1773. data/vendor/bundle/gems/{test-unit-3.2.0 → test-unit-3.2.1}/test/util/test_procwrapper.rb +0 -0
  1774. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/COPYING +0 -0
  1775. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/Gemfile +0 -0
  1776. data/vendor/bundle/gems/tins-1.12.0/README.md +72 -0
  1777. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/Rakefile +0 -0
  1778. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/TODO +0 -0
  1779. data/vendor/bundle/gems/tins-1.12.0/VERSION +1 -0
  1780. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/add_one.png +0 -0
  1781. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/add_one.stm +0 -0
  1782. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/bb3.png +0 -0
  1783. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/bb3.stm +0 -0
  1784. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/concatenate_compare.mtm +0 -0
  1785. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/concatenate_compare.png +0 -0
  1786. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/length_difference.mtm +0 -0
  1787. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/length_difference.png +0 -0
  1788. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/let.rb +0 -0
  1789. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/mail.rb +0 -0
  1790. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/minsky.rb +0 -0
  1791. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/multiply.reg +0 -0
  1792. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/null_pattern.rb +0 -0
  1793. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/ones_difference-mtm.png +0 -0
  1794. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/ones_difference-stm.png +0 -0
  1795. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/ones_difference.mtm +0 -0
  1796. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/ones_difference.stm +0 -0
  1797. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/prefix-equals-suffix-reversed-with-infix.png +0 -0
  1798. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/prefix-equals-suffix-reversed-with-infix.stm +0 -0
  1799. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/recipe.rb +0 -0
  1800. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/recipe2.rb +0 -0
  1801. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/recipe_common.rb +0 -0
  1802. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/subtract.reg +0 -0
  1803. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/turing-graph.rb +0 -0
  1804. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/examples/turing.rb +0 -0
  1805. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/dslkit/polite.rb +0 -0
  1806. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/dslkit/rude.rb +0 -0
  1807. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/dslkit.rb +0 -0
  1808. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/spruz.rb +0 -0
  1809. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/alias.rb +0 -0
  1810. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/annotate.rb +0 -0
  1811. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/ask_and_send.rb +0 -0
  1812. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/attempt.rb +0 -0
  1813. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/bijection.rb +0 -0
  1814. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/case_predicate.rb +0 -0
  1815. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/complete.rb +0 -0
  1816. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/concern.rb +0 -0
  1817. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/count_by.rb +0 -0
  1818. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/date_dummy.rb +0 -0
  1819. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/date_time_dummy.rb +0 -0
  1820. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/deep_const_get.rb +0 -0
  1821. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/deep_dup.rb +0 -0
  1822. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/dslkit.rb +0 -0
  1823. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/duration.rb +0 -0
  1824. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/extract_last_argument_options.rb +0 -0
  1825. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/file_binary.rb +0 -0
  1826. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/find.rb +0 -0
  1827. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/generator.rb +0 -0
  1828. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/go.rb +0 -0
  1829. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/hash_symbolize_keys_recursive.rb +0 -0
  1830. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/hash_union.rb +0 -0
  1831. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/if_predicate.rb +0 -0
  1832. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/implement.rb +0 -0
  1833. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/limited.rb +0 -0
  1834. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/lines_file.rb +0 -0
  1835. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/memoize.rb +0 -0
  1836. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/method_description.rb +0 -0
  1837. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/minimize.rb +0 -0
  1838. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/module_group.rb +0 -0
  1839. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/named_set.rb +0 -0
  1840. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/null.rb +0 -0
  1841. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/once.rb +0 -0
  1842. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/p.rb +0 -0
  1843. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/partial_application.rb +0 -0
  1844. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/proc_compose.rb +0 -0
  1845. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/proc_prelude.rb +0 -0
  1846. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/range_plus.rb +0 -0
  1847. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/require_maybe.rb +0 -0
  1848. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/responding.rb +0 -0
  1849. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/secure_write.rb +0 -0
  1850. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/sexy_singleton.rb +0 -0
  1851. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/string_byte_order_mark.rb +0 -0
  1852. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/string_camelize.rb +0 -0
  1853. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/string_underscore.rb +0 -0
  1854. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/string_version.rb +0 -0
  1855. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/subhash.rb +0 -0
  1856. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/terminal.rb +0 -0
  1857. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/thread_local.rb +0 -0
  1858. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/time_dummy.rb +0 -0
  1859. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/to.rb +0 -0
  1860. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/to_proc.rb +0 -0
  1861. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/token.rb +0 -0
  1862. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/uniq_by.rb +0 -0
  1863. data/vendor/bundle/gems/tins-1.12.0/lib/tins/unit.rb +172 -0
  1864. data/vendor/bundle/gems/tins-1.12.0/lib/tins/version.rb +8 -0
  1865. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/write.rb +0 -0
  1866. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/annotate.rb +0 -0
  1867. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/ask_and_send.rb +0 -0
  1868. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/attempt.rb +0 -0
  1869. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/blank.rb +0 -0
  1870. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/case_predicate.rb +0 -0
  1871. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/complete.rb +0 -0
  1872. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/concern.rb +0 -0
  1873. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/count_by.rb +0 -0
  1874. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/date_dummy.rb +0 -0
  1875. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/date_time_dummy.rb +0 -0
  1876. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/deep_const_get.rb +0 -0
  1877. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/deep_dup.rb +0 -0
  1878. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/dslkit.rb +0 -0
  1879. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/extract_last_argument_options.rb +0 -0
  1880. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/file_binary.rb +0 -0
  1881. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/full.rb +0 -0
  1882. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/hash_symbolize_keys_recursive.rb +0 -0
  1883. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/hash_union.rb +0 -0
  1884. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/if_predicate.rb +0 -0
  1885. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/implement.rb +0 -0
  1886. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/irb.rb +0 -0
  1887. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/method_description.rb +0 -0
  1888. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/named.rb +0 -0
  1889. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/null.rb +0 -0
  1890. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/p.rb +0 -0
  1891. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/partial_application.rb +0 -0
  1892. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/proc_compose.rb +0 -0
  1893. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/proc_prelude.rb +0 -0
  1894. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/range_plus.rb +0 -0
  1895. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/require_maybe.rb +0 -0
  1896. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/responding.rb +0 -0
  1897. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/secure_write.rb +0 -0
  1898. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/sexy_singleton.rb +0 -0
  1899. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/string.rb +0 -0
  1900. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/string_byte_order_mark.rb +0 -0
  1901. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/string_camelize.rb +0 -0
  1902. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/string_underscore.rb +0 -0
  1903. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/string_version.rb +0 -0
  1904. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/subhash.rb +0 -0
  1905. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/time_dummy.rb +0 -0
  1906. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/time_freezer.rb +0 -0
  1907. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/to.rb +0 -0
  1908. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/uniq_by.rb +0 -0
  1909. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt/write.rb +0 -0
  1910. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/lib/tins/xt.rb +0 -0
  1911. data/vendor/bundle/gems/tins-1.12.0/lib/tins.rb +58 -0
  1912. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/annotate_test.rb +0 -0
  1913. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/ask_and_send_test.rb +0 -0
  1914. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/attempt_test.rb +0 -0
  1915. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/bijection_test.rb +0 -0
  1916. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/blank_full_test.rb +0 -0
  1917. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/case_predicate_test.rb +0 -0
  1918. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/concern_test.rb +0 -0
  1919. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/count_by_test.rb +0 -0
  1920. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/date_dummy_test.rb +0 -0
  1921. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/date_time_dummy_test.rb +0 -0
  1922. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/deep_const_get_test.rb +0 -0
  1923. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/deep_dup_test.rb +0 -0
  1924. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/delegate_test.rb +0 -0
  1925. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/dslkit_test.rb +0 -0
  1926. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/duaration_test.rb +0 -0
  1927. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/dynamic_scope_test.rb +0 -0
  1928. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/extract_last_argument_options_test.rb +0 -0
  1929. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/file_binary_test.rb +0 -0
  1930. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/find_test.rb +0 -0
  1931. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/from_module_test.rb +0 -0
  1932. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/generator_test.rb +0 -0
  1933. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/go_test.rb +0 -0
  1934. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/hash_symbolize_keys_recursive_test.rb +0 -0
  1935. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/hash_union_test.rb +0 -0
  1936. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/if_predicate_test.rb +0 -0
  1937. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/implement_test.rb +0 -0
  1938. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/limited_test.rb +0 -0
  1939. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/lines_file_test.rb +0 -0
  1940. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/memoize_test.rb +0 -0
  1941. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/method_description_test.rb +0 -0
  1942. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/minimize_test.rb +0 -0
  1943. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/module_group_test.rb +0 -0
  1944. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/named_set_test.rb +0 -0
  1945. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/named_test.rb +0 -0
  1946. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/null_test.rb +0 -0
  1947. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/p_test.rb +0 -0
  1948. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/partial_application_test.rb +0 -0
  1949. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/proc_compose_test.rb +0 -0
  1950. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/proc_prelude_test.rb +0 -0
  1951. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/range_plus_test.rb +0 -0
  1952. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/require_maybe_test.rb +0 -0
  1953. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/responding_test.rb +0 -0
  1954. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/rotate_test.rb +0 -0
  1955. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/scope_test.rb +0 -0
  1956. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/secure_write_test.rb +0 -0
  1957. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/sexy_singleton_test.rb +0 -0
  1958. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/string_byte_order_mark_test.rb +0 -0
  1959. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/string_camelize_test.rb +0 -0
  1960. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/string_underscore_test.rb +0 -0
  1961. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/string_version_test.rb +0 -0
  1962. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/subhash_test.rb +0 -0
  1963. data/vendor/bundle/gems/tins-1.12.0/tests/test_helper.rb +15 -0
  1964. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/time_dummy_test.rb +0 -0
  1965. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/time_freezer_test.rb +0 -0
  1966. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/to_test.rb +0 -0
  1967. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/token_test.rb +0 -0
  1968. data/vendor/bundle/gems/{tins-1.10.2 → tins-1.12.0}/tests/uniq_by_test.rb +0 -0
  1969. data/vendor/bundle/gems/tins-1.12.0/tests/unit_test.rb +57 -0
  1970. data/vendor/bundle/gems/tins-1.12.0/tins.gemspec +38 -0
  1971. data/vendor/bundle/gems/unf_ext-0.0.7.2/ext/unf_ext/Makefile +7 -7
  1972. data/vendor/bundle/gems/unf_ext-0.0.7.2/ext/unf_ext/unf.o +0 -0
  1973. data/vendor/bundle/gems/unf_ext-0.0.7.2/ext/unf_ext/unf_ext.so +0 -0
  1974. data/vendor/bundle/gems/unf_ext-0.0.7.2/lib/unf_ext.so +0 -0
  1975. data/vendor/bundle/specifications/addressable-2.4.0.gemspec +18 -18
  1976. data/vendor/bundle/specifications/capybara-2.8.0.gemspec +79 -0
  1977. data/vendor/bundle/specifications/concurrent-ruby-1.0.2.gemspec +14 -14
  1978. data/vendor/bundle/specifications/coveralls-0.7.12.gemspec +5 -2
  1979. data/vendor/bundle/specifications/diff-lcs-1.2.5.gemspec +6 -3
  1980. data/vendor/bundle/specifications/docile-1.1.5.gemspec +5 -2
  1981. data/vendor/bundle/specifications/domain_name-0.5.20160615.gemspec +31 -31
  1982. data/vendor/bundle/specifications/emot-0.0.4.gemspec +5 -2
  1983. data/vendor/bundle/specifications/faraday-0.9.2.gemspec +13 -13
  1984. data/vendor/bundle/specifications/fastimage-2.0.0.gemspec +30 -30
  1985. data/vendor/bundle/specifications/ffi-1.9.14.gemspec +49 -0
  1986. data/vendor/bundle/specifications/hikidoc-0.1.0.gemspec +5 -2
  1987. data/vendor/bundle/specifications/http-cookie-1.0.2.gemspec +6 -3
  1988. data/vendor/bundle/specifications/jasmine-2.4.0.gemspec +5 -2
  1989. data/vendor/bundle/specifications/jasmine-core-2.4.1.gemspec +5 -2
  1990. data/vendor/bundle/specifications/launchy-2.4.3.gemspec +6 -3
  1991. data/vendor/bundle/specifications/mail-2.6.4.gemspec +29 -29
  1992. data/vendor/bundle/specifications/mime-types-2.99.2.gemspec +60 -60
  1993. data/vendor/bundle/specifications/mini_portile2-2.1.0.gemspec +27 -27
  1994. data/vendor/bundle/specifications/multi_json-1.12.1.gemspec +15 -15
  1995. data/vendor/bundle/specifications/multipart-post-2.0.0.gemspec +13 -13
  1996. data/vendor/bundle/specifications/netrc-0.11.0.gemspec +5 -2
  1997. data/vendor/bundle/specifications/nokogiri-1.6.8.gemspec +59 -59
  1998. data/vendor/bundle/specifications/octokit-4.3.0.gemspec +18 -18
  1999. data/vendor/bundle/specifications/pit-0.0.7.gemspec +5 -2
  2000. data/vendor/bundle/specifications/pkg-config-1.1.7.gemspec +21 -21
  2001. data/vendor/bundle/specifications/power_assert-0.3.0.gemspec +23 -23
  2002. data/vendor/bundle/specifications/rack-1.6.4.gemspec +6 -3
  2003. data/vendor/bundle/specifications/rack-test-0.6.3.gemspec +6 -3
  2004. data/vendor/bundle/specifications/racksh-1.0.0.gemspec +5 -2
  2005. data/vendor/bundle/specifications/rake-11.2.2.gemspec +25 -25
  2006. data/vendor/bundle/specifications/rest-client-1.8.0.gemspec +6 -3
  2007. data/vendor/bundle/specifications/rspec-3.5.0.gemspec +42 -0
  2008. data/vendor/bundle/specifications/rspec-core-3.5.2.gemspec +62 -0
  2009. data/vendor/bundle/specifications/rspec-expectations-3.5.0.gemspec +50 -0
  2010. data/vendor/bundle/specifications/rspec-mocks-3.5.0.gemspec +50 -0
  2011. data/vendor/bundle/specifications/rspec-support-3.5.0.gemspec +41 -0
  2012. data/vendor/bundle/specifications/sawyer-0.7.0.gemspec +16 -16
  2013. data/vendor/bundle/specifications/selenium-webdriver-2.53.4.gemspec +36 -36
  2014. data/vendor/bundle/specifications/sequel-4.37.0.gemspec +52 -0
  2015. data/vendor/bundle/specifications/simplecov-0.9.2.gemspec +5 -2
  2016. data/vendor/bundle/specifications/simplecov-html-0.9.0.gemspec +5 -2
  2017. data/vendor/bundle/specifications/sprockets-3.7.0.gemspec +78 -0
  2018. data/vendor/bundle/specifications/sqlite3-1.3.11.gemspec +7 -3
  2019. data/vendor/bundle/specifications/term-ansicolor-1.3.2.gemspec +6 -3
  2020. data/vendor/bundle/specifications/test-unit-3.2.1.gemspec +47 -0
  2021. data/vendor/bundle/specifications/thor-0.19.1.gemspec +5 -2
  2022. data/vendor/bundle/specifications/tins-1.12.0.gemspec +39 -0
  2023. data/vendor/bundle/specifications/unf-0.1.4.gemspec +6 -3
  2024. data/vendor/bundle/specifications/websocket-1.2.3.gemspec +11 -11
  2025. data/vendor/bundle/specifications/xpath-2.0.0.gemspec +5 -2
  2026. metadata +2018 -1956
  2027. data/vendor/bundle/cache/bundler-1.12.5.gem +0 -0
  2028. data/vendor/bundle/cache/capybara-2.7.1.gem +0 -0
  2029. data/vendor/bundle/cache/ffi-1.9.10.gem +0 -0
  2030. data/vendor/bundle/cache/rspec-3.4.0.gem +0 -0
  2031. data/vendor/bundle/cache/rspec-core-3.4.4.gem +0 -0
  2032. data/vendor/bundle/cache/rspec-expectations-3.4.0.gem +0 -0
  2033. data/vendor/bundle/cache/rspec-mocks-3.4.1.gem +0 -0
  2034. data/vendor/bundle/cache/rspec-support-3.4.1.gem +0 -0
  2035. data/vendor/bundle/cache/sequel-4.35.0.gem +0 -0
  2036. data/vendor/bundle/cache/sprockets-3.6.2.gem +0 -0
  2037. data/vendor/bundle/cache/test-unit-3.2.0.gem +0 -0
  2038. data/vendor/bundle/cache/tins-1.10.2.gem +0 -0
  2039. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/bson-4.0.0/gem_make.out +0 -21
  2040. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/bson-4.0.0/native.so +0 -0
  2041. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/eventmachine-1.0.8/fastfilereaderext.so +0 -0
  2042. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/eventmachine-1.0.8/gem_make.out +0 -12
  2043. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/eventmachine-1.0.8/mkmf.log +0 -11
  2044. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/eventmachine-1.0.8/rubyeventmachine.so +0 -0
  2045. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/github-markdown-0.6.9/gem_make.out +0 -114
  2046. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/github-markdown-0.6.9/github/markdown.so +0 -0
  2047. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/json-1.8.3/gem.build_complete +0 -0
  2048. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/json-1.8.3/gem_make.out +0 -9
  2049. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/json-1.8.3/json/ext/generator.so +0 -0
  2050. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/json-1.8.3/json/ext/parser.so +0 -0
  2051. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/nokogiri-1.6.7.1/gem.build_complete +0 -0
  2052. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/nokogiri-1.6.7.1/gem_make.out +0 -302
  2053. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/nokogiri-1.6.7.1/mkmf.log +0 -569
  2054. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/nokogiri-1.6.7.1/nokogiri/nokogiri.so +0 -0
  2055. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/posix-spawn-0.3.11/gem.build_complete +0 -0
  2056. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/posix-spawn-0.3.11/gem_make.out +0 -18
  2057. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/posix-spawn-0.3.11/posix_spawn_ext.so +0 -0
  2058. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/redcarpet-3.3.4/gem.build_complete +0 -0
  2059. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/redcarpet-3.3.4/gem_make.out +0 -74
  2060. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/redcarpet-3.3.4/redcarpet.so +0 -0
  2061. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/thin-1.6.4/gem.build_complete +0 -0
  2062. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/thin-1.6.4/gem_make.out +0 -31
  2063. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/thin-1.6.4/mkmf.log +0 -37
  2064. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/thin-1.6.4/thin_parser.so +0 -0
  2065. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/yajl-ruby-1.2.1/gem.build_complete +0 -0
  2066. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/yajl-ruby-1.2.1/gem_make.out +0 -23
  2067. data/vendor/bundle/extensions/x86_64-linux/2.2.0-static/yajl-ruby-1.2.1/yajl/yajl.so +0 -0
  2068. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.0.0/gem.build_complete +0 -0
  2069. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.0.0/gem_make.out +0 -31
  2070. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.0.0/native.so +0 -0
  2071. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.0.4/gem.build_complete +0 -0
  2072. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.0.4/gem_make.out +0 -25
  2073. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.0.4/native.so +0 -0
  2074. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.1.0/gem.build_complete +0 -0
  2075. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.1.0/gem_make.out +0 -25
  2076. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/bson-4.1.0/native.so +0 -0
  2077. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.7.1/gem.build_complete +0 -0
  2078. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.7.1/gem_make.out +0 -324
  2079. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.7.1/mkmf.log +0 -505
  2080. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.7.1/nokogiri/nokogiri.so +0 -0
  2081. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.7.2/gem.build_complete +0 -0
  2082. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.7.2/gem_make.out +0 -316
  2083. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.7.2/mkmf.log +0 -505
  2084. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.7.2/nokogiri/nokogiri.so +0 -0
  2085. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-2.15.3/gem.build_complete +0 -0
  2086. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-2.15.3/gem_make.out +0 -95
  2087. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-2.15.3/mkmf.log +0 -115
  2088. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-2.15.3/puma/puma_http11.so +0 -0
  2089. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-3.1.0/gem.build_complete +0 -0
  2090. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-3.1.0/gem_make.out +0 -35
  2091. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-3.1.0/mkmf.log +0 -115
  2092. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-3.1.0/puma/puma_http11.so +0 -0
  2093. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-3.4.0/gem.build_complete +0 -0
  2094. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-3.4.0/gem_make.out +0 -35
  2095. data/vendor/bundle/extensions/x86_64-linux/2.3.0-static/puma-3.4.0/puma/puma_http11.so +0 -0
  2096. data/vendor/bundle/gems/capybara-2.7.1/History.md +0 -772
  2097. data/vendor/bundle/gems/capybara-2.7.1/README.md +0 -983
  2098. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/driver/base.rb +0 -143
  2099. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/driver/node.rb +0 -105
  2100. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/helpers.rb +0 -141
  2101. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/node/actions.rb +0 -167
  2102. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/node/base.rb +0 -125
  2103. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/node/element.rb +0 -339
  2104. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/node/finders.rb +0 -216
  2105. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/node/matchers.rb +0 -597
  2106. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/queries/selector_query.rb +0 -138
  2107. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/queries/text_query.rb +0 -48
  2108. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/rack_test/node.rb +0 -205
  2109. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/result.rb +0 -58
  2110. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/rspec/features.rb +0 -48
  2111. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/selector.rb +0 -379
  2112. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/selenium/driver.rb +0 -295
  2113. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/selenium/node.rb +0 -183
  2114. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/server.rb +0 -123
  2115. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/session.rb +0 -748
  2116. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/all_spec.rb +0 -158
  2117. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/assert_text.rb +0 -196
  2118. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/check_spec.rb +0 -114
  2119. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/choose_spec.rb +0 -69
  2120. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/click_button_spec.rb +0 -449
  2121. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/click_link_spec.rb +0 -182
  2122. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/execute_script_spec.rb +0 -8
  2123. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/find_button_spec.rb +0 -55
  2124. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/find_field_spec.rb +0 -90
  2125. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/find_link_spec.rb +0 -33
  2126. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/find_spec.rb +0 -385
  2127. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/first_spec.rb +0 -113
  2128. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/has_field_spec.rb +0 -295
  2129. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/has_text_spec.rb +0 -317
  2130. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/node_spec.rb +0 -415
  2131. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/reset_session_spec.rb +0 -107
  2132. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/selectors_spec.rb +0 -35
  2133. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/uncheck_spec.rb +0 -41
  2134. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/window/switch_to_window_spec.rb +0 -123
  2135. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/window/window_opened_by_spec.rb +0 -92
  2136. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/window/window_spec.rb +0 -155
  2137. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/session/within_frame_spec.rb +0 -63
  2138. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/spec_helper.rb +0 -100
  2139. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/views/form.erb +0 -501
  2140. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/views/with_html.erb +0 -118
  2141. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/views/with_unload_alert.erb +0 -12
  2142. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/spec/views/with_windows.erb +0 -48
  2143. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara/version.rb +0 -4
  2144. data/vendor/bundle/gems/capybara-2.7.1/lib/capybara.rb +0 -500
  2145. data/vendor/bundle/gems/capybara-2.7.1/spec/capybara_spec.rb +0 -90
  2146. data/vendor/bundle/gems/capybara-2.7.1/spec/rack_test_spec.rb +0 -186
  2147. data/vendor/bundle/gems/capybara-2.7.1/spec/result_spec.rb +0 -66
  2148. data/vendor/bundle/gems/capybara-2.7.1/spec/rspec/features_spec.rb +0 -95
  2149. data/vendor/bundle/gems/capybara-2.7.1/spec/selenium_spec.rb +0 -151
  2150. data/vendor/bundle/gems/capybara-2.7.1/spec/server_spec.rb +0 -204
  2151. data/vendor/bundle/gems/ffi-1.9.10/LICENSE +0 -24
  2152. data/vendor/bundle/gems/ffi-1.9.10/Rakefile +0 -210
  2153. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/AbstractMemory.c +0 -1032
  2154. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/AbstractMemory.o +0 -0
  2155. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/ArrayType.o +0 -0
  2156. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Buffer.c +0 -365
  2157. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Buffer.o +0 -0
  2158. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Call.c +0 -530
  2159. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Call.h +0 -93
  2160. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Call.o +0 -0
  2161. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/ClosurePool.o +0 -0
  2162. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/DataConverter.o +0 -0
  2163. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/DynamicLibrary.o +0 -0
  2164. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Function.c +0 -1000
  2165. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Function.o +0 -0
  2166. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/FunctionInfo.o +0 -0
  2167. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/LastError.o +0 -0
  2168. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/LongDouble.o +0 -0
  2169. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Makefile +0 -237
  2170. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/MappedType.o +0 -0
  2171. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/MemoryPointer.o +0 -0
  2172. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/MethodHandle.c +0 -360
  2173. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/MethodHandle.o +0 -0
  2174. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Platform.o +0 -0
  2175. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Pointer.c +0 -508
  2176. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Pointer.o +0 -0
  2177. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Struct.o +0 -0
  2178. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/StructByReference.o +0 -0
  2179. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/StructByValue.o +0 -0
  2180. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/StructLayout.o +0 -0
  2181. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Thread.o +0 -0
  2182. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Type.o +0 -0
  2183. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Types.o +0 -0
  2184. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Variadic.c +0 -280
  2185. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/Variadic.o +0 -0
  2186. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/compat.h +0 -83
  2187. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/extconf.h +0 -12
  2188. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/ffi.o +0 -0
  2189. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/ffi_c.so +0 -0
  2190. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/libffi/src/mips/ffi.c +0 -1036
  2191. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/mkmf.log +0 -412
  2192. data/vendor/bundle/gems/ffi-1.9.10/ext/ffi_c/rbffi_endian.h +0 -59
  2193. data/vendor/bundle/gems/ffi-1.9.10/ffi.gemspec +0 -23
  2194. data/vendor/bundle/gems/ffi-1.9.10/lib/ffi/autopointer.rb +0 -194
  2195. data/vendor/bundle/gems/ffi-1.9.10/lib/ffi/enum.rb +0 -174
  2196. data/vendor/bundle/gems/ffi-1.9.10/lib/ffi/library.rb +0 -524
  2197. data/vendor/bundle/gems/ffi-1.9.10/lib/ffi/pointer.rb +0 -134
  2198. data/vendor/bundle/gems/ffi-1.9.10/lib/ffi/struct.rb +0 -373
  2199. data/vendor/bundle/gems/ffi-1.9.10/lib/ffi/tools/types_generator.rb +0 -135
  2200. data/vendor/bundle/gems/ffi-1.9.10/lib/ffi/types.rb +0 -190
  2201. data/vendor/bundle/gems/ffi-1.9.10/lib/ffi/version.rb +0 -4
  2202. data/vendor/bundle/gems/ffi-1.9.10/lib/ffi_c.so +0 -0
  2203. data/vendor/bundle/gems/ffi-1.9.10/libtest/FunctionTest.c +0 -70
  2204. data/vendor/bundle/gems/ffi-1.9.10/libtest/VariadicTest.c +0 -62
  2205. data/vendor/bundle/gems/ffi-1.9.10/spec/ffi/fixtures/ClosureTest.c +0 -190
  2206. data/vendor/bundle/gems/ffi-1.9.10/spec/ffi/fixtures/FunctionTest.c +0 -58
  2207. data/vendor/bundle/gems/ffi-1.9.10/spec/ffi/function_spec.rb +0 -92
  2208. data/vendor/bundle/gems/ffi-1.9.10/spec/ffi/library_spec.rb +0 -276
  2209. data/vendor/bundle/gems/ffi-1.9.10/spec/ffi/rbx/attach_function_spec.rb +0 -33
  2210. data/vendor/bundle/gems/ffi-1.9.10/spec/ffi/struct_spec.rb +0 -886
  2211. data/vendor/bundle/gems/ffi-1.9.10/spec/ffi/variadic_spec.rb +0 -113
  2212. data/vendor/bundle/gems/rspec-3.4.0/README.md +0 -39
  2213. data/vendor/bundle/gems/rspec-3.4.0/lib/rspec/version.rb +0 -5
  2214. data/vendor/bundle/gems/rspec-core-3.4.4/Changelog.md +0 -1972
  2215. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/backtrace_formatter.rb +0 -65
  2216. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/runner.rb +0 -139
  2217. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/server.rb +0 -61
  2218. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/configuration.rb +0 -1869
  2219. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/configuration_options.rb +0 -191
  2220. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/dsl.rb +0 -96
  2221. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/example.rb +0 -631
  2222. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/example_group.rb +0 -816
  2223. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/bisect_formatter.rb +0 -68
  2224. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/documentation_formatter.rb +0 -70
  2225. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/exception_presenter.rb +0 -482
  2226. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/helpers.rb +0 -109
  2227. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/html_formatter.rb +0 -151
  2228. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb +0 -638
  2229. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/metadata.rb +0 -498
  2230. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/metadata_filter.rb +0 -231
  2231. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/notifications.rb +0 -499
  2232. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/option_parser.rb +0 -319
  2233. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -96
  2234. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/rake_task.rb +0 -167
  2235. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/runner.rb +0 -183
  2236. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/shared_example_group.rb +0 -212
  2237. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source/token.rb +0 -86
  2238. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source.rb +0 -76
  2239. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/version.rb +0 -9
  2240. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/world.rb +0 -213
  2241. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core.rb +0 -181
  2242. data/vendor/bundle/gems/rspec-expectations-3.4.0/Changelog.md +0 -979
  2243. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/configuration.rb +0 -164
  2244. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb +0 -113
  2245. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb +0 -170
  2246. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/minitest_integration.rb +0 -31
  2247. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/syntax.rb +0 -132
  2248. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/version.rb +0 -8
  2249. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be.rb +0 -285
  2250. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/change.rb +0 -354
  2251. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/include.rb +0 -130
  2252. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/raise_error.rb +0 -228
  2253. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/respond_to.rb +0 -90
  2254. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/dsl.rb +0 -453
  2255. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/english_phrasing.rb +0 -42
  2256. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers.rb +0 -1037
  2257. data/vendor/bundle/gems/rspec-mocks-3.4.1/Changelog.md +0 -991
  2258. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/recorder.rb +0 -268
  2259. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/stub_chain.rb +0 -46
  2260. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -27
  2261. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/error_generator.rb +0 -367
  2262. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/have_received.rb +0 -128
  2263. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/receive.rb +0 -130
  2264. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -80
  2265. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/receive_messages.rb +0 -75
  2266. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/message_expectation.rb +0 -717
  2267. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/method_reference.rb +0 -192
  2268. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/proxy.rb +0 -484
  2269. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/targets.rb +0 -97
  2270. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/version.rb +0 -9
  2271. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks.rb +0 -126
  2272. data/vendor/bundle/gems/rspec-support-3.4.1/Changelog.md +0 -151
  2273. data/vendor/bundle/gems/rspec-support-3.4.1/README.md +0 -40
  2274. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/encoded_string.rb +0 -155
  2275. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/method_signature_verifier.rb +0 -290
  2276. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/object_formatter.rb +0 -108
  2277. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/library_wide_checks.rb +0 -152
  2278. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/shell_out.rb +0 -71
  2279. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/with_isolated_directory.rb +0 -9
  2280. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec.rb +0 -81
  2281. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/version.rb +0 -7
  2282. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/version_checker.rb +0 -53
  2283. data/vendor/bundle/gems/sequel-4.35.0/CHANGELOG +0 -6264
  2284. data/vendor/bundle/gems/sequel-4.35.0/Rakefile +0 -164
  2285. data/vendor/bundle/gems/sequel-4.35.0/doc/association_basics.rdoc +0 -1810
  2286. data/vendor/bundle/gems/sequel-4.35.0/doc/migration.rdoc +0 -613
  2287. data/vendor/bundle/gems/sequel-4.35.0/doc/prepared_statements.rdoc +0 -139
  2288. data/vendor/bundle/gems/sequel-4.35.0/doc/release_notes/4.35.0.txt +0 -130
  2289. data/vendor/bundle/gems/sequel-4.35.0/doc/schema_modification.rdoc +0 -659
  2290. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/jdbc/h2.rb +0 -229
  2291. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/jdbc.rb +0 -817
  2292. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/mock.rb +0 -392
  2293. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/mysql.rb +0 -376
  2294. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/mysql2.rb +0 -206
  2295. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/oracle.rb +0 -418
  2296. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/postgres.rb +0 -879
  2297. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/shared/access.rb +0 -296
  2298. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/shared/mysql_prepared_statements.rb +0 -152
  2299. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/shared/oracle.rb +0 -560
  2300. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/shared/postgres.rb +0 -1770
  2301. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/shared/sqlite.rb +0 -761
  2302. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/adapters/swift.rb +0 -160
  2303. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/ast_transformer.rb +0 -202
  2304. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/connection_pool/sharded_single.rb +0 -110
  2305. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/connection_pool/sharded_threaded.rb +0 -337
  2306. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/connection_pool/single.rb +0 -52
  2307. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/connection_pool/threaded.rb +0 -282
  2308. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/connection_pool.rb +0 -119
  2309. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/database/schema_generator.rb +0 -556
  2310. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/database/schema_methods.rb +0 -1000
  2311. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/dataset/sql.rb +0 -1585
  2312. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/extensions/arbitrary_servers.rb +0 -114
  2313. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/extensions/connection_validator.rb +0 -114
  2314. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/extensions/constraint_validations.rb +0 -459
  2315. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/extensions/migration.rb +0 -756
  2316. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/model/associations.rb +0 -3290
  2317. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/model/base.rb +0 -2418
  2318. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/model.rb +0 -178
  2319. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/plugins/constraint_validations.rb +0 -231
  2320. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/plugins/validation_helpers.rb +0 -308
  2321. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/sql.rb +0 -1901
  2322. data/vendor/bundle/gems/sequel-4.35.0/lib/sequel/version.rb +0 -20
  2323. data/vendor/bundle/gems/sequel-4.35.0/spec/adapters/postgres_spec.rb +0 -3786
  2324. data/vendor/bundle/gems/sequel-4.35.0/spec/adapters/sqlite_spec.rb +0 -688
  2325. data/vendor/bundle/gems/sequel-4.35.0/spec/core/connection_pool_spec.rb +0 -1045
  2326. data/vendor/bundle/gems/sequel-4.35.0/spec/core/dataset_spec.rb +0 -5171
  2327. data/vendor/bundle/gems/sequel-4.35.0/spec/core/expression_filters_spec.rb +0 -1243
  2328. data/vendor/bundle/gems/sequel-4.35.0/spec/core/mock_adapter_spec.rb +0 -464
  2329. data/vendor/bundle/gems/sequel-4.35.0/spec/extensions/connection_validator_spec.rb +0 -120
  2330. data/vendor/bundle/gems/sequel-4.35.0/spec/extensions/constraint_validations_plugin_spec.rb +0 -274
  2331. data/vendor/bundle/gems/sequel-4.35.0/spec/extensions/constraint_validations_spec.rb +0 -325
  2332. data/vendor/bundle/gems/sequel-4.35.0/spec/extensions/migration_spec.rb +0 -728
  2333. data/vendor/bundle/gems/sequel-4.35.0/spec/extensions/pg_json_spec.rb +0 -218
  2334. data/vendor/bundle/gems/sequel-4.35.0/spec/extensions/validation_helpers_spec.rb +0 -552
  2335. data/vendor/bundle/gems/sequel-4.35.0/spec/integration/plugin_test.rb +0 -2262
  2336. data/vendor/bundle/gems/sequel-4.35.0/spec/integration/schema_test.rb +0 -815
  2337. data/vendor/bundle/gems/sequel-4.35.0/spec/model/association_reflection_spec.rb +0 -555
  2338. data/vendor/bundle/gems/sequel-4.35.0/spec/model/model_spec.rb +0 -1048
  2339. data/vendor/bundle/gems/sprockets-3.6.2/CHANGELOG.md +0 -277
  2340. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/coffee_script_template.rb +0 -6
  2341. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/eco_template.rb +0 -6
  2342. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/ejs_template.rb +0 -6
  2343. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/engines.rb +0 -81
  2344. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/erb_template.rb +0 -6
  2345. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/path_utils.rb +0 -284
  2346. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/processing.rb +0 -248
  2347. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/resolve.rb +0 -209
  2348. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/sass_cache_store.rb +0 -29
  2349. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/sass_template.rb +0 -7
  2350. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/uglifier_compressor.rb +0 -55
  2351. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets/version.rb +0 -3
  2352. data/vendor/bundle/gems/sprockets-3.6.2/lib/sprockets.rb +0 -162
  2353. data/vendor/bundle/gems/sqlite3-1.3.11/ext/sqlite3/mkmf.log +0 -552
  2354. data/vendor/bundle/gems/test-unit-3.2.0/COPYING +0 -64
  2355. data/vendor/bundle/gems/test-unit-3.2.0/README.md +0 -101
  2356. data/vendor/bundle/gems/test-unit-3.2.0/doc/text/news.md +0 -1113
  2357. data/vendor/bundle/gems/test-unit-3.2.0/lib/test/unit/diff.rb +0 -746
  2358. data/vendor/bundle/gems/test-unit-3.2.0/lib/test/unit/testcase.rb +0 -811
  2359. data/vendor/bundle/gems/test-unit-3.2.0/lib/test/unit/version.rb +0 -5
  2360. data/vendor/bundle/gems/test-unit-3.2.0/test/test-test-case.rb +0 -1171
  2361. data/vendor/bundle/gems/tins-1.10.2/README.md +0 -70
  2362. data/vendor/bundle/gems/tins-1.10.2/VERSION +0 -1
  2363. data/vendor/bundle/gems/tins-1.10.2/lib/tins/version.rb +0 -8
  2364. data/vendor/bundle/gems/tins-1.10.2/lib/tins.rb +0 -57
  2365. data/vendor/bundle/gems/tins-1.10.2/tests/test_helper.rb +0 -11
  2366. data/vendor/bundle/gems/tins-1.10.2/tins.gemspec +0 -38
  2367. data/vendor/bundle/specifications/capybara-2.7.1.gemspec +0 -76
  2368. data/vendor/bundle/specifications/ffi-1.9.10.gemspec +0 -45
  2369. data/vendor/bundle/specifications/rspec-3.4.0.gemspec +0 -39
  2370. data/vendor/bundle/specifications/rspec-core-3.4.4.gemspec +0 -65
  2371. data/vendor/bundle/specifications/rspec-expectations-3.4.0.gemspec +0 -47
  2372. data/vendor/bundle/specifications/rspec-mocks-3.4.1.gemspec +0 -50
  2373. data/vendor/bundle/specifications/rspec-support-3.4.1.gemspec +0 -38
  2374. data/vendor/bundle/specifications/sequel-4.35.0.gemspec +0 -52
  2375. data/vendor/bundle/specifications/sprockets-3.6.2.gemspec +0 -78
  2376. data/vendor/bundle/specifications/test-unit-3.2.0.gemspec +0 -47
  2377. data/vendor/bundle/specifications/tins-1.10.2.gemspec +0 -39
@@ -0,0 +1,2515 @@
1
+ # frozen-string-literal: true
2
+
3
+ module Sequel
4
+ class Model
5
+ extend Enumerable
6
+ extend Inflections
7
+
8
+ # Class methods for Sequel::Model that implement basic model functionality.
9
+ #
10
+ # * All of the method names in Model::DATASET_METHODS have class methods created that call
11
+ # the Model's dataset with the method of the same name with the given arguments.
12
+ module ClassMethods
13
+ # Which columns should be the only columns allowed in a call to a mass assignment method (e.g. set)
14
+ # (default: not set, so all columns not otherwise restricted are allowed).
15
+ attr_reader :allowed_columns
16
+
17
+ # Whether to cache the anonymous models created by Sequel::Model(). This is
18
+ # required for reloading them correctly (avoiding the superclass mismatch). True
19
+ # by default for backwards compatibility.
20
+ attr_accessor :cache_anonymous_models
21
+
22
+ # Array of modules that extend this model's dataset. Stored
23
+ # so that if the model's dataset is changed, it will be extended
24
+ # with all of these modules.
25
+ attr_reader :dataset_method_modules
26
+
27
+ # The default options to use for Model#set_fields. These are merged with
28
+ # the options given to set_fields.
29
+ attr_accessor :default_set_fields_options
30
+
31
+ # SQL string fragment used for faster DELETE statement creation when deleting/destroying
32
+ # model instances, or nil if the optimization should not be used. For internal use only.
33
+ attr_reader :fast_instance_delete_sql
34
+
35
+ # The dataset that instance datasets (#this) are based on. Generally a naked version of
36
+ # the model's dataset limited to one row. For internal use only.
37
+ attr_reader :instance_dataset
38
+
39
+ # Array of plugin modules loaded by this class
40
+ #
41
+ # Sequel::Model.plugins
42
+ # # => [Sequel::Model, Sequel::Model::Associations]
43
+ attr_reader :plugins
44
+
45
+ # The primary key for the class. Sequel can determine this automatically for
46
+ # many databases, but not all, so you may need to set it manually. If not
47
+ # determined automatically, the default is :id.
48
+ attr_reader :primary_key
49
+
50
+ # Whether to raise an error instead of returning nil on a failure
51
+ # to save/create/save_changes/update/destroy due to a validation failure or
52
+ # a before_* hook returning false (default: true).
53
+ attr_accessor :raise_on_save_failure
54
+
55
+ # Whether to raise an error when unable to typecast data for a column
56
+ # (default: false). This should be set to true if you want to have model
57
+ # setter methods raise errors if the argument cannot be typecast properly.
58
+ attr_accessor :raise_on_typecast_failure
59
+
60
+ # Whether to raise an error if an UPDATE or DELETE query related to
61
+ # a model instance does not modify exactly 1 row. If set to false,
62
+ # Sequel will not check the number of rows modified (default: true).
63
+ attr_accessor :require_modification
64
+
65
+ # Requires that all models have valid tables, raising exceptions if creating a model
66
+ # without a valid table backing it. Enabling this will break code like:
67
+ #
68
+ # class Foo < Sequel::Model
69
+ # set_dataset :my_foo
70
+ # end
71
+ #
72
+ # As when Sequel::Model is subclassed, before set_dataset is executed, it will try to
73
+ # get the schema for the foos table, which will raise an exception. You would need to
74
+ # switch to using:
75
+ #
76
+ # class Foo < Sequel::Model(:my_foo)
77
+ # end
78
+ #
79
+ # or:
80
+ #
81
+ # Foo = Sequel::Model()
82
+ # Foo.set_dataset :my_foo
83
+ attr_accessor :require_valid_table
84
+
85
+ # Should be the literal primary key column name if this Model's table has a simple primary key, or
86
+ # nil if the model has a compound primary key or no primary key.
87
+ attr_reader :simple_pk
88
+
89
+ # Should be the literal table name if this Model's dataset is a simple table (no select, order, join, etc.),
90
+ # or nil otherwise. This and simple_pk are used for an optimization in Model.[].
91
+ attr_reader :simple_table
92
+
93
+ # Whether new/set/update and their variants should raise an error
94
+ # if an invalid key is used. A key is invalid if no setter method exists
95
+ # for that key or the access to the setter method is restricted (e.g. due to it
96
+ # being a primary key field). If set to false, silently skip
97
+ # any key where the setter method doesn't exist or access to it is restricted.
98
+ attr_accessor :strict_param_setting
99
+
100
+ # Whether to typecast the empty string ('') to nil for columns that
101
+ # are not string or blob. In most cases the empty string would be the
102
+ # way to specify a NULL SQL value in string form (nil.to_s == ''),
103
+ # and an empty string would not usually be typecast correctly for other
104
+ # types, so the default is true.
105
+ attr_accessor :typecast_empty_string_to_nil
106
+
107
+ # Whether to typecast attribute values on assignment (default: true).
108
+ # If set to false, no typecasting is done, so it will be left up to the
109
+ # database to typecast the value correctly.
110
+ attr_accessor :typecast_on_assignment
111
+
112
+ # Whether to enable the after_commit and after_rollback hooks when saving/destroying
113
+ # instances. On by default, can be turned off for performance reasons or when using
114
+ # prepared transactions (which aren't compatible with after commit/rollback).
115
+ attr_accessor :use_after_commit_rollback
116
+
117
+ # Whether to use a transaction by default when saving/deleting records (default: true).
118
+ # If you are sending database queries in before_* or after_* hooks, you shouldn't change
119
+ # the default setting without a good reason.
120
+ attr_accessor :use_transactions
121
+
122
+ # Define a Model method on the given module that calls the Model
123
+ # method on the receiver. This is how the Sequel::Model() method is
124
+ # defined, and allows you to define Model() methods on other modules,
125
+ # making it easier to have custom model settings for all models under
126
+ # a namespace. Example:
127
+ #
128
+ # module Foo
129
+ # Model = Class.new(Sequel::Model)
130
+ # Model.def_Model(self)
131
+ # DB = Model.db = Sequel.connect(ENV['FOO_DATABASE_URL'])
132
+ # Model.plugin :prepared_statements
133
+ #
134
+ # class Bar < Model
135
+ # # Uses Foo::DB[:bars]
136
+ # end
137
+ #
138
+ # class Baz < Model(:my_baz)
139
+ # # Uses Foo::DB[:my_baz]
140
+ # end
141
+ # end
142
+ def def_Model(mod)
143
+ model = self
144
+ (class << mod; self; end).send(:define_method, :Model) do |source|
145
+ model.Model(source)
146
+ end
147
+ end
148
+
149
+ # Lets you create a Model subclass with its dataset already set.
150
+ # +source+ should be an instance of one of the following classes:
151
+ #
152
+ # Database :: Sets the database for this model to +source+.
153
+ # Generally only useful when subclassing directly
154
+ # from the returned class, where the name of the
155
+ # subclass sets the table name (which is combined
156
+ # with the +Database+ in +source+ to create the
157
+ # dataset to use)
158
+ # Dataset :: Sets the dataset for this model to +source+.
159
+ # other :: Sets the table name for this model to +source+. The
160
+ # class will use the default database for model
161
+ # classes in order to create the dataset.
162
+ #
163
+ # The purpose of this method is to set the dataset/database automatically
164
+ # for a model class, if the table name doesn't match the implicit
165
+ # name. This is neater than using set_dataset inside the class,
166
+ # doesn't require a bogus query for the schema.
167
+ #
168
+ # When creating subclasses of Sequel::Model itself, this method is usually
169
+ # called on Sequel itself, using <tt>Sequel::Model(:something)</tt>.
170
+ #
171
+ # # Using a symbol
172
+ # class Comment < Sequel::Model(:something)
173
+ # table_name # => :something
174
+ # end
175
+ #
176
+ # # Using a dataset
177
+ # class Comment < Sequel::Model(DB1[:something])
178
+ # dataset # => DB1[:something]
179
+ # end
180
+ #
181
+ # # Using a database
182
+ # class Comment < Sequel::Model(DB1)
183
+ # dataset # => DB1[:comments]
184
+ # end
185
+ def Model(source)
186
+ if cache_anonymous_models
187
+ mutex = @Model_mutex
188
+ cache = mutex.synchronize{@Model_cache ||= {}}
189
+
190
+ if klass = mutex.synchronize{cache[source]}
191
+ return klass
192
+ end
193
+ end
194
+
195
+ klass = Class.new(self)
196
+
197
+ if source.is_a?(::Sequel::Database)
198
+ klass.db = source
199
+ else
200
+ klass.set_dataset(source)
201
+ end
202
+
203
+ if cache_anonymous_models
204
+ mutex.synchronize{cache[source] = klass}
205
+ end
206
+
207
+ klass
208
+ end
209
+
210
+ # Returns the first record from the database matching the conditions.
211
+ # If a hash is given, it is used as the conditions. If another
212
+ # object is given, it finds the first record whose primary key(s) match
213
+ # the given argument(s). If no object is returned by the dataset, returns nil.
214
+ #
215
+ # Artist[1] # SELECT * FROM artists WHERE id = 1
216
+ # # => #<Artist {:id=>1, ...}>
217
+ #
218
+ # Artist[:name=>'Bob'] # SELECT * FROM artists WHERE (name = 'Bob') LIMIT 1
219
+ # # => #<Artist {:name=>'Bob', ...}>
220
+ def [](*args)
221
+ args = args.first if args.size <= 1
222
+ args.is_a?(Hash) ? first_where(args) : (primary_key_lookup(args) unless args.nil?)
223
+ end
224
+
225
+ # Initializes a model instance as an existing record. This constructor is
226
+ # used by Sequel to initialize model instances when fetching records.
227
+ # Requires that values be a hash where all keys are symbols. It
228
+ # probably should not be used by external code.
229
+ def call(values)
230
+ o = allocate
231
+ o.instance_variable_set(:@values, values)
232
+ o
233
+ end
234
+
235
+ # Clear the setter_methods cache
236
+ def clear_setter_methods_cache
237
+ @setter_methods = nil
238
+ end
239
+
240
+ # Returns the columns in the result set in their original order.
241
+ # Generally, this will use the columns determined via the database
242
+ # schema, but in certain cases (e.g. models that are based on a joined
243
+ # dataset) it will use <tt>Dataset#columns</tt> to find the columns.
244
+ #
245
+ # Artist.columns
246
+ # # => [:id, :name]
247
+ def columns
248
+ @columns || set_columns(dataset.naked.columns)
249
+ end
250
+
251
+ # Creates instance using new with the given values and block, and saves it.
252
+ #
253
+ # Artist.create(:name=>'Bob')
254
+ # # INSERT INTO artists (name) VALUES ('Bob')
255
+ #
256
+ # Artist.create do |a|
257
+ # a.name = 'Jim'
258
+ # end # INSERT INTO artists (name) VALUES ('Jim')
259
+ def create(values = {}, &block)
260
+ new(values, &block).save
261
+ end
262
+
263
+ # Returns the dataset associated with the Model class. Raises
264
+ # an +Error+ if there is no associated dataset for this class.
265
+ # In most cases, you don't need to call this directly, as Model
266
+ # proxies many dataset methods to the underlying dataset.
267
+ #
268
+ # Artist.dataset.all # SELECT * FROM artists
269
+ def dataset
270
+ @dataset || raise(Error, "No dataset associated with #{self}")
271
+ end
272
+
273
+ # Alias of set_dataset
274
+ def dataset=(ds)
275
+ set_dataset(ds)
276
+ end
277
+
278
+ # Extend the dataset with a module, similar to adding
279
+ # a plugin with the methods defined in DatasetMethods.
280
+ # This is the recommended way to add methods to model datasets.
281
+ #
282
+ # If an argument, it should be a module, and is used to extend
283
+ # the underlying dataset. Otherwise an anonymous module is created, and
284
+ # if a block is given, it is module_evaled, allowing you do define
285
+ # dataset methods directly using the standard ruby def syntax.
286
+ # Returns the module given or the anonymous module created.
287
+ #
288
+ # # Usage with existing module
289
+ # Artist.dataset_module Sequel::ColumnsIntrospection
290
+ #
291
+ # # Usage with anonymous module
292
+ # Artist.dataset_module do
293
+ # def foo
294
+ # :bar
295
+ # end
296
+ # end
297
+ # Artist.dataset.foo
298
+ # # => :bar
299
+ # Artist.foo
300
+ # # => :bar
301
+ #
302
+ # Any anonymous modules created are actually instances of Sequel::Model::DatasetModule
303
+ # (a Module subclass), which allows you to call the subset method on them:
304
+ #
305
+ # Artist.dataset_module do
306
+ # subset :released, Sequel.identifier(release_date) > Sequel::CURRENT_DATE
307
+ # end
308
+ #
309
+ # Any public methods in the dataset module will have class methods created that
310
+ # call the method on the dataset, assuming that the class method is not already
311
+ # defined.
312
+ def dataset_module(mod = nil)
313
+ if mod
314
+ raise Error, "can't provide both argument and block to Model.dataset_module" if block_given?
315
+ dataset_extend(mod)
316
+ mod
317
+ else
318
+ @dataset_module ||= DatasetModule.new(self)
319
+ @dataset_module.module_eval(&Proc.new) if block_given?
320
+ dataset_extend(@dataset_module)
321
+ @dataset_module
322
+ end
323
+ end
324
+
325
+ # Returns the database associated with the Model class.
326
+ # If this model doesn't have a database associated with it,
327
+ # assumes the superclass's database, or the first object in
328
+ # Sequel::DATABASES. If no Sequel::Database object has
329
+ # been created, raises an error.
330
+ #
331
+ # Artist.db.transaction do # BEGIN
332
+ # Artist.create(:name=>'Bob')
333
+ # # INSERT INTO artists (name) VALUES ('Bob')
334
+ # end # COMMIT
335
+ def db
336
+ return @db if @db
337
+ @db = self == Model ? Sequel.synchronize{DATABASES.first} : superclass.db
338
+ raise(Error, "No database associated with #{self}: have you called Sequel.connect or #{self}.db= ?") unless @db
339
+ @db
340
+ end
341
+
342
+ # Sets the database associated with the Model class. If the
343
+ # model has an associated dataset, sets the model's dataset
344
+ # to a dataset on the new database with the same options
345
+ # used by the current dataset. This can be used directly on
346
+ # Sequel::Model to set the default database to be used
347
+ # by subclasses, or to override the database used for specific
348
+ # models:
349
+ #
350
+ # Sequel::Model.db = DB1
351
+ # Artist.db = DB2
352
+ #
353
+ # Note that you should not use this to change the model's database
354
+ # at runtime. If you have that need, you should look into Sequel's
355
+ # sharding support.
356
+ def db=(db)
357
+ @db = db
358
+ set_dataset(db.dataset.clone(@dataset.opts)) if @dataset
359
+ end
360
+
361
+ # Returns the cached schema information if available or gets it
362
+ # from the database. This is a hash where keys are column symbols
363
+ # and values are hashes of information related to the column. See
364
+ # <tt>Database#schema</tt>.
365
+ #
366
+ # Artist.db_schema
367
+ # # {:id=>{:type=>:integer, :primary_key=>true, ...},
368
+ # # :name=>{:type=>:string, :primary_key=>false, ...}}
369
+ def db_schema
370
+ @db_schema ||= get_db_schema
371
+ end
372
+
373
+ # Create a column alias, where the column methods have one name, but the underlying storage uses a
374
+ # different name.
375
+ def def_column_alias(meth, column)
376
+ clear_setter_methods_cache
377
+ overridable_methods_module.module_eval do
378
+ define_method(meth){self[column]}
379
+ define_method("#{meth}="){|v| self[column] = v}
380
+ end
381
+ end
382
+
383
+ # If a block is given, define a method on the dataset (if the model currently has an dataset) with the given argument name using
384
+ # the given block. Also define a class method on the model that calls the
385
+ # dataset method. Stores the method name and block so that it can be reapplied if the model's
386
+ # dataset changes.
387
+ #
388
+ # If a block is not given, just define a class method on the model for each argument
389
+ # that calls the dataset method of the same argument name.
390
+ #
391
+ # It is recommended that you define methods inside a block passed to #dataset_module
392
+ # instead of using this method, as #dataset_module allows you to use normal
393
+ # ruby def syntax.
394
+ #
395
+ # # Add new dataset method and class method that calls it
396
+ # Artist.def_dataset_method(:by_name){order(:name)}
397
+ # Artist.filter(:name.like('A%')).by_name
398
+ # Artist.by_name.filter(:name.like('A%'))
399
+ #
400
+ # # Just add a class method that calls an existing dataset method
401
+ # Artist.def_dataset_method(:server!)
402
+ # Artist.server!(:server1)
403
+ def def_dataset_method(*args, &block)
404
+ raise(Error, "No arguments given") if args.empty?
405
+
406
+ if block
407
+ raise(Error, "Defining a dataset method using a block requires only one argument") if args.length > 1
408
+ dataset_module{define_method(args.first, &block)}
409
+ else
410
+ args.each{|arg| def_model_dataset_method(arg)}
411
+ end
412
+ end
413
+
414
+ # Finds a single record according to the supplied filter.
415
+ # You are encouraged to use Model.[] or Model.first instead of this method.
416
+ #
417
+ # Artist.find(:name=>'Bob')
418
+ # # SELECT * FROM artists WHERE (name = 'Bob') LIMIT 1
419
+ #
420
+ # Artist.find{name > 'M'}
421
+ # # SELECT * FROM artists WHERE (name > 'M') LIMIT 1
422
+ def find(*args, &block)
423
+ if args.length == 1 && !block
424
+ # Use optimized finder
425
+ first_where(args.first)
426
+ else
427
+ filter(*args, &block).first
428
+ end
429
+ end
430
+
431
+ # Like +find+ but invokes create with given conditions when record does not
432
+ # exist. Unlike +find+ in that the block used in this method is not passed
433
+ # to +find+, but instead is passed to +create+ only if +find+ does not
434
+ # return an object.
435
+ #
436
+ # Artist.find_or_create(:name=>'Bob')
437
+ # # SELECT * FROM artists WHERE (name = 'Bob') LIMIT 1
438
+ # # INSERT INTO artists (name) VALUES ('Bob')
439
+ #
440
+ # Artist.find_or_create(:name=>'Jim'){|a| a.hometown = 'Sactown'}
441
+ # # SELECT * FROM artists WHERE (name = 'Jim') LIMIT 1
442
+ # # INSERT INTO artists (name, hometown) VALUES ('Jim', 'Sactown')
443
+ def find_or_create(cond, &block)
444
+ find(cond) || create(cond, &block)
445
+ end
446
+
447
+
448
+ FINDER_TYPES = [:first, :all, :each, :get].freeze
449
+
450
+ # Create an optimized finder method using a dataset placeholder literalizer.
451
+ # This pre-computes the SQL to use for the query, except for given arguments.
452
+ #
453
+ # There are two ways to use this. The recommended way is to pass a symbol
454
+ # that represents a model class method that returns a dataset:
455
+ #
456
+ # def Artist.by_name(name)
457
+ # where(:name=>name)
458
+ # end
459
+ #
460
+ # Artist.finder :by_name
461
+ #
462
+ # This creates an optimized first_by_name method, which you can call normally:
463
+ #
464
+ # Artist.first_by_name("Joe")
465
+ #
466
+ # The alternative way to use this to pass your own block:
467
+ #
468
+ # Artist.finder(:name=>:first_by_name){|pl, ds| ds.where(:name=>pl.arg).limit(1)}
469
+ #
470
+ # Note that if you pass your own block, you are responsible for manually setting
471
+ # limits if necessary (as shown above).
472
+ #
473
+ # Options:
474
+ # :arity :: When using a symbol method name, this specifies the arity of the method.
475
+ # This should be used if if the method accepts an arbitrary number of arguments,
476
+ # or the method has default argument values. Note that if the method is defined
477
+ # as a dataset method, the class method Sequel creates accepts an arbitrary number
478
+ # of arguments, so you should use this option in that case. If you want to handle
479
+ # multiple possible arities, you need to call the finder method multiple times with
480
+ # unique :arity and :name methods each time.
481
+ # :name :: The name of the method to create. This must be given if you pass a block.
482
+ # If you use a symbol, this defaults to the symbol prefixed by the type.
483
+ # :mod :: The module in which to create the finder method. Defaults to the singleton
484
+ # class of the model.
485
+ # :type :: The type of query to run. Can be :first, :each, :all, or :get, defaults to
486
+ # :first.
487
+ #
488
+ # Caveats:
489
+ #
490
+ # This doesn't handle all possible cases. For example, if you have a method such as:
491
+ #
492
+ # def Artist.by_name(name)
493
+ # name ? where(:name=>name) : exclude(:name=>nil)
494
+ # end
495
+ #
496
+ # Then calling a finder without an argument will not work as you expect.
497
+ #
498
+ # Artist.finder :by_name
499
+ # Artist.by_name(nil).first
500
+ # # WHERE (name IS NOT NULL)
501
+ # Artist.first_by_name(nil)
502
+ # # WHERE (name IS NULL)
503
+ #
504
+ # See Dataset::PlaceholderLiteralizer for additional caveats.
505
+ def finder(meth=OPTS, opts=OPTS, &block)
506
+ if block
507
+ raise Error, "cannot pass both a method name argument and a block of Model.finder" unless meth.is_a?(Hash)
508
+ raise Error, "cannot pass two option hashes to Model.finder" unless opts.equal?(OPTS)
509
+ opts = meth
510
+ raise Error, "must provide method name via :name option when passing block to Model.finder" unless meth_name = opts[:name]
511
+ end
512
+
513
+ type = opts.fetch(:type, :first)
514
+ unless prepare = opts[:prepare]
515
+ raise Error, ":type option to Model.finder must be :first, :all, :each, or :get" unless FINDER_TYPES.include?(type)
516
+ end
517
+ limit1 = type == :first || type == :get
518
+ meth_name ||= opts[:name] || :"#{type}_#{meth}"
519
+
520
+ argn = lambda do |model|
521
+ if arity = opts[:arity]
522
+ arity
523
+ else
524
+ method = block || model.method(meth)
525
+ (method.arity < 0 ? method.arity.abs - 1 : method.arity)
526
+ end
527
+ end
528
+
529
+ loader_proc = if prepare
530
+ proc do |model|
531
+ args = prepare_method_args('$a', argn.call(model))
532
+ ds = if block
533
+ model.instance_exec(*args, &block)
534
+ else
535
+ model.send(meth, *args)
536
+ end
537
+ ds = ds.limit(1) if limit1
538
+ model_name = model.name
539
+ if model_name.to_s.empty?
540
+ model_name = model.object_id
541
+ else
542
+ model_name = model_name.gsub(/\W/, '_')
543
+ end
544
+ ds.prepare(type, :"#{model_name}_#{meth_name}")
545
+ end
546
+ else
547
+ proc do |model|
548
+ n = argn.call(model)
549
+ block ||= lambda do |pl, model2|
550
+ args = (0...n).map{pl.arg}
551
+ ds = model2.send(meth, *args)
552
+ ds = ds.limit(1) if limit1
553
+ ds
554
+ end
555
+
556
+ Sequel::Dataset::PlaceholderLiteralizer.loader(model, &block)
557
+ end
558
+ end
559
+
560
+ Sequel.synchronize{@finder_loaders[meth_name] = loader_proc}
561
+ mod = opts[:mod] || (class << self; self; end)
562
+ if prepare
563
+ def_prepare_method(mod, meth_name)
564
+ else
565
+ def_finder_method(mod, meth_name, type)
566
+ end
567
+ end
568
+
569
+ # An alias for calling first on the model's dataset, but with
570
+ # optimized handling of the single argument case.
571
+ def first(*args, &block)
572
+ if args.length == 1 && !block && !args.first.is_a?(Integer)
573
+ # Use optimized finder
574
+ first_where(args.first)
575
+ else
576
+ dataset.first(*args, &block)
577
+ end
578
+ end
579
+
580
+ # An alias for calling first! on the model's dataset, but with
581
+ # optimized handling of the single argument case.
582
+ def first!(*args, &block)
583
+ first(*args, &block) || raise(Sequel::NoMatchingRow.new(dataset))
584
+ end
585
+
586
+ # Clear the setter_methods cache when a module is included, as it
587
+ # may contain setter methods.
588
+ def include(*mods)
589
+ clear_setter_methods_cache
590
+ super
591
+ end
592
+
593
+ # If possible, set the dataset for the model subclass as soon as it
594
+ # is created. Also, make sure the inherited class instance variables
595
+ # are copied into the subclass.
596
+ #
597
+ # Sequel queries the database to get schema information as soon as
598
+ # a model class is created:
599
+ #
600
+ # class Artist < Sequel::Model # Causes schema query
601
+ # end
602
+ def inherited(subclass)
603
+ super
604
+ ivs = subclass.instance_variables.collect(&:to_s)
605
+ inherited_instance_variables.each do |iv, dup|
606
+ next if ivs.include?(iv.to_s)
607
+ if (sup_class_value = instance_variable_get(iv)) && dup
608
+ sup_class_value = case dup
609
+ when :dup
610
+ sup_class_value.dup
611
+ when :hash_dup
612
+ h = {}
613
+ sup_class_value.each{|k,v| h[k] = v.dup}
614
+ h
615
+ when Proc
616
+ dup.call(sup_class_value)
617
+ else
618
+ raise Error, "bad inherited instance variable type: #{dup.inspect}"
619
+ end
620
+ end
621
+ subclass.instance_variable_set(iv, sup_class_value)
622
+ end
623
+
624
+ unless ivs.include?("@dataset")
625
+ if @dataset && self != Model
626
+ subclass.set_dataset(@dataset.clone, :inherited=>true)
627
+ elsif (n = subclass.name) && !n.to_s.empty?
628
+ db
629
+ subclass.set_dataset(subclass.implicit_table_name)
630
+ end
631
+ end
632
+ end
633
+
634
+ # Returns the implicit table name for the model class, which is the demodulized,
635
+ # underscored, pluralized name of the class.
636
+ #
637
+ # Artist.implicit_table_name # => :artists
638
+ # Foo::ArtistAlias.implicit_table_name # => :artist_aliases
639
+ def implicit_table_name
640
+ pluralize(underscore(demodulize(name))).to_sym
641
+ end
642
+
643
+ # Calls #call with the values hash. Only for backwards compatibility.
644
+ def load(values)
645
+ call(values)
646
+ end
647
+
648
+ # Clear the setter_methods cache when a setter method is added
649
+ def method_added(meth)
650
+ clear_setter_methods_cache if meth.to_s =~ SETTER_METHOD_REGEXP
651
+ super
652
+ end
653
+
654
+ # Mark the model as not having a primary key. Not having a primary key
655
+ # can cause issues, among which is that you won't be able to update records.
656
+ #
657
+ # Artist.primary_key # => :id
658
+ # Artist.no_primary_key
659
+ # Artist.primary_key # => nil
660
+ def no_primary_key
661
+ clear_setter_methods_cache
662
+ self.simple_pk = @primary_key = nil
663
+ end
664
+
665
+ # Loads a plugin for use with the model class, passing optional arguments
666
+ # to the plugin. If the plugin is a module, load it directly. Otherwise,
667
+ # require the plugin from either sequel/plugins/#{plugin} or
668
+ # sequel_#{plugin}, and then attempt to load the module using a
669
+ # the camelized plugin name under Sequel::Plugins.
670
+ def plugin(plugin, *args, &block)
671
+ m = plugin.is_a?(Module) ? plugin : plugin_module(plugin)
672
+ unless @plugins.include?(m)
673
+ @plugins << m
674
+ m.apply(self, *args, &block) if m.respond_to?(:apply)
675
+ extend(m::ClassMethods) if plugin_module_defined?(m, :ClassMethods)
676
+ include(m::InstanceMethods) if plugin_module_defined?(m, :InstanceMethods)
677
+ if plugin_module_defined?(m, :DatasetMethods)
678
+ dataset_extend(m::DatasetMethods, :create_class_methods=>false)
679
+ end
680
+ end
681
+ m.configure(self, *args, &block) if m.respond_to?(:configure)
682
+ end
683
+
684
+ # Returns primary key attribute hash. If using a composite primary key
685
+ # value such be an array with values for each primary key in the correct
686
+ # order. For a standard primary key, value should be an object with a
687
+ # compatible type for the key. If the model does not have a primary key,
688
+ # raises an +Error+.
689
+ #
690
+ # Artist.primary_key_hash(1) # => {:id=>1}
691
+ # Artist.primary_key_hash([1, 2]) # => {:id1=>1, :id2=>2}
692
+ def primary_key_hash(value)
693
+ case key = @primary_key
694
+ when Symbol
695
+ {key => value}
696
+ when Array
697
+ hash = {}
698
+ key.zip(Array(value)){|k,v| hash[k] = v}
699
+ hash
700
+ else
701
+ raise(Error, "#{self} does not have a primary key")
702
+ end
703
+ end
704
+
705
+ # Return a hash where the keys are qualified column references. Uses the given
706
+ # qualifier if provided, or the table_name otherwise. This is useful if you
707
+ # plan to join other tables to this table and you want the column references
708
+ # to be qualified.
709
+ #
710
+ # Artist.filter(Artist.qualified_primary_key_hash(1))
711
+ # # SELECT * FROM artists WHERE (artists.id = 1)
712
+ def qualified_primary_key_hash(value, qualifier=table_name)
713
+ case key = @primary_key
714
+ when Symbol
715
+ {SQL::QualifiedIdentifier.new(qualifier, key) => value}
716
+ when Array
717
+ hash = {}
718
+ key.zip(Array(value)){|k,v| hash[SQL::QualifiedIdentifier.new(qualifier, k)] = v}
719
+ hash
720
+ else
721
+ raise(Error, "#{self} does not have a primary key")
722
+ end
723
+ end
724
+
725
+ # Similar to finder, but uses a prepared statement instead of a placeholder
726
+ # literalizer. This makes the SQL used static (cannot vary per call), but
727
+ # allows binding argument values instead of literalizing them into the SQL
728
+ # query string.
729
+ #
730
+ # If a block is used with this method, it is instance_execed by the model,
731
+ # and should accept the desired number of placeholder arguments.
732
+ #
733
+ # The options are the same as the options for finder, with the following
734
+ # exception:
735
+ # :type :: Specifies the type of prepared statement to create
736
+ def prepared_finder(meth=OPTS, opts=OPTS, &block)
737
+ if block
738
+ raise Error, "cannot pass both a method name argument and a block of Model.finder" unless meth.is_a?(Hash)
739
+ meth = meth.merge(:prepare=>true)
740
+ else
741
+ opts = opts.merge(:prepare=>true)
742
+ end
743
+ finder(meth, opts, &block)
744
+ end
745
+
746
+ # Restrict the setting of the primary key(s) when using mass assignment (e.g. +set+). Because
747
+ # this is the default, this only make sense to use in a subclass where the
748
+ # parent class has used +unrestrict_primary_key+.
749
+ def restrict_primary_key
750
+ clear_setter_methods_cache
751
+ @restrict_primary_key = true
752
+ end
753
+
754
+ # Whether or not setting the primary key(s) when using mass assignment (e.g. +set+) is
755
+ # restricted, true by default.
756
+ def restrict_primary_key?
757
+ @restrict_primary_key
758
+ end
759
+
760
+ # Set the columns to allow when using mass assignment (e.g. +set+). Using this means that
761
+ # any columns not listed here will not be modified. If you have any virtual
762
+ # setter methods (methods that end in =) that you want to be used during
763
+ # mass assignment, they need to be listed here as well (without the =).
764
+ #
765
+ # It may be better to use a method such as +set_only+ or +set_fields+ that lets you specify
766
+ # the allowed fields per call.
767
+ #
768
+ # Artist.set_allowed_columns(:name, :hometown)
769
+ # Artist.set(:name=>'Bob', :hometown=>'Sactown') # No Error
770
+ # Artist.set(:name=>'Bob', :records_sold=>30000) # Error
771
+ def set_allowed_columns(*cols)
772
+ clear_setter_methods_cache
773
+ @allowed_columns = cols
774
+ end
775
+
776
+ # Sets the dataset associated with the Model class. +ds+ can be a +Symbol+,
777
+ # +LiteralString+, <tt>SQL::Identifier</tt>, <tt>SQL::QualifiedIdentifier</tt>,
778
+ # <tt>SQL::AliasedExpression</tt>
779
+ # (all specifying a table name in the current database), or a +Dataset+.
780
+ # If a dataset is used, the model's database is changed to the database of the given
781
+ # dataset. If a dataset is not used, a dataset is created from the current
782
+ # database with the table name given. Other arguments raise an +Error+.
783
+ # Returns self.
784
+ #
785
+ # This changes the row_proc of the dataset to return
786
+ # model objects and extends the dataset with the dataset_method_modules.
787
+ # It also attempts to determine the database schema for the model,
788
+ # based on the given dataset.
789
+ #
790
+ # Artist.set_dataset(:tbl_artists)
791
+ # Artist.set_dataset(DB[:artists])
792
+ #
793
+ # Note that you should not use this to change the model's dataset
794
+ # at runtime. If you have that need, you should look into Sequel's
795
+ # sharding support.
796
+ def set_dataset(ds, opts=OPTS)
797
+ inherited = opts[:inherited]
798
+ @dataset = convert_input_dataset(ds)
799
+ @require_modification = Sequel::Model.require_modification.nil? ? @dataset.provides_accurate_rows_matched? : Sequel::Model.require_modification
800
+ if inherited
801
+ self.simple_table = superclass.simple_table
802
+ @columns = superclass.instance_variable_get(:@columns)
803
+ @db_schema = superclass.instance_variable_get(:@db_schema)
804
+ else
805
+ @dataset_method_modules.each{|m| @dataset.extend(m)} if @dataset_method_modules
806
+ @db_schema = get_db_schema
807
+ end
808
+
809
+ @dataset.model = self if @dataset.respond_to?(:model=)
810
+ reset_instance_dataset
811
+ self
812
+ end
813
+
814
+ # Sets the primary key for this model. You can use either a regular
815
+ # or a composite primary key. To not use a primary key, set to nil
816
+ # or use +no_primary_key+. On most adapters, Sequel can automatically
817
+ # determine the primary key to use, so this method is not needed often.
818
+ #
819
+ # class Person < Sequel::Model
820
+ # # regular key
821
+ # set_primary_key :person_id
822
+ # end
823
+ #
824
+ # class Tagging < Sequel::Model
825
+ # # composite key
826
+ # set_primary_key [:taggable_id, :tag_id]
827
+ # end
828
+ def set_primary_key(key)
829
+ clear_setter_methods_cache
830
+ if key.is_a?(Array)
831
+ if key.length < 2
832
+ key = key.first
833
+ else
834
+ key = key.dup.freeze
835
+ end
836
+ end
837
+ self.simple_pk = if key && !key.is_a?(Array)
838
+ (@dataset || db).literal(key)
839
+ end
840
+ @primary_key = key
841
+ end
842
+
843
+ # Cache of setter methods to allow by default, in order to speed up new/set/update instance methods.
844
+ def setter_methods
845
+ @setter_methods ||= get_setter_methods
846
+ end
847
+
848
+ # Sets up a dataset method that returns a filtered dataset.
849
+ # Sometimes thought of as a scope, and like most dataset methods,
850
+ # they can be chained.
851
+ # For example:
852
+ #
853
+ # Topic.subset(:joes, :username.like('%joe%'))
854
+ # Topic.subset(:popular){num_posts > 100}
855
+ # Topic.subset(:recent){created_on > Date.today - 7}
856
+ #
857
+ # Allows you to do:
858
+ #
859
+ # Topic.joes.recent.popular
860
+ #
861
+ # to get topics with a username that includes joe that
862
+ # have more than 100 posts and were created less than
863
+ # 7 days ago.
864
+ #
865
+ # Both the args given and the block are passed to <tt>Dataset#filter</tt>.
866
+ #
867
+ # This method creates dataset methods that do not accept arguments. To create
868
+ # dataset methods that accept arguments, you should use define a
869
+ # method directly inside a #dataset_module block.
870
+ def subset(name, *args, &block)
871
+ def_dataset_method(name){filter(*args, &block)}
872
+ end
873
+
874
+ # Returns name of primary table for the dataset. If the table for the dataset
875
+ # is aliased, returns the aliased name.
876
+ #
877
+ # Artist.table_name # => :artists
878
+ # Sequel::Model(:foo).table_name # => :foo
879
+ # Sequel::Model(:foo___bar).table_name # => :bar
880
+ def table_name
881
+ dataset.first_source_alias
882
+ end
883
+
884
+ # Allow the setting of the primary key(s) when using the mass assignment methods.
885
+ # Using this method can open up security issues, be very careful before using it.
886
+ #
887
+ # Artist.set(:id=>1) # Error
888
+ # Artist.unrestrict_primary_key
889
+ # Artist.set(:id=>1) # No Error
890
+ def unrestrict_primary_key
891
+ clear_setter_methods_cache
892
+ @restrict_primary_key = false
893
+ end
894
+
895
+ # Return the model instance with the primary key, or nil if there is no matching record.
896
+ def with_pk(pk)
897
+ primary_key_lookup(pk)
898
+ end
899
+
900
+ # Return the model instance with the primary key, or raise NoMatchingRow if there is no matching record.
901
+ def with_pk!(pk)
902
+ with_pk(pk) || raise(NoMatchingRow.new(dataset))
903
+ end
904
+
905
+ # Add model methods that call dataset methods
906
+ Plugins.def_dataset_methods(self, DATASET_METHODS)
907
+
908
+ private
909
+
910
+ # Yield to the passed block and swallow all errors other than DatabaseConnectionErrors.
911
+ def check_non_connection_error
912
+ begin
913
+ db.transaction(:savepoint=>:only){yield}
914
+ rescue Sequel::DatabaseConnectionError
915
+ raise
916
+ rescue Sequel::Error
917
+ raise if require_valid_table
918
+ end
919
+ end
920
+
921
+ # Convert the given object to a Dataset that should be used as
922
+ # this model's dataset.
923
+ def convert_input_dataset(ds)
924
+ case ds
925
+ when Symbol, SQL::Identifier, SQL::QualifiedIdentifier, SQL::AliasedExpression, LiteralString
926
+ self.simple_table = db.literal(ds)
927
+ ds = db.from(ds)
928
+ when Dataset
929
+ self.simple_table = if ds.send(:simple_select_all?)
930
+ ds.literal(ds.first_source_table)
931
+ end
932
+ @db = ds.db
933
+ else
934
+ raise(Error, "Model.set_dataset takes one of the following classes as an argument: Symbol, LiteralString, SQL::Identifier, SQL::QualifiedIdentifier, SQL::AliasedExpression, Dataset")
935
+ end
936
+ set_dataset_row_proc(ds)
937
+ ds
938
+ end
939
+
940
+ # Add the module to the class's dataset_method_modules. Extend the dataset with the
941
+ # module if the model has a dataset. Add dataset methods to the class for all
942
+ # public dataset methods.
943
+ def dataset_extend(mod, opts=OPTS)
944
+ @dataset.extend(mod) if @dataset
945
+ reset_instance_dataset
946
+ dataset_method_modules << mod
947
+ unless opts[:create_class_methods] == false
948
+ mod.public_instance_methods.each{|meth| def_model_dataset_method(meth)}
949
+ end
950
+ end
951
+
952
+ # Create a column accessor for a column with a method name that is hard to use in ruby code.
953
+ def def_bad_column_accessor(column)
954
+ overridable_methods_module.module_eval do
955
+ define_method(column){self[column]}
956
+ define_method("#{column}="){|v| self[column] = v}
957
+ end
958
+ end
959
+
960
+ # Create the column accessors. For columns that can be used as method names directly in ruby code,
961
+ # use a string to define the method for speed. For other columns names, use a block.
962
+ def def_column_accessor(*columns)
963
+ clear_setter_methods_cache
964
+ columns, bad_columns = columns.partition{|x| NORMAL_METHOD_NAME_REGEXP.match(x.to_s)}
965
+ bad_columns.each{|x| def_bad_column_accessor(x)}
966
+ im = instance_methods.collect(&:to_s)
967
+ columns.each do |column|
968
+ meth = "#{column}="
969
+ overridable_methods_module.module_eval("def #{column}; self[:#{column}] end", __FILE__, __LINE__) unless im.include?(column.to_s)
970
+ overridable_methods_module.module_eval("def #{meth}(v); self[:#{column}] = v end", __FILE__, __LINE__) unless im.include?(meth)
971
+ end
972
+ end
973
+
974
+ # Define a model method that calls the dataset method with the same name,
975
+ # only used for methods with names that can't be presented directly in
976
+ # ruby code.
977
+ def def_model_dataset_method(meth)
978
+ return if respond_to?(meth, true)
979
+
980
+ if meth.to_s =~ NORMAL_METHOD_NAME_REGEXP
981
+ instance_eval("def #{meth}(*args, &block); dataset.#{meth}(*args, &block) end", __FILE__, __LINE__)
982
+ else
983
+ (class << self; self; end).send(:define_method, meth){|*args, &block| dataset.send(meth, *args, &block)}
984
+ end
985
+ end
986
+
987
+ # Define a finder method in the given module with the given method name that
988
+ # load rows using the finder with the given name.
989
+ def def_finder_method(mod, meth, type)
990
+ mod.send(:define_method, meth){|*args, &block| finder_for(meth).send(type, *args, &block)}
991
+ end
992
+
993
+ # Define a prepared_finder method in the given module that will call the associated prepared
994
+ # statement.
995
+ def def_prepare_method(mod, meth)
996
+ mod.send(:define_method, meth){|*args, &block| finder_for(meth).call(prepare_method_arg_hash(args), &block)}
997
+ end
998
+
999
+ # Find the finder to use for the give method. If a finder has not been loaded
1000
+ # for the method, load the finder and set correctly in the finders hash, then
1001
+ # return the finder.
1002
+ def finder_for(meth)
1003
+ unless finder = Sequel.synchronize{@finders[meth]}
1004
+ finder_loader = @finder_loaders.fetch(meth)
1005
+ finder = finder_loader.call(self)
1006
+ Sequel.synchronize{@finders[meth] = finder}
1007
+ end
1008
+ finder
1009
+ end
1010
+
1011
+ # Get the schema from the database, fall back on checking the columns
1012
+ # via the database if that will return inaccurate results or if
1013
+ # it raises an error.
1014
+ def get_db_schema(reload = reload_db_schema?)
1015
+ set_columns(nil)
1016
+ return nil unless @dataset
1017
+ schema_hash = {}
1018
+ ds_opts = dataset.opts
1019
+ get_columns = proc{check_non_connection_error{columns} || []}
1020
+ schema_array = check_non_connection_error{db.schema(dataset, :reload=>reload)} if db.supports_schema_parsing?
1021
+ if schema_array
1022
+ schema_array.each{|k,v| schema_hash[k] = v}
1023
+
1024
+ # Set the primary key(s) based on the schema information,
1025
+ # if the schema information includes primary key information
1026
+ if schema_array.all?{|k,v| v.has_key?(:primary_key)}
1027
+ pks = schema_array.collect{|k,v| k if v[:primary_key]}.compact
1028
+ pks.length > 0 ? set_primary_key(pks) : no_primary_key
1029
+ end
1030
+
1031
+ if (select = ds_opts[:select]) && !(select.length == 1 && select.first.is_a?(SQL::ColumnAll))
1032
+ # We don't remove the columns from the schema_hash,
1033
+ # as it's possible they will be used for typecasting
1034
+ # even if they are not selected.
1035
+ cols = get_columns.call
1036
+ cols.each{|c| schema_hash[c] ||= {}}
1037
+ def_column_accessor(*schema_hash.keys)
1038
+ else
1039
+ # Dataset is for a single table with all columns,
1040
+ # so set the columns based on the order they were
1041
+ # returned by the schema.
1042
+ cols = schema_array.collect{|k,v| k}
1043
+ set_columns(cols)
1044
+ # Also set the columns for the dataset, so the dataset
1045
+ # doesn't have to do a query to get them.
1046
+ dataset.instance_variable_set(:@columns, cols)
1047
+ end
1048
+ else
1049
+ # If the dataset uses multiple tables or custom sql or getting
1050
+ # the schema raised an error, just get the columns and
1051
+ # create an empty schema hash for it.
1052
+ get_columns.call.each{|c| schema_hash[c] = {}}
1053
+ end
1054
+ schema_hash
1055
+ end
1056
+
1057
+ # Uncached version of setter_methods, to be overridden by plugins
1058
+ # that want to modify the methods used.
1059
+ def get_setter_methods
1060
+ if allowed_columns
1061
+ allowed_columns.map{|x| "#{x}="}
1062
+ else
1063
+ meths = instance_methods.collect(&:to_s).grep(SETTER_METHOD_REGEXP) - RESTRICTED_SETTER_METHODS
1064
+ meths -= Array(primary_key).map{|x| "#{x}="} if primary_key && restrict_primary_key?
1065
+ meths
1066
+ end
1067
+ end
1068
+
1069
+ # A hash of instance variables to automatically set up in subclasses.
1070
+ # See Sequel::Model::INHERITED_INSTANCE_VARIABLES. It is safe to modify
1071
+ # the hash returned by this method, though it may not be safe to modify
1072
+ # values of the hash.
1073
+ def inherited_instance_variables
1074
+ INHERITED_INSTANCE_VARIABLES.dup
1075
+ end
1076
+
1077
+ # For the given opts hash and default name or :class option, add a
1078
+ # :class_name option unless already present which contains the name
1079
+ # of the class to use as a string. The purpose is to allow late
1080
+ # binding to the class later using constantize.
1081
+ def late_binding_class_option(opts, default)
1082
+ case opts[:class]
1083
+ when String, Symbol
1084
+ # Delete :class to allow late binding
1085
+ class_name = opts.delete(:class).to_s
1086
+
1087
+ if (namespace = opts[:class_namespace]) && !class_name.start_with?('::')
1088
+ class_name = "::#{namespace}::#{class_name}"
1089
+ end
1090
+
1091
+ opts[:class_name] ||= class_name
1092
+ when Class
1093
+ opts[:class_name] ||= opts[:class].name
1094
+ end
1095
+
1096
+ opts[:class_name] ||= '::' + ((name || '').split("::")[0..-2] + [camelize(default)]).join('::')
1097
+ end
1098
+
1099
+ # Module that the class includes that holds methods the class adds for column accessors and
1100
+ # associations so that the methods can be overridden with +super+.
1101
+ def overridable_methods_module
1102
+ include(@overridable_methods_module = Module.new) unless @overridable_methods_module
1103
+ @overridable_methods_module
1104
+ end
1105
+
1106
+ # Returns the module for the specified plugin. If the module is not
1107
+ # defined, the corresponding plugin required.
1108
+ def plugin_module(plugin)
1109
+ module_name = plugin.to_s.gsub(/(^|_)(.)/){|x| x[-1..-1].upcase}
1110
+ if !Sequel::Plugins.const_defined?(module_name) ||
1111
+ (Sequel.const_defined?(module_name) &&
1112
+ Sequel::Plugins.const_get(module_name) == Sequel.const_get(module_name))
1113
+ begin
1114
+ require "sequel/plugins/#{plugin}"
1115
+ rescue LoadError => e
1116
+ begin
1117
+ require "sequel_#{plugin}"
1118
+ rescue LoadError => e2
1119
+ e.message << "; #{e2.message}"
1120
+ raise e
1121
+ end
1122
+ end
1123
+ end
1124
+ Sequel::Plugins.const_get(module_name)
1125
+ end
1126
+
1127
+ # Check if the plugin module +plugin+ defines the constant named by +submod+.
1128
+ def plugin_module_defined?(plugin, submod)
1129
+ if RUBY_VERSION >= '1.9'
1130
+ plugin.const_defined?(submod, false)
1131
+ else
1132
+ # :nocov:
1133
+ plugin.const_defined?(submod)
1134
+ # :nocov:
1135
+ end
1136
+ end
1137
+
1138
+ # An hash of prepared argument values for the given arguments, with keys
1139
+ # starting at a. Used by the methods created by prepared_finder.
1140
+ def prepare_method_arg_hash(args)
1141
+ h = {}
1142
+ prepare_method_args('a', args.length).zip(args).each{|k, v| h[k] = v}
1143
+ h
1144
+ end
1145
+
1146
+ # An array of prepared statement argument names, of length n and starting with base.
1147
+ def prepare_method_args(base, n)
1148
+ (0...n).map do
1149
+ s = base.to_sym
1150
+ base = base.next
1151
+ s
1152
+ end
1153
+ end
1154
+
1155
+ # Find the row in the dataset that matches the primary key. Uses
1156
+ # a static SQL optimization if the table and primary key are simple.
1157
+ #
1158
+ # This method should not be called with a nil primary key, in case
1159
+ # it is overridden by plugins which assume that the passed argument
1160
+ # is valid.
1161
+ def primary_key_lookup(pk)
1162
+ if sql = @fast_pk_lookup_sql
1163
+ sql = sql.dup
1164
+ ds = dataset
1165
+ ds.literal_append(sql, pk)
1166
+ ds.fetch_rows(sql){|r| return ds.row_proc.call(r)}
1167
+ nil
1168
+ elsif dataset.joined_dataset?
1169
+ first_where(qualified_primary_key_hash(pk))
1170
+ else
1171
+ first_where(primary_key_hash(pk))
1172
+ end
1173
+ end
1174
+
1175
+ # Whether to reload the database schema by default, ignoring any cached value.
1176
+ def reload_db_schema?
1177
+ false
1178
+ end
1179
+
1180
+ # Reset the cached fast primary lookup SQL if a simple table and primary key
1181
+ # are used, or set it to nil if not used.
1182
+ def reset_fast_pk_lookup_sql
1183
+ @fast_pk_lookup_sql = if @simple_table && @simple_pk
1184
+ "SELECT * FROM #@simple_table WHERE #@simple_pk = ".freeze
1185
+ end
1186
+ @fast_instance_delete_sql = if @simple_table && @simple_pk
1187
+ "DELETE FROM #@simple_table WHERE #@simple_pk = ".freeze
1188
+ end
1189
+ end
1190
+
1191
+ # Reset the instance dataset to a modified copy of the current dataset,
1192
+ # should be used whenever the model's dataset is modified.
1193
+ def reset_instance_dataset
1194
+ @finders.clear if @finders
1195
+ @instance_dataset = @dataset.limit(1).naked if @dataset
1196
+ end
1197
+
1198
+ # Set the columns for this model and create accessor methods for each column.
1199
+ def set_columns(new_columns)
1200
+ @columns = new_columns
1201
+ def_column_accessor(*new_columns) if new_columns
1202
+ @columns
1203
+ end
1204
+
1205
+ # Set the dataset's row_proc to the current model.
1206
+ def set_dataset_row_proc(ds)
1207
+ ds.row_proc = self
1208
+ end
1209
+
1210
+ # Reset the fast primary key lookup SQL when the simple_pk value changes.
1211
+ def simple_pk=(pk)
1212
+ @simple_pk = pk
1213
+ reset_fast_pk_lookup_sql
1214
+ end
1215
+
1216
+ # Reset the fast primary key lookup SQL when the simple_table value changes.
1217
+ def simple_table=(t)
1218
+ @simple_table = t
1219
+ reset_fast_pk_lookup_sql
1220
+ end
1221
+
1222
+ # Returns a copy of the model's dataset with custom SQL
1223
+ #
1224
+ # Artist.fetch("SELECT * FROM artists WHERE name LIKE 'A%'")
1225
+ # Artist.fetch("SELECT * FROM artists WHERE id = ?", 1)
1226
+ alias fetch with_sql
1227
+ end
1228
+
1229
+ # Sequel::Model instance methods that implement basic model functionality.
1230
+ #
1231
+ # * All of the methods in +HOOKS+ and +AROUND_HOOKS+ create instance methods that are called
1232
+ # by Sequel when the appropriate action occurs. For example, when destroying
1233
+ # a model object, Sequel will call +around_destroy+, which will call +before_destroy+, do
1234
+ # the destroy, and then call +after_destroy+.
1235
+ # * The following instance_methods all call the class method of the same
1236
+ # name: columns, db, primary_key, db_schema.
1237
+ # * All of the methods in +BOOLEAN_SETTINGS+ create attr_writers allowing you
1238
+ # to set values for the attribute. It also creates instance getters returning
1239
+ # the value of the setting. If the value has not yet been set, it
1240
+ # gets the default value from the class by calling the class method of the same name.
1241
+ module InstanceMethods
1242
+ HOOKS.each{|h| class_eval("def #{h}; end", __FILE__, __LINE__)}
1243
+ AROUND_HOOKS.each{|h| class_eval("def #{h}; yield end", __FILE__, __LINE__)}
1244
+
1245
+ # Define instance method(s) that calls class method(s) of the
1246
+ # same name. Replaces the construct:
1247
+ #
1248
+ # define_method(meth){self.class.send(meth)}
1249
+ [:columns, :db, :primary_key, :db_schema].each{|meth| class_eval("def #{meth}; self.class.#{meth} end", __FILE__, __LINE__)}
1250
+
1251
+ # Define instance method(s) that calls class method(s) of the
1252
+ # same name, caching the result in an instance variable. Define
1253
+ # standard attr_writer method for modifying that instance variable.
1254
+ BOOLEAN_SETTINGS.each{|meth| class_eval("def #{meth}; !defined?(@#{meth}) ? (frozen? ? self.class.#{meth} : (@#{meth} = self.class.#{meth})) : @#{meth} end", __FILE__, __LINE__)}
1255
+ attr_writer(*BOOLEAN_SETTINGS)
1256
+
1257
+ # The hash of attribute values. Keys are symbols with the names of the
1258
+ # underlying database columns. The returned hash is a reference to the
1259
+ # receiver's values hash, and modifying it will also modify the receiver's
1260
+ # values.
1261
+ #
1262
+ # Artist.new(:name=>'Bob').values # => {:name=>'Bob'}
1263
+ # Artist[1].values # => {:id=>1, :name=>'Jim', ...}
1264
+ attr_reader :values
1265
+ alias to_hash values
1266
+
1267
+ # Get the value of the column. Takes a single symbol or string argument.
1268
+ # By default it calls send with the argument to get the value. This can
1269
+ # be overridden if you have columns that conflict with existing
1270
+ # method names.
1271
+ alias get_column_value send
1272
+
1273
+ # Set the value of the column. Takes two argument. The first is a
1274
+ # symbol or string argument for the column name, suffixed with =. The
1275
+ # second is the value to set for the column. By default it calls send
1276
+ # with the argument to set the value. This can be overridden if you have
1277
+ # columns that conflict with existing method names (unlikely for setter
1278
+ # methods, but possible).
1279
+ alias set_column_value send
1280
+
1281
+ # Creates new instance and passes the given values to set.
1282
+ # If a block is given, yield the instance to the block.
1283
+ #
1284
+ # Arguments:
1285
+ # values :: should be a hash to pass to set.
1286
+ #
1287
+ # Artist.new(:name=>'Bob')
1288
+ #
1289
+ # Artist.new do |a|
1290
+ # a.name = 'Bob'
1291
+ # end
1292
+ def initialize(values = {})
1293
+ @values = {}
1294
+ @new = true
1295
+ @modified = true
1296
+ initialize_set(values)
1297
+ changed_columns.clear
1298
+ yield self if block_given?
1299
+ end
1300
+
1301
+ # Returns value of the column's attribute.
1302
+ #
1303
+ # Artist[1][:id] #=> 1
1304
+ def [](column)
1305
+ @values[column]
1306
+ end
1307
+
1308
+ # Sets the value for the given column. If typecasting is enabled for
1309
+ # this object, typecast the value based on the column's type.
1310
+ # If this is a new record or the typecasted value isn't the same
1311
+ # as the current value for the column, mark the column as changed.
1312
+ #
1313
+ # a = Artist.new
1314
+ # a[:name] = 'Bob'
1315
+ # a.values #=> {:name=>'Bob'}
1316
+ def []=(column, value)
1317
+ # If it is new, it doesn't have a value yet, so we should
1318
+ # definitely set the new value.
1319
+ # If the column isn't in @values, we can't assume it is
1320
+ # NULL in the database, so assume it has changed.
1321
+ v = typecast_value(column, value)
1322
+ vals = @values
1323
+ if new? || !vals.include?(column) || v != (c = vals[column]) || v.class != c.class
1324
+ change_column_value(column, v)
1325
+ end
1326
+ end
1327
+
1328
+ # Alias of eql?
1329
+ def ==(obj)
1330
+ eql?(obj)
1331
+ end
1332
+
1333
+ # If pk is not nil, true only if the objects have the same class and pk.
1334
+ # If pk is nil, false.
1335
+ #
1336
+ # Artist[1] === Artist[1] # true
1337
+ # Artist.new === Artist.new # false
1338
+ # Artist[1].set(:name=>'Bob') == Artist[1] # => true
1339
+ def ===(obj)
1340
+ pk.nil? ? false : (obj.class == model) && (obj.pk == pk)
1341
+ end
1342
+
1343
+ # class is defined in Object, but it is also a keyword,
1344
+ # and since a lot of instance methods call class methods,
1345
+ # this alias makes it so you can use model instead of
1346
+ # self.class.
1347
+ #
1348
+ # Artist.new.model # => Artist
1349
+ alias_method :model, :class
1350
+
1351
+ # The autoincrementing primary key for this model object. Should be
1352
+ # overridden if you have a composite primary key with one part of it
1353
+ # being autoincrementing.
1354
+ def autoincrementing_primary_key
1355
+ primary_key
1356
+ end
1357
+
1358
+ # Cancel the current action. Should be called in before hooks to halt
1359
+ # the processing of the action. If a +msg+ argument is given and
1360
+ # the model instance is configured to raise exceptions on failure,
1361
+ # sets the message to use for the raised HookFailed exception.
1362
+ def cancel_action(msg=nil)
1363
+ raise_hook_failure(msg)
1364
+ end
1365
+
1366
+ # The columns that have been updated. This isn't completely accurate,
1367
+ # as it could contain columns whose values have not changed.
1368
+ #
1369
+ # a = Artist[1]
1370
+ # a.changed_columns # => []
1371
+ # a.name = 'Bob'
1372
+ # a.changed_columns # => [:name]
1373
+ def changed_columns
1374
+ @changed_columns ||= []
1375
+ end
1376
+
1377
+ # Deletes and returns +self+. Does not run destroy hooks.
1378
+ # Look into using +destroy+ instead.
1379
+ #
1380
+ # Artist[1].delete # DELETE FROM artists WHERE (id = 1)
1381
+ # # => #<Artist {:id=>1, ...}>
1382
+ def delete
1383
+ raise Sequel::Error, "can't delete frozen object" if frozen?
1384
+ _delete
1385
+ self
1386
+ end
1387
+
1388
+ # Like delete but runs hooks before and after delete.
1389
+ # If before_destroy returns false, returns false without
1390
+ # deleting the object from the database. Otherwise, deletes
1391
+ # the item from the database and returns self. Uses a transaction
1392
+ # if use_transactions is true or if the :transaction option is given and
1393
+ # true.
1394
+ #
1395
+ # Artist[1].destroy # BEGIN; DELETE FROM artists WHERE (id = 1); COMMIT;
1396
+ # # => #<Artist {:id=>1, ...}>
1397
+ def destroy(opts = OPTS)
1398
+ raise Sequel::Error, "can't destroy frozen object" if frozen?
1399
+ checked_save_failure(opts){checked_transaction(opts){_destroy(opts)}}
1400
+ end
1401
+
1402
+ # Iterates through all of the current values using each.
1403
+ #
1404
+ # Album[1].each{|k, v| puts "#{k} => #{v}"}
1405
+ # # id => 1
1406
+ # # name => 'Bob'
1407
+ def each(&block)
1408
+ @values.each(&block)
1409
+ end
1410
+
1411
+ # Compares model instances by values.
1412
+ #
1413
+ # Artist[1] == Artist[1] # => true
1414
+ # Artist.new == Artist.new # => true
1415
+ # Artist[1].set(:name=>'Bob') == Artist[1] # => false
1416
+ def eql?(obj)
1417
+ (obj.class == model) && (obj.values == @values)
1418
+ end
1419
+
1420
+ # Returns the validation errors associated with this object.
1421
+ # See +Errors+.
1422
+ def errors
1423
+ @errors ||= errors_class.new
1424
+ end
1425
+
1426
+ # Returns true when current instance exists, false otherwise.
1427
+ # Generally an object that isn't new will exist unless it has
1428
+ # been deleted. Uses a database query to check for existence,
1429
+ # unless the model object is new, in which case this is always
1430
+ # false.
1431
+ #
1432
+ # Artist[1].exists? # SELECT 1 FROM artists WHERE (id = 1)
1433
+ # # => true
1434
+ # Artist.new.exists?
1435
+ # # => false
1436
+ def exists?
1437
+ new? ? false : !this.get(SQL::AliasedExpression.new(1, :one)).nil?
1438
+ end
1439
+
1440
+ # Ignore the model's setter method cache when this instances extends a module, as the
1441
+ # module may contain setter methods.
1442
+ def extend(mod)
1443
+ @singleton_setter_added = true
1444
+ super
1445
+ end
1446
+
1447
+ # Freeze the object in such a way that it is still usable but not modifiable.
1448
+ # Once an object is frozen, you cannot modify it's values, changed_columns,
1449
+ # errors, or dataset.
1450
+ def freeze
1451
+ values.freeze
1452
+ changed_columns.freeze
1453
+ unless errors.frozen?
1454
+ validate
1455
+ errors.freeze
1456
+ end
1457
+ this.freeze if !new? && model.primary_key
1458
+ super
1459
+ end
1460
+
1461
+ # Value that should be unique for objects with the same class and pk (if pk is not nil), or
1462
+ # the same class and values (if pk is nil).
1463
+ #
1464
+ # Artist[1].hash == Artist[1].hash # true
1465
+ # Artist[1].set(:name=>'Bob').hash == Artist[1].hash # true
1466
+ # Artist.new.hash == Artist.new.hash # true
1467
+ # Artist.new(:name=>'Bob').hash == Artist.new.hash # false
1468
+ def hash
1469
+ case primary_key
1470
+ when Array
1471
+ [model, !pk.all? ? @values : pk].hash
1472
+ when Symbol
1473
+ [model, pk.nil? ? @values : pk].hash
1474
+ else
1475
+ [model, @values].hash
1476
+ end
1477
+ end
1478
+
1479
+ # Returns value for the :id attribute, even if the primary key is
1480
+ # not id. To get the primary key value, use +pk+.
1481
+ #
1482
+ # Artist[1].id # => 1
1483
+ def id
1484
+ @values[:id]
1485
+ end
1486
+
1487
+ # Returns a string representation of the model instance including
1488
+ # the class name and values.
1489
+ def inspect
1490
+ "#<#{model.name} @values=#{inspect_values}>"
1491
+ end
1492
+
1493
+ # Returns the keys in +values+. May not include all column names.
1494
+ #
1495
+ # Artist.new.keys # => []
1496
+ # Artist.new(:name=>'Bob').keys # => [:name]
1497
+ # Artist[1].keys # => [:id, :name]
1498
+ def keys
1499
+ @values.keys
1500
+ end
1501
+
1502
+ # Refresh this record using +for_update+ (by default, or the specified style when given)
1503
+ # unless this is a new record. Returns self. This can be used to make sure no other
1504
+ # process is updating the record at the same time.
1505
+ #
1506
+ # If style is a string, it will be used directly. You should never pass a string
1507
+ # to this method that is derived from user input, as that can lead to
1508
+ # SQL injection.
1509
+ #
1510
+ # A symbol may be used for database independent locking behavior, but
1511
+ # all supported symbols have separate methods (e.g. for_update).
1512
+ #
1513
+ #
1514
+ # a = Artist[1]
1515
+ # Artist.db.transaction do
1516
+ # a.lock!
1517
+ # a.update(:name=>'A')
1518
+ # end
1519
+ #
1520
+ # a = Artist[2]
1521
+ # Artist.db.transaction do
1522
+ # a.lock!('FOR NO KEY UPDATE')
1523
+ # a.update(:name=>'B')
1524
+ # end
1525
+ def lock!(style=:update)
1526
+ _refresh(this.lock_style(style)) unless new?
1527
+ self
1528
+ end
1529
+
1530
+ # Remove elements of the model object that make marshalling fail. Returns self.
1531
+ #
1532
+ # a = Artist[1]
1533
+ # a.marshallable!
1534
+ # Marshal.dump(a)
1535
+ def marshallable!
1536
+ @this = nil
1537
+ self
1538
+ end
1539
+
1540
+ # Explicitly mark the object as modified, so +save_changes+/+update+ will
1541
+ # run callbacks even if no columns have changed.
1542
+ #
1543
+ # a = Artist[1]
1544
+ # a.save_changes # No callbacks run, as no changes
1545
+ # a.modified!
1546
+ # a.save_changes # Callbacks run, even though no changes made
1547
+ #
1548
+ # If a column is given, specifically marked that column as modified,
1549
+ # so that +save_changes+/+update+ will include that column in the
1550
+ # update. This should be used if you plan on mutating the column
1551
+ # value instead of assigning a new column value:
1552
+ #
1553
+ # a.modified!(:name)
1554
+ # a.name.gsub!(/[aeou]/, 'i')
1555
+ def modified!(column=nil)
1556
+ if column && !changed_columns.include?(column)
1557
+ changed_columns << column
1558
+ end
1559
+ @modified = true
1560
+ end
1561
+
1562
+ # Whether this object has been modified since last saved, used by
1563
+ # save_changes to determine whether changes should be saved. New
1564
+ # values are always considered modified.
1565
+ #
1566
+ # a = Artist[1]
1567
+ # a.modified? # => false
1568
+ # a.set(:name=>'Jim')
1569
+ # a.modified? # => true
1570
+ #
1571
+ # If a column is given, specifically check if the given column has
1572
+ # been modified:
1573
+ #
1574
+ # a.modified?(:num_albums) # => false
1575
+ # a.num_albums = 10
1576
+ # a.modified?(:num_albums) # => true
1577
+ def modified?(column=nil)
1578
+ if column
1579
+ changed_columns.include?(column)
1580
+ else
1581
+ @modified || !changed_columns.empty?
1582
+ end
1583
+ end
1584
+
1585
+ # Returns true if the current instance represents a new record.
1586
+ #
1587
+ # Artist.new.new? # => true
1588
+ # Artist[1].new? # => false
1589
+ def new?
1590
+ defined?(@new) ? @new : (@new = false)
1591
+ end
1592
+
1593
+ # Returns the primary key value identifying the model instance.
1594
+ # Raises an +Error+ if this model does not have a primary key.
1595
+ # If the model has a composite primary key, returns an array of values.
1596
+ #
1597
+ # Artist[1].pk # => 1
1598
+ # Artist[[1, 2]].pk # => [1, 2]
1599
+ def pk
1600
+ raise(Error, "No primary key is associated with this model") unless key = primary_key
1601
+ if key.is_a?(Array)
1602
+ vals = @values
1603
+ key.map{|k| vals[k]}
1604
+ else
1605
+ @values[key]
1606
+ end
1607
+ end
1608
+
1609
+ # Returns a hash mapping the receivers primary key column(s) to their values.
1610
+ #
1611
+ # Artist[1].pk_hash # => {:id=>1}
1612
+ # Artist[[1, 2]].pk_hash # => {:id1=>1, :id2=>2}
1613
+ def pk_hash
1614
+ model.primary_key_hash(pk)
1615
+ end
1616
+
1617
+ # Returns a hash mapping the receivers primary key column(s) to their values.
1618
+ #
1619
+ # Artist[1].qualified_pk_hash
1620
+ # # => {Sequel.qualify(:artists, :id)=>1}
1621
+ # Artist[[1, 2]].qualified_pk_hash
1622
+ # # => {Sequel.qualify(:artists, :id1)=>1, Sequel.qualify(:artists, :id2)=>2}
1623
+ def qualified_pk_hash(qualifier=model.table_name)
1624
+ model.qualified_primary_key_hash(pk, qualifier)
1625
+ end
1626
+
1627
+ # Reloads attributes from database and returns self. Also clears all
1628
+ # changed_columns information. Raises an +Error+ if the record no longer
1629
+ # exists in the database.
1630
+ #
1631
+ # a = Artist[1]
1632
+ # a.name = 'Jim'
1633
+ # a.refresh
1634
+ # a.name # => 'Bob'
1635
+ def refresh
1636
+ raise Sequel::Error, "can't refresh frozen object" if frozen?
1637
+ _refresh(this)
1638
+ self
1639
+ end
1640
+
1641
+ # Alias of refresh, but not aliased directly to make overriding in a plugin easier.
1642
+ def reload
1643
+ refresh
1644
+ end
1645
+
1646
+ # Creates or updates the record, after making sure the record
1647
+ # is valid and before hooks execute successfully. Fails if:
1648
+ #
1649
+ # * the record is not valid, or
1650
+ # * before_save returns false, or
1651
+ # * the record is new and before_create returns false, or
1652
+ # * the record is not new and before_update returns false.
1653
+ #
1654
+ # If +save+ fails and either raise_on_save_failure or the
1655
+ # :raise_on_failure option is true, it raises ValidationFailed
1656
+ # or HookFailed. Otherwise it returns nil.
1657
+ #
1658
+ # If it succeeds, it returns self.
1659
+ #
1660
+ # You can provide an optional list of columns to update, in which
1661
+ # case it only updates those columns, or a options hash.
1662
+ #
1663
+ # Takes the following options:
1664
+ #
1665
+ # :changed :: save all changed columns, instead of all columns or the columns given
1666
+ # :columns :: array of specific columns that should be saved.
1667
+ # :raise_on_failure :: set to true or false to override the current
1668
+ # +raise_on_save_failure+ setting
1669
+ # :server :: set the server/shard on the object before saving, and use that
1670
+ # server/shard in any transaction.
1671
+ # :transaction :: set to true or false to override the current
1672
+ # +use_transactions+ setting
1673
+ # :validate :: set to false to skip validation
1674
+ def save(opts=OPTS)
1675
+ raise Sequel::Error, "can't save frozen object" if frozen?
1676
+ set_server(opts[:server]) if opts[:server]
1677
+ _before_validation
1678
+ if opts[:validate] != false
1679
+ unless checked_save_failure(opts){_valid?(true, opts)}
1680
+ raise(ValidationFailed.new(self)) if raise_on_failure?(opts)
1681
+ return
1682
+ end
1683
+ end
1684
+ checked_save_failure(opts){checked_transaction(opts){_save(opts)}}
1685
+ end
1686
+
1687
+ # Saves only changed columns if the object has been modified.
1688
+ # If the object has not been modified, returns nil. If unable to
1689
+ # save, returns false unless +raise_on_save_failure+ is true.
1690
+ #
1691
+ # a = Artist[1]
1692
+ # a.save_changes # => nil
1693
+ # a.name = 'Jim'
1694
+ # a.save_changes # UPDATE artists SET name = 'Bob' WHERE (id = 1)
1695
+ # # => #<Artist {:id=>1, :name=>'Jim', ...}
1696
+ def save_changes(opts=OPTS)
1697
+ save(Hash[opts].merge!(:changed=>true)) || false if modified?
1698
+ end
1699
+
1700
+ # Updates the instance with the supplied values with support for virtual
1701
+ # attributes, raising an exception if a value is used that doesn't have
1702
+ # a setter method (or ignoring it if <tt>strict_param_setting = false</tt>).
1703
+ # Does not save the record.
1704
+ #
1705
+ # artist.set(:name=>'Jim')
1706
+ # artist.name # => 'Jim'
1707
+ def set(hash)
1708
+ set_restricted(hash, :default)
1709
+ end
1710
+
1711
+ # Set all values using the entries in the hash, ignoring any setting of
1712
+ # allowed_columns in the model.
1713
+ #
1714
+ # Artist.set_allowed_columns(:num_albums)
1715
+ # artist.set_all(:name=>'Jim')
1716
+ # artist.name # => 'Jim'
1717
+ def set_all(hash)
1718
+ set_restricted(hash, :all)
1719
+ end
1720
+
1721
+ # For each of the fields in the given array +fields+, call the setter
1722
+ # method with the value of that +hash+ entry for the field. Returns self.
1723
+ #
1724
+ # You can provide an options hash, with the following options currently respected:
1725
+ # :missing :: Can be set to :skip to skip missing entries or :raise to raise an
1726
+ # Error for missing entries. The default behavior is not to check for
1727
+ # missing entries, in which case the default value is used. To be
1728
+ # friendly with most web frameworks, the missing check will also check
1729
+ # for the string version of the argument in the hash if given a symbol.
1730
+ #
1731
+ # Examples:
1732
+ #
1733
+ # artist.set_fields({:name=>'Jim'}, [:name])
1734
+ # artist.name # => 'Jim'
1735
+ #
1736
+ # artist.set_fields({:hometown=>'LA'}, [:name])
1737
+ # artist.name # => nil
1738
+ # artist.hometown # => 'Sac'
1739
+ #
1740
+ # artist.name # => 'Jim'
1741
+ # artist.set_fields({}, [:name], :missing=>:skip)
1742
+ # artist.name # => 'Jim'
1743
+ #
1744
+ # artist.name # => 'Jim'
1745
+ # artist.set_fields({}, [:name], :missing=>:raise)
1746
+ # # Sequel::Error raised
1747
+ def set_fields(hash, fields, opts=nil)
1748
+ opts = if opts
1749
+ Hash[model.default_set_fields_options].merge!(opts)
1750
+ else
1751
+ model.default_set_fields_options
1752
+ end
1753
+
1754
+ case opts[:missing]
1755
+ when :skip
1756
+ fields.each do |f|
1757
+ if hash.has_key?(f)
1758
+ set_column_value("#{f}=", hash[f])
1759
+ elsif f.is_a?(Symbol) && hash.has_key?(sf = f.to_s)
1760
+ set_column_value("#{sf}=", hash[sf])
1761
+ end
1762
+ end
1763
+ when :raise
1764
+ fields.each do |f|
1765
+ if hash.has_key?(f)
1766
+ set_column_value("#{f}=", hash[f])
1767
+ elsif f.is_a?(Symbol) && hash.has_key?(sf = f.to_s)
1768
+ set_column_value("#{sf}=", hash[sf])
1769
+ else
1770
+ raise(Sequel::Error, "missing field in hash: #{f.inspect} not in #{hash.inspect}")
1771
+ end
1772
+ end
1773
+ else
1774
+ fields.each{|f| set_column_value("#{f}=", hash[f])}
1775
+ end
1776
+ self
1777
+ end
1778
+
1779
+ # Set the values using the entries in the hash, only if the key
1780
+ # is included in only. It may be a better idea to use +set_fields+
1781
+ # instead of this method.
1782
+ #
1783
+ # artist.set_only({:name=>'Jim'}, :name)
1784
+ # artist.name # => 'Jim'
1785
+ #
1786
+ # artist.set_only({:hometown=>'LA'}, :name) # Raise Error
1787
+ def set_only(hash, *only)
1788
+ set_restricted(hash, only.flatten)
1789
+ end
1790
+
1791
+ # Set the shard that this object is tied to. Returns self.
1792
+ def set_server(s)
1793
+ @server = s
1794
+ @this.opts[:server] = s if @this
1795
+ self
1796
+ end
1797
+
1798
+ # Clear the setter_methods cache when a method is added
1799
+ def singleton_method_added(meth)
1800
+ @singleton_setter_added = true if meth.to_s =~ SETTER_METHOD_REGEXP
1801
+ super
1802
+ end
1803
+
1804
+ # Returns (naked) dataset that should return only this instance.
1805
+ #
1806
+ # Artist[1].this
1807
+ # # SELECT * FROM artists WHERE (id = 1) LIMIT 1
1808
+ def this
1809
+ return @this if @this
1810
+ raise Error, "No dataset for model #{model}" unless ds = model.instance_dataset
1811
+
1812
+ cond = if ds.joined_dataset?
1813
+ qualified_pk_hash
1814
+ else
1815
+ pk_hash
1816
+ end
1817
+
1818
+ @this = use_server(ds.where(cond))
1819
+ end
1820
+
1821
+ # Runs #set with the passed hash and then runs save_changes.
1822
+ #
1823
+ # artist.update(:name=>'Jim') # UPDATE artists SET name = 'Jim' WHERE (id = 1)
1824
+ def update(hash)
1825
+ update_restricted(hash, :default)
1826
+ end
1827
+
1828
+ # Update all values using the entries in the hash, ignoring any setting of
1829
+ # +allowed_columns+ in the model.
1830
+ #
1831
+ # Artist.set_allowed_columns(:num_albums)
1832
+ # artist.update_all(:name=>'Jim') # UPDATE artists SET name = 'Jim' WHERE (id = 1)
1833
+ def update_all(hash)
1834
+ update_restricted(hash, :all)
1835
+ end
1836
+
1837
+ # Update the instances values by calling +set_fields+ with the arguments, then
1838
+ # saves any changes to the record. Returns self.
1839
+ #
1840
+ # artist.update_fields({:name=>'Jim'}, [:name])
1841
+ # # UPDATE artists SET name = 'Jim' WHERE (id = 1)
1842
+ #
1843
+ # artist.update_fields({:hometown=>'LA'}, [:name])
1844
+ # # UPDATE artists SET name = NULL WHERE (id = 1)
1845
+ def update_fields(hash, fields, opts=nil)
1846
+ set_fields(hash, fields, opts)
1847
+ save_changes
1848
+ end
1849
+
1850
+ # Update the values using the entries in the hash, only if the key
1851
+ # is included in only. It may be a better idea to use +update_fields+
1852
+ # instead of this method.
1853
+ #
1854
+ # artist.update_only({:name=>'Jim'}, :name)
1855
+ # # UPDATE artists SET name = 'Jim' WHERE (id = 1)
1856
+ #
1857
+ # artist.update_only({:hometown=>'LA'}, :name) # Raise Error
1858
+ def update_only(hash, *only)
1859
+ update_restricted(hash, only.flatten)
1860
+ end
1861
+
1862
+ # Validates the object. If the object is invalid, errors should be added
1863
+ # to the errors attribute. By default, does nothing, as all models
1864
+ # are valid by default. See the {"Model Validations" guide}[rdoc-ref:doc/validations.rdoc].
1865
+ # for details about validation. Should not be called directly by
1866
+ # user code, call <tt>valid?</tt> instead to check if an object
1867
+ # is valid.
1868
+ def validate
1869
+ end
1870
+
1871
+ # Validates the object and returns true if no errors are reported.
1872
+ #
1873
+ # artist(:name=>'Valid').valid? # => true
1874
+ # artist(:name=>'Invalid').valid? # => false
1875
+ # artist.errors.full_messages # => ['name cannot be Invalid']
1876
+ def valid?(opts = OPTS)
1877
+ _before_validation
1878
+ _valid?(false, opts)
1879
+ end
1880
+
1881
+ private
1882
+
1883
+ # Run code directly after the INSERT query, before after_create.
1884
+ # This is only a temporary API, it should not be overridden by external code.
1885
+ def _after_create(pk)
1886
+ @this = nil
1887
+ @new = false
1888
+ @was_new = true
1889
+ end
1890
+
1891
+ # Run code after around_save returns, before calling after_commit.
1892
+ # This is only a temporary API, it should not be overridden by external code.
1893
+ def _after_save(pk)
1894
+ if @was_new
1895
+ @was_new = nil
1896
+ pk ? _save_refresh : changed_columns.clear
1897
+ else
1898
+ @columns_updated = nil
1899
+ end
1900
+ @modified = false
1901
+ end
1902
+
1903
+ # Run code directly after the UPDATE query, before after_update.
1904
+ # This is only a temporary API, it should not be overridden by external code.
1905
+ def _after_update
1906
+ @this = nil
1907
+ end
1908
+
1909
+ # Run code before any validation is done, but also run it before saving
1910
+ # even if validation is skipped. This is a private hook. It exists so that
1911
+ # plugins can set values automatically before validation (as the values
1912
+ # need to be validated), but should be set even if validation is skipped.
1913
+ # Unlike the regular before_validation hook, we do not skip the save/validation
1914
+ # if this returns false.
1915
+ def _before_validation
1916
+ end
1917
+
1918
+ # Do the deletion of the object's dataset, and check that the row
1919
+ # was actually deleted.
1920
+ def _delete
1921
+ n = _delete_without_checking
1922
+ raise(NoExistingObject, "Attempt to delete object did not result in a single row modification (Rows Deleted: #{n}, SQL: #{_delete_dataset.delete_sql})") if require_modification && n != 1
1923
+ n
1924
+ end
1925
+
1926
+ # The dataset to use when deleting the object. The same as the object's
1927
+ # dataset by default.
1928
+ def _delete_dataset
1929
+ this
1930
+ end
1931
+
1932
+ # Actually do the deletion of the object's dataset. Return the
1933
+ # number of rows modified.
1934
+ def _delete_without_checking
1935
+ if sql = (m = model).fast_instance_delete_sql
1936
+ sql = sql.dup
1937
+ ds = use_server(m.dataset)
1938
+ ds.literal_append(sql, pk)
1939
+ ds.with_sql_delete(sql)
1940
+ else
1941
+ _delete_dataset.delete
1942
+ end
1943
+ end
1944
+
1945
+ # Internal destroy method, separted from destroy to
1946
+ # allow running inside a transaction
1947
+ def _destroy(opts)
1948
+ sh = {:server=>this_server}
1949
+ db.after_rollback(sh){after_destroy_rollback} if uacr = use_after_commit_rollback
1950
+ called = false
1951
+ around_destroy do
1952
+ called = true
1953
+ raise_hook_failure(:before_destroy) if before_destroy == false
1954
+ _destroy_delete
1955
+ after_destroy
1956
+ true
1957
+ end
1958
+ raise_hook_failure(:around_destroy) unless called
1959
+ db.after_commit(sh){after_destroy_commit} if uacr
1960
+ self
1961
+ end
1962
+
1963
+ # Internal delete method to call when destroying an object,
1964
+ # separated from delete to allow you to override destroy's version
1965
+ # without affecting delete.
1966
+ def _destroy_delete
1967
+ delete
1968
+ end
1969
+
1970
+ # Insert the record into the database, returning the primary key if
1971
+ # the record should be refreshed from the database.
1972
+ def _insert
1973
+ ds = _insert_dataset
1974
+ if _use_insert_select?(ds) && (h = _insert_select_raw(ds))
1975
+ _save_set_values(h)
1976
+ nil
1977
+ else
1978
+ iid = _insert_raw(ds)
1979
+ # if we have a regular primary key and it's not set in @values,
1980
+ # we assume it's the last inserted id
1981
+ if (pk = autoincrementing_primary_key) && pk.is_a?(Symbol) && !(vals = @values)[pk]
1982
+ vals[pk] = iid
1983
+ end
1984
+ pk
1985
+ end
1986
+ end
1987
+
1988
+ # The dataset to use when inserting a new object. The same as the model's
1989
+ # dataset by default.
1990
+ def _insert_dataset
1991
+ use_server(model.instance_dataset)
1992
+ end
1993
+
1994
+ # Insert into the given dataset and return the primary key created (if any).
1995
+ def _insert_raw(ds)
1996
+ ds.insert(_insert_values)
1997
+ end
1998
+
1999
+ # Insert into the given dataset and return the hash of column values.
2000
+ def _insert_select_raw(ds)
2001
+ ds.insert_select(_insert_values)
2002
+ end
2003
+
2004
+ # The values hash to use when inserting a new record.
2005
+ alias _insert_values values
2006
+
2007
+ # Refresh using a particular dataset, used inside save to make sure the same server
2008
+ # is used for reading newly inserted values from the database
2009
+ def _refresh(dataset)
2010
+ _refresh_set_values(_refresh_get(dataset) || raise(NoExistingObject, "Record not found"))
2011
+ changed_columns.clear
2012
+ end
2013
+
2014
+ # Get the row of column data from the database.
2015
+ def _refresh_get(dataset)
2016
+ dataset.first
2017
+ end
2018
+
2019
+ # Set the refreshed values after
2020
+ def _refresh_set_values(h)
2021
+ @values = h
2022
+ end
2023
+
2024
+ # Internal version of save, split from save to allow running inside
2025
+ # it's own transaction.
2026
+ def _save(opts)
2027
+ sh = {:server=>this_server}
2028
+ db.after_rollback(sh){after_rollback} if uacr = use_after_commit_rollback
2029
+ pk = nil
2030
+ called_save = false
2031
+ called_cu = false
2032
+ around_save do
2033
+ called_save = true
2034
+ raise_hook_failure(:before_save) if before_save == false
2035
+ if new?
2036
+ around_create do
2037
+ called_cu = true
2038
+ raise_hook_failure(:before_create) if before_create == false
2039
+ pk = _insert
2040
+ _after_create(pk)
2041
+ after_create
2042
+ true
2043
+ end
2044
+ raise_hook_failure(:around_create) unless called_cu
2045
+ else
2046
+ around_update do
2047
+ called_cu = true
2048
+ raise_hook_failure(:before_update) if before_update == false
2049
+ columns = opts[:columns]
2050
+ if columns.nil?
2051
+ @columns_updated = if opts[:changed]
2052
+ @values.reject{|k,v| !changed_columns.include?(k)}
2053
+ else
2054
+ _save_update_all_columns_hash
2055
+ end
2056
+ changed_columns.clear
2057
+ else # update only the specified columns
2058
+ columns = Array(columns)
2059
+ @columns_updated = @values.reject{|k, v| !columns.include?(k)}
2060
+ changed_columns.reject!{|c| columns.include?(c)}
2061
+ end
2062
+ _update_columns(@columns_updated)
2063
+ _after_update
2064
+ after_update
2065
+ true
2066
+ end
2067
+ raise_hook_failure(:around_update) unless called_cu
2068
+ end
2069
+ after_save
2070
+ true
2071
+ end
2072
+ raise_hook_failure(:around_save) unless called_save
2073
+ _after_save(pk)
2074
+ db.after_commit(sh){after_commit} if uacr
2075
+ self
2076
+ end
2077
+
2078
+ # Refresh the object after saving it, used to get
2079
+ # default values of all columns. Separated from _save so it
2080
+ # can be overridden to avoid the refresh.
2081
+ def _save_refresh
2082
+ _save_set_values(_refresh_get(this.server?(:default)) || raise(NoExistingObject, "Record not found"))
2083
+ changed_columns.clear
2084
+ end
2085
+
2086
+ # Set values to the provided hash. Called after a create,
2087
+ # to set the full values from the database in the model instance.
2088
+ def _save_set_values(h)
2089
+ @values = h
2090
+ end
2091
+
2092
+ # Return a hash of values used when saving all columns of an
2093
+ # existing object (i.e. not passing specific columns to save
2094
+ # or using update/save_changes). Defaults to all of the
2095
+ # object's values except unmodified primary key columns, as some
2096
+ # databases don't like you setting primary key values even
2097
+ # to their existing values.
2098
+ def _save_update_all_columns_hash
2099
+ v = Hash[@values]
2100
+ Array(primary_key).each{|x| v.delete(x) unless changed_columns.include?(x)}
2101
+ v
2102
+ end
2103
+
2104
+ # Call _update with the given columns, if any are present.
2105
+ # Plugins can override this method in order to update with
2106
+ # additional columns, even when the column hash is initially empty.
2107
+ def _update_columns(columns)
2108
+ _update(columns) unless columns.empty?
2109
+ end
2110
+
2111
+ # Update this instance's dataset with the supplied column hash,
2112
+ # checking that only a single row was modified.
2113
+ def _update(columns)
2114
+ n = _update_without_checking(columns)
2115
+ raise(NoExistingObject, "Attempt to update object did not result in a single row modification (SQL: #{_update_dataset.update_sql(columns)})") if require_modification && n != 1
2116
+ n
2117
+ end
2118
+
2119
+ # The dataset to use when updating an object. The same as the object's
2120
+ # dataset by default.
2121
+ def _update_dataset
2122
+ this
2123
+ end
2124
+
2125
+ # Update this instances dataset with the supplied column hash.
2126
+ def _update_without_checking(columns)
2127
+ _update_dataset.update(columns)
2128
+ end
2129
+
2130
+ # Whether to use insert_select when inserting a new row.
2131
+ def _use_insert_select?(ds)
2132
+ (!ds.opts[:select] || ds.opts[:returning]) && ds.supports_insert_select?
2133
+ end
2134
+
2135
+ # Internal validation method. If +raise_errors+ is +true+, hook
2136
+ # failures will be raised as HookFailure exceptions. If it is
2137
+ # +false+, +false+ will be returned instead.
2138
+ def _valid?(raise_errors, opts)
2139
+ return errors.empty? if frozen?
2140
+ errors.clear
2141
+ called = false
2142
+ error = false
2143
+ around_validation do
2144
+ called = true
2145
+ if before_validation == false
2146
+ if raise_errors
2147
+ raise_hook_failure(:before_validation)
2148
+ else
2149
+ error = true
2150
+ end
2151
+ false
2152
+ else
2153
+ validate
2154
+ after_validation
2155
+ errors.empty?
2156
+ end
2157
+ end
2158
+ error = true unless called
2159
+ if error
2160
+ if raise_errors
2161
+ raise_hook_failure(:around_validation)
2162
+ else
2163
+ false
2164
+ end
2165
+ else
2166
+ errors.empty?
2167
+ end
2168
+ end
2169
+
2170
+ # If not raising on failure, check for HookFailed
2171
+ # being raised by yielding and swallow it.
2172
+ def checked_save_failure(opts)
2173
+ if raise_on_failure?(opts)
2174
+ yield
2175
+ else
2176
+ begin
2177
+ yield
2178
+ rescue HookFailed
2179
+ nil
2180
+ end
2181
+ end
2182
+ end
2183
+
2184
+ # If transactions should be used, wrap the yield in a transaction block.
2185
+ def checked_transaction(opts=OPTS)
2186
+ use_transaction?(opts) ? db.transaction({:server=>this_server}.merge!(opts)){yield} : yield
2187
+ end
2188
+
2189
+ # Change the value of the column to given value, recording the change.
2190
+ def change_column_value(column, value)
2191
+ cc = changed_columns
2192
+ cc << column unless cc.include?(column)
2193
+ @values[column] = value
2194
+ end
2195
+
2196
+ # Default error class used for errors.
2197
+ def errors_class
2198
+ Errors
2199
+ end
2200
+
2201
+ if RUBY_VERSION >= '1.9'
2202
+ # Clone constructor -- freeze internal data structures if the original's
2203
+ # are frozen.
2204
+ def initialize_clone(other)
2205
+ super
2206
+ freeze if other.frozen?
2207
+ self
2208
+ end
2209
+ else
2210
+ # :nocov:
2211
+ # Ruby 1.8 doesn't support initialize_clone, so override clone to dup and freeze.
2212
+ def clone
2213
+ o = dup
2214
+ o.freeze if frozen?
2215
+ o
2216
+ end
2217
+ public :clone
2218
+ # :nocov:
2219
+ end
2220
+
2221
+ # Copy constructor -- Duplicate internal data structures.
2222
+ def initialize_copy(other)
2223
+ super
2224
+ @values = Hash[@values]
2225
+ @changed_columns = @changed_columns.dup if @changed_columns
2226
+ @errors = @errors.dup if @errors
2227
+ @this = @this.dup if @this
2228
+ self
2229
+ end
2230
+
2231
+ # Set the columns with the given hash. By default, the same as +set+, but
2232
+ # exists so it can be overridden. This is called only for new records, before
2233
+ # changed_columns is cleared.
2234
+ def initialize_set(h)
2235
+ set(h) unless h.empty?
2236
+ end
2237
+
2238
+ # Default inspection output for the values hash, overwrite to change what #inspect displays.
2239
+ def inspect_values
2240
+ @values.inspect
2241
+ end
2242
+
2243
+ # Whether to raise or return false if this action fails. If the
2244
+ # :raise_on_failure option is present in the hash, use that, otherwise,
2245
+ # fallback to the object's raise_on_save_failure (if set), or
2246
+ # class's default (if not).
2247
+ def raise_on_failure?(opts)
2248
+ opts.fetch(:raise_on_failure, raise_on_save_failure)
2249
+ end
2250
+
2251
+ # Raise an error appropriate to the hook type. May be swallowed by
2252
+ # checked_save_failure depending on the raise_on_failure? setting.
2253
+ def raise_hook_failure(type=nil)
2254
+ msg = case type
2255
+ when String
2256
+ type
2257
+ when Symbol
2258
+ "the #{type} hook failed"
2259
+ else
2260
+ "a hook failed"
2261
+ end
2262
+
2263
+ raise HookFailed.new(msg, self)
2264
+ end
2265
+
2266
+ # Get the ruby class or classes related to the given column's type.
2267
+ def schema_type_class(column)
2268
+ if (sch = db_schema[column]) && (type = sch[:type])
2269
+ db.schema_type_class(type)
2270
+ end
2271
+ end
2272
+
2273
+ # Call setter methods based on keys in hash, with the appropriate values.
2274
+ # Restrict which methods can be called based on the provided type.
2275
+ def set_restricted(hash, type)
2276
+ return self if hash.empty?
2277
+ meths = setter_methods(type)
2278
+ strict = strict_param_setting
2279
+ hash.each do |k,v|
2280
+ m = "#{k}="
2281
+ if meths.include?(m)
2282
+ set_column_value(m, v)
2283
+ elsif strict
2284
+ # Avoid using respond_to? or creating symbols from user input
2285
+ if public_methods.map(&:to_s).include?(m)
2286
+ if Array(model.primary_key).map(&:to_s).member?(k.to_s) && model.restrict_primary_key?
2287
+ raise MassAssignmentRestriction, "#{k} is a restricted primary key"
2288
+ else
2289
+ raise MassAssignmentRestriction, "#{k} is a restricted column"
2290
+ end
2291
+ else
2292
+ raise MassAssignmentRestriction, "method #{m} doesn't exist"
2293
+ end
2294
+ end
2295
+ end
2296
+ self
2297
+ end
2298
+
2299
+ # Returns all methods that can be used for attribute assignment (those that end with =),
2300
+ # depending on the type:
2301
+ #
2302
+ # :default :: Use the default methods allowed in the model class.
2303
+ # :all :: Allow setting all setters, except those specifically restricted (such as ==).
2304
+ # Array :: Only allow setting of columns in the given array.
2305
+ def setter_methods(type)
2306
+ if type == :default
2307
+ if !@singleton_setter_added || model.allowed_columns
2308
+ return model.setter_methods
2309
+ end
2310
+ end
2311
+
2312
+ if type.is_a?(Array)
2313
+ type.map{|x| "#{x}="}
2314
+ else
2315
+ meths = methods.collect(&:to_s).grep(SETTER_METHOD_REGEXP) - RESTRICTED_SETTER_METHODS
2316
+ meths -= Array(primary_key).map{|x| "#{x}="} if type != :all && primary_key && model.restrict_primary_key?
2317
+ meths
2318
+ end
2319
+ end
2320
+
2321
+ # The server/shard that the model object's dataset uses, or :default if the
2322
+ # model object's dataset does not have an associated shard.
2323
+ def this_server
2324
+ if (s = @server)
2325
+ s
2326
+ elsif (t = @this)
2327
+ t.opts[:server] || :default
2328
+ else
2329
+ model.dataset.opts[:server] || :default
2330
+ end
2331
+ end
2332
+
2333
+ # Typecast the value to the column's type if typecasting. Calls the database's
2334
+ # typecast_value method, so database adapters can override/augment the handling
2335
+ # for database specific column types.
2336
+ def typecast_value(column, value)
2337
+ return value unless typecast_on_assignment && db_schema && (col_schema = db_schema[column])
2338
+ value = nil if '' == value and typecast_empty_string_to_nil and col_schema[:type] and ![:string, :blob].include?(col_schema[:type])
2339
+ raise(InvalidValue, "nil/NULL is not allowed for the #{column} column") if raise_on_typecast_failure && value.nil? && (col_schema[:allow_null] == false)
2340
+ begin
2341
+ model.db.typecast_value(col_schema[:type], value)
2342
+ rescue InvalidValue
2343
+ raise_on_typecast_failure ? raise : value
2344
+ end
2345
+ end
2346
+
2347
+ # Set the columns, filtered by the only and except arrays.
2348
+ def update_restricted(hash, type)
2349
+ set_restricted(hash, type)
2350
+ save_changes
2351
+ end
2352
+
2353
+ # Set the given dataset to use the current object's shard.
2354
+ def use_server(ds)
2355
+ @server ? ds.server(@server) : ds
2356
+ end
2357
+
2358
+ # Whether to use a transaction for this action. If the :transaction
2359
+ # option is present in the hash, use that, otherwise, fallback to the
2360
+ # object's default (if set), or class's default (if not).
2361
+ def use_transaction?(opts = OPTS)
2362
+ opts.fetch(:transaction, use_transactions)
2363
+ end
2364
+ end
2365
+
2366
+ # Dataset methods are methods that the model class extends its dataset with in
2367
+ # the call to set_dataset.
2368
+ module DatasetMethods
2369
+ # The model class associated with this dataset
2370
+ #
2371
+ # Artist.dataset.model # => Artist
2372
+ attr_accessor :model
2373
+
2374
+ # Assume if a single integer is given that it is a lookup by primary
2375
+ # key, and call with_pk with the argument.
2376
+ #
2377
+ # Artist.dataset[1] # SELECT * FROM artists WHERE (id = 1) LIMIT 1
2378
+ def [](*args)
2379
+ if args.length == 1 && (i = args.at(0)) && i.is_a?(Integer)
2380
+ with_pk(i)
2381
+ else
2382
+ super
2383
+ end
2384
+ end
2385
+
2386
+ # Destroy each row in the dataset by instantiating it and then calling
2387
+ # destroy on the resulting model object. This isn't as fast as deleting
2388
+ # the dataset, which does a single SQL call, but this runs any destroy
2389
+ # hooks on each object in the dataset.
2390
+ #
2391
+ # Artist.dataset.destroy
2392
+ # # DELETE FROM artists WHERE (id = 1)
2393
+ # # DELETE FROM artists WHERE (id = 2)
2394
+ # # ...
2395
+ def destroy
2396
+ pr = proc{all(&:destroy).length}
2397
+ model.use_transactions ? @db.transaction(:server=>opts[:server], &pr) : pr.call
2398
+ end
2399
+
2400
+ # Allow Sequel::Model classes to be used as dataset arguments when graphing:
2401
+ #
2402
+ # Artist.graph(Album, :artist_id=>id)
2403
+ # # SELECT artists.id, artists.name, albums.id AS albums_id, albums.artist_id, albums.name AS albums_name
2404
+ # # FROM artists LEFT OUTER JOIN albums ON (albums.artist_id = artists.id)
2405
+ def graph(table, *args, &block)
2406
+ if table.is_a?(Class) && table < Sequel::Model
2407
+ super(table.dataset, *args, &block)
2408
+ else
2409
+ super
2410
+ end
2411
+ end
2412
+
2413
+ # Handle Sequel::Model instances when inserting, using the model instance's
2414
+ # values for the insert, unless the model instance can be used directly in
2415
+ # SQL.
2416
+ #
2417
+ # Album.insert(Album.load(:name=>'A'))
2418
+ # # INSERT INTO albums (name) VALUES ('A')
2419
+ def insert_sql(*values)
2420
+ if values.size == 1 && (v = values.at(0)).is_a?(Sequel::Model) && !v.respond_to?(:sql_literal_append)
2421
+ super(v.to_hash)
2422
+ else
2423
+ super
2424
+ end
2425
+ end
2426
+
2427
+ # Allow Sequel::Model classes to be used as table name arguments in dataset
2428
+ # join methods:
2429
+ #
2430
+ # Artist.join(Album, :artist_id=>id)
2431
+ # # SELECT * FROM artists INNER JOIN albums ON (albums.artist_id = artists.id)
2432
+ def join_table(type, table, *args, &block)
2433
+ if table.is_a?(Class) && table < Sequel::Model
2434
+ if table.dataset.simple_select_all?
2435
+ super(type, table.table_name, *args, &block)
2436
+ else
2437
+ super(type, table.dataset, *args, &block)
2438
+ end
2439
+ else
2440
+ super
2441
+ end
2442
+ end
2443
+
2444
+ # If there is no order already defined on this dataset, order it by
2445
+ # the primary key and call last.
2446
+ #
2447
+ # Album.last
2448
+ # # SELECT * FROM albums ORDER BY id DESC LIMIT 1
2449
+ def last(*a, &block)
2450
+ if opts[:order].nil? && model && (pk = model.primary_key)
2451
+ order(*pk).last(*a, &block)
2452
+ else
2453
+ super
2454
+ end
2455
+ end
2456
+
2457
+ # If there is no order already defined on this dataset, order it by
2458
+ # the primary key and call paged_each.
2459
+ #
2460
+ # Album.paged_each{|row| }
2461
+ # # SELECT * FROM albums ORDER BY id LIMIT 1000 OFFSET 0
2462
+ # # SELECT * FROM albums ORDER BY id LIMIT 1000 OFFSET 1000
2463
+ # # SELECT * FROM albums ORDER BY id LIMIT 1000 OFFSET 2000
2464
+ # # ...
2465
+ def paged_each(*a, &block)
2466
+ if opts[:order].nil? && model && (pk = model.primary_key)
2467
+ order(*pk).paged_each(*a, &block)
2468
+ else
2469
+ super
2470
+ end
2471
+ end
2472
+
2473
+ # This allows you to call +to_hash+ without any arguments, which will
2474
+ # result in a hash with the primary key value being the key and the
2475
+ # model object being the value.
2476
+ #
2477
+ # Artist.dataset.to_hash # SELECT * FROM artists
2478
+ # # => {1=>#<Artist {:id=>1, ...}>,
2479
+ # # 2=>#<Artist {:id=>2, ...}>,
2480
+ # # ...}
2481
+ def to_hash(key_column=nil, value_column=nil, opts=OPTS)
2482
+ if key_column
2483
+ super
2484
+ else
2485
+ raise(Sequel::Error, "No primary key for model") unless model && (pk = model.primary_key)
2486
+ super(pk, value_column, opts)
2487
+ end
2488
+ end
2489
+
2490
+ # Given a primary key value, return the first record in the dataset with that primary key
2491
+ # value. If no records matches, returns nil.
2492
+ #
2493
+ # # Single primary key
2494
+ # Artist.dataset.with_pk(1)
2495
+ # # SELECT * FROM artists WHERE (artists.id = 1) LIMIT 1
2496
+ #
2497
+ # # Composite primary key
2498
+ # Artist.dataset.with_pk([1, 2])
2499
+ # # SELECT * FROM artists WHERE ((artists.id1 = 1) AND (artists.id2 = 2)) LIMIT 1
2500
+ def with_pk(pk)
2501
+ first(model.qualified_primary_key_hash(pk))
2502
+ end
2503
+
2504
+ # Same as with_pk, but raises NoMatchingRow instead of returning nil if no
2505
+ # row matches.
2506
+ def with_pk!(pk)
2507
+ with_pk(pk) || raise(NoMatchingRow.new(self))
2508
+ end
2509
+ end
2510
+
2511
+ extend ClassMethods
2512
+ plugin self
2513
+ finder(:where, :arity=>1, :mod=>ClassMethods)
2514
+ end
2515
+ end