asana2flowdock 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1601) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +58 -0
  4. data/README.md +85 -0
  5. data/Rakefile +394 -0
  6. data/a.rb +336 -0
  7. data/a.yml +6 -0
  8. data/asana2flowdock.gemspec +1878 -0
  9. data/bin/amalgalite-pack +16 -0
  10. data/bin/asana2flowdock +274 -0
  11. data/bin/asana2flowdock-daemon +16 -0
  12. data/bin/coderay +16 -0
  13. data/bin/httparty +16 -0
  14. data/bin/pry +16 -0
  15. data/bin/sekrets +16 -0
  16. data/bin/sequel +16 -0
  17. data/config/asana2flowdock.yml.enc +2 -0
  18. data/lib/asana2flowdock.rb +98 -0
  19. data/lib/asana2flowdock/asana.rb +225 -0
  20. data/vendor/bundle/ruby/1.9.1/bin/amalgalite-pack +23 -0
  21. data/vendor/bundle/ruby/1.9.1/bin/asana2flowdock +23 -0
  22. data/vendor/bundle/ruby/1.9.1/bin/asana2flowdock-daemon +23 -0
  23. data/vendor/bundle/ruby/1.9.1/bin/coderay +23 -0
  24. data/vendor/bundle/ruby/1.9.1/bin/httparty +23 -0
  25. data/vendor/bundle/ruby/1.9.1/bin/pry +23 -0
  26. data/vendor/bundle/ruby/1.9.1/bin/sekrets +23 -0
  27. data/vendor/bundle/ruby/1.9.1/bin/sequel +23 -0
  28. data/vendor/bundle/ruby/1.9.1/build_info/amalgalite-1.3.0.info +1 -0
  29. data/vendor/bundle/ruby/1.9.1/build_info/arrayfields-4.7.4.info +1 -0
  30. data/vendor/bundle/ruby/1.9.1/build_info/chronic-0.10.2.info +1 -0
  31. data/vendor/bundle/ruby/1.9.1/build_info/coderay-1.1.0.info +1 -0
  32. data/vendor/bundle/ruby/1.9.1/build_info/coerce-0.0.6.info +1 -0
  33. data/vendor/bundle/ruby/1.9.1/build_info/daemons-1.1.9.info +1 -0
  34. data/vendor/bundle/ruby/1.9.1/build_info/fastercsv-1.5.5.info +1 -0
  35. data/vendor/bundle/ruby/1.9.1/build_info/fattr-2.2.2.info +1 -0
  36. data/vendor/bundle/ruby/1.9.1/build_info/flowdock-0.5.0.info +1 -0
  37. data/vendor/bundle/ruby/1.9.1/build_info/highline-1.6.21.info +1 -0
  38. data/vendor/bundle/ruby/1.9.1/build_info/httparty-0.13.1.info +1 -0
  39. data/vendor/bundle/ruby/1.9.1/build_info/json-1.8.1.info +1 -0
  40. data/vendor/bundle/ruby/1.9.1/build_info/main-6.0.0.info +1 -0
  41. data/vendor/bundle/ruby/1.9.1/build_info/main-6.1.0.info +1 -0
  42. data/vendor/bundle/ruby/1.9.1/build_info/map-6.5.5.info +1 -0
  43. data/vendor/bundle/ruby/1.9.1/build_info/method_source-0.8.2.info +1 -0
  44. data/vendor/bundle/ruby/1.9.1/build_info/multi_json-1.10.1.info +1 -0
  45. data/vendor/bundle/ruby/1.9.1/build_info/multi_xml-0.5.5.info +1 -0
  46. data/vendor/bundle/ruby/1.9.1/build_info/pry-0.9.12.6.info +1 -0
  47. data/vendor/bundle/ruby/1.9.1/build_info/sekrets-1.7.0.info +1 -0
  48. data/vendor/bundle/ruby/1.9.1/build_info/sequel-4.15.0.info +1 -0
  49. data/vendor/bundle/ruby/1.9.1/build_info/slop-3.5.0.info +1 -0
  50. data/vendor/bundle/ruby/1.9.1/build_info/threadify-1.3.0.info +1 -0
  51. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/CONTRIBUTING.md +49 -0
  52. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/HISTORY.md +315 -0
  53. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/LICENSE +29 -0
  54. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/Manifest.txt +104 -0
  55. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/README.md +73 -0
  56. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/Rakefile +25 -0
  57. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/TODO.md +50 -0
  58. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/bin/amalgalite-pack +147 -0
  59. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/a.rb +9 -0
  60. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/blob.rb +88 -0
  61. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/bootstrap.rb +36 -0
  62. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/define_aggregate.rb +75 -0
  63. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/define_function.rb +104 -0
  64. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/fts3.rb +144 -0
  65. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/gem-db.rb +94 -0
  66. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/require_me.rb +11 -0
  67. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/requires.rb +42 -0
  68. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/examples/schema-info.rb +34 -0
  69. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/Makefile +220 -0
  70. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite.bundle +0 -0
  71. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite.c +329 -0
  72. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite.h +151 -0
  73. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite.o +0 -0
  74. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_blob.c +240 -0
  75. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_blob.o +0 -0
  76. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_constants.c +378 -0
  77. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_constants.o +0 -0
  78. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_database.c +1177 -0
  79. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_database.o +0 -0
  80. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_requires_bootstrap.c +282 -0
  81. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_requires_bootstrap.o +0 -0
  82. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_statement.c +649 -0
  83. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/amalgalite_statement.o +0 -0
  84. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/extconf.rb +36 -0
  85. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/gen_constants.rb +193 -0
  86. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/notes.txt +134 -0
  87. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3.c +137414 -0
  88. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3.h +7160 -0
  89. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3.o +0 -0
  90. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3_options.h +4 -0
  91. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/ext/amalgalite/c/sqlite3ext.h +447 -0
  92. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite.rb +51 -0
  93. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/1.9/amalgalite.bundle +0 -0
  94. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/aggregate.rb +67 -0
  95. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/blob.rb +186 -0
  96. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/boolean.rb +42 -0
  97. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/busy_timeout.rb +47 -0
  98. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/column.rb +99 -0
  99. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/core_ext/kernel/require.rb +21 -0
  100. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/csv_table_importer.rb +74 -0
  101. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/database.rb +984 -0
  102. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/function.rb +61 -0
  103. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/index.rb +43 -0
  104. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/memory_database.rb +15 -0
  105. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/packer.rb +231 -0
  106. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/paths.rb +80 -0
  107. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/profile_tap.rb +131 -0
  108. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/progress_handler.rb +21 -0
  109. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/requires.rb +151 -0
  110. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/schema.rb +225 -0
  111. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3.rb +6 -0
  112. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/constants.rb +95 -0
  113. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/database/function.rb +48 -0
  114. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/database/status.rb +68 -0
  115. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/status.rb +60 -0
  116. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/sqlite3/version.rb +55 -0
  117. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/statement.rb +418 -0
  118. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/table.rb +91 -0
  119. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/taps.rb +2 -0
  120. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/taps/console.rb +27 -0
  121. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/taps/io.rb +71 -0
  122. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/trace_tap.rb +35 -0
  123. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/type_map.rb +63 -0
  124. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/type_maps/default_map.rb +166 -0
  125. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/type_maps/storage_map.rb +38 -0
  126. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/type_maps/text_map.rb +21 -0
  127. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/version.rb +8 -0
  128. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/lib/amalgalite/view.rb +26 -0
  129. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/aggregate_spec.rb +150 -0
  130. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/amalgalite_spec.rb +4 -0
  131. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/blob_spec.rb +78 -0
  132. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/boolean_spec.rb +24 -0
  133. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/busy_handler.rb +157 -0
  134. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/data/iso-3166-country.txt +242 -0
  135. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/data/iso-3166-schema.sql +22 -0
  136. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/data/iso-3166-subcountry.txt +3995 -0
  137. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/data/make-iso-db.sh +12 -0
  138. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/database_spec.rb +510 -0
  139. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/default_map_spec.rb +92 -0
  140. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/function_spec.rb +78 -0
  141. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/integeration_spec.rb +97 -0
  142. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/iso_3166_database.rb +58 -0
  143. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/packer_spec.rb +60 -0
  144. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/paths_spec.rb +28 -0
  145. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/progress_handler_spec.rb +91 -0
  146. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/requires_spec.rb +54 -0
  147. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/rtree_spec.rb +66 -0
  148. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/schema_spec.rb +131 -0
  149. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/spec_helper.rb +43 -0
  150. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3/constants_spec.rb +108 -0
  151. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3/database_status_spec.rb +36 -0
  152. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3/status_spec.rb +22 -0
  153. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3/version_spec.rb +22 -0
  154. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/sqlite3_spec.rb +53 -0
  155. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/statement_spec.rb +168 -0
  156. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/storage_map_spec.rb +38 -0
  157. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/tap_spec.rb +57 -0
  158. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/text_map_spec.rb +20 -0
  159. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/type_map_spec.rb +14 -0
  160. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/spec/version_spec.rb +8 -0
  161. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/tasks/custom.rake +99 -0
  162. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/tasks/default.rake +277 -0
  163. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/tasks/extension.rake +38 -0
  164. data/vendor/bundle/ruby/1.9.1/gems/amalgalite-1.3.0/tasks/this.rb +209 -0
  165. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/README +378 -0
  166. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/arrayfields.gemspec +26 -0
  167. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/gemspec.rb +62 -0
  168. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/install.rb +206 -0
  169. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/lib/arrayfields.rb +443 -0
  170. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/readme.rb +248 -0
  171. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/a.rb +40 -0
  172. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/b.rb +16 -0
  173. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/c.rb +9 -0
  174. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/d.rb +25 -0
  175. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/sample/e.rb +15 -0
  176. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/test/arrayfields.rb +324 -0
  177. data/vendor/bundle/ruby/1.9.1/gems/arrayfields-4.7.4/test/memtest.rb +41 -0
  178. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/HISTORY.md +243 -0
  179. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/LICENSE +21 -0
  180. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/README.md +182 -0
  181. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/Rakefile +66 -0
  182. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/chronic.gemspec +23 -0
  183. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic.rb +150 -0
  184. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/date.rb +82 -0
  185. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/grabber.rb +33 -0
  186. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/handler.rb +97 -0
  187. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/handlers.rb +647 -0
  188. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/mini_date.rb +38 -0
  189. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/numerizer.rb +130 -0
  190. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/ordinal.rb +49 -0
  191. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/parser.rb +268 -0
  192. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/pointer.rb +32 -0
  193. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeater.rb +145 -0
  194. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_day.rb +54 -0
  195. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_day_name.rb +53 -0
  196. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_day_portion.rb +109 -0
  197. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_fortnight.rb +72 -0
  198. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_hour.rb +59 -0
  199. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_minute.rb +59 -0
  200. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_month.rb +80 -0
  201. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_month_name.rb +95 -0
  202. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_season.rb +111 -0
  203. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_season_name.rb +43 -0
  204. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_second.rb +43 -0
  205. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_time.rb +138 -0
  206. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_week.rb +75 -0
  207. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_weekday.rb +86 -0
  208. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_weekend.rb +67 -0
  209. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/repeaters/repeater_year.rb +78 -0
  210. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/scalar.rb +81 -0
  211. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/season.rb +26 -0
  212. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/separator.rb +207 -0
  213. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/sign.rb +49 -0
  214. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/span.rb +31 -0
  215. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/tag.rb +37 -0
  216. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/time.rb +40 -0
  217. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/time_zone.rb +32 -0
  218. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/lib/chronic/token.rb +51 -0
  219. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/helper.rb +12 -0
  220. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_chronic.rb +183 -0
  221. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_daylight_savings.rb +118 -0
  222. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_handler.rb +128 -0
  223. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_mini_date.rb +32 -0
  224. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_numerizer.rb +86 -0
  225. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_parsing.rb +1235 -0
  226. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_day_name.rb +51 -0
  227. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_day_portion.rb +254 -0
  228. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_fortnight.rb +62 -0
  229. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_hour.rb +68 -0
  230. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_minute.rb +34 -0
  231. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_month.rb +50 -0
  232. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_month_name.rb +56 -0
  233. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_season.rb +40 -0
  234. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_time.rb +88 -0
  235. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_week.rb +62 -0
  236. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_weekday.rb +55 -0
  237. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_weekend.rb +74 -0
  238. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_repeater_year.rb +69 -0
  239. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_span.rb +23 -0
  240. data/vendor/bundle/ruby/1.9.1/gems/chronic-0.10.2/test/test_token.rb +25 -0
  241. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/README_INDEX.rdoc +123 -0
  242. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/Rakefile +37 -0
  243. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/bin/coderay +215 -0
  244. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay.rb +284 -0
  245. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/duo.rb +81 -0
  246. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoder.rb +201 -0
  247. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/_map.rb +17 -0
  248. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/comment_filter.rb +25 -0
  249. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/count.rb +39 -0
  250. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/debug.rb +49 -0
  251. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/debug_lint.rb +63 -0
  252. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/div.rb +23 -0
  253. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/filter.rb +58 -0
  254. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/html.rb +332 -0
  255. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/html/css.rb +65 -0
  256. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/html/numbering.rb +108 -0
  257. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/html/output.rb +166 -0
  258. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/json.rb +83 -0
  259. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/lines_of_code.rb +45 -0
  260. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/lint.rb +59 -0
  261. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/null.rb +18 -0
  262. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/page.rb +24 -0
  263. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/span.rb +23 -0
  264. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/statistic.rb +95 -0
  265. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/terminal.rb +195 -0
  266. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/text.rb +46 -0
  267. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/token_kind_filter.rb +111 -0
  268. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/xml.rb +72 -0
  269. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/encoders/yaml.rb +50 -0
  270. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/for_redcloth.rb +95 -0
  271. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/helpers/file_type.rb +151 -0
  272. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/helpers/plugin.rb +274 -0
  273. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/helpers/word_list.rb +72 -0
  274. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanner.rb +355 -0
  275. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/_map.rb +24 -0
  276. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/c.rb +189 -0
  277. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/clojure.rb +217 -0
  278. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/cpp.rb +215 -0
  279. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/css.rb +196 -0
  280. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/debug.rb +75 -0
  281. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/delphi.rb +144 -0
  282. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/diff.rb +221 -0
  283. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/erb.rb +81 -0
  284. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/go.rb +208 -0
  285. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/groovy.rb +268 -0
  286. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/haml.rb +168 -0
  287. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/html.rb +275 -0
  288. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/java.rb +174 -0
  289. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/java/builtin_types.rb +421 -0
  290. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/java_script.rb +237 -0
  291. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/json.rb +98 -0
  292. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/lua.rb +280 -0
  293. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/php.rb +527 -0
  294. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/python.rb +287 -0
  295. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/raydebug.rb +75 -0
  296. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/ruby.rb +470 -0
  297. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/ruby/patterns.rb +178 -0
  298. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/ruby/string_state.rb +71 -0
  299. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/sass.rb +232 -0
  300. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/sql.rb +177 -0
  301. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/taskpaper.rb +36 -0
  302. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/text.rb +26 -0
  303. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/xml.rb +17 -0
  304. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/scanners/yaml.rb +140 -0
  305. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/style.rb +23 -0
  306. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/styles/_map.rb +7 -0
  307. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/styles/alpha.rb +152 -0
  308. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/token_kinds.rb +85 -0
  309. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/tokens.rb +161 -0
  310. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/tokens_proxy.rb +55 -0
  311. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/lib/coderay/version.rb +3 -0
  312. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/test/functional/basic.rb +318 -0
  313. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/test/functional/examples.rb +129 -0
  314. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/test/functional/for_redcloth.rb +78 -0
  315. data/vendor/bundle/ruby/1.9.1/gems/coderay-1.1.0/test/functional/suite.rb +15 -0
  316. data/vendor/bundle/ruby/1.9.1/gems/coerce-0.0.6/README +28 -0
  317. data/vendor/bundle/ruby/1.9.1/gems/coerce-0.0.6/Rakefile +392 -0
  318. data/vendor/bundle/ruby/1.9.1/gems/coerce-0.0.6/coerce.gemspec +31 -0
  319. data/vendor/bundle/ruby/1.9.1/gems/coerce-0.0.6/lib/coerce.rb +210 -0
  320. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/LICENSE +22 -0
  321. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/README +214 -0
  322. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/Rakefile +90 -0
  323. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/Releases +195 -0
  324. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/TODO +2 -0
  325. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/call/call.rb +57 -0
  326. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/call/call_monitor.rb +55 -0
  327. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/daemonize/daemonize.rb +27 -0
  328. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_crash.rb +17 -0
  329. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_exec.rb +16 -0
  330. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_exit.rb +15 -0
  331. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_hanging.rb +19 -0
  332. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_keep_pid_files.rb +17 -0
  333. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_monitor.rb +16 -0
  334. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_multiple.rb +16 -0
  335. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_normal.rb +11 -0
  336. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_ontop.rb +16 -0
  337. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_optionparser.rb +43 -0
  338. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_proc.rb +25 -0
  339. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_proc_multiple.rb +22 -0
  340. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_proc_rand.rb +23 -0
  341. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_proc_simple.rb +17 -0
  342. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/ctrl_slowstop.rb +16 -0
  343. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver.rb +12 -0
  344. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver_crashing.rb +14 -0
  345. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver_exiting.rb +8 -0
  346. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver_hanging.rb +21 -0
  347. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/examples/run/myserver_slowstop.rb +21 -0
  348. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons.rb +315 -0
  349. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/application.rb +477 -0
  350. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/application_group.rb +194 -0
  351. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/change_privilege.rb +19 -0
  352. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/cmdline.rb +121 -0
  353. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/controller.rb +140 -0
  354. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/daemonize.rb +169 -0
  355. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/etc_extension.rb +12 -0
  356. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/exceptions.rb +28 -0
  357. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/monitor.rb +138 -0
  358. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/pid.rb +108 -0
  359. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/pidfile.rb +116 -0
  360. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/lib/daemons/pidmem.rb +19 -0
  361. data/vendor/bundle/ruby/1.9.1/gems/daemons-1.1.9/setup.rb +1360 -0
  362. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/AUTHORS +1 -0
  363. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/CHANGELOG +182 -0
  364. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/COPYING +340 -0
  365. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/INSTALL +33 -0
  366. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/LICENSE +9 -0
  367. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/README +71 -0
  368. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/Rakefile +94 -0
  369. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/TODO +6 -0
  370. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_converters.rb +28 -0
  371. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_filter.rb +23 -0
  372. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_reading.rb +57 -0
  373. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_table.rb +56 -0
  374. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/csv_writing.rb +67 -0
  375. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/purchase.csv +3 -0
  376. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/examples/shortcut_interface.rb +36 -0
  377. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/lib/faster_csv.rb +2025 -0
  378. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/lib/fastercsv.rb +10 -0
  379. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/line_endings.gz +0 -0
  380. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_csv_parsing.rb +191 -0
  381. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_csv_writing.rb +96 -0
  382. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_data_converters.rb +260 -0
  383. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_encodings.rb +23 -0
  384. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_features.rb +212 -0
  385. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_headers.rb +277 -0
  386. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_interface.rb +376 -0
  387. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_row.rb +305 -0
  388. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_serialization.rb +154 -0
  389. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_speed.rb +65 -0
  390. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/tc_table.rb +408 -0
  391. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/test_data.csv +1000 -0
  392. data/vendor/bundle/ruby/1.9.1/gems/fastercsv-1.5.5/test/ts_all.rb +20 -0
  393. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/LICENSE +1 -0
  394. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/README +347 -0
  395. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/README.erb +82 -0
  396. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/Rakefile +376 -0
  397. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/lib/fattr.rb +206 -0
  398. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/a.rb +21 -0
  399. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/b.rb +22 -0
  400. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/c.rb +12 -0
  401. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/d.rb +34 -0
  402. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/e.rb +17 -0
  403. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/f.rb +21 -0
  404. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/g.rb +15 -0
  405. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/samples/h.rb +29 -0
  406. data/vendor/bundle/ruby/1.9.1/gems/fattr-2.2.2/test/fattr_test.rb +173 -0
  407. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/Gemfile +16 -0
  408. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/LICENSE +20 -0
  409. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/README.md +145 -0
  410. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/Rakefile +43 -0
  411. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/VERSION +1 -0
  412. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/flowdock.gemspec +73 -0
  413. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/lib/flowdock.rb +181 -0
  414. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/lib/flowdock/capistrano.rb +1 -0
  415. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/spec/flowdock_spec.rb +435 -0
  416. data/vendor/bundle/ruby/1.9.1/gems/flowdock-0.5.0/spec/spec_helper.rb +14 -0
  417. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/AUTHORS +3 -0
  418. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/CHANGELOG +357 -0
  419. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/COPYING +340 -0
  420. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/INSTALL +55 -0
  421. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/LICENSE +7 -0
  422. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/README.rdoc +67 -0
  423. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/Rakefile +50 -0
  424. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/TODO +6 -0
  425. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/ansi_colors.rb +38 -0
  426. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/asking_for_arrays.rb +18 -0
  427. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/basic_usage.rb +75 -0
  428. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/color_scheme.rb +32 -0
  429. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/get_character.rb +12 -0
  430. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/limit.rb +12 -0
  431. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/menus.rb +65 -0
  432. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/overwrite.rb +19 -0
  433. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/page_and_wrap.rb +322 -0
  434. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/password.rb +7 -0
  435. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/repeat_entry.rb +21 -0
  436. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/trapping_eof.rb +22 -0
  437. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/examples/using_readline.rb +17 -0
  438. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/highline.gemspec +37 -0
  439. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline.rb +1034 -0
  440. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/color_scheme.rb +134 -0
  441. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/compatibility.rb +16 -0
  442. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/import.rb +41 -0
  443. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/menu.rb +381 -0
  444. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/question.rb +481 -0
  445. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/simulate.rb +48 -0
  446. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/string_extensions.rb +111 -0
  447. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/style.rb +181 -0
  448. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/lib/highline/system_extensions.rb +242 -0
  449. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/setup.rb +1360 -0
  450. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/site/highline.css +65 -0
  451. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/site/images/logo.png +0 -0
  452. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/site/index.html +58 -0
  453. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/string_methods.rb +32 -0
  454. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_color_scheme.rb +96 -0
  455. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_highline.rb +1134 -0
  456. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_import.rb +52 -0
  457. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_menu.rb +439 -0
  458. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_string_extension.rb +20 -0
  459. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_string_highline.rb +38 -0
  460. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/tc_style.rb +567 -0
  461. data/vendor/bundle/ruby/1.9.1/gems/highline-1.6.21/test/ts_all.rb +16 -0
  462. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/Gemfile +14 -0
  463. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/Guardfile +16 -0
  464. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/History +303 -0
  465. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/MIT-LICENSE +20 -0
  466. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/README.md +74 -0
  467. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/Rakefile +12 -0
  468. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/bin/httparty +117 -0
  469. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/cucumber.yml +1 -0
  470. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/aaws.rb +32 -0
  471. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/basic.rb +28 -0
  472. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/crack.rb +19 -0
  473. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/custom_parsers.rb +67 -0
  474. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/delicious.rb +37 -0
  475. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/google.rb +16 -0
  476. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/headers_and_user_agents.rb +6 -0
  477. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/nokogiri_html_parser.rb +22 -0
  478. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/rubyurl.rb +14 -0
  479. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/stackexchange.rb +24 -0
  480. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/tripit_sign_in.rb +33 -0
  481. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/twitter.rb +31 -0
  482. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/examples/whoismyrep.rb +10 -0
  483. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/basic_authentication.feature +20 -0
  484. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/command_line.feature +7 -0
  485. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/deals_with_http_error_codes.feature +26 -0
  486. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/digest_authentication.feature +20 -0
  487. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/handles_compressed_responses.feature +27 -0
  488. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/handles_multiple_formats.feature +57 -0
  489. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/env.rb +22 -0
  490. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/httparty_response_steps.rb +52 -0
  491. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/httparty_steps.rb +43 -0
  492. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/mongrel_helper.rb +94 -0
  493. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/steps/remote_service_steps.rb +74 -0
  494. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/supports_read_timeout_option.feature +13 -0
  495. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/supports_redirection.feature +22 -0
  496. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/features/supports_timeout_option.feature +13 -0
  497. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/httparty.gemspec +26 -0
  498. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty.rb +600 -0
  499. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/connection_adapter.rb +187 -0
  500. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/cookie_hash.rb +22 -0
  501. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/core_extensions.rb +32 -0
  502. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/exceptions.rb +29 -0
  503. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/hash_conversions.rb +51 -0
  504. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/logger/apache_logger.rb +22 -0
  505. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/logger/curl_logger.rb +48 -0
  506. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/logger/logger.rb +18 -0
  507. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/module_inheritable_attributes.rb +56 -0
  508. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/net_digest_auth.rb +84 -0
  509. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/parser.rb +141 -0
  510. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/request.rb +331 -0
  511. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/response.rb +72 -0
  512. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/response/headers.rb +31 -0
  513. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/lib/httparty/version.rb +3 -0
  514. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/script/release +42 -0
  515. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/delicious.xml +23 -0
  516. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/empty.xml +0 -0
  517. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/google.html +3 -0
  518. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generate.sh +29 -0
  519. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/1fe462c2.0 +16 -0
  520. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/bogushost.crt +13 -0
  521. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/ca.crt +16 -0
  522. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/ca.key +15 -0
  523. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/selfsigned.crt +14 -0
  524. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/server.crt +13 -0
  525. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/generated/server.key +15 -0
  526. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/ssl/openssl-exts.cnf +9 -0
  527. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/twitter.csv +2 -0
  528. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/twitter.json +1 -0
  529. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/twitter.xml +403 -0
  530. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/fixtures/undefined_method_add_node_for_nil.xml +2 -0
  531. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/connection_adapter_spec.rb +354 -0
  532. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/cookie_hash_spec.rb +83 -0
  533. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/exception_spec.rb +23 -0
  534. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/logger/apache_logger_spec.rb +26 -0
  535. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/logger/curl_logger_spec.rb +18 -0
  536. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/logger/logger_spec.rb +22 -0
  537. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/net_digest_auth_spec.rb +152 -0
  538. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/parser_spec.rb +165 -0
  539. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/request_spec.rb +638 -0
  540. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/response_spec.rb +221 -0
  541. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty/ssl_spec.rb +74 -0
  542. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/httparty_spec.rb +764 -0
  543. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/spec.opts +2 -0
  544. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/spec_helper.rb +37 -0
  545. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/support/ssl_test_helper.rb +47 -0
  546. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/support/ssl_test_server.rb +80 -0
  547. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/spec/support/stub_response.rb +43 -0
  548. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/website/css/common.css +47 -0
  549. data/vendor/bundle/ruby/1.9.1/gems/httparty-0.13.1/website/index.html +73 -0
  550. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/CHANGES +284 -0
  551. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/COPYING +58 -0
  552. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/COPYING-json-jruby +57 -0
  553. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/GPL +340 -0
  554. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/Gemfile +11 -0
  555. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/README-json-jruby.markdown +33 -0
  556. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/README.rdoc +358 -0
  557. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/Rakefile +412 -0
  558. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/TODO +1 -0
  559. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/VERSION +1 -0
  560. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/data/example.json +1 -0
  561. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/data/index.html +38 -0
  562. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/data/prototype.js +4184 -0
  563. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/fbuffer/fbuffer.h +181 -0
  564. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/Makefile +221 -0
  565. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/depend +1 -0
  566. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/extconf.rb +14 -0
  567. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/generator.bundle +0 -0
  568. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/generator.c +1435 -0
  569. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/generator.h +148 -0
  570. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/generator/generator.o +0 -0
  571. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/Makefile +221 -0
  572. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/depend +1 -0
  573. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/extconf.rb +13 -0
  574. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.bundle +0 -0
  575. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.c +2204 -0
  576. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.h +77 -0
  577. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.o +0 -0
  578. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/ext/json/ext/parser/parser.rl +927 -0
  579. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/install.rb +23 -0
  580. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/ByteListTranscoder.java +167 -0
  581. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/Generator.java +444 -0
  582. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/GeneratorMethods.java +232 -0
  583. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/GeneratorService.java +43 -0
  584. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/GeneratorState.java +543 -0
  585. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/OptionsReader.java +114 -0
  586. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/Parser.java +2644 -0
  587. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/Parser.rl +968 -0
  588. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/ParserService.java +35 -0
  589. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/RuntimeInfo.java +121 -0
  590. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/StringDecoder.java +167 -0
  591. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/StringEncoder.java +106 -0
  592. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/java/src/json/ext/Utils.java +89 -0
  593. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/json-java.gemspec +23 -0
  594. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/json.gemspec +38 -0
  595. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/json_pure.gemspec +40 -0
  596. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json.rb +62 -0
  597. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/bigdecimal.rb +28 -0
  598. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/complex.rb +22 -0
  599. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/core.rb +11 -0
  600. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/date.rb +34 -0
  601. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/date_time.rb +50 -0
  602. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/exception.rb +31 -0
  603. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/ostruct.rb +31 -0
  604. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/range.rb +29 -0
  605. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/rational.rb +22 -0
  606. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/regexp.rb +30 -0
  607. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/struct.rb +30 -0
  608. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/symbol.rb +25 -0
  609. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/add/time.rb +38 -0
  610. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/common.rb +484 -0
  611. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/ext.rb +21 -0
  612. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/ext/generator.bundle +0 -0
  613. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/ext/parser.bundle +0 -0
  614. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/generic_object.rb +70 -0
  615. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/pure.rb +21 -0
  616. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/pure/generator.rb +522 -0
  617. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/pure/parser.rb +359 -0
  618. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/version.rb +8 -0
  619. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail1.json +1 -0
  620. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail10.json +1 -0
  621. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail11.json +1 -0
  622. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail12.json +1 -0
  623. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail13.json +1 -0
  624. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail14.json +1 -0
  625. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail18.json +1 -0
  626. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail19.json +1 -0
  627. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail2.json +1 -0
  628. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail20.json +1 -0
  629. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail21.json +1 -0
  630. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail22.json +1 -0
  631. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail23.json +1 -0
  632. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail24.json +1 -0
  633. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail25.json +1 -0
  634. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail27.json +2 -0
  635. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail28.json +2 -0
  636. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail3.json +1 -0
  637. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail4.json +1 -0
  638. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail5.json +1 -0
  639. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail6.json +1 -0
  640. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail7.json +1 -0
  641. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail8.json +1 -0
  642. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/fail9.json +1 -0
  643. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass1.json +56 -0
  644. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass15.json +1 -0
  645. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass16.json +1 -0
  646. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass17.json +1 -0
  647. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass2.json +1 -0
  648. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass26.json +1 -0
  649. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/fixtures/pass3.json +6 -0
  650. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/setup_variant.rb +11 -0
  651. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json.rb +545 -0
  652. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_addition.rb +196 -0
  653. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_encoding.rb +65 -0
  654. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_fixtures.rb +35 -0
  655. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_generate.rb +322 -0
  656. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_generic_object.rb +75 -0
  657. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_string_matching.rb +39 -0
  658. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tests/test_json_unicode.rb +72 -0
  659. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tools/fuzz.rb +139 -0
  660. data/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/tools/server.rb +62 -0
  661. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/LICENSE +1 -0
  662. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/README +1177 -0
  663. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/README.erb +881 -0
  664. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/Rakefile +394 -0
  665. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/TODO +23 -0
  666. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/a.rb +3 -0
  667. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main.rb +93 -0
  668. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/cast.rb +163 -0
  669. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/dsl.rb +77 -0
  670. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/factories.rb +28 -0
  671. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/getoptlong.rb +470 -0
  672. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/logger.rb +51 -0
  673. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/mode.rb +46 -0
  674. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/parameter.rb +735 -0
  675. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/program.rb +6 -0
  676. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/program/class_methods.rb +381 -0
  677. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/program/instance_methods.rb +303 -0
  678. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/softspoken.rb +12 -0
  679. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/stdext.rb +36 -0
  680. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/test.rb +89 -0
  681. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/usage.rb +212 -0
  682. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/lib/main/util.rb +109 -0
  683. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/main.gemspec +74 -0
  684. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/a.rb +17 -0
  685. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/b.rb +17 -0
  686. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/c.rb +21 -0
  687. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/d.rb +26 -0
  688. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/e.rb +27 -0
  689. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/f.rb +29 -0
  690. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/g.rb +10 -0
  691. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/h.rb +36 -0
  692. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/samples/j.rb +31 -0
  693. data/vendor/bundle/ruby/1.9.1/gems/main-6.0.0/test/main_test.rb +954 -0
  694. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/LICENSE +1 -0
  695. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/README +1177 -0
  696. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/README.erb +881 -0
  697. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/Rakefile +394 -0
  698. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/TODO +23 -0
  699. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/a.rb +28 -0
  700. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main.rb +94 -0
  701. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/cast.rb +163 -0
  702. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/daemon.rb +525 -0
  703. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/dsl.rb +77 -0
  704. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/factories.rb +28 -0
  705. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/getoptlong.rb +470 -0
  706. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/logger.rb +51 -0
  707. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/mode.rb +46 -0
  708. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/parameter.rb +735 -0
  709. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/program.rb +6 -0
  710. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/program/class_methods.rb +392 -0
  711. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/program/instance_methods.rb +308 -0
  712. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/softspoken.rb +12 -0
  713. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/stdext.rb +36 -0
  714. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/test.rb +89 -0
  715. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/usage.rb +212 -0
  716. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/lib/main/util.rb +109 -0
  717. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/main.gemspec +75 -0
  718. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/a.rb +17 -0
  719. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/b.rb +17 -0
  720. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/c.rb +21 -0
  721. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/d.rb +26 -0
  722. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/e.rb +27 -0
  723. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/f.rb +29 -0
  724. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/g.rb +10 -0
  725. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/h.rb +36 -0
  726. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/samples/j.rb +31 -0
  727. data/vendor/bundle/ruby/1.9.1/gems/main-6.1.0/test/main_test.rb +954 -0
  728. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/LICENSE +1 -0
  729. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/README +145 -0
  730. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/Rakefile +394 -0
  731. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/a.rb +22 -0
  732. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map.rb +1190 -0
  733. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map/integrations/active_record.rb +140 -0
  734. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map/options.rb +188 -0
  735. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map/params.rb +79 -0
  736. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/lib/map/struct.rb +52 -0
  737. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/map.gemspec +46 -0
  738. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/test/leak.rb +61 -0
  739. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/test/lib/testing.rb +74 -0
  740. data/vendor/bundle/ruby/1.9.1/gems/map-6.5.5/test/map_test.rb +802 -0
  741. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/Gemfile +2 -0
  742. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/LICENSE +25 -0
  743. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/README.markdown +91 -0
  744. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/Rakefile +79 -0
  745. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/lib/method_source.rb +141 -0
  746. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/lib/method_source/code_helpers.rb +154 -0
  747. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/lib/method_source/source_location.rb +138 -0
  748. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/lib/method_source/version.rb +3 -0
  749. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/method_source.gemspec +33 -0
  750. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/test/test.rb +138 -0
  751. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/test/test_code_helpers.rb +41 -0
  752. data/vendor/bundle/ruby/1.9.1/gems/method_source-0.8.2/test/test_helper.rb +98 -0
  753. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/CHANGELOG.md +220 -0
  754. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/CONTRIBUTING.md +46 -0
  755. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/Gemfile +29 -0
  756. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/LICENSE.md +20 -0
  757. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/README.md +119 -0
  758. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/Rakefile +25 -0
  759. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json.rb +158 -0
  760. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapter.rb +37 -0
  761. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapter_error.rb +15 -0
  762. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/gson.rb +21 -0
  763. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/jr_jackson.rb +19 -0
  764. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/json_common.rb +25 -0
  765. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/json_gem.rb +11 -0
  766. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/json_pure.rb +11 -0
  767. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/nsjsonserialization.rb +34 -0
  768. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/oj.rb +25 -0
  769. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/ok_json.rb +24 -0
  770. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/adapters/yajl.rb +19 -0
  771. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/convertible_hash_keys.rb +43 -0
  772. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/options.rb +38 -0
  773. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/parse_error.rb +17 -0
  774. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/vendor/okjson.rb +606 -0
  775. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/lib/multi_json/version.rb +20 -0
  776. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/multi_json.gemspec +22 -0
  777. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/gson_adapter_spec.rb +10 -0
  778. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/jr_jackson_adapter_spec.rb +10 -0
  779. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/json_gem_adapter_spec.rb +9 -0
  780. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/json_pure_adapter_spec.rb +9 -0
  781. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/multi_json_spec.rb +200 -0
  782. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/nsjsonserialization_adapter_spec.rb +10 -0
  783. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/oj_adapter_spec.rb +20 -0
  784. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/ok_json_adapter_spec.rb +7 -0
  785. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/shared/adapter.rb +236 -0
  786. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/shared/json_common_adapter.rb +30 -0
  787. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/shared/options.rb +119 -0
  788. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/spec_helper.rb +77 -0
  789. data/vendor/bundle/ruby/1.9.1/gems/multi_json-1.10.1/spec/yajl_adapter_spec.rb +10 -0
  790. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/CHANGELOG.md +93 -0
  791. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/CONTRIBUTING.md +49 -0
  792. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/LICENSE.md +20 -0
  793. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/README.md +97 -0
  794. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/Rakefile +21 -0
  795. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml.rb +296 -0
  796. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/libxml.rb +30 -0
  797. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/libxml2_parser.rb +74 -0
  798. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/nokogiri.rb +32 -0
  799. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/ox.rb +97 -0
  800. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/parsers/rexml.rb +113 -0
  801. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/lib/multi_xml/version.rb +3 -0
  802. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/multi_xml.gemspec +24 -0
  803. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/spec/helper.rb +17 -0
  804. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/spec/multi_xml_spec.rb +43 -0
  805. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/spec/parser_shared_example.rb +694 -0
  806. data/vendor/bundle/ruby/1.9.1/gems/multi_xml-0.5.5/spec/speed.rb +63 -0
  807. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/CHANGELOG +534 -0
  808. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/CONTRIBUTORS +55 -0
  809. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/Gemfile +12 -0
  810. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/LICENSE +25 -0
  811. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/README.markdown +400 -0
  812. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/Rakefile +140 -0
  813. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/TODO +117 -0
  814. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/bin/pry +16 -0
  815. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry.rb +274 -0
  816. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/cli.rb +202 -0
  817. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/code.rb +385 -0
  818. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/code/code_range.rb +70 -0
  819. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/code/loc.rb +92 -0
  820. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/code_object.rb +153 -0
  821. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/command.rb +689 -0
  822. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/command_set.rb +400 -0
  823. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands.rb +6 -0
  824. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/amend_line.rb +99 -0
  825. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/bang.rb +20 -0
  826. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/bang_pry.rb +17 -0
  827. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat.rb +53 -0
  828. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat/abstract_formatter.rb +27 -0
  829. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat/exception_formatter.rb +78 -0
  830. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat/file_formatter.rb +84 -0
  831. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cat/input_expression_formatter.rb +43 -0
  832. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/cd.rb +30 -0
  833. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/code_collector.rb +165 -0
  834. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/disable_pry.rb +27 -0
  835. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/disabled_commands.rb +2 -0
  836. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/easter_eggs.rb +112 -0
  837. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/edit.rb +207 -0
  838. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/edit/exception_patcher.rb +25 -0
  839. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/edit/file_and_line_locator.rb +38 -0
  840. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/edit/method_patcher.rb +122 -0
  841. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/exit.rb +42 -0
  842. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/exit_all.rb +29 -0
  843. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/exit_program.rb +24 -0
  844. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/find_method.rb +199 -0
  845. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/fix_indent.rb +19 -0
  846. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gem_cd.rb +26 -0
  847. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gem_install.rb +29 -0
  848. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gem_list.rb +33 -0
  849. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gem_open.rb +29 -0
  850. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/gist.rb +102 -0
  851. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/help.rb +164 -0
  852. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/hist.rb +161 -0
  853. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/import_set.rb +22 -0
  854. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/install_command.rb +51 -0
  855. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/jump_to.rb +29 -0
  856. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/ls.rb +338 -0
  857. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/nesting.rb +25 -0
  858. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/play.rb +69 -0
  859. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/pry_backtrace.rb +26 -0
  860. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/pry_version.rb +17 -0
  861. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/raise_up.rb +32 -0
  862. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/reload_code.rb +65 -0
  863. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/reset.rb +18 -0
  864. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/ri.rb +56 -0
  865. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/save_file.rb +61 -0
  866. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/shell_command.rb +43 -0
  867. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/shell_mode.rb +27 -0
  868. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/show_doc.rb +78 -0
  869. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/show_info.rb +200 -0
  870. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/show_input.rb +17 -0
  871. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/show_source.rb +38 -0
  872. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/simple_prompt.rb +22 -0
  873. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/stat.rb +40 -0
  874. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/switch_to.rb +23 -0
  875. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/toggle_color.rb +20 -0
  876. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/whereami.rb +182 -0
  877. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/commands/wtf.rb +57 -0
  878. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/completion.rb +321 -0
  879. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/config.rb +258 -0
  880. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/core_extensions.rb +121 -0
  881. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/custom_completions.rb +6 -0
  882. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/editor.rb +129 -0
  883. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers.rb +5 -0
  884. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/base_helpers.rb +200 -0
  885. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/command_helpers.rb +154 -0
  886. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/documentation_helpers.rb +76 -0
  887. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/options_helpers.rb +27 -0
  888. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/table.rb +109 -0
  889. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/helpers/text.rb +108 -0
  890. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/history.rb +124 -0
  891. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/history_array.rb +116 -0
  892. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/hooks.rb +250 -0
  893. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/indent.rb +406 -0
  894. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/method.rb +551 -0
  895. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/method/disowned.rb +53 -0
  896. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/method/weird_method_locator.rb +186 -0
  897. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/module_candidate.rb +146 -0
  898. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/pager.rb +90 -0
  899. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/plugins.rb +103 -0
  900. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/pry_class.rb +456 -0
  901. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/pry_instance.rb +765 -0
  902. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/rbx_method.rb +13 -0
  903. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/rbx_path.rb +22 -0
  904. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/repl_file_loader.rb +80 -0
  905. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/rubygem.rb +74 -0
  906. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/terminal.rb +78 -0
  907. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/test/helper.rb +185 -0
  908. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/version.rb +3 -0
  909. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/lib/pry/wrapped_module.rb +387 -0
  910. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/man/pry.1 +195 -0
  911. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/man/pry.1.html +204 -0
  912. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/man/pry.1.ronn +141 -0
  913. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/pry.gemspec +29 -0
  914. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/Procfile +3 -0
  915. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/cli_spec.rb +78 -0
  916. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/code_object_spec.rb +277 -0
  917. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/code_spec.rb +219 -0
  918. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/command_helpers_spec.rb +29 -0
  919. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/command_integration_spec.rb +644 -0
  920. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/command_set_spec.rb +627 -0
  921. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/command_spec.rb +821 -0
  922. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/amend_line_spec.rb +247 -0
  923. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/bang_spec.rb +19 -0
  924. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/cat_spec.rb +164 -0
  925. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/cd_spec.rb +250 -0
  926. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/disable_pry_spec.rb +25 -0
  927. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/edit_spec.rb +727 -0
  928. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/exit_all_spec.rb +34 -0
  929. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/exit_program_spec.rb +19 -0
  930. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/exit_spec.rb +34 -0
  931. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/find_method_spec.rb +70 -0
  932. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/gem_list_spec.rb +26 -0
  933. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/gist_spec.rb +79 -0
  934. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/help_spec.rb +56 -0
  935. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/hist_spec.rb +181 -0
  936. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/jump_to_spec.rb +15 -0
  937. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/ls_spec.rb +181 -0
  938. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/play_spec.rb +140 -0
  939. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/raise_up_spec.rb +56 -0
  940. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/save_file_spec.rb +177 -0
  941. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/show_doc_spec.rb +510 -0
  942. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/show_input_spec.rb +17 -0
  943. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/show_source_spec.rb +782 -0
  944. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/whereami_spec.rb +203 -0
  945. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/completion_spec.rb +241 -0
  946. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/control_d_handler_spec.rb +58 -0
  947. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/documentation_helper_spec.rb +73 -0
  948. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/editor_spec.rb +79 -0
  949. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/exception_whitelist_spec.rb +21 -0
  950. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/candidate_helper1.rb +11 -0
  951. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/candidate_helper2.rb +8 -0
  952. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/example.erb +5 -0
  953. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/example_nesting.rb +33 -0
  954. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/show_source_doc_examples.rb +15 -0
  955. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/testrc +2 -0
  956. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/testrcbad +2 -0
  957. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/fixtures/whereami_helper.rb +6 -0
  958. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/helper.rb +34 -0
  959. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/helpers/bacon.rb +86 -0
  960. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/helpers/mock_pry.rb +43 -0
  961. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/helpers/table_spec.rb +105 -0
  962. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/history_array_spec.rb +67 -0
  963. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/hooks_spec.rb +522 -0
  964. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/indent_spec.rb +301 -0
  965. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/input_stack_spec.rb +90 -0
  966. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/method_spec.rb +482 -0
  967. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/prompt_spec.rb +60 -0
  968. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/pry_defaults_spec.rb +419 -0
  969. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/pry_history_spec.rb +99 -0
  970. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/pry_output_spec.rb +95 -0
  971. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/pry_spec.rb +515 -0
  972. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/run_command_spec.rb +25 -0
  973. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/sticky_locals_spec.rb +157 -0
  974. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/syntax_checking_spec.rb +81 -0
  975. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/wrapped_module_spec.rb +261 -0
  976. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/wiki/Customizing-pry.md +397 -0
  977. data/vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/wiki/Home.md +4 -0
  978. data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/README +144 -0
  979. data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/Rakefile +390 -0
  980. data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/bin/sekrets +372 -0
  981. data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/lib/sekrets.rb +511 -0
  982. data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/lib/sekrets/capistrano.rb +37 -0
  983. data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/sekrets.gemspec +50 -0
  984. data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/test/lib/testing.rb +75 -0
  985. data/vendor/bundle/ruby/1.9.1/gems/sekrets-1.7.0/test/sekrets_test.rb +167 -0
  986. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/CHANGELOG +5790 -0
  987. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/MIT-LICENSE +19 -0
  988. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/README.rdoc +815 -0
  989. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/Rakefile +186 -0
  990. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/bin/sequel +244 -0
  991. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/active_record.rdoc +912 -0
  992. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/advanced_associations.rdoc +818 -0
  993. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/association_basics.rdoc +1763 -0
  994. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/bin_sequel.rdoc +144 -0
  995. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/cheat_sheet.rdoc +220 -0
  996. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/code_order.rdoc +96 -0
  997. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/core_extensions.rdoc +364 -0
  998. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/dataset_basics.rdoc +105 -0
  999. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/dataset_filtering.rdoc +191 -0
  1000. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/extensions.rdoc +84 -0
  1001. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/mass_assignment.rdoc +55 -0
  1002. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/migration.rdoc +611 -0
  1003. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/model_hooks.rdoc +262 -0
  1004. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/model_plugins.rdoc +270 -0
  1005. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/mssql_stored_procedures.rdoc +43 -0
  1006. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/object_model.rdoc +573 -0
  1007. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/opening_databases.rdoc +489 -0
  1008. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/postgresql.rdoc +326 -0
  1009. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/prepared_statements.rdoc +139 -0
  1010. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/querying.rdoc +1017 -0
  1011. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/reflection.rdoc +121 -0
  1012. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.0.txt +38 -0
  1013. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.1.txt +143 -0
  1014. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.3.txt +101 -0
  1015. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.4.0.txt +53 -0
  1016. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/1.5.0.txt +155 -0
  1017. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.0.0.txt +298 -0
  1018. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.1.0.txt +271 -0
  1019. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.10.0.txt +328 -0
  1020. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.11.0.txt +215 -0
  1021. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.12.0.txt +534 -0
  1022. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.2.0.txt +253 -0
  1023. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.3.0.txt +88 -0
  1024. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.4.0.txt +106 -0
  1025. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.5.0.txt +137 -0
  1026. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.6.0.txt +157 -0
  1027. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.7.0.txt +166 -0
  1028. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.8.0.txt +171 -0
  1029. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/2.9.0.txt +97 -0
  1030. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.0.0.txt +221 -0
  1031. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.1.0.txt +406 -0
  1032. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.10.0.txt +286 -0
  1033. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.11.0.txt +254 -0
  1034. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.12.0.txt +304 -0
  1035. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.13.0.txt +210 -0
  1036. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.14.0.txt +118 -0
  1037. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.15.0.txt +78 -0
  1038. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.16.0.txt +45 -0
  1039. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.17.0.txt +58 -0
  1040. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.18.0.txt +120 -0
  1041. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.19.0.txt +67 -0
  1042. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.2.0.txt +268 -0
  1043. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.20.0.txt +41 -0
  1044. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.21.0.txt +87 -0
  1045. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.22.0.txt +39 -0
  1046. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.23.0.txt +172 -0
  1047. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.24.0.txt +420 -0
  1048. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.25.0.txt +88 -0
  1049. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.26.0.txt +88 -0
  1050. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.27.0.txt +82 -0
  1051. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.28.0.txt +304 -0
  1052. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.29.0.txt +459 -0
  1053. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.3.0.txt +192 -0
  1054. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.30.0.txt +135 -0
  1055. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.31.0.txt +146 -0
  1056. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.32.0.txt +202 -0
  1057. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.33.0.txt +157 -0
  1058. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.34.0.txt +671 -0
  1059. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.35.0.txt +144 -0
  1060. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.36.0.txt +245 -0
  1061. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.37.0.txt +338 -0
  1062. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.38.0.txt +234 -0
  1063. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.39.0.txt +237 -0
  1064. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.4.0.txt +325 -0
  1065. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.40.0.txt +73 -0
  1066. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.41.0.txt +155 -0
  1067. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.42.0.txt +74 -0
  1068. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.43.0.txt +105 -0
  1069. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.44.0.txt +152 -0
  1070. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.45.0.txt +179 -0
  1071. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.46.0.txt +122 -0
  1072. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.47.0.txt +270 -0
  1073. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.48.0.txt +477 -0
  1074. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.5.0.txt +510 -0
  1075. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.6.0.txt +366 -0
  1076. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.7.0.txt +179 -0
  1077. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.8.0.txt +151 -0
  1078. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/3.9.0.txt +233 -0
  1079. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.0.0.txt +262 -0
  1080. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.1.0.txt +85 -0
  1081. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.10.0.txt +226 -0
  1082. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.11.0.txt +147 -0
  1083. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.12.0.txt +105 -0
  1084. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.13.0.txt +169 -0
  1085. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.14.0.txt +68 -0
  1086. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.15.0.txt +56 -0
  1087. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.2.0.txt +129 -0
  1088. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.3.0.txt +40 -0
  1089. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.4.0.txt +92 -0
  1090. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.5.0.txt +34 -0
  1091. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.6.0.txt +30 -0
  1092. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.7.0.txt +103 -0
  1093. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.8.0.txt +175 -0
  1094. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/release_notes/4.9.0.txt +190 -0
  1095. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/schema_modification.rdoc +654 -0
  1096. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/security.rdoc +370 -0
  1097. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/sharding.rdoc +245 -0
  1098. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/sql.rdoc +589 -0
  1099. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/testing.rdoc +176 -0
  1100. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/thread_safety.rdoc +17 -0
  1101. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/transactions.rdoc +168 -0
  1102. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/validations.rdoc +540 -0
  1103. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/doc/virtual_rows.rdoc +272 -0
  1104. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel.rb +1 -0
  1105. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/ado.rb +151 -0
  1106. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/ado/access.rb +335 -0
  1107. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/ado/mssql.rb +69 -0
  1108. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/amalgalite.rb +179 -0
  1109. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/cubrid.rb +143 -0
  1110. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/db2.rb +229 -0
  1111. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/dbi.rb +101 -0
  1112. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/do.rb +156 -0
  1113. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/do/mysql.rb +64 -0
  1114. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/do/postgres.rb +42 -0
  1115. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/do/sqlite3.rb +40 -0
  1116. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/fdbsql.rb +285 -0
  1117. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/firebird.rb +104 -0
  1118. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/ibmdb.rb +476 -0
  1119. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/informix.rb +67 -0
  1120. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc.rb +794 -0
  1121. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/as400.rb +82 -0
  1122. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/cubrid.rb +62 -0
  1123. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/db2.rb +91 -0
  1124. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/derby.rb +312 -0
  1125. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/fdbsql.rb +65 -0
  1126. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/firebirdsql.rb +34 -0
  1127. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/h2.rb +227 -0
  1128. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/hsqldb.rb +231 -0
  1129. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/informix-sqli.rb +31 -0
  1130. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/jdbcprogress.rb +31 -0
  1131. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/jtds.rb +45 -0
  1132. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/mssql.rb +47 -0
  1133. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/mysql.rb +90 -0
  1134. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/oracle.rb +140 -0
  1135. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/postgresql.rb +215 -0
  1136. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/sqlanywhere.rb +82 -0
  1137. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/sqlite.rb +82 -0
  1138. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/sqlserver.rb +61 -0
  1139. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/jdbc/transactions.rb +109 -0
  1140. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/mock.rb +391 -0
  1141. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/mysql.rb +372 -0
  1142. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/mysql2.rb +200 -0
  1143. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/odbc.rb +149 -0
  1144. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/odbc/db2.rb +9 -0
  1145. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/odbc/mssql.rb +61 -0
  1146. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/odbc/progress.rb +8 -0
  1147. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/openbase.rb +53 -0
  1148. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/oracle.rb +459 -0
  1149. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/postgres.rb +877 -0
  1150. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/access.rb +299 -0
  1151. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/cubrid.rb +243 -0
  1152. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/db2.rb +403 -0
  1153. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/fdbsql.rb +550 -0
  1154. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/firebird.rb +245 -0
  1155. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/informix.rb +52 -0
  1156. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/mssql.rb +1037 -0
  1157. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/mysql.rb +984 -0
  1158. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/mysql_prepared_statements.rb +182 -0
  1159. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/oracle.rb +522 -0
  1160. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/postgres.rb +1617 -0
  1161. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/progress.rb +38 -0
  1162. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/sqlanywhere.rb +470 -0
  1163. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/shared/sqlite.rb +729 -0
  1164. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/sqlanywhere.rb +177 -0
  1165. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/sqlite.rb +413 -0
  1166. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/swift.rb +150 -0
  1167. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/swift/mysql.rb +47 -0
  1168. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/swift/postgres.rb +45 -0
  1169. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/swift/sqlite.rb +35 -0
  1170. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/tinytds.rb +282 -0
  1171. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb +75 -0
  1172. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +62 -0
  1173. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/pg_types.rb +68 -0
  1174. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/replace.rb +36 -0
  1175. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/split_alter_table.rb +44 -0
  1176. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/stored_procedures.rb +74 -0
  1177. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/ast_transformer.rb +200 -0
  1178. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool.rb +110 -0
  1179. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool/sharded_single.rb +98 -0
  1180. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool/sharded_threaded.rb +265 -0
  1181. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool/single.rb +38 -0
  1182. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/connection_pool/threaded.rb +198 -0
  1183. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/core.rb +394 -0
  1184. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database.rb +20 -0
  1185. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/connecting.rb +318 -0
  1186. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/dataset.rb +69 -0
  1187. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/dataset_defaults.rb +175 -0
  1188. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/features.rb +134 -0
  1189. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/logging.rb +73 -0
  1190. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/misc.rb +534 -0
  1191. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/query.rb +329 -0
  1192. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/schema_generator.rb +525 -0
  1193. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/schema_methods.rb +964 -0
  1194. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/database/transactions.rb +353 -0
  1195. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset.rb +40 -0
  1196. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/actions.rb +1045 -0
  1197. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/features.rb +203 -0
  1198. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/graph.rb +272 -0
  1199. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/misc.rb +279 -0
  1200. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/mutation.rb +109 -0
  1201. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/placeholder_literalizer.rb +179 -0
  1202. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/prepared_statements.rb +283 -0
  1203. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/query.rb +1136 -0
  1204. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/dataset/sql.rb +1555 -0
  1205. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/deprecated.rb +58 -0
  1206. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/exceptions.rb +77 -0
  1207. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/_pretty_table.rb +84 -0
  1208. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/arbitrary_servers.rb +110 -0
  1209. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/blank.rb +47 -0
  1210. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/columns_introspection.rb +83 -0
  1211. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/connection_validator.rb +110 -0
  1212. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/constraint_validations.rb +455 -0
  1213. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/core_extensions.rb +230 -0
  1214. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/core_refinements.rb +221 -0
  1215. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/current_datetime_timestamp.rb +58 -0
  1216. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/dataset_source_alias.rb +91 -0
  1217. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/date_arithmetic.rb +192 -0
  1218. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/empty_array_ignore_nulls.rb +34 -0
  1219. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/error_sql.rb +72 -0
  1220. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/eval_inspect.rb +182 -0
  1221. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/filter_having.rb +59 -0
  1222. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/from_block.rb +32 -0
  1223. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/graph_each.rb +75 -0
  1224. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/hash_aliases.rb +45 -0
  1225. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/inflector.rb +246 -0
  1226. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/looser_typecasting.rb +44 -0
  1227. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/meta_def.rb +31 -0
  1228. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/migration.rb +736 -0
  1229. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb +80 -0
  1230. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/named_timezones.rb +99 -0
  1231. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/null_dataset.rb +105 -0
  1232. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pagination.rb +121 -0
  1233. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_array.rb +606 -0
  1234. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_array_ops.rb +324 -0
  1235. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_enum.rb +136 -0
  1236. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_hstore.rb +357 -0
  1237. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_hstore_ops.rb +349 -0
  1238. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_inet.rb +118 -0
  1239. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_interval.rb +198 -0
  1240. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_json.rb +365 -0
  1241. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_json_ops.rb +434 -0
  1242. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_loose_count.rb +33 -0
  1243. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_range.rb +546 -0
  1244. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_range_ops.rb +162 -0
  1245. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_row.rb +615 -0
  1246. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_row_ops.rb +194 -0
  1247. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pg_static_cache_updater.rb +140 -0
  1248. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/pretty_table.rb +36 -0
  1249. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/query.rb +78 -0
  1250. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/query_literals.rb +80 -0
  1251. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/round_timestamps.rb +52 -0
  1252. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/ruby18_symbol_extensions.rb +22 -0
  1253. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/schema_caching.rb +75 -0
  1254. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/schema_dumper.rb +476 -0
  1255. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/select_remove.rb +48 -0
  1256. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/sequel_3_dataset_methods.rb +118 -0
  1257. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/server_block.rb +149 -0
  1258. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/set_overrides.rb +72 -0
  1259. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/split_array_nil.rb +66 -0
  1260. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/sql_expr.rb +20 -0
  1261. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/string_date_time.rb +50 -0
  1262. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/thread_local_timezones.rb +55 -0
  1263. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/to_dot.rb +154 -0
  1264. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model.rb +175 -0
  1265. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/associations.rb +3171 -0
  1266. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/base.rb +2306 -0
  1267. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/dataset_module.rb +30 -0
  1268. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/default_inflections.rb +45 -0
  1269. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/errors.rb +58 -0
  1270. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/exceptions.rb +46 -0
  1271. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/inflections.rb +162 -0
  1272. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/model/plugins.rb +49 -0
  1273. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/no_core_ext.rb +1 -0
  1274. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/active_model.rb +99 -0
  1275. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/after_initialize.rb +37 -0
  1276. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/association_autoreloading.rb +7 -0
  1277. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/association_dependencies.rb +97 -0
  1278. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/association_pks.rb +167 -0
  1279. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/association_proxies.rb +105 -0
  1280. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/auto_validations.rb +161 -0
  1281. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/blacklist_security.rb +93 -0
  1282. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/boolean_readers.rb +56 -0
  1283. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/caching.rb +153 -0
  1284. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/class_table_inheritance.rb +292 -0
  1285. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/column_select.rb +57 -0
  1286. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/composition.rb +187 -0
  1287. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/constraint_validations.rb +229 -0
  1288. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/dataset_associations.rb +107 -0
  1289. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/defaults_setter.rb +69 -0
  1290. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/dirty.rb +231 -0
  1291. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/eager_each.rb +64 -0
  1292. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/error_splitter.rb +54 -0
  1293. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/force_encoding.rb +81 -0
  1294. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/hook_class_methods.rb +125 -0
  1295. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/input_transformer.rb +79 -0
  1296. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/insert_returning_select.rb +70 -0
  1297. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/instance_filters.rb +131 -0
  1298. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/instance_hooks.rb +96 -0
  1299. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/json_serializer.rb +352 -0
  1300. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/lazy_attributes.rb +117 -0
  1301. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/list.rb +189 -0
  1302. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/many_through_many.rb +317 -0
  1303. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/many_to_one_pk_lookup.rb +7 -0
  1304. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/modification_detection.rb +90 -0
  1305. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/mssql_optimistic_locking.rb +92 -0
  1306. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/nested_attributes.rb +323 -0
  1307. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/optimistic_locking.rb +83 -0
  1308. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/pg_array_associations.rb +528 -0
  1309. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/pg_row.rb +123 -0
  1310. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/pg_typecast_on_load.rb +78 -0
  1311. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/prepared_statements.rb +205 -0
  1312. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/prepared_statements_associations.rb +116 -0
  1313. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/prepared_statements_safe.rb +73 -0
  1314. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/prepared_statements_with_pk.rb +59 -0
  1315. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/rcte_tree.rb +343 -0
  1316. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/schema.rb +80 -0
  1317. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/scissors.rb +33 -0
  1318. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/serialization.rb +235 -0
  1319. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/serialization_modification_detection.rb +84 -0
  1320. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/sharding.rb +117 -0
  1321. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/single_table_inheritance.rb +230 -0
  1322. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/skip_create_refresh.rb +35 -0
  1323. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/split_values.rb +64 -0
  1324. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/static_cache.rb +215 -0
  1325. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/string_stripper.rb +57 -0
  1326. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/subclasses.rb +61 -0
  1327. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/table_select.rb +41 -0
  1328. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/tactical_eager_loading.rb +85 -0
  1329. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/timestamps.rb +95 -0
  1330. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/touch.rb +140 -0
  1331. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/tree.rb +156 -0
  1332. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/typecast_on_load.rb +80 -0
  1333. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/unlimited_update.rb +31 -0
  1334. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/update_or_create.rb +60 -0
  1335. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/update_primary_key.rb +70 -0
  1336. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/validation_class_methods.rb +439 -0
  1337. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/validation_helpers.rb +291 -0
  1338. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/plugins/xml_serializer.rb +410 -0
  1339. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/sql.rb +1865 -0
  1340. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/timezones.rb +221 -0
  1341. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/version.rb +18 -0
  1342. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/db2_spec.rb +148 -0
  1343. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/fdbsql_spec.rb +429 -0
  1344. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/firebird_spec.rb +417 -0
  1345. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/informix_spec.rb +100 -0
  1346. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/mssql_spec.rb +722 -0
  1347. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/mysql_spec.rb +1304 -0
  1348. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/oracle_spec.rb +315 -0
  1349. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/postgres_spec.rb +3537 -0
  1350. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/spec_helper.rb +76 -0
  1351. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/sqlanywhere_spec.rb +170 -0
  1352. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/adapters/sqlite_spec.rb +650 -0
  1353. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/bin_spec.rb +256 -0
  1354. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/connection_pool_spec.rb +982 -0
  1355. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/database_spec.rb +2487 -0
  1356. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/dataset_spec.rb +4970 -0
  1357. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/deprecated_spec.rb +70 -0
  1358. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/expression_filters_spec.rb +1197 -0
  1359. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/mock_adapter_spec.rb +462 -0
  1360. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/object_graph_spec.rb +303 -0
  1361. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/placeholder_literalizer_spec.rb +163 -0
  1362. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/schema_generator_spec.rb +179 -0
  1363. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/schema_spec.rb +1610 -0
  1364. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/spec_helper.rb +49 -0
  1365. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core/version_spec.rb +7 -0
  1366. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/core_extensions_spec.rb +695 -0
  1367. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/active_model_spec.rb +123 -0
  1368. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/after_initialize_spec.rb +24 -0
  1369. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/arbitrary_servers_spec.rb +109 -0
  1370. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/association_dependencies_spec.rb +117 -0
  1371. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/association_pks_spec.rb +281 -0
  1372. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/association_proxies_spec.rb +86 -0
  1373. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/auto_validations_spec.rb +158 -0
  1374. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/blacklist_security_spec.rb +87 -0
  1375. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/blank_spec.rb +69 -0
  1376. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/boolean_readers_spec.rb +93 -0
  1377. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/caching_spec.rb +270 -0
  1378. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/class_table_inheritance_spec.rb +274 -0
  1379. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/column_select_spec.rb +108 -0
  1380. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/columns_introspection_spec.rb +91 -0
  1381. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/composition_spec.rb +242 -0
  1382. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/connection_validator_spec.rb +118 -0
  1383. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/constraint_validations_plugin_spec.rb +274 -0
  1384. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/constraint_validations_spec.rb +325 -0
  1385. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/core_refinements_spec.rb +519 -0
  1386. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/current_datetime_timestamp_spec.rb +27 -0
  1387. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/dataset_associations_spec.rb +311 -0
  1388. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/dataset_source_alias_spec.rb +51 -0
  1389. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/date_arithmetic_spec.rb +157 -0
  1390. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/defaults_setter_spec.rb +101 -0
  1391. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/dirty_spec.rb +180 -0
  1392. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/eager_each_spec.rb +42 -0
  1393. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/empty_array_ignore_nulls_spec.rb +24 -0
  1394. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/error_splitter_spec.rb +18 -0
  1395. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/error_sql_spec.rb +20 -0
  1396. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/eval_inspect_spec.rb +73 -0
  1397. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/filter_having_spec.rb +40 -0
  1398. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/force_encoding_spec.rb +114 -0
  1399. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/from_block_spec.rb +21 -0
  1400. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/graph_each_spec.rb +109 -0
  1401. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/hash_aliases_spec.rb +24 -0
  1402. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/hook_class_methods_spec.rb +416 -0
  1403. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/inflector_spec.rb +183 -0
  1404. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/input_transformer_spec.rb +54 -0
  1405. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/insert_returning_select_spec.rb +46 -0
  1406. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/instance_filters_spec.rb +79 -0
  1407. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/instance_hooks_spec.rb +276 -0
  1408. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/json_serializer_spec.rb +267 -0
  1409. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/lazy_attributes_spec.rb +170 -0
  1410. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/list_spec.rb +265 -0
  1411. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/looser_typecasting_spec.rb +43 -0
  1412. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/many_through_many_spec.rb +2159 -0
  1413. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/meta_def_spec.rb +21 -0
  1414. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/migration_spec.rb +709 -0
  1415. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/modification_detection_spec.rb +80 -0
  1416. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/mssql_optimistic_locking_spec.rb +91 -0
  1417. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/named_timezones_spec.rb +108 -0
  1418. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/nested_attributes_spec.rb +697 -0
  1419. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/null_dataset_spec.rb +85 -0
  1420. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/optimistic_locking_spec.rb +128 -0
  1421. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pagination_spec.rb +118 -0
  1422. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_array_associations_spec.rb +736 -0
  1423. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_array_ops_spec.rb +143 -0
  1424. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_array_spec.rb +390 -0
  1425. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_enum_spec.rb +64 -0
  1426. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_hstore_ops_spec.rb +236 -0
  1427. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_hstore_spec.rb +206 -0
  1428. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_inet_spec.rb +52 -0
  1429. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_interval_spec.rb +76 -0
  1430. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_json_ops_spec.rb +226 -0
  1431. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_json_spec.rb +218 -0
  1432. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_loose_count_spec.rb +17 -0
  1433. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_range_ops_spec.rb +58 -0
  1434. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_range_spec.rb +404 -0
  1435. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_row_ops_spec.rb +60 -0
  1436. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_row_plugin_spec.rb +62 -0
  1437. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_row_spec.rb +360 -0
  1438. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_static_cache_updater_spec.rb +92 -0
  1439. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pg_typecast_on_load_spec.rb +63 -0
  1440. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/prepared_statements_associations_spec.rb +151 -0
  1441. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/prepared_statements_safe_spec.rb +61 -0
  1442. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/prepared_statements_spec.rb +103 -0
  1443. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/prepared_statements_with_pk_spec.rb +31 -0
  1444. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/pretty_table_spec.rb +92 -0
  1445. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/query_literals_spec.rb +167 -0
  1446. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/query_spec.rb +102 -0
  1447. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/rcte_tree_spec.rb +387 -0
  1448. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/round_timestamps_spec.rb +43 -0
  1449. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/schema_caching_spec.rb +41 -0
  1450. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/schema_dumper_spec.rb +788 -0
  1451. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/schema_spec.rb +113 -0
  1452. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/scissors_spec.rb +26 -0
  1453. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/select_remove_spec.rb +38 -0
  1454. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/sequel_3_dataset_methods_spec.rb +101 -0
  1455. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/serialization_modification_detection_spec.rb +98 -0
  1456. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/serialization_spec.rb +340 -0
  1457. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/server_block_spec.rb +90 -0
  1458. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/set_overrides_spec.rb +61 -0
  1459. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/sharding_spec.rb +198 -0
  1460. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/shared_caching_spec.rb +175 -0
  1461. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/single_table_inheritance_spec.rb +276 -0
  1462. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/skip_create_refresh_spec.rb +17 -0
  1463. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/spec_helper.rb +96 -0
  1464. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/split_array_nil_spec.rb +24 -0
  1465. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/split_values_spec.rb +22 -0
  1466. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/sql_expr_spec.rb +60 -0
  1467. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/static_cache_spec.rb +355 -0
  1468. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/string_date_time_spec.rb +95 -0
  1469. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/string_stripper_spec.rb +68 -0
  1470. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/subclasses_spec.rb +66 -0
  1471. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/table_select_spec.rb +71 -0
  1472. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/tactical_eager_loading_spec.rb +82 -0
  1473. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/thread_local_timezones_spec.rb +67 -0
  1474. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/timestamps_spec.rb +175 -0
  1475. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/to_dot_spec.rb +154 -0
  1476. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/touch_spec.rb +203 -0
  1477. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/tree_spec.rb +270 -0
  1478. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/typecast_on_load_spec.rb +80 -0
  1479. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/unlimited_update_spec.rb +20 -0
  1480. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/update_or_create_spec.rb +81 -0
  1481. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/update_primary_key_spec.rb +100 -0
  1482. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/validation_class_methods_spec.rb +1030 -0
  1483. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/validation_helpers_spec.rb +520 -0
  1484. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/extensions/xml_serializer_spec.rb +207 -0
  1485. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_down_migration/001_create_alt_basic.rb +4 -0
  1486. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_down_migration/002_create_alt_advanced.rb +4 -0
  1487. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_timestamped_migrations/1273253849_create_sessions.rb +9 -0
  1488. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_timestamped_migrations/1273253851_create_nodes.rb +9 -0
  1489. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_timestamped_migrations/1273253853_3_create_users.rb +3 -0
  1490. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_up_migration/001_create_alt_basic.rb +4 -0
  1491. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/bad_up_migration/002_create_alt_advanced.rb +3 -0
  1492. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/001_create_sessions.rb +9 -0
  1493. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/002_create_nodes.rb +9 -0
  1494. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/003_3_create_users.rb +4 -0
  1495. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/1273253850_create_artists.rb +9 -0
  1496. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/convert_to_timestamp_migrations/1273253852_create_albums.rb +9 -0
  1497. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_integer_migrations/001_create_alt_advanced.rb +4 -0
  1498. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_integer_migrations/001_create_alt_basic.rb +4 -0
  1499. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_timestamped_migrations/1273253849_create_sessions.rb +9 -0
  1500. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_timestamped_migrations/1273253853_create_nodes.rb +9 -0
  1501. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/duplicate_timestamped_migrations/1273253853_create_users.rb +4 -0
  1502. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/integer_migrations/001_create_sessions.rb +9 -0
  1503. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/integer_migrations/002_create_nodes.rb +9 -0
  1504. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/integer_migrations/003_3_create_users.rb +4 -0
  1505. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253849_create_sessions.rb +9 -0
  1506. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253850_create_artists.rb +9 -0
  1507. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253851_create_nodes.rb +9 -0
  1508. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253852_create_albums.rb +9 -0
  1509. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/interleaved_timestamped_migrations/1273253853_3_create_users.rb +4 -0
  1510. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/missing_integer_migrations/001_create_alt_basic.rb +4 -0
  1511. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/missing_integer_migrations/003_create_alt_advanced.rb +4 -0
  1512. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/missing_timestamped_migrations/1273253849_create_sessions.rb +9 -0
  1513. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/missing_timestamped_migrations/1273253853_3_create_users.rb +4 -0
  1514. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/001_reversible.rb +5 -0
  1515. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/002_reversible.rb +5 -0
  1516. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/003_reversible.rb +5 -0
  1517. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/004_reversible.rb +5 -0
  1518. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/reversible_migrations/005_reversible.rb +10 -0
  1519. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/timestamped_migrations/1273253849_create_sessions.rb +9 -0
  1520. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/timestamped_migrations/1273253851_create_nodes.rb +9 -0
  1521. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/timestamped_migrations/1273253853_3_create_users.rb +4 -0
  1522. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/transaction_specified_migrations/001_create_alt_basic.rb +4 -0
  1523. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/transaction_specified_migrations/002_create_basic.rb +4 -0
  1524. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb +3 -0
  1525. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/transaction_unspecified_migrations/002_create_basic.rb +3 -0
  1526. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB +9 -0
  1527. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB +9 -0
  1528. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB +4 -0
  1529. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/associations_test.rb +2453 -0
  1530. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/database_test.rb +113 -0
  1531. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/dataset_test.rb +1798 -0
  1532. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/eager_loader_test.rb +687 -0
  1533. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/migrator_test.rb +240 -0
  1534. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/model_test.rb +226 -0
  1535. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/plugin_test.rb +2162 -0
  1536. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/prepared_statement_test.rb +426 -0
  1537. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/schema_test.rb +801 -0
  1538. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/spec_helper.rb +111 -0
  1539. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/timezone_test.rb +86 -0
  1540. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/transaction_test.rb +374 -0
  1541. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/integration/type_test.rb +133 -0
  1542. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/association_reflection_spec.rb +500 -0
  1543. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/associations_spec.rb +4316 -0
  1544. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/base_spec.rb +746 -0
  1545. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/class_dataset_methods_spec.rb +145 -0
  1546. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/dataset_methods_spec.rb +149 -0
  1547. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/eager_loading_spec.rb +2080 -0
  1548. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/hooks_spec.rb +536 -0
  1549. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/inflector_spec.rb +26 -0
  1550. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/model_spec.rb +992 -0
  1551. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/plugins_spec.rb +299 -0
  1552. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/record_spec.rb +2053 -0
  1553. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/spec_helper.rb +64 -0
  1554. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/model/validations_spec.rb +191 -0
  1555. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/rspec_helper.rb +22 -0
  1556. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/sequel_coverage.rb +15 -0
  1557. data/vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/spec/spec_config.rb +2 -0
  1558. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/CHANGES.md +303 -0
  1559. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/Gemfile +3 -0
  1560. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/LICENSE +20 -0
  1561. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/README.md +182 -0
  1562. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/Rakefile +29 -0
  1563. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/lib/slop.rb +687 -0
  1564. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/lib/slop/commands.rb +196 -0
  1565. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/lib/slop/option.rb +209 -0
  1566. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/slop.gemspec +17 -0
  1567. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/test/commands_test.rb +26 -0
  1568. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/test/helper.rb +12 -0
  1569. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/test/option_test.rb +138 -0
  1570. data/vendor/bundle/ruby/1.9.1/gems/slop-3.5.0/test/slop_test.rb +518 -0
  1571. data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/README +151 -0
  1572. data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/README.erb +43 -0
  1573. data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/lib/threadify.rb +176 -0
  1574. data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/rakefile +222 -0
  1575. data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/sample/a.rb +37 -0
  1576. data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/sample/b.rb +41 -0
  1577. data/vendor/bundle/ruby/1.9.1/gems/threadify-1.3.0/threadify.gemspec +26 -0
  1578. data/vendor/bundle/ruby/1.9.1/specifications/amalgalite-1.3.0.gemspec +52 -0
  1579. data/vendor/bundle/ruby/1.9.1/specifications/arrayfields-4.7.4.gemspec +16 -0
  1580. data/vendor/bundle/ruby/1.9.1/specifications/chronic-0.10.2.gemspec +42 -0
  1581. data/vendor/bundle/ruby/1.9.1/specifications/coderay-1.1.0.gemspec +23 -0
  1582. data/vendor/bundle/ruby/1.9.1/specifications/coerce-0.0.6.gemspec +30 -0
  1583. data/vendor/bundle/ruby/1.9.1/specifications/daemons-1.1.9.gemspec +19 -0
  1584. data/vendor/bundle/ruby/1.9.1/specifications/fastercsv-1.5.5.gemspec +20 -0
  1585. data/vendor/bundle/ruby/1.9.1/specifications/fattr-2.2.2.gemspec +18 -0
  1586. data/vendor/bundle/ruby/1.9.1/specifications/flowdock-0.5.0.gemspec +51 -0
  1587. data/vendor/bundle/ruby/1.9.1/specifications/highline-1.6.21.gemspec +21 -0
  1588. data/vendor/bundle/ruby/1.9.1/specifications/httparty-0.13.1.gemspec +35 -0
  1589. data/vendor/bundle/ruby/1.9.1/specifications/json-1.8.1.gemspec +36 -0
  1590. data/vendor/bundle/ruby/1.9.1/specifications/main-6.0.0.gemspec +39 -0
  1591. data/vendor/bundle/ruby/1.9.1/specifications/main-6.1.0.gemspec +39 -0
  1592. data/vendor/bundle/ruby/1.9.1/specifications/map-6.5.5.gemspec +18 -0
  1593. data/vendor/bundle/ruby/1.9.1/specifications/method_source-0.8.2.gemspec +31 -0
  1594. data/vendor/bundle/ruby/1.9.1/specifications/multi_json-1.10.1.gemspec +30 -0
  1595. data/vendor/bundle/ruby/1.9.1/specifications/multi_xml-0.5.5.gemspec +30 -0
  1596. data/vendor/bundle/ruby/1.9.1/specifications/pry-0.9.12.6.gemspec +51 -0
  1597. data/vendor/bundle/ruby/1.9.1/specifications/sekrets-1.7.0.gemspec +43 -0
  1598. data/vendor/bundle/ruby/1.9.1/specifications/sequel-4.15.0.gemspec +22 -0
  1599. data/vendor/bundle/ruby/1.9.1/specifications/slop-3.5.0.gemspec +33 -0
  1600. data/vendor/bundle/ruby/1.9.1/specifications/threadify-1.3.0.gemspec +16 -0
  1601. metadata +1804 -0
@@ -0,0 +1,283 @@
1
+ module Sequel
2
+ class Dataset
3
+ # ---------------------
4
+ # :section: 8 - Methods related to prepared statements or bound variables
5
+ # On some adapters, these use native prepared statements and bound variables, on others
6
+ # support is emulated. For details, see the {"Prepared Statements/Bound Variables" guide}[rdoc-ref:doc/prepared_statements.rdoc].
7
+ # ---------------------
8
+
9
+ PREPARED_ARG_PLACEHOLDER = LiteralString.new('?').freeze
10
+
11
+ # Default implementation of the argument mapper to allow
12
+ # native database support for bind variables and prepared
13
+ # statements (as opposed to the emulated ones used by default).
14
+ module ArgumentMapper
15
+ # The name of the prepared statement, if any.
16
+ attr_accessor :prepared_statement_name
17
+
18
+ # The bind arguments to use for running this prepared statement
19
+ attr_accessor :bind_arguments
20
+
21
+ # Set the bind arguments based on the hash and call super.
22
+ def call(bind_vars={}, &block)
23
+ ds = bind(bind_vars)
24
+ ds.prepared_sql
25
+ ds.bind_arguments = ds.map_to_prepared_args(ds.opts[:bind_vars])
26
+ ds.run(&block)
27
+ end
28
+
29
+ # Override the given *_sql method based on the type, and
30
+ # cache the result of the sql.
31
+ def prepared_sql
32
+ return @prepared_sql if @prepared_sql
33
+ @prepared_args ||= []
34
+ @prepared_sql = super
35
+ @opts[:sql] = @prepared_sql
36
+ @prepared_sql
37
+ end
38
+ end
39
+
40
+ # Backbone of the prepared statement support. Grafts bind variable
41
+ # support into datasets by hijacking #literal and using placeholders.
42
+ # By default, emulates prepared statements and bind variables by
43
+ # taking the hash of bind variables and directly substituting them
44
+ # into the query, which works on all databases, as it is no different
45
+ # from using the dataset without bind variables.
46
+ module PreparedStatementMethods
47
+ PLACEHOLDER_RE = /\A\$(.*)\z/
48
+
49
+ # Whether to log the full SQL query. By default, just the prepared statement
50
+ # name is generally logged on adapters that support native prepared statements.
51
+ attr_accessor :log_sql
52
+
53
+ # The type of prepared statement, should be one of :select, :first,
54
+ # :insert, :update, or :delete
55
+ attr_accessor :prepared_type
56
+
57
+ # The array/hash of bound variable placeholder names.
58
+ attr_accessor :prepared_args
59
+
60
+ # The dataset that created this prepared statement.
61
+ attr_accessor :orig_dataset
62
+
63
+ # The argument to supply to insert and update, which may use
64
+ # placeholders specified by prepared_args
65
+ attr_accessor :prepared_modify_values
66
+
67
+ # Sets the prepared_args to the given hash and runs the
68
+ # prepared statement.
69
+ def call(bind_vars={}, &block)
70
+ bind(bind_vars).run(&block)
71
+ end
72
+
73
+ # Send the columns to the original dataset, as calling it
74
+ # on the prepared statement can cause problems.
75
+ def columns
76
+ orig_dataset.columns
77
+ end
78
+
79
+ # Returns the SQL for the prepared statement, depending on
80
+ # the type of the statement and the prepared_modify_values.
81
+ def prepared_sql
82
+ case @prepared_type
83
+ when :select, :all, :each
84
+ # Most common scenario, so listed first.
85
+ select_sql
86
+ when :first
87
+ clone(:limit=>1).select_sql
88
+ when :insert_select
89
+ insert_select_sql(*@prepared_modify_values)
90
+ when :insert
91
+ insert_sql(*@prepared_modify_values)
92
+ when :update
93
+ update_sql(*@prepared_modify_values)
94
+ when :delete
95
+ delete_sql
96
+ else
97
+ select_sql
98
+ end
99
+ end
100
+
101
+ # Changes the values of symbols if they start with $ and
102
+ # prepared_args is present. If so, they are considered placeholders,
103
+ # and they are substituted using prepared_arg.
104
+ def literal_symbol_append(sql, v)
105
+ if @opts[:bind_vars] and match = PLACEHOLDER_RE.match(v.to_s)
106
+ s = match[1].to_sym
107
+ if prepared_arg?(s)
108
+ literal_append(sql, prepared_arg(s))
109
+ else
110
+ sql << v.to_s
111
+ end
112
+ else
113
+ super
114
+ end
115
+ end
116
+
117
+ # Programmer friendly string showing this is a prepared statement,
118
+ # with the prepared SQL it represents (which in general won't have
119
+ # substituted variables).
120
+ def inspect
121
+ "<#{visible_class_name}/PreparedStatement #{prepared_sql.inspect}>"
122
+ end
123
+
124
+ protected
125
+
126
+ # Run the method based on the type of prepared statement, with
127
+ # :select running #all to get all of the rows, and the other
128
+ # types running the method with the same name as the type.
129
+ def run(&block)
130
+ case @prepared_type
131
+ when :select, :all
132
+ # Most common scenario, so listed first
133
+ all(&block)
134
+ when :each
135
+ each(&block)
136
+ when :insert_select
137
+ with_sql(prepared_sql).first
138
+ when :first
139
+ first
140
+ when :insert
141
+ insert(*@prepared_modify_values)
142
+ when :update
143
+ update(*@prepared_modify_values)
144
+ when :delete
145
+ delete
146
+ when Array
147
+ case @prepared_type.at(0)
148
+ when :map, :to_hash, :to_hash_groups
149
+ send(*@prepared_type, &block)
150
+ end
151
+ else
152
+ all(&block)
153
+ end
154
+ end
155
+
156
+ private
157
+
158
+ # Returns the value of the prepared_args hash for the given key.
159
+ def prepared_arg(k)
160
+ @opts[:bind_vars][k]
161
+ end
162
+
163
+ # Whether there is a bound value for the given key.
164
+ def prepared_arg?(k)
165
+ @opts[:bind_vars].has_key?(k)
166
+ end
167
+
168
+ # The symbol cache should always be skipped, since placeholders
169
+ # are symbols.
170
+ def skip_symbol_cache?
171
+ true
172
+ end
173
+
174
+ # Use a clone of the dataset extended with prepared statement
175
+ # support and using the same argument hash so that you can use
176
+ # bind variables/prepared arguments in subselects.
177
+ def subselect_sql_append(sql, ds)
178
+ ps = ds.clone(:append_sql=>sql).prepare(:select)
179
+ ps = ps.bind(@opts[:bind_vars]) if @opts[:bind_vars]
180
+ ps.prepared_args = prepared_args
181
+ ps.prepared_sql
182
+ end
183
+ end
184
+
185
+ # Default implementation for an argument mapper that uses
186
+ # unnumbered SQL placeholder arguments. Keeps track of which
187
+ # arguments have been used, and allows arguments to
188
+ # be used more than once.
189
+ module UnnumberedArgumentMapper
190
+ include ArgumentMapper
191
+
192
+ protected
193
+
194
+ # Returns a single output array mapping the values of the input hash.
195
+ # Keys in the input hash that are used more than once in the query
196
+ # have multiple entries in the output array.
197
+ def map_to_prepared_args(bind_vars)
198
+ prepared_args.map{|v| bind_vars[v]}
199
+ end
200
+
201
+ private
202
+
203
+ # Associates the argument with name k with the next position in
204
+ # the output array.
205
+ def prepared_arg(k)
206
+ prepared_args << k
207
+ prepared_arg_placeholder
208
+ end
209
+
210
+ # Always assume there is a prepared arg in the argument mapper.
211
+ def prepared_arg?(k)
212
+ true
213
+ end
214
+ end
215
+
216
+ # Set the bind variables to use for the call. If bind variables have
217
+ # already been set for this dataset, they are updated with the contents
218
+ # of bind_vars.
219
+ #
220
+ # DB[:table].filter(:id=>:$id).bind(:id=>1).call(:first)
221
+ # # SELECT * FROM table WHERE id = ? LIMIT 1 -- (1)
222
+ # # => {:id=>1}
223
+ def bind(bind_vars={})
224
+ clone(:bind_vars=>@opts[:bind_vars] ? @opts[:bind_vars].merge(bind_vars) : bind_vars)
225
+ end
226
+
227
+ # For the given type (:select, :first, :insert, :insert_select, :update, or :delete),
228
+ # run the sql with the bind variables specified in the hash. +values+ is a hash passed to
229
+ # insert or update (if one of those types is used), which may contain placeholders.
230
+ #
231
+ # DB[:table].filter(:id=>:$id).call(:first, :id=>1)
232
+ # # SELECT * FROM table WHERE id = ? LIMIT 1 -- (1)
233
+ # # => {:id=>1}
234
+ def call(type, bind_variables={}, *values, &block)
235
+ prepare(type, nil, *values).call(bind_variables, &block)
236
+ end
237
+
238
+ # Prepare an SQL statement for later execution. Takes a type similar to #call,
239
+ # and the +name+ symbol of the prepared statement. While +name+ defaults to +nil+,
240
+ # it should always be provided as a symbol for the name of the prepared statement,
241
+ # as some databases require that prepared statements have names.
242
+ #
243
+ # This returns a clone of the dataset extended with PreparedStatementMethods,
244
+ # which you can +call+ with the hash of bind variables to use.
245
+ # The prepared statement is also stored in
246
+ # the associated database, where it can be called by name.
247
+ # The following usage is identical:
248
+ #
249
+ # ps = DB[:table].filter(:name=>:$name).prepare(:first, :select_by_name)
250
+ #
251
+ # ps.call(:name=>'Blah')
252
+ # # SELECT * FROM table WHERE name = ? -- ('Blah')
253
+ # # => {:id=>1, :name=>'Blah'}
254
+ #
255
+ # DB.call(:select_by_name, :name=>'Blah') # Same thing
256
+ def prepare(type, name=nil, *values)
257
+ ps = to_prepared_statement(type, values)
258
+ db.set_prepared_statement(name, ps) if name
259
+ ps
260
+ end
261
+
262
+ protected
263
+
264
+ # Return a cloned copy of the current dataset extended with
265
+ # PreparedStatementMethods, setting the type and modify values.
266
+ def to_prepared_statement(type, values=nil)
267
+ ps = bind
268
+ ps.extend(PreparedStatementMethods)
269
+ ps.orig_dataset = self
270
+ ps.prepared_type = type
271
+ ps.prepared_modify_values = values
272
+ ps
273
+ end
274
+
275
+ private
276
+
277
+ # The argument placeholder. Most databases used unnumbered
278
+ # arguments with question marks, so that is the default.
279
+ def prepared_arg_placeholder
280
+ PREPARED_ARG_PLACEHOLDER
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,1136 @@
1
+ module Sequel
2
+ class Dataset
3
+ # ---------------------
4
+ # :section: 1 - Methods that return modified datasets
5
+ # These methods all return modified copies of the receiver.
6
+ # ---------------------
7
+
8
+ # Hash of extension name symbols to callable objects to load the extension
9
+ # into the Dataset object (usually by extending it with a module defined
10
+ # in the extension).
11
+ EXTENSIONS = {}
12
+
13
+ # The dataset options that require the removal of cached columns
14
+ # if changed.
15
+ COLUMN_CHANGE_OPTS = [:select, :sql, :from, :join].freeze
16
+
17
+ # Which options don't affect the SQL generation. Used by simple_select_all?
18
+ # to determine if this is a simple SELECT * FROM table.
19
+ NON_SQL_OPTIONS = [:server, :defaults, :overrides, :graph, :eager_graph, :graph_aliases]
20
+
21
+ # These symbols have _join methods created (e.g. inner_join) that
22
+ # call join_table with the symbol, passing along the arguments and
23
+ # block from the method call.
24
+ CONDITIONED_JOIN_TYPES = [:inner, :full_outer, :right_outer, :left_outer, :full, :right, :left]
25
+
26
+ # These symbols have _join methods created (e.g. natural_join).
27
+ # They accept a table argument and options hash which is passed to join_table,
28
+ # and they raise an error if called with a block.
29
+ UNCONDITIONED_JOIN_TYPES = [:natural, :natural_left, :natural_right, :natural_full, :cross]
30
+
31
+ # All methods that return modified datasets with a joined table added.
32
+ JOIN_METHODS = (CONDITIONED_JOIN_TYPES + UNCONDITIONED_JOIN_TYPES).map{|x| "#{x}_join".to_sym} + [:join, :join_table]
33
+
34
+ # Methods that return modified datasets
35
+ QUERY_METHODS = (<<-METHS).split.map{|x| x.to_sym} + JOIN_METHODS
36
+ add_graph_aliases and distinct except exclude exclude_having exclude_where
37
+ filter for_update from from_self graph grep group group_and_count group_by having intersect invert
38
+ limit lock_style naked offset or order order_append order_by order_more order_prepend qualify
39
+ reverse reverse_order select select_all select_append select_group select_more server
40
+ set_graph_aliases unfiltered ungraphed ungrouped union
41
+ unlimited unordered where with with_recursive with_sql
42
+ METHS
43
+
44
+ # Register an extension callback for Dataset objects. ext should be the
45
+ # extension name symbol, and mod should either be a Module that the
46
+ # dataset is extended with, or a callable object called with the database
47
+ # object. If mod is not provided, a block can be provided and is treated
48
+ # as the mod object.
49
+ #
50
+ # If mod is a module, this also registers a Database extension that will
51
+ # extend all of the database's datasets.
52
+ def self.register_extension(ext, mod=nil, &block)
53
+ if mod
54
+ raise(Error, "cannot provide both mod and block to Dataset.register_extension") if block
55
+ if mod.is_a?(Module)
56
+ block = proc{|ds| ds.extend(mod)}
57
+ Sequel::Database.register_extension(ext){|db| db.extend_datasets(mod)}
58
+ else
59
+ block = mod
60
+ end
61
+ end
62
+ Sequel.synchronize{EXTENSIONS[ext] = block}
63
+ end
64
+
65
+ # Alias for where.
66
+ def and(*cond, &block)
67
+ where(*cond, &block)
68
+ end
69
+
70
+ # Returns a new clone of the dataset with the given options merged.
71
+ # If the options changed include options in COLUMN_CHANGE_OPTS, the cached
72
+ # columns are deleted. This method should generally not be called
73
+ # directly by user code.
74
+ def clone(opts = nil)
75
+ c = super()
76
+ if opts
77
+ c.instance_variable_set(:@opts, @opts.merge(opts))
78
+ c.instance_variable_set(:@columns, nil) if @columns && !opts.each_key{|o| break if COLUMN_CHANGE_OPTS.include?(o)}
79
+ else
80
+ c.instance_variable_set(:@opts, @opts.dup)
81
+ end
82
+ c
83
+ end
84
+
85
+ # Returns a copy of the dataset with the SQL DISTINCT clause.
86
+ # The DISTINCT clause is used to remove duplicate rows from the
87
+ # output. If arguments are provided, uses a DISTINCT ON clause,
88
+ # in which case it will only be distinct on those columns, instead
89
+ # of all returned columns. Raises an error if arguments
90
+ # are given and DISTINCT ON is not supported.
91
+ #
92
+ # DB[:items].distinct # SQL: SELECT DISTINCT * FROM items
93
+ # DB[:items].order(:id).distinct(:id) # SQL: SELECT DISTINCT ON (id) * FROM items ORDER BY id
94
+ def distinct(*args)
95
+ raise(InvalidOperation, "DISTINCT ON not supported") if !args.empty? && !supports_distinct_on?
96
+ clone(:distinct => args)
97
+ end
98
+
99
+ # Adds an EXCEPT clause using a second dataset object.
100
+ # An EXCEPT compound dataset returns all rows in the current dataset
101
+ # that are not in the given dataset.
102
+ # Raises an +InvalidOperation+ if the operation is not supported.
103
+ # Options:
104
+ # :alias :: Use the given value as the from_self alias
105
+ # :all :: Set to true to use EXCEPT ALL instead of EXCEPT, so duplicate rows can occur
106
+ # :from_self :: Set to false to not wrap the returned dataset in a from_self, use with care.
107
+ #
108
+ # DB[:items].except(DB[:other_items])
109
+ # # SELECT * FROM (SELECT * FROM items EXCEPT SELECT * FROM other_items) AS t1
110
+ #
111
+ # DB[:items].except(DB[:other_items], :all=>true, :from_self=>false)
112
+ # # SELECT * FROM items EXCEPT ALL SELECT * FROM other_items
113
+ #
114
+ # DB[:items].except(DB[:other_items], :alias=>:i)
115
+ # # SELECT * FROM (SELECT * FROM items EXCEPT SELECT * FROM other_items) AS i
116
+ def except(dataset, opts=OPTS)
117
+ raise(InvalidOperation, "EXCEPT not supported") unless supports_intersect_except?
118
+ raise(InvalidOperation, "EXCEPT ALL not supported") if opts[:all] && !supports_intersect_except_all?
119
+ compound_clone(:except, dataset, opts)
120
+ end
121
+
122
+ # Performs the inverse of Dataset#where. Note that if you have multiple filter
123
+ # conditions, this is not the same as a negation of all conditions.
124
+ #
125
+ # DB[:items].exclude(:category => 'software')
126
+ # # SELECT * FROM items WHERE (category != 'software')
127
+ #
128
+ # DB[:items].exclude(:category => 'software', :id=>3)
129
+ # # SELECT * FROM items WHERE ((category != 'software') OR (id != 3))
130
+ def exclude(*cond, &block)
131
+ _filter_or_exclude(true, :where, *cond, &block)
132
+ end
133
+
134
+ # Inverts the given conditions and adds them to the HAVING clause.
135
+ #
136
+ # DB[:items].select_group(:name).exclude_having{count(name) < 2}
137
+ # # SELECT name FROM items GROUP BY name HAVING (count(name) >= 2)
138
+ def exclude_having(*cond, &block)
139
+ _filter_or_exclude(true, :having, *cond, &block)
140
+ end
141
+
142
+ # Alias for exclude.
143
+ def exclude_where(*cond, &block)
144
+ exclude(*cond, &block)
145
+ end
146
+
147
+ # Return a clone of the dataset loaded with the extensions, see #extension!.
148
+ def extension(*exts)
149
+ clone.extension!(*exts)
150
+ end
151
+
152
+ # Alias for where.
153
+ def filter(*cond, &block)
154
+ where(*cond, &block)
155
+ end
156
+
157
+ # Returns a cloned dataset with a :update lock style.
158
+ #
159
+ # DB[:table].for_update # SELECT * FROM table FOR UPDATE
160
+ def for_update
161
+ lock_style(:update)
162
+ end
163
+
164
+ # Returns a copy of the dataset with the source changed. If no
165
+ # source is given, removes all tables. If multiple sources
166
+ # are given, it is the same as using a CROSS JOIN (cartesian product) between all tables.
167
+ # If a block is given, it is treated as a virtual row block, similar to +where+.
168
+ #
169
+ # DB[:items].from # SQL: SELECT *
170
+ # DB[:items].from(:blah) # SQL: SELECT * FROM blah
171
+ # DB[:items].from(:blah, :foo) # SQL: SELECT * FROM blah, foo
172
+ # DB[:items].from{fun(arg)} # SQL: SELECT * FROM fun(arg)
173
+ def from(*source, &block)
174
+ virtual_row_columns(source, block)
175
+ table_alias_num = 0
176
+ ctes = nil
177
+ source.map! do |s|
178
+ case s
179
+ when Dataset
180
+ if hoist_cte?(s)
181
+ ctes ||= []
182
+ ctes += s.opts[:with]
183
+ s = s.clone(:with=>nil)
184
+ end
185
+ SQL::AliasedExpression.new(s, dataset_alias(table_alias_num+=1))
186
+ when Symbol
187
+ sch, table, aliaz = split_symbol(s)
188
+ if aliaz
189
+ s = sch ? SQL::QualifiedIdentifier.new(sch, table) : SQL::Identifier.new(table)
190
+ SQL::AliasedExpression.new(s, aliaz.to_sym)
191
+ else
192
+ s
193
+ end
194
+ else
195
+ s
196
+ end
197
+ end
198
+ o = {:from=>source.empty? ? nil : source}
199
+ o[:with] = (opts[:with] || []) + ctes if ctes
200
+ o[:num_dataset_sources] = table_alias_num if table_alias_num > 0
201
+ clone(o)
202
+ end
203
+
204
+ # Returns a dataset selecting from the current dataset.
205
+ # Supplying the :alias option controls the alias of the result.
206
+ #
207
+ # ds = DB[:items].order(:name).select(:id, :name)
208
+ # # SELECT id,name FROM items ORDER BY name
209
+ #
210
+ # ds.from_self
211
+ # # SELECT * FROM (SELECT id, name FROM items ORDER BY name) AS t1
212
+ #
213
+ # ds.from_self(:alias=>:foo)
214
+ # # SELECT * FROM (SELECT id, name FROM items ORDER BY name) AS foo
215
+ #
216
+ # ds.from_self(:alias=>:foo, :column_aliases=>[:c1, :c2])
217
+ # # SELECT * FROM (SELECT id, name FROM items ORDER BY name) AS foo(c1, c2)
218
+ def from_self(opts=OPTS)
219
+ fs = {}
220
+ @opts.keys.each{|k| fs[k] = nil unless NON_SQL_OPTIONS.include?(k)}
221
+ clone(fs).from(opts[:alias] ? as(opts[:alias], opts[:column_aliases]) : self)
222
+ end
223
+
224
+ # Match any of the columns to any of the patterns. The terms can be
225
+ # strings (which use LIKE) or regular expressions (which are only
226
+ # supported on MySQL and PostgreSQL). Note that the total number of
227
+ # pattern matches will be Array(columns).length * Array(terms).length,
228
+ # which could cause performance issues.
229
+ #
230
+ # Options (all are boolean):
231
+ #
232
+ # :all_columns :: All columns must be matched to any of the given patterns.
233
+ # :all_patterns :: All patterns must match at least one of the columns.
234
+ # :case_insensitive :: Use a case insensitive pattern match (the default is
235
+ # case sensitive if the database supports it).
236
+ #
237
+ # If both :all_columns and :all_patterns are true, all columns must match all patterns.
238
+ #
239
+ # Examples:
240
+ #
241
+ # dataset.grep(:a, '%test%')
242
+ # # SELECT * FROM items WHERE (a LIKE '%test%' ESCAPE '\')
243
+ #
244
+ # dataset.grep([:a, :b], %w'%test% foo')
245
+ # # SELECT * FROM items WHERE ((a LIKE '%test%' ESCAPE '\') OR (a LIKE 'foo' ESCAPE '\')
246
+ # # OR (b LIKE '%test%' ESCAPE '\') OR (b LIKE 'foo' ESCAPE '\'))
247
+ #
248
+ # dataset.grep([:a, :b], %w'%foo% %bar%', :all_patterns=>true)
249
+ # # SELECT * FROM a WHERE (((a LIKE '%foo%' ESCAPE '\') OR (b LIKE '%foo%' ESCAPE '\'))
250
+ # # AND ((a LIKE '%bar%' ESCAPE '\') OR (b LIKE '%bar%' ESCAPE '\')))
251
+ #
252
+ # dataset.grep([:a, :b], %w'%foo% %bar%', :all_columns=>true)
253
+ # # SELECT * FROM a WHERE (((a LIKE '%foo%' ESCAPE '\') OR (a LIKE '%bar%' ESCAPE '\'))
254
+ # # AND ((b LIKE '%foo%' ESCAPE '\') OR (b LIKE '%bar%' ESCAPE '\')))
255
+ #
256
+ # dataset.grep([:a, :b], %w'%foo% %bar%', :all_patterns=>true, :all_columns=>true)
257
+ # # SELECT * FROM a WHERE ((a LIKE '%foo%' ESCAPE '\') AND (b LIKE '%foo%' ESCAPE '\')
258
+ # # AND (a LIKE '%bar%' ESCAPE '\') AND (b LIKE '%bar%' ESCAPE '\'))
259
+ def grep(columns, patterns, opts=OPTS)
260
+ if opts[:all_patterns]
261
+ conds = Array(patterns).map do |pat|
262
+ SQL::BooleanExpression.new(opts[:all_columns] ? :AND : :OR, *Array(columns).map{|c| SQL::StringExpression.like(c, pat, opts)})
263
+ end
264
+ where(SQL::BooleanExpression.new(opts[:all_patterns] ? :AND : :OR, *conds))
265
+ else
266
+ conds = Array(columns).map do |c|
267
+ SQL::BooleanExpression.new(:OR, *Array(patterns).map{|pat| SQL::StringExpression.like(c, pat, opts)})
268
+ end
269
+ where(SQL::BooleanExpression.new(opts[:all_columns] ? :AND : :OR, *conds))
270
+ end
271
+ end
272
+
273
+ # Returns a copy of the dataset with the results grouped by the value of
274
+ # the given columns. If a block is given, it is treated
275
+ # as a virtual row block, similar to +where+.
276
+ #
277
+ # DB[:items].group(:id) # SELECT * FROM items GROUP BY id
278
+ # DB[:items].group(:id, :name) # SELECT * FROM items GROUP BY id, name
279
+ # DB[:items].group{[a, sum(b)]} # SELECT * FROM items GROUP BY a, sum(b)
280
+ def group(*columns, &block)
281
+ virtual_row_columns(columns, block)
282
+ clone(:group => (columns.compact.empty? ? nil : columns))
283
+ end
284
+
285
+ # Alias of group
286
+ def group_by(*columns, &block)
287
+ group(*columns, &block)
288
+ end
289
+
290
+ # Returns a dataset grouped by the given column with count by group.
291
+ # Column aliases may be supplied, and will be included in the select clause.
292
+ # If a block is given, it is treated as a virtual row block, similar to +where+.
293
+ #
294
+ # Examples:
295
+ #
296
+ # DB[:items].group_and_count(:name).all
297
+ # # SELECT name, count(*) AS count FROM items GROUP BY name
298
+ # # => [{:name=>'a', :count=>1}, ...]
299
+ #
300
+ # DB[:items].group_and_count(:first_name, :last_name).all
301
+ # # SELECT first_name, last_name, count(*) AS count FROM items GROUP BY first_name, last_name
302
+ # # => [{:first_name=>'a', :last_name=>'b', :count=>1}, ...]
303
+ #
304
+ # DB[:items].group_and_count(:first_name___name).all
305
+ # # SELECT first_name AS name, count(*) AS count FROM items GROUP BY first_name
306
+ # # => [{:name=>'a', :count=>1}, ...]
307
+ #
308
+ # DB[:items].group_and_count{substr(first_name, 1, 1).as(initial)}.all
309
+ # # SELECT substr(first_name, 1, 1) AS initial, count(*) AS count FROM items GROUP BY substr(first_name, 1, 1)
310
+ # # => [{:initial=>'a', :count=>1}, ...]
311
+ def group_and_count(*columns, &block)
312
+ select_group(*columns, &block).select_more(COUNT_OF_ALL_AS_COUNT)
313
+ end
314
+
315
+ # Adds the appropriate CUBE syntax to GROUP BY.
316
+ def group_cube
317
+ raise Error, "GROUP BY CUBE not supported on #{db.database_type}" unless supports_group_cube?
318
+ clone(:group_options=>:cube)
319
+ end
320
+
321
+ # Adds the appropriate ROLLUP syntax to GROUP BY.
322
+ def group_rollup
323
+ raise Error, "GROUP BY ROLLUP not supported on #{db.database_type}" unless supports_group_rollup?
324
+ clone(:group_options=>:rollup)
325
+ end
326
+
327
+ # Returns a copy of the dataset with the HAVING conditions changed. See #where for argument types.
328
+ #
329
+ # DB[:items].group(:sum).having(:sum=>10)
330
+ # # SELECT * FROM items GROUP BY sum HAVING (sum = 10)
331
+ def having(*cond, &block)
332
+ _filter(:having, *cond, &block)
333
+ end
334
+
335
+ # Adds an INTERSECT clause using a second dataset object.
336
+ # An INTERSECT compound dataset returns all rows in both the current dataset
337
+ # and the given dataset.
338
+ # Raises an +InvalidOperation+ if the operation is not supported.
339
+ # Options:
340
+ # :alias :: Use the given value as the from_self alias
341
+ # :all :: Set to true to use INTERSECT ALL instead of INTERSECT, so duplicate rows can occur
342
+ # :from_self :: Set to false to not wrap the returned dataset in a from_self, use with care.
343
+ #
344
+ # DB[:items].intersect(DB[:other_items])
345
+ # # SELECT * FROM (SELECT * FROM items INTERSECT SELECT * FROM other_items) AS t1
346
+ #
347
+ # DB[:items].intersect(DB[:other_items], :all=>true, :from_self=>false)
348
+ # # SELECT * FROM items INTERSECT ALL SELECT * FROM other_items
349
+ #
350
+ # DB[:items].intersect(DB[:other_items], :alias=>:i)
351
+ # # SELECT * FROM (SELECT * FROM items INTERSECT SELECT * FROM other_items) AS i
352
+ def intersect(dataset, opts=OPTS)
353
+ raise(InvalidOperation, "INTERSECT not supported") unless supports_intersect_except?
354
+ raise(InvalidOperation, "INTERSECT ALL not supported") if opts[:all] && !supports_intersect_except_all?
355
+ compound_clone(:intersect, dataset, opts)
356
+ end
357
+
358
+ # Inverts the current WHERE and HAVING clauses. If there is neither a
359
+ # WHERE or HAVING clause, adds a WHERE clause that is always false.
360
+ #
361
+ # DB[:items].where(:category => 'software').invert
362
+ # # SELECT * FROM items WHERE (category != 'software')
363
+ #
364
+ # DB[:items].where(:category => 'software', :id=>3).invert
365
+ # # SELECT * FROM items WHERE ((category != 'software') OR (id != 3))
366
+ def invert
367
+ having, where = @opts.values_at(:having, :where)
368
+ if having.nil? && where.nil?
369
+ where(false)
370
+ else
371
+ o = {}
372
+ o[:having] = SQL::BooleanExpression.invert(having) if having
373
+ o[:where] = SQL::BooleanExpression.invert(where) if where
374
+ clone(o)
375
+ end
376
+ end
377
+
378
+ # Alias of +inner_join+
379
+ def join(*args, &block)
380
+ inner_join(*args, &block)
381
+ end
382
+
383
+ # Returns a joined dataset. Not usually called directly, users should use the
384
+ # appropriate join method (e.g. join, left_join, natural_join, cross_join) which fills
385
+ # in the +type+ argument.
386
+ #
387
+ # Takes the following arguments:
388
+ #
389
+ # type :: The type of join to do (e.g. :inner)
390
+ # table :: table to join into the current dataset. Generally one of the following types:
391
+ # String, Symbol :: identifier used as table or view name
392
+ # Dataset :: a subselect is performed with an alias of tN for some value of N
393
+ # SQL::Function :: set returning function
394
+ # SQL::AliasedExpression :: already aliased expression. Uses given alias unless
395
+ # overridden by the :table_alias option.
396
+ # expr :: conditions used when joining, depends on type:
397
+ # Hash, Array of pairs :: Assumes key (1st arg) is column of joined table (unless already
398
+ # qualified), and value (2nd arg) is column of the last joined or
399
+ # primary table (or the :implicit_qualifier option).
400
+ # To specify multiple conditions on a single joined table column,
401
+ # you must use an array. Uses a JOIN with an ON clause.
402
+ # Array :: If all members of the array are symbols, considers them as columns and
403
+ # uses a JOIN with a USING clause. Most databases will remove duplicate columns from
404
+ # the result set if this is used.
405
+ # nil :: If a block is not given, doesn't use ON or USING, so the JOIN should be a NATURAL
406
+ # or CROSS join. If a block is given, uses an ON clause based on the block, see below.
407
+ # otherwise :: Treats the argument as a filter expression, so strings are considered literal, symbols
408
+ # specify boolean columns, and Sequel expressions can be used. Uses a JOIN with an ON clause.
409
+ # options :: a hash of options, with the following keys supported:
410
+ # :table_alias :: Override the table alias used when joining. In general you shouldn't use this
411
+ # option, you should provide the appropriate SQL::AliasedExpression as the table
412
+ # argument.
413
+ # :implicit_qualifier :: The name to use for qualifying implicit conditions. By default,
414
+ # the last joined or primary table is used.
415
+ # :reset_implicit_qualifier :: Can set to false to ignore this join when future joins determine qualifier
416
+ # for implicit conditions.
417
+ # :qualify :: Can be set to false to not do any implicit qualification. Can be set
418
+ # to :deep to use the Qualifier AST Transformer, which will attempt to qualify
419
+ # subexpressions of the expression tree. Can be set to :symbol to only qualify
420
+ # symbols. Defaults to the value of default_join_table_qualification.
421
+ # block :: The block argument should only be given if a JOIN with an ON clause is used,
422
+ # in which case it yields the table alias/name for the table currently being joined,
423
+ # the table alias/name for the last joined (or first table), and an array of previous
424
+ # SQL::JoinClause. Unlike +where+, this block is not treated as a virtual row block.
425
+ #
426
+ # Examples:
427
+ #
428
+ # DB[:a].join_table(:cross, :b)
429
+ # # SELECT * FROM a CROSS JOIN b
430
+ #
431
+ # DB[:a].join_table(:inner, DB[:b], :c=>d)
432
+ # # SELECT * FROM a INNER JOIN (SELECT * FROM b) AS t1 ON (t1.c = a.d)
433
+ #
434
+ # DB[:a].join_table(:left, :b___c, [:d])
435
+ # # SELECT * FROM a LEFT JOIN b AS c USING (d)
436
+ #
437
+ # DB[:a].natural_join(:b).join_table(:inner, :c) do |ta, jta, js|
438
+ # (Sequel.qualify(ta, :d) > Sequel.qualify(jta, :e)) & {Sequel.qualify(ta, :f)=>DB.from(js.first.table).select(:g)}
439
+ # end
440
+ # # SELECT * FROM a NATURAL JOIN b INNER JOIN c
441
+ # # ON ((c.d > b.e) AND (c.f IN (SELECT g FROM b)))
442
+ def join_table(type, table, expr=nil, options=OPTS, &block)
443
+ if hoist_cte?(table)
444
+ s, ds = hoist_cte(table)
445
+ return s.join_table(type, ds, expr, options, &block)
446
+ end
447
+
448
+ using_join = expr.is_a?(Array) && !expr.empty? && expr.all?{|x| x.is_a?(Symbol)}
449
+ if using_join && !supports_join_using?
450
+ h = {}
451
+ expr.each{|e| h[e] = e}
452
+ return join_table(type, table, h, options)
453
+ end
454
+
455
+ table_alias = options[:table_alias]
456
+ last_alias = options[:implicit_qualifier]
457
+ qualify_type = options[:qualify]
458
+
459
+ if table.is_a?(SQL::AliasedExpression)
460
+ table_expr = if table_alias
461
+ SQL::AliasedExpression.new(table.expression, table_alias, table.columns)
462
+ else
463
+ table
464
+ end
465
+ table = table_expr.expression
466
+ table_name = table_alias = table_expr.alias
467
+ elsif table.is_a?(Dataset)
468
+ if table_alias.nil?
469
+ table_alias_num = (@opts[:num_dataset_sources] || 0) + 1
470
+ table_alias = dataset_alias(table_alias_num)
471
+ end
472
+ table_name = table_alias
473
+ table_expr = SQL::AliasedExpression.new(table, table_alias)
474
+ else
475
+ table, implicit_table_alias = split_alias(table)
476
+ table_alias ||= implicit_table_alias
477
+ table_name = table_alias || table
478
+ table_expr = table_alias ? SQL::AliasedExpression.new(table, table_alias) : table
479
+ end
480
+
481
+ join = if expr.nil? and !block
482
+ SQL::JoinClause.new(type, table_expr)
483
+ elsif using_join
484
+ raise(Sequel::Error, "can't use a block if providing an array of symbols as expr") if block
485
+ SQL::JoinUsingClause.new(expr, type, table_expr)
486
+ else
487
+ last_alias ||= @opts[:last_joined_table] || first_source_alias
488
+ if Sequel.condition_specifier?(expr)
489
+ expr = expr.collect do |k, v|
490
+ qualify_type = default_join_table_qualification if qualify_type.nil?
491
+ case qualify_type
492
+ when false
493
+ nil # Do no qualification
494
+ when :deep
495
+ k = Sequel::Qualifier.new(self, table_name).transform(k)
496
+ v = Sequel::Qualifier.new(self, last_alias).transform(v)
497
+ else
498
+ k = qualified_column_name(k, table_name) if k.is_a?(Symbol)
499
+ v = qualified_column_name(v, last_alias) if v.is_a?(Symbol)
500
+ end
501
+ [k,v]
502
+ end
503
+ expr = SQL::BooleanExpression.from_value_pairs(expr)
504
+ end
505
+ if block
506
+ expr2 = yield(table_name, last_alias, @opts[:join] || [])
507
+ expr = expr ? SQL::BooleanExpression.new(:AND, expr, expr2) : expr2
508
+ end
509
+ SQL::JoinOnClause.new(expr, type, table_expr)
510
+ end
511
+
512
+ opts = {:join => (@opts[:join] || []) + [join]}
513
+ opts[:last_joined_table] = table_name unless options[:reset_implicit_qualifier] == false
514
+ opts[:num_dataset_sources] = table_alias_num if table_alias_num
515
+ clone(opts)
516
+ end
517
+
518
+ CONDITIONED_JOIN_TYPES.each do |jtype|
519
+ class_eval("def #{jtype}_join(*args, &block); join_table(:#{jtype}, *args, &block) end", __FILE__, __LINE__)
520
+ end
521
+ UNCONDITIONED_JOIN_TYPES.each do |jtype|
522
+ class_eval(<<-END, __FILE__, __LINE__+1)
523
+ def #{jtype}_join(table, opts=Sequel::OPTS)
524
+ raise(Sequel::Error, '#{jtype}_join does not accept join table blocks') if block_given?
525
+ raise(Sequel::Error, '#{jtype}_join 2nd argument should be an options hash, not conditions') unless opts.is_a?(Hash)
526
+ join_table(:#{jtype}, table, nil, opts)
527
+ end
528
+ END
529
+ end
530
+
531
+ # Marks this dataset as a lateral dataset. If used in another dataset's FROM
532
+ # or JOIN clauses, it will surround the subquery with LATERAL to enable it
533
+ # to deal with previous tables in the query:
534
+ #
535
+ # DB.from(:a, DB[:b].where(:a__c=>:b__d).lateral)
536
+ # # SELECT * FROM a, LATERAL (SELECT * FROM b WHERE (a.c = b.d))
537
+ def lateral
538
+ clone(:lateral=>true)
539
+ end
540
+
541
+ # If given an integer, the dataset will contain only the first l results.
542
+ # If given a range, it will contain only those at offsets within that
543
+ # range. If a second argument is given, it is used as an offset. To use
544
+ # an offset without a limit, pass nil as the first argument.
545
+ #
546
+ # DB[:items].limit(10) # SELECT * FROM items LIMIT 10
547
+ # DB[:items].limit(10, 20) # SELECT * FROM items LIMIT 10 OFFSET 20
548
+ # DB[:items].limit(10...20) # SELECT * FROM items LIMIT 10 OFFSET 10
549
+ # DB[:items].limit(10..20) # SELECT * FROM items LIMIT 11 OFFSET 10
550
+ # DB[:items].limit(nil, 20) # SELECT * FROM items OFFSET 20
551
+ def limit(l, o = (no_offset = true; nil))
552
+ return from_self.limit(l, o) if @opts[:sql]
553
+
554
+ if l.is_a?(Range)
555
+ no_offset = false
556
+ o = l.first
557
+ l = l.last - l.first + (l.exclude_end? ? 0 : 1)
558
+ end
559
+ l = l.to_i if l.is_a?(String) && !l.is_a?(LiteralString)
560
+ if l.is_a?(Integer)
561
+ raise(Error, 'Limits must be greater than or equal to 1') unless l >= 1
562
+ end
563
+
564
+ ds = clone(:limit=>l)
565
+ ds = ds.offset(o) unless no_offset
566
+ ds
567
+ end
568
+
569
+ # Returns a cloned dataset with the given lock style. If style is a
570
+ # string, it will be used directly. You should never pass a string
571
+ # to this method that is derived from user input, as that can lead to
572
+ # SQL injection.
573
+ #
574
+ # A symbol may be used for database independent locking behavior, but
575
+ # all supported symbols have separate methods (e.g. for_update).
576
+ #
577
+ # DB[:items].lock_style('FOR SHARE NOWAIT') # SELECT * FROM items FOR SHARE NOWAIT
578
+ def lock_style(style)
579
+ clone(:lock => style)
580
+ end
581
+
582
+ # Returns a cloned dataset without a row_proc.
583
+ #
584
+ # ds = DB[:items]
585
+ # ds.row_proc = proc{|r| r.invert}
586
+ # ds.all # => [{2=>:id}]
587
+ # ds.naked.all # => [{:id=>2}]
588
+ def naked
589
+ ds = clone
590
+ ds.row_proc = nil
591
+ ds
592
+ end
593
+
594
+ # Returns a copy of the dataset with a specified order. Can be safely combined with limit.
595
+ # If you call limit with an offset, it will override override the offset if you've called
596
+ # offset first.
597
+ #
598
+ # DB[:items].offset(10) # SELECT * FROM items OFFSET 10
599
+ def offset(o)
600
+ o = o.to_i if o.is_a?(String) && !o.is_a?(LiteralString)
601
+ if o.is_a?(Integer)
602
+ raise(Error, 'Offsets must be greater than or equal to 0') unless o >= 0
603
+ end
604
+ clone(:offset => o)
605
+ end
606
+
607
+ # Adds an alternate filter to an existing filter using OR. If no filter
608
+ # exists an +Error+ is raised.
609
+ #
610
+ # DB[:items].where(:a).or(:b) # SELECT * FROM items WHERE a OR b
611
+ def or(*cond, &block)
612
+ cond = cond.first if cond.size == 1
613
+ v = @opts[:where]
614
+ if v.nil? || (cond.respond_to?(:empty?) && cond.empty? && !block)
615
+ clone
616
+ else
617
+ clone(:where => SQL::BooleanExpression.new(:OR, v, filter_expr(cond, &block)))
618
+ end
619
+ end
620
+
621
+ # Returns a copy of the dataset with the order changed. If the dataset has an
622
+ # existing order, it is ignored and overwritten with this order. If a nil is given
623
+ # the returned dataset has no order. This can accept multiple arguments
624
+ # of varying kinds, such as SQL functions. If a block is given, it is treated
625
+ # as a virtual row block, similar to +where+.
626
+ #
627
+ # DB[:items].order(:name) # SELECT * FROM items ORDER BY name
628
+ # DB[:items].order(:a, :b) # SELECT * FROM items ORDER BY a, b
629
+ # DB[:items].order(Sequel.lit('a + b')) # SELECT * FROM items ORDER BY a + b
630
+ # DB[:items].order(:a + :b) # SELECT * FROM items ORDER BY (a + b)
631
+ # DB[:items].order(Sequel.desc(:name)) # SELECT * FROM items ORDER BY name DESC
632
+ # DB[:items].order(Sequel.asc(:name, :nulls=>:last)) # SELECT * FROM items ORDER BY name ASC NULLS LAST
633
+ # DB[:items].order{sum(name).desc} # SELECT * FROM items ORDER BY sum(name) DESC
634
+ # DB[:items].order(nil) # SELECT * FROM items
635
+ def order(*columns, &block)
636
+ virtual_row_columns(columns, block)
637
+ clone(:order => (columns.compact.empty?) ? nil : columns)
638
+ end
639
+
640
+ # Alias of order_more, for naming consistency with order_prepend.
641
+ def order_append(*columns, &block)
642
+ order_more(*columns, &block)
643
+ end
644
+
645
+ # Alias of order
646
+ def order_by(*columns, &block)
647
+ order(*columns, &block)
648
+ end
649
+
650
+ # Returns a copy of the dataset with the order columns added
651
+ # to the end of the existing order.
652
+ #
653
+ # DB[:items].order(:a).order(:b) # SELECT * FROM items ORDER BY b
654
+ # DB[:items].order(:a).order_more(:b) # SELECT * FROM items ORDER BY a, b
655
+ def order_more(*columns, &block)
656
+ columns = @opts[:order] + columns if @opts[:order]
657
+ order(*columns, &block)
658
+ end
659
+
660
+ # Returns a copy of the dataset with the order columns added
661
+ # to the beginning of the existing order.
662
+ #
663
+ # DB[:items].order(:a).order(:b) # SELECT * FROM items ORDER BY b
664
+ # DB[:items].order(:a).order_prepend(:b) # SELECT * FROM items ORDER BY b, a
665
+ def order_prepend(*columns, &block)
666
+ ds = order(*columns, &block)
667
+ @opts[:order] ? ds.order_more(*@opts[:order]) : ds
668
+ end
669
+
670
+ # Qualify to the given table, or first source if no table is given.
671
+ #
672
+ # DB[:items].where(:id=>1).qualify
673
+ # # SELECT items.* FROM items WHERE (items.id = 1)
674
+ #
675
+ # DB[:items].where(:id=>1).qualify(:i)
676
+ # # SELECT i.* FROM items WHERE (i.id = 1)
677
+ def qualify(table=first_source)
678
+ o = @opts
679
+ return clone if o[:sql]
680
+ h = {}
681
+ (o.keys & QUALIFY_KEYS).each do |k|
682
+ h[k] = qualified_expression(o[k], table)
683
+ end
684
+ h[:select] = [SQL::ColumnAll.new(table)] if !o[:select] || o[:select].empty?
685
+ clone(h)
686
+ end
687
+
688
+ # Modify the RETURNING clause, only supported on a few databases. If returning
689
+ # is used, instead of insert returning the autogenerated primary key or
690
+ # update/delete returning the number of modified rows, results are
691
+ # returned using +fetch_rows+.
692
+ #
693
+ # DB[:items].returning # RETURNING *
694
+ # DB[:items].returning(nil) # RETURNING NULL
695
+ # DB[:items].returning(:id, :name) # RETURNING id, name
696
+ def returning(*values)
697
+ raise Error, "RETURNING is not supported on #{db.database_type}" unless supports_returning?(:insert)
698
+ clone(:returning=>values)
699
+ end
700
+
701
+ # Returns a copy of the dataset with the order reversed. If no order is
702
+ # given, the existing order is inverted.
703
+ #
704
+ # DB[:items].reverse(:id) # SELECT * FROM items ORDER BY id DESC
705
+ # DB[:items].reverse{foo(bar)} # SELECT * FROM items ORDER BY foo(bar) DESC
706
+ # DB[:items].order(:id).reverse # SELECT * FROM items ORDER BY id DESC
707
+ # DB[:items].order(:id).reverse(Sequel.desc(:name)) # SELECT * FROM items ORDER BY name ASC
708
+ def reverse(*order, &block)
709
+ virtual_row_columns(order, block)
710
+ order(*invert_order(order.empty? ? @opts[:order] : order))
711
+ end
712
+
713
+ # Alias of +reverse+
714
+ def reverse_order(*order, &block)
715
+ reverse(*order, &block)
716
+ end
717
+
718
+ # Returns a copy of the dataset with the columns selected changed
719
+ # to the given columns. This also takes a virtual row block,
720
+ # similar to +where+.
721
+ #
722
+ # DB[:items].select(:a) # SELECT a FROM items
723
+ # DB[:items].select(:a, :b) # SELECT a, b FROM items
724
+ # DB[:items].select{[a, sum(b)]} # SELECT a, sum(b) FROM items
725
+ def select(*columns, &block)
726
+ virtual_row_columns(columns, block)
727
+ clone(:select => columns)
728
+ end
729
+
730
+ # Returns a copy of the dataset selecting the wildcard if no arguments
731
+ # are given. If arguments are given, treat them as tables and select
732
+ # all columns (using the wildcard) from each table.
733
+ #
734
+ # DB[:items].select(:a).select_all # SELECT * FROM items
735
+ # DB[:items].select_all(:items) # SELECT items.* FROM items
736
+ # DB[:items].select_all(:items, :foo) # SELECT items.*, foo.* FROM items
737
+ def select_all(*tables)
738
+ if tables.empty?
739
+ clone(:select => nil)
740
+ else
741
+ select(*tables.map{|t| i, a = split_alias(t); a || i}.map{|t| SQL::ColumnAll.new(t)})
742
+ end
743
+ end
744
+
745
+ # Returns a copy of the dataset with the given columns added
746
+ # to the existing selected columns. If no columns are currently selected,
747
+ # it will select the columns given in addition to *.
748
+ #
749
+ # DB[:items].select(:a).select(:b) # SELECT b FROM items
750
+ # DB[:items].select(:a).select_append(:b) # SELECT a, b FROM items
751
+ # DB[:items].select_append(:b) # SELECT *, b FROM items
752
+ def select_append(*columns, &block)
753
+ cur_sel = @opts[:select]
754
+ if !cur_sel || cur_sel.empty?
755
+ unless supports_select_all_and_column?
756
+ return select_all(*(Array(@opts[:from]) + Array(@opts[:join]))).select_more(*columns, &block)
757
+ end
758
+ cur_sel = [WILDCARD]
759
+ end
760
+ select(*(cur_sel + columns), &block)
761
+ end
762
+
763
+ # Set both the select and group clauses with the given +columns+.
764
+ # Column aliases may be supplied, and will be included in the select clause.
765
+ # This also takes a virtual row block similar to +where+.
766
+ #
767
+ # DB[:items].select_group(:a, :b)
768
+ # # SELECT a, b FROM items GROUP BY a, b
769
+ #
770
+ # DB[:items].select_group(:c___a){f(c2)}
771
+ # # SELECT c AS a, f(c2) FROM items GROUP BY c, f(c2)
772
+ def select_group(*columns, &block)
773
+ virtual_row_columns(columns, block)
774
+ select(*columns).group(*columns.map{|c| unaliased_identifier(c)})
775
+ end
776
+
777
+ # Alias for select_append.
778
+ def select_more(*columns, &block)
779
+ select_append(*columns, &block)
780
+ end
781
+
782
+ # Set the server for this dataset to use. Used to pick a specific database
783
+ # shard to run a query against, or to override the default (where SELECT uses
784
+ # :read_only database and all other queries use the :default database). This
785
+ # method is always available but is only useful when database sharding is being
786
+ # used.
787
+ #
788
+ # DB[:items].all # Uses the :read_only or :default server
789
+ # DB[:items].delete # Uses the :default server
790
+ # DB[:items].server(:blah).delete # Uses the :blah server
791
+ def server(servr)
792
+ clone(:server=>servr)
793
+ end
794
+
795
+ # Unbind bound variables from this dataset's filter and return an array of two
796
+ # objects. The first object is a modified dataset where the filter has been
797
+ # replaced with one that uses bound variable placeholders. The second object
798
+ # is the hash of unbound variables. You can then prepare and execute (or just
799
+ # call) the dataset with the bound variables to get results.
800
+ #
801
+ # ds, bv = DB[:items].where(:a=>1).unbind
802
+ # ds # SELECT * FROM items WHERE (a = $a)
803
+ # bv # {:a => 1}
804
+ # ds.call(:select, bv)
805
+ def unbind
806
+ u = Unbinder.new
807
+ ds = clone(:where=>u.transform(opts[:where]), :join=>u.transform(opts[:join]))
808
+ [ds, u.binds]
809
+ end
810
+
811
+ # Returns a copy of the dataset with no filters (HAVING or WHERE clause) applied.
812
+ #
813
+ # DB[:items].group(:a).having(:a=>1).where(:b).unfiltered
814
+ # # SELECT * FROM items GROUP BY a
815
+ def unfiltered
816
+ clone(:where => nil, :having => nil)
817
+ end
818
+
819
+ # Returns a copy of the dataset with no grouping (GROUP or HAVING clause) applied.
820
+ #
821
+ # DB[:items].group(:a).having(:a=>1).where(:b).ungrouped
822
+ # # SELECT * FROM items WHERE b
823
+ def ungrouped
824
+ clone(:group => nil, :having => nil)
825
+ end
826
+
827
+ # Adds a UNION clause using a second dataset object.
828
+ # A UNION compound dataset returns all rows in either the current dataset
829
+ # or the given dataset.
830
+ # Options:
831
+ # :alias :: Use the given value as the from_self alias
832
+ # :all :: Set to true to use UNION ALL instead of UNION, so duplicate rows can occur
833
+ # :from_self :: Set to false to not wrap the returned dataset in a from_self, use with care.
834
+ #
835
+ # DB[:items].union(DB[:other_items])
836
+ # # SELECT * FROM (SELECT * FROM items UNION SELECT * FROM other_items) AS t1
837
+ #
838
+ # DB[:items].union(DB[:other_items], :all=>true, :from_self=>false)
839
+ # # SELECT * FROM items UNION ALL SELECT * FROM other_items
840
+ #
841
+ # DB[:items].union(DB[:other_items], :alias=>:i)
842
+ # # SELECT * FROM (SELECT * FROM items UNION SELECT * FROM other_items) AS i
843
+ def union(dataset, opts=OPTS)
844
+ compound_clone(:union, dataset, opts)
845
+ end
846
+
847
+ # Returns a copy of the dataset with no limit or offset.
848
+ #
849
+ # DB[:items].limit(10, 20).unlimited # SELECT * FROM items
850
+ def unlimited
851
+ clone(:limit=>nil, :offset=>nil)
852
+ end
853
+
854
+ # Returns a copy of the dataset with no order.
855
+ #
856
+ # DB[:items].order(:a).unordered # SELECT * FROM items
857
+ def unordered
858
+ order(nil)
859
+ end
860
+
861
+ # Returns a copy of the dataset with the given WHERE conditions imposed upon it.
862
+ #
863
+ # Accepts the following argument types:
864
+ #
865
+ # Hash :: list of equality/inclusion expressions
866
+ # Array :: depends:
867
+ # * If first member is a string, assumes the rest of the arguments
868
+ # are parameters and interpolates them into the string.
869
+ # * If all members are arrays of length two, treats the same way
870
+ # as a hash, except it allows for duplicate keys to be
871
+ # specified.
872
+ # * Otherwise, treats each argument as a separate condition.
873
+ # String :: taken literally
874
+ # Symbol :: taken as a boolean column argument (e.g. WHERE active)
875
+ # Sequel::SQL::BooleanExpression :: an existing condition expression,
876
+ # probably created using the Sequel expression filter DSL.
877
+ #
878
+ # where also accepts a block, which should return one of the above argument
879
+ # types, and is treated the same way. This block yields a virtual row object,
880
+ # which is easy to use to create identifiers and functions. For more details
881
+ # on the virtual row support, see the {"Virtual Rows" guide}[rdoc-ref:doc/virtual_rows.rdoc]
882
+ #
883
+ # If both a block and regular argument are provided, they get ANDed together.
884
+ #
885
+ # Examples:
886
+ #
887
+ # DB[:items].where(:id => 3)
888
+ # # SELECT * FROM items WHERE (id = 3)
889
+ #
890
+ # DB[:items].where('price < ?', 100)
891
+ # # SELECT * FROM items WHERE price < 100
892
+ #
893
+ # DB[:items].where([[:id, [1,2,3]], [:id, 0..10]])
894
+ # # SELECT * FROM items WHERE ((id IN (1, 2, 3)) AND ((id >= 0) AND (id <= 10)))
895
+ #
896
+ # DB[:items].where('price < 100')
897
+ # # SELECT * FROM items WHERE price < 100
898
+ #
899
+ # DB[:items].where(:active)
900
+ # # SELECT * FROM items WHERE :active
901
+ #
902
+ # DB[:items].where{price < 100}
903
+ # # SELECT * FROM items WHERE (price < 100)
904
+ #
905
+ # Multiple where calls can be chained for scoping:
906
+ #
907
+ # software = dataset.where(:category => 'software').where{price < 100}
908
+ # # SELECT * FROM items WHERE ((category = 'software') AND (price < 100))
909
+ #
910
+ # See the {"Dataset Filtering" guide}[rdoc-ref:doc/dataset_filtering.rdoc] for more examples and details.
911
+ def where(*cond, &block)
912
+ _filter(:where, *cond, &block)
913
+ end
914
+
915
+ # Add a common table expression (CTE) with the given name and a dataset that defines the CTE.
916
+ # A common table expression acts as an inline view for the query.
917
+ # Options:
918
+ # :args :: Specify the arguments/columns for the CTE, should be an array of symbols.
919
+ # :recursive :: Specify that this is a recursive CTE
920
+ #
921
+ # DB[:items].with(:items, DB[:syx].where(:name.like('A%')))
922
+ # # WITH items AS (SELECT * FROM syx WHERE (name LIKE 'A%' ESCAPE '\')) SELECT * FROM items
923
+ def with(name, dataset, opts=OPTS)
924
+ raise(Error, 'This dataset does not support common table expressions') unless supports_cte?
925
+ if hoist_cte?(dataset)
926
+ s, ds = hoist_cte(dataset)
927
+ s.with(name, ds, opts)
928
+ else
929
+ clone(:with=>(@opts[:with]||[]) + [opts.merge(:name=>name, :dataset=>dataset)])
930
+ end
931
+ end
932
+
933
+ # Add a recursive common table expression (CTE) with the given name, a dataset that
934
+ # defines the nonrecursive part of the CTE, and a dataset that defines the recursive part
935
+ # of the CTE. Options:
936
+ # :args :: Specify the arguments/columns for the CTE, should be an array of symbols.
937
+ # :union_all :: Set to false to use UNION instead of UNION ALL combining the nonrecursive and recursive parts.
938
+ #
939
+ # DB[:t].with_recursive(:t,
940
+ # DB[:i1].select(:id, :parent_id).where(:parent_id=>nil),
941
+ # DB[:i1].join(:t, :id=>:parent_id).select(:i1__id, :i1__parent_id),
942
+ # :args=>[:id, :parent_id])
943
+ #
944
+ # # WITH RECURSIVE "t"("id", "parent_id") AS (
945
+ # # SELECT "id", "parent_id" FROM "i1" WHERE ("parent_id" IS NULL)
946
+ # # UNION ALL
947
+ # # SELECT "i1"."id", "i1"."parent_id" FROM "i1" INNER JOIN "t" ON ("t"."id" = "i1"."parent_id")
948
+ # # ) SELECT * FROM "t"
949
+ def with_recursive(name, nonrecursive, recursive, opts=OPTS)
950
+ raise(Error, 'This datatset does not support common table expressions') unless supports_cte?
951
+ if hoist_cte?(nonrecursive)
952
+ s, ds = hoist_cte(nonrecursive)
953
+ s.with_recursive(name, ds, recursive, opts)
954
+ elsif hoist_cte?(recursive)
955
+ s, ds = hoist_cte(recursive)
956
+ s.with_recursive(name, nonrecursive, ds, opts)
957
+ else
958
+ clone(:with=>(@opts[:with]||[]) + [opts.merge(:recursive=>true, :name=>name, :dataset=>nonrecursive.union(recursive, {:all=>opts[:union_all] != false, :from_self=>false}))])
959
+ end
960
+ end
961
+
962
+ # Returns a copy of the dataset with the static SQL used. This is useful if you want
963
+ # to keep the same row_proc/graph, but change the SQL used to custom SQL.
964
+ #
965
+ # DB[:items].with_sql('SELECT * FROM foo') # SELECT * FROM foo
966
+ #
967
+ # You can use placeholders in your SQL and provide arguments for those placeholders:
968
+ #
969
+ # DB[:items].with_sql('SELECT ? FROM foo', 1) # SELECT 1 FROM foo
970
+ #
971
+ # You can also provide a method name and arguments to call to get the SQL:
972
+ #
973
+ # DB[:items].with_sql(:insert_sql, :b=>1) # INSERT INTO items (b) VALUES (1)
974
+ def with_sql(sql, *args)
975
+ if sql.is_a?(Symbol)
976
+ sql = send(sql, *args)
977
+ else
978
+ sql = SQL::PlaceholderLiteralString.new(sql, args) unless args.empty?
979
+ end
980
+ clone(:sql=>sql)
981
+ end
982
+
983
+ protected
984
+
985
+ # Add the dataset to the list of compounds
986
+ def compound_clone(type, dataset, opts)
987
+ if hoist_cte?(dataset)
988
+ s, ds = hoist_cte(dataset)
989
+ return s.compound_clone(type, ds, opts)
990
+ end
991
+ ds = compound_from_self.clone(:compounds=>Array(@opts[:compounds]).map{|x| x.dup} + [[type, dataset.compound_from_self, opts[:all]]])
992
+ opts[:from_self] == false ? ds : ds.from_self(opts)
993
+ end
994
+
995
+ # Return true if the dataset has a non-nil value for any key in opts.
996
+ def options_overlap(opts)
997
+ !(@opts.collect{|k,v| k unless v.nil?}.compact & opts).empty?
998
+ end
999
+
1000
+ # Whether this dataset is a simple select from an underlying table, such as:
1001
+ #
1002
+ # SELECT * FROM table
1003
+ # SELECT table.* FROM table
1004
+ def simple_select_all?
1005
+ o = @opts.reject{|k,v| v.nil? || NON_SQL_OPTIONS.include?(k)}
1006
+ if (f = o[:from]) && f.length == 1 && (f.first.is_a?(Symbol) || f.first.is_a?(SQL::AliasedExpression))
1007
+ case o.length
1008
+ when 1
1009
+ true
1010
+ when 2
1011
+ (s = o[:select]) && s.length == 1 && s.first.is_a?(SQL::ColumnAll)
1012
+ else
1013
+ false
1014
+ end
1015
+ else
1016
+ false
1017
+ end
1018
+ end
1019
+
1020
+ private
1021
+
1022
+ # Internal filtering method so it works on either the WHERE or HAVING clauses, with or
1023
+ # without inversion.
1024
+ def _filter_or_exclude(invert, clause, *cond, &block)
1025
+ cond = cond.first if cond.size == 1
1026
+ if cond.respond_to?(:empty?) && cond.empty? && !block
1027
+ clone
1028
+ else
1029
+ cond = filter_expr(cond, &block)
1030
+ cond = SQL::BooleanExpression.invert(cond) if invert
1031
+ cond = SQL::BooleanExpression.new(:AND, @opts[clause], cond) if @opts[clause]
1032
+ clone(clause => cond)
1033
+ end
1034
+ end
1035
+
1036
+ # Internal filter method so it works on either the having or where clauses.
1037
+ def _filter(clause, *cond, &block)
1038
+ _filter_or_exclude(false, clause, *cond, &block)
1039
+ end
1040
+
1041
+ # The default :qualify option to use for join tables if one is not specified.
1042
+ def default_join_table_qualification
1043
+ :symbol
1044
+ end
1045
+
1046
+ # SQL expression object based on the expr type. See +where+.
1047
+ def filter_expr(expr = nil, &block)
1048
+ expr = nil if expr == []
1049
+
1050
+ if expr && block
1051
+ return SQL::BooleanExpression.new(:AND, filter_expr(expr), filter_expr(block))
1052
+ elsif block
1053
+ expr = block
1054
+ end
1055
+
1056
+ case expr
1057
+ when Hash
1058
+ SQL::BooleanExpression.from_value_pairs(expr)
1059
+ when Array
1060
+ if (sexpr = expr.at(0)).is_a?(String)
1061
+ SQL::PlaceholderLiteralString.new(sexpr, expr[1..-1], true)
1062
+ elsif Sequel.condition_specifier?(expr)
1063
+ SQL::BooleanExpression.from_value_pairs(expr)
1064
+ else
1065
+ SQL::BooleanExpression.new(:AND, *expr.map{|x| filter_expr(x)})
1066
+ end
1067
+ when Proc
1068
+ filter_expr(Sequel.virtual_row(&expr))
1069
+ when Numeric, SQL::NumericExpression, SQL::StringExpression
1070
+ raise(Error, "Invalid filter expression: #{expr.inspect}")
1071
+ when TrueClass, FalseClass
1072
+ if supports_where_true?
1073
+ SQL::BooleanExpression.new(:NOOP, expr)
1074
+ elsif expr
1075
+ SQL::Constants::SQLTRUE
1076
+ else
1077
+ SQL::Constants::SQLFALSE
1078
+ end
1079
+ when String
1080
+ LiteralString.new("(#{expr})")
1081
+ when PlaceholderLiteralizer::Argument
1082
+ expr.transform{|v| filter_expr(v)}
1083
+ else
1084
+ expr
1085
+ end
1086
+ end
1087
+
1088
+ # Return two datasets, the first a clone of the receiver with the WITH
1089
+ # clause from the given dataset added to it, and the second a clone of
1090
+ # the given dataset with the WITH clause removed.
1091
+ def hoist_cte(ds)
1092
+ [clone(:with => (opts[:with] || []) + ds.opts[:with]), ds.clone(:with => nil)]
1093
+ end
1094
+
1095
+ # Whether CTEs need to be hoisted from the given ds into the current ds.
1096
+ def hoist_cte?(ds)
1097
+ ds.is_a?(Dataset) && ds.opts[:with] && !supports_cte_in_subqueries?
1098
+ end
1099
+
1100
+ # Inverts the given order by breaking it into a list of column references
1101
+ # and inverting them.
1102
+ #
1103
+ # DB[:items].invert_order([Sequel.desc(:id)]]) #=> [Sequel.asc(:id)]
1104
+ # DB[:items].invert_order([:category, Sequel.desc(:price)]) #=> [Sequel.desc(:category), Sequel.asc(:price)]
1105
+ def invert_order(order)
1106
+ return nil unless order
1107
+ order.map do |f|
1108
+ case f
1109
+ when SQL::OrderedExpression
1110
+ f.invert
1111
+ else
1112
+ SQL::OrderedExpression.new(f)
1113
+ end
1114
+ end
1115
+ end
1116
+
1117
+ # Return self if the dataset already has a server, or a cloned dataset with the
1118
+ # default server otherwise.
1119
+ def default_server
1120
+ @opts[:server] ? self : clone(:server=>:default)
1121
+ end
1122
+
1123
+ # Treat the +block+ as a virtual_row block if not +nil+ and
1124
+ # add the resulting columns to the +columns+ array (modifies +columns+).
1125
+ def virtual_row_columns(columns, block)
1126
+ if block
1127
+ v = Sequel.virtual_row(&block)
1128
+ if v.is_a?(Array)
1129
+ columns.concat(v)
1130
+ else
1131
+ columns << v
1132
+ end
1133
+ end
1134
+ end
1135
+ end
1136
+ end