radiant 1.0.0.rc2 → 1.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of radiant might be problematic. Click here for more details.

Files changed (2863) hide show
  1. data/.gitignore +1 -1
  2. data/{CHANGELOG → CHANGELOG.md} +22 -22
  3. data/{CONTRIBUTORS → CONTRIBUTORS.md} +37 -23
  4. data/Gemfile +23 -0
  5. data/Gemfile.lock +30 -0
  6. data/INSTALL.md +42 -0
  7. data/{LICENSE → LICENSE.md} +1 -1
  8. data/{README → README.md} +9 -10
  9. data/Rakefile +1 -1
  10. data/app/controllers/admin/pages_controller.rb +14 -4
  11. data/app/controllers/admin/resource_controller.rb +4 -2
  12. data/app/controllers/site_controller.rb +9 -14
  13. data/app/helpers/application_helper.rb +0 -12
  14. data/app/models/page.rb +2 -0
  15. data/app/models/page_context.rb +8 -1
  16. data/app/models/radiant/config.rb +10 -4
  17. data/app/models/standard_tags.rb +9 -4
  18. data/bin/radiant +5 -3
  19. data/config/boot.rb +5 -62
  20. data/config/environment.rb +3 -13
  21. data/config/environments/cucumber.rb +0 -7
  22. data/config/environments/development.rb +1 -1
  23. data/config/environments/test.rb +0 -6
  24. data/config/initializers/compass.rb +0 -2
  25. data/config/preinitializer.rb +19 -0
  26. data/db/schema.rb +3 -0
  27. data/features/navigation_rendering.feature +30 -0
  28. data/features/page_serving.feature +2 -2
  29. data/features/step_definitions/admin/admin_steps.rb +1 -0
  30. data/features/step_definitions/admin/pages_management_steps.rb +7 -2
  31. data/features/step_definitions/page_serving_steps.rb +1 -1
  32. data/lib/generators/extension/extension_generator.rb +2 -4
  33. data/lib/generators/extension/templates/{README → README.md} +2 -2
  34. data/lib/generators/extension/templates/RSpecRakefile +2 -2
  35. data/lib/generators/extension/templates/Rakefile +2 -2
  36. data/lib/generators/extension/templates/extension.rb +11 -13
  37. data/lib/generators/extension/templates/gemspec.rb +13 -13
  38. data/lib/generators/extension/templates/lib.rb +7 -1
  39. data/lib/generators/instance/instance_generator.rb +18 -7
  40. data/lib/generators/instance/templates/instance_boot.rb +3 -60
  41. data/lib/generators/instance/templates/instance_config.ru +2 -0
  42. data/lib/generators/instance/templates/instance_environment.rb +4 -15
  43. data/lib/generators/instance/templates/instance_gemfile +57 -0
  44. data/lib/generators/instance/templates/instance_generate +3 -15
  45. data/lib/generators/language_extension/templates/RSpecRakefile +2 -2
  46. data/lib/generators/language_extension/templates/Rakefile +2 -2
  47. data/lib/radiant.rb +1 -1
  48. data/lib/radiant/admin_ui.rb +6 -1
  49. data/lib/radiant/available_locales.rb +11 -23
  50. data/lib/radiant/config/definition.rb +2 -2
  51. data/lib/radiant/extension.rb +18 -5
  52. data/lib/radiant/extension/script.rb +4 -2
  53. data/lib/radiant/extension_loader.rb +73 -119
  54. data/lib/radiant/extension_migrator.rb +12 -1
  55. data/lib/radiant/extension_path.rb +192 -0
  56. data/lib/radiant/initializer.rb +286 -181
  57. data/lib/radiant/setup.rb +3 -0
  58. data/lib/radiant/taggable.rb +8 -7
  59. data/lib/tasks/database.rake +43 -1
  60. data/{vendor/plugins/dataset → lib}/tasks/dataset.rake +0 -0
  61. data/lib/tasks/extensions.rake +11 -8
  62. data/lib/tasks/framework.rake +48 -37
  63. data/lib/tasks/release.rake +4 -3
  64. data/lib/tasks/undefine.rake +1 -1
  65. data/{vendor/extensions/clipped/public → public}/flash/ZeroClipboard.swf +0 -0
  66. data/{vendor/extensions/clipped/public → public}/images/admin/assets/add.png +0 -0
  67. data/{vendor/extensions/clipped/public → public}/images/admin/assets/archive_icon.png +0 -0
  68. data/{vendor/extensions/clipped/public → public}/images/admin/assets/audio_icon.png +0 -0
  69. data/{vendor/extensions/clipped/public → public}/images/admin/assets/audio_thumbnail.png +0 -0
  70. data/{vendor/extensions/clipped/public → public}/images/admin/assets/c_icon.png +0 -0
  71. data/{vendor/extensions/clipped/public → public}/images/admin/assets/copy.png +0 -0
  72. data/{vendor/extensions/clipped/public → public}/images/admin/assets/css_icon.png +0 -0
  73. data/{vendor/extensions/clipped/public → public}/images/admin/assets/database_icon.png +0 -0
  74. data/{vendor/extensions/clipped/public → public}/images/admin/assets/delete.png +0 -0
  75. data/{vendor/extensions/clipped/public → public}/images/admin/assets/document_icon.png +0 -0
  76. data/{vendor/extensions/clipped/public → public}/images/admin/assets/document_thumbnail.png +0 -0
  77. data/{vendor/extensions/clipped/public → public}/images/admin/assets/flash_icon.png +0 -0
  78. data/{vendor/extensions/clipped/public → public}/images/admin/assets/flash_thumbnail.png +0 -0
  79. data/{vendor/extensions/clipped/public → public}/images/admin/assets/font_icon.png +0 -0
  80. data/{vendor/extensions/clipped/public → public}/images/admin/assets/gzip_icon.png +0 -0
  81. data/{vendor/extensions/clipped/public → public}/images/admin/assets/html_icon.png +0 -0
  82. data/{vendor/extensions/clipped/public → public}/images/admin/assets/image_icon.png +0 -0
  83. data/{vendor/extensions/clipped/public → public}/images/admin/assets/image_thumbnail.png +0 -0
  84. data/{vendor/extensions/clipped/public → public}/images/admin/assets/java_icon.png +0 -0
  85. data/{vendor/extensions/clipped/public → public}/images/admin/assets/page_edit.png +0 -0
  86. data/{vendor/extensions/clipped/public → public}/images/admin/assets/perl_icon.png +0 -0
  87. data/{vendor/extensions/clipped/public → public}/images/admin/assets/php_icon.png +0 -0
  88. data/{vendor/extensions/clipped/public → public}/images/admin/assets/presentation_icon.png +0 -0
  89. data/{vendor/extensions/clipped/public → public}/images/admin/assets/python_icon.png +0 -0
  90. data/{vendor/extensions/clipped/public → public}/images/admin/assets/reorder_assets.png +0 -0
  91. data/{vendor/extensions/clipped/public → public}/images/admin/assets/ruby_icon.png +0 -0
  92. data/{vendor/extensions/clipped/public → public}/images/admin/assets/script_icon.png +0 -0
  93. data/{vendor/extensions/clipped/public → public}/images/admin/assets/spreadsheet_icon.png +0 -0
  94. data/{vendor/extensions/clipped/public → public}/images/admin/assets/tar_icon.png +0 -0
  95. data/{vendor/extensions/clipped/public → public}/images/admin/assets/unknown_icon.png +0 -0
  96. data/{vendor/extensions/clipped/public → public}/images/admin/assets/unknown_thumbnail.png +0 -0
  97. data/{vendor/extensions/clipped/public → public}/images/admin/assets/video_icon.png +0 -0
  98. data/{vendor/extensions/clipped/public → public}/images/admin/assets/video_thumbnail.png +0 -0
  99. data/{vendor/extensions/clipped/public → public}/images/admin/assets/xml_icon.png +0 -0
  100. data/{vendor/extensions/clipped/public → public}/images/admin/assets/zip_icon.png +0 -0
  101. data/{vendor/extensions/site_templates/public → public}/images/roasters/banner.jpg +0 -0
  102. data/{vendor/extensions/site_templates/public → public}/images/roasters/closelabel.gif +0 -0
  103. data/{vendor/extensions/site_templates/public → public}/images/roasters/comment.png +0 -0
  104. data/{vendor/extensions/site_templates/public → public}/images/roasters/gallery1.jpg +0 -0
  105. data/{vendor/extensions/site_templates/public → public}/images/roasters/gallery2.jpg +0 -0
  106. data/{vendor/extensions/site_templates/public → public}/images/roasters/gallery3.jpg +0 -0
  107. data/{vendor/extensions/site_templates/public → public}/images/roasters/gallery4.jpg +0 -0
  108. data/{vendor/extensions/site_templates/public → public}/images/roasters/gift.gif +0 -0
  109. data/{vendor/extensions/site_templates/public → public}/images/roasters/green.gif +0 -0
  110. data/{vendor/extensions/site_templates/public → public}/images/roasters/nav-background.gif +0 -0
  111. data/{vendor/extensions/site_templates/public → public}/images/roasters/nav-divider.gif +0 -0
  112. data/{vendor/extensions/site_templates/public → public}/images/roasters/nextlabel.gif +0 -0
  113. data/{vendor/extensions/site_templates/public → public}/images/roasters/open.gif +0 -0
  114. data/{vendor/extensions/site_templates/public → public}/images/roasters/preview-1.jpg +0 -0
  115. data/{vendor/extensions/site_templates/public → public}/images/roasters/preview.jpg +0 -0
  116. data/{vendor/extensions/site_templates/public → public}/images/roasters/prevlabel.gif +0 -0
  117. data/{vendor/extensions/site_templates/public → public}/images/roasters/prize.gif +0 -0
  118. data/{vendor/extensions/site_templates/public → public}/images/roasters/recycle.gif +0 -0
  119. data/{vendor/extensions/site_templates/public → public}/images/roasters/rss.gif +0 -0
  120. data/{vendor/extensions/site_templates/public → public}/images/roasters/thumb-grinder.jpg +0 -0
  121. data/{vendor/extensions/site_templates/public → public}/images/roasters/thumb-grower.jpg +0 -0
  122. data/{vendor/extensions/site_templates/public → public}/images/roasters/thumb-roaster.jpg +0 -0
  123. data/{vendor/extensions/site_templates/public → public}/images/roasters/truck.gif +0 -0
  124. data/public/stylesheets/admin/main.css +1 -1
  125. data/public/stylesheets/sass/admin/_base.sass +1 -1
  126. data/radiant.gemspec +36 -18
  127. data/script/about +2 -1
  128. data/script/console +1 -1
  129. data/script/dbconsole +2 -2
  130. data/script/destroy +1 -1
  131. data/script/generate +1 -2
  132. data/script/performance/benchmarker +2 -2
  133. data/script/performance/profiler +2 -2
  134. data/script/plugin +1 -1
  135. data/script/runner +1 -1
  136. data/script/server +2 -2
  137. data/spec/controllers/admin/pages_controller_spec.rb +11 -10
  138. data/spec/controllers/admin/paginated_controller_spec.rb +26 -14
  139. data/spec/controllers/site_controller_spec.rb +7 -7
  140. data/spec/fixtures/example_extension/Rakefile +2 -2
  141. data/spec/fixtures/example_extension/example_extension.rb +1 -1
  142. data/spec/generators/extension_generator_spec.rb +30 -17
  143. data/spec/generators/instance_generator_spec.rb +1 -1
  144. data/spec/helpers/application_helper_spec.rb +0 -7
  145. data/spec/lib/radiant/admin_ui_spec.rb +1 -1
  146. data/spec/lib/radiant/extension/script_spec.rb +37 -9
  147. data/spec/lib/radiant/extension_loader_spec.rb +70 -234
  148. data/spec/lib/radiant/extension_migrator_spec.rb +10 -4
  149. data/spec/lib/radiant/extension_path_spec.rb +132 -0
  150. data/spec/lib/radiant/extension_spec.rb +4 -4
  151. data/spec/lib/radiant/initializer_spec.rb +46 -63
  152. data/spec/lib/radiant/taggable_spec.rb +20 -18
  153. data/spec/models/deprecated_tags_spec.rb +53 -14
  154. data/spec/models/page_context_spec.rb +5 -2
  155. data/spec/models/standard_tags_spec.rb +6 -0
  156. data/spec/spec_helper.rb +20 -6
  157. data/test/fixtures/extensions/replacing/db/migrate/200812131420_create_initial_schema.rb +10 -0
  158. data/test/fixtures/extensions/replacing/db/migrate/201106021232_further_modify_schema.rb +7 -0
  159. data/test/fixtures/extensions/replacing/replacing_extension.rb +3 -0
  160. data/vendor/extensions/{textile_filter/lib/tasks/textile_filter_extension_tasks.rake → .keep} +0 -0
  161. metadata +446 -2925
  162. data/INSTALL +0 -35
  163. data/lib/generators/extension/templates/version.rb +0 -3
  164. data/lib/radiant/extension_gem.rb +0 -12
  165. data/lib/radiant/extension_locator.rb +0 -25
  166. data/lib/radiant/gem_dependency_fix.rb +0 -21
  167. data/lib/radiant/gem_locator.rb +0 -28
  168. data/lib/tasks/ci.rake +0 -17
  169. data/spec/lib/locator_spec.rb +0 -41
  170. data/vendor/extensions/archive/README +0 -29
  171. data/vendor/extensions/archive/Rakefile +0 -109
  172. data/vendor/extensions/archive/app/models/archive_day_index_page.rb +0 -32
  173. data/vendor/extensions/archive/app/models/archive_finder.rb +0 -60
  174. data/vendor/extensions/archive/app/models/archive_month_index_page.rb +0 -32
  175. data/vendor/extensions/archive/app/models/archive_page.rb +0 -77
  176. data/vendor/extensions/archive/app/models/archive_year_index_page.rb +0 -32
  177. data/vendor/extensions/archive/archive_extension.rb +0 -20
  178. data/vendor/extensions/archive/config/initializers/radiant_config.rb +0 -3
  179. data/vendor/extensions/archive/config/locales/en.yml +0 -3
  180. data/vendor/extensions/archive/config/routes.rb +0 -5
  181. data/vendor/extensions/archive/cucumber.yml +0 -1
  182. data/vendor/extensions/archive/features/archive_content.feature +0 -51
  183. data/vendor/extensions/archive/features/step_definitions/web_steps.rb +0 -7
  184. data/vendor/extensions/archive/features/support/datasets_loader.rb +0 -3
  185. data/vendor/extensions/archive/features/support/env.rb +0 -11
  186. data/vendor/extensions/archive/features/support/matchers.rb +0 -3
  187. data/vendor/extensions/archive/features/support/paths.rb +0 -22
  188. data/vendor/extensions/archive/lib/archive_index_tags_and_methods.rb +0 -77
  189. data/vendor/extensions/archive/lib/radiant-archive-extension.rb +0 -2
  190. data/vendor/extensions/archive/lib/radiant-archive-extension/version.rb +0 -3
  191. data/vendor/extensions/archive/lib/tasks/archive_extension_tasks.rake +0 -55
  192. data/vendor/extensions/archive/radiant-archive-extension.gemspec +0 -29
  193. data/vendor/extensions/archive/spec/datasets/archive_dataset.rb +0 -55
  194. data/vendor/extensions/archive/spec/models/archive_day_index_page_spec.rb +0 -30
  195. data/vendor/extensions/archive/spec/models/archive_month_index_page_spec.rb +0 -34
  196. data/vendor/extensions/archive/spec/models/archive_page_spec.rb +0 -56
  197. data/vendor/extensions/archive/spec/models/archive_year_index_page_spec.rb +0 -31
  198. data/vendor/extensions/archive/spec/models/page_spec.rb +0 -6
  199. data/vendor/extensions/archive/spec/spec.opts +0 -6
  200. data/vendor/extensions/archive/spec/spec_helper.rb +0 -36
  201. data/vendor/extensions/archive/tmp/cache/entity/d0/580097d24f3e7cfc7bf9706a0a3a3729a9de3e +0 -6
  202. data/vendor/extensions/archive/tmp/cache/meta/0e/da69d02186242cdfda62e46044566f2bc50f3a +0 -0
  203. data/vendor/extensions/clipped/LICENSE +0 -22
  204. data/vendor/extensions/clipped/README.md +0 -230
  205. data/vendor/extensions/clipped/Rakefile +0 -109
  206. data/vendor/extensions/clipped/app/controllers/admin/assets_controller.rb +0 -59
  207. data/vendor/extensions/clipped/app/controllers/admin/page_attachments_controller.rb +0 -18
  208. data/vendor/extensions/clipped/app/helpers/admin/assets_helper.rb +0 -16
  209. data/vendor/extensions/clipped/app/models/asset.rb +0 -164
  210. data/vendor/extensions/clipped/app/models/asset_tags.rb +0 -361
  211. data/vendor/extensions/clipped/app/models/asset_type.rb +0 -154
  212. data/vendor/extensions/clipped/app/models/old_page_attachment.rb +0 -26
  213. data/vendor/extensions/clipped/app/models/page_attachment.rb +0 -21
  214. data/vendor/extensions/clipped/app/views/admin/assets/_asset.html.haml +0 -12
  215. data/vendor/extensions/clipped/app/views/admin/assets/_asset_table.html.haml +0 -30
  216. data/vendor/extensions/clipped/app/views/admin/assets/_errors.html.haml +0 -3
  217. data/vendor/extensions/clipped/app/views/admin/assets/_form.html.haml +0 -20
  218. data/vendor/extensions/clipped/app/views/admin/assets/_page_assets.html.haml +0 -12
  219. data/vendor/extensions/clipped/app/views/admin/assets/_search.html.haml +0 -17
  220. data/vendor/extensions/clipped/app/views/admin/assets/_search_results.html.haml +0 -17
  221. data/vendor/extensions/clipped/app/views/admin/assets/edit.html.haml +0 -40
  222. data/vendor/extensions/clipped/app/views/admin/assets/index.html.haml +0 -19
  223. data/vendor/extensions/clipped/app/views/admin/assets/new.html.haml +0 -24
  224. data/vendor/extensions/clipped/app/views/admin/assets/refresh.html.haml +0 -14
  225. data/vendor/extensions/clipped/app/views/admin/assets/remove.html.haml +0 -16
  226. data/vendor/extensions/clipped/app/views/admin/configuration/_edit.html.haml +0 -8
  227. data/vendor/extensions/clipped/app/views/admin/configuration/_show.html.haml +0 -12
  228. data/vendor/extensions/clipped/app/views/admin/page_attachments/_attachment.html.haml +0 -25
  229. data/vendor/extensions/clipped/app/views/admin/page_parts/_page_part.html.haml +0 -21
  230. data/vendor/extensions/clipped/app/views/admin/pages/_asset_popups.html.haml +0 -42
  231. data/vendor/extensions/clipped/app/views/admin/pages/_assets.html.haml +0 -11
  232. data/vendor/extensions/clipped/app/views/admin/removed/_assets_bucket.html.haml +0 -8
  233. data/vendor/extensions/clipped/app/views/admin/removed/_assets_container.html.haml +0 -58
  234. data/vendor/extensions/clipped/app/views/admin/removed/_bucket.html.haml +0 -11
  235. data/vendor/extensions/clipped/app/views/admin/removed/_bucket_asset.html.haml +0 -9
  236. data/vendor/extensions/clipped/app/views/admin/removed/_show_bucket_link.html.haml +0 -4
  237. data/vendor/extensions/clipped/app/views/admin/removed/_upload_to_page.html.haml +0 -12
  238. data/vendor/extensions/clipped/app/views/admin/removed/bucket/_iframe.html.haml +0 -1
  239. data/vendor/extensions/clipped/artwork/icons.png +0 -0
  240. data/vendor/extensions/clipped/clipped_extension.rb +0 -86
  241. data/vendor/extensions/clipped/config/initializers/interpolation.rb +0 -6
  242. data/vendor/extensions/clipped/config/initializers/processors.rb +0 -12
  243. data/vendor/extensions/clipped/config/initializers/radiant_config.rb +0 -38
  244. data/vendor/extensions/clipped/config/locales/en.yml +0 -108
  245. data/vendor/extensions/clipped/config/locales/nl.yml +0 -105
  246. data/vendor/extensions/clipped/config/routes.rb +0 -8
  247. data/vendor/extensions/clipped/cucumber.yml +0 -1
  248. data/vendor/extensions/clipped/db/migrate/001_create_assets.rb +0 -12
  249. data/vendor/extensions/clipped/db/migrate/002_create_paperclip_attributes.rb +0 -13
  250. data/vendor/extensions/clipped/db/migrate/003_create_user_observer.rb +0 -13
  251. data/vendor/extensions/clipped/db/migrate/004_create_page_attachments.rb +0 -19
  252. data/vendor/extensions/clipped/db/migrate/005_rename_users.rb +0 -13
  253. data/vendor/extensions/clipped/db/migrate/20090316132151_disable_file_types.rb +0 -20
  254. data/vendor/extensions/clipped/db/migrate/20110513205050_asset_uuid.rb +0 -11
  255. data/vendor/extensions/clipped/features/support/env.rb +0 -11
  256. data/vendor/extensions/clipped/features/support/paths.rb +0 -22
  257. data/vendor/extensions/clipped/lib/clipped_admin_ui.rb +0 -32
  258. data/vendor/extensions/clipped/lib/page_asset_associations.rb +0 -13
  259. data/vendor/extensions/clipped/lib/paperclip/frame_grab.rb +0 -39
  260. data/vendor/extensions/clipped/lib/radiant-clipped-extension.rb +0 -2
  261. data/vendor/extensions/clipped/lib/radiant-clipped-extension/version.rb +0 -3
  262. data/vendor/extensions/clipped/lib/tasks/clipped_extension_tasks.rake +0 -129
  263. data/vendor/extensions/clipped/lib/tasks/paperclip_tasks.rake +0 -79
  264. data/vendor/extensions/clipped/public/javascripts/admin/assets.js +0 -296
  265. data/vendor/extensions/clipped/public/stylesheets/sass/admin/assets.sass +0 -209
  266. data/vendor/extensions/clipped/radiant-clipped-extension.gemspec +0 -33
  267. data/vendor/extensions/clipped/spec/controllers/admin/assets_controller_spec.rb +0 -50
  268. data/vendor/extensions/clipped/spec/controllers/admin/page_attachments_controller_spec.rb +0 -50
  269. data/vendor/extensions/clipped/spec/datasets/assets_dataset.rb +0 -32
  270. data/vendor/extensions/clipped/spec/lib/asset_tags_spec.rb +0 -37
  271. data/vendor/extensions/clipped/spec/models/asset_spec.rb +0 -72
  272. data/vendor/extensions/clipped/spec/models/asset_type_spec.rb +0 -49
  273. data/vendor/extensions/clipped/spec/spec.opts +0 -6
  274. data/vendor/extensions/clipped/spec/spec_helper.rb +0 -36
  275. data/vendor/extensions/clipped/wireframes/edit-page-assets-2.bmml +0 -453
  276. data/vendor/extensions/clipped/wireframes/edit-page-assets-2.png +0 -0
  277. data/vendor/extensions/clipped/wireframes/edit-page-assets-3.bmml +0 -454
  278. data/vendor/extensions/clipped/wireframes/edit-page-assets-3.png +0 -0
  279. data/vendor/extensions/clipped/wireframes/edit-page-assets.bmml +0 -433
  280. data/vendor/extensions/clipped/wireframes/edit-page-assets.png +0 -0
  281. data/vendor/extensions/clipped/wireframes/edit-page.bmml +0 -174
  282. data/vendor/extensions/clipped/wireframes/edit-page.png +0 -0
  283. data/vendor/extensions/debug/README +0 -3
  284. data/vendor/extensions/debug/Rakefile +0 -136
  285. data/vendor/extensions/debug/app/models/env_dump_page.rb +0 -17
  286. data/vendor/extensions/debug/config/locales/en.yml +0 -3
  287. data/vendor/extensions/debug/config/routes.rb +0 -5
  288. data/vendor/extensions/debug/debug_extension.rb +0 -11
  289. data/vendor/extensions/debug/lib/tasks/debug_extension_tasks.rake +0 -55
  290. data/vendor/extensions/debug/spec/models/env_dump_page_spec.rb +0 -18
  291. data/vendor/extensions/debug/spec/spec.opts +0 -6
  292. data/vendor/extensions/debug/spec/spec_helper.rb +0 -36
  293. data/vendor/extensions/dutch_language_pack/README +0 -3
  294. data/vendor/extensions/dutch_language_pack/Rakefile +0 -123
  295. data/vendor/extensions/dutch_language_pack/config/locales/nl.yml +0 -238
  296. data/vendor/extensions/dutch_language_pack/config/locales/nl_available_tags.yml +0 -553
  297. data/vendor/extensions/dutch_language_pack/dutch_language_pack_extension.rb +0 -9
  298. data/vendor/extensions/dutch_language_pack/lib/tasks/i18n_nl_extension_tasks.rake +0 -28
  299. data/vendor/extensions/exporter/README +0 -5
  300. data/vendor/extensions/exporter/Rakefile +0 -116
  301. data/vendor/extensions/exporter/app/controllers/admin/export_controller.rb +0 -5
  302. data/vendor/extensions/exporter/app/models/radiant/exporter.rb +0 -41
  303. data/vendor/extensions/exporter/config/locales/en.yml +0 -3
  304. data/vendor/extensions/exporter/config/routes.rb +0 -6
  305. data/vendor/extensions/exporter/cucumber.yml +0 -1
  306. data/vendor/extensions/exporter/exporter_extension.rb +0 -8
  307. data/vendor/extensions/exporter/features/support/env.rb +0 -16
  308. data/vendor/extensions/exporter/features/support/paths.rb +0 -14
  309. data/vendor/extensions/exporter/lib/tasks/exporter_extension_tasks.rake +0 -55
  310. data/vendor/extensions/exporter/spec/controllers/admin/export_controller_spec.rb +0 -16
  311. data/vendor/extensions/exporter/spec/models/radiant/exporter_spec.rb +0 -29
  312. data/vendor/extensions/exporter/spec/spec.opts +0 -6
  313. data/vendor/extensions/exporter/spec/spec_helper.rb +0 -36
  314. data/vendor/extensions/french_language_pack/README +0 -3
  315. data/vendor/extensions/french_language_pack/Rakefile +0 -123
  316. data/vendor/extensions/french_language_pack/config/locales/fr.yml +0 -190
  317. data/vendor/extensions/french_language_pack/config/locales/fr_available_tags.yml +0 -553
  318. data/vendor/extensions/french_language_pack/french_language_pack_extension.rb +0 -9
  319. data/vendor/extensions/french_language_pack/lib/tasks/i18n_fr_extension_tasks.rake +0 -28
  320. data/vendor/extensions/german_language_pack/README +0 -4
  321. data/vendor/extensions/german_language_pack/Rakefile +0 -123
  322. data/vendor/extensions/german_language_pack/config/locales/de.yml +0 -238
  323. data/vendor/extensions/german_language_pack/config/locales/de_available_tags.yml +0 -624
  324. data/vendor/extensions/german_language_pack/german_language_pack_extension.rb +0 -9
  325. data/vendor/extensions/german_language_pack/lib/tasks/i18n_de_extension_tasks.rake +0 -28
  326. data/vendor/extensions/italian_language_pack/README +0 -3
  327. data/vendor/extensions/italian_language_pack/Rakefile +0 -123
  328. data/vendor/extensions/italian_language_pack/config/locales/it.yml +0 -184
  329. data/vendor/extensions/italian_language_pack/config/locales/it_available_tags.yml +0 -553
  330. data/vendor/extensions/italian_language_pack/italian_language_pack_extension.rb +0 -8
  331. data/vendor/extensions/italian_language_pack/lib/tasks/i18n_it_extension_tasks.rake +0 -28
  332. data/vendor/extensions/japanese_language_pack/README +0 -42
  333. data/vendor/extensions/japanese_language_pack/Rakefile +0 -123
  334. data/vendor/extensions/japanese_language_pack/config/locales/ja.yml +0 -220
  335. data/vendor/extensions/japanese_language_pack/config/locales/ja_available_tags.yml +0 -533
  336. data/vendor/extensions/japanese_language_pack/japanese_language_pack_extension.rb +0 -9
  337. data/vendor/extensions/japanese_language_pack/lib/tasks/i18n_ja_extension_tasks.rake +0 -28
  338. data/vendor/extensions/markdown_filter/README +0 -1
  339. data/vendor/extensions/markdown_filter/Rakefile +0 -120
  340. data/vendor/extensions/markdown_filter/lib/markdown_filter.rb +0 -14
  341. data/vendor/extensions/markdown_filter/lib/markdown_tags.rb +0 -18
  342. data/vendor/extensions/markdown_filter/lib/tasks/markdown_filter_extension_tasks.rake +0 -28
  343. data/vendor/extensions/markdown_filter/markdown.html +0 -123
  344. data/vendor/extensions/markdown_filter/markdown_filter_extension.rb +0 -18
  345. data/vendor/extensions/markdown_filter/spec/models/markdown_filter_spec.rb +0 -22
  346. data/vendor/extensions/markdown_filter/spec/spec.opts +0 -6
  347. data/vendor/extensions/markdown_filter/spec/spec_helper.rb +0 -36
  348. data/vendor/extensions/markdown_filter/test/test_helper.rb +0 -19
  349. data/vendor/extensions/markdown_filter/test/unit/markdown_filter_test.rb +0 -18
  350. data/vendor/extensions/markdown_filter/vendor/kramdown/AUTHORS +0 -1
  351. data/vendor/extensions/markdown_filter/vendor/kramdown/CONTRIBUTERS +0 -5
  352. data/vendor/extensions/markdown_filter/vendor/kramdown/COPYING +0 -24
  353. data/vendor/extensions/markdown_filter/vendor/kramdown/ChangeLog +0 -5206
  354. data/vendor/extensions/markdown_filter/vendor/kramdown/GPL +0 -674
  355. data/vendor/extensions/markdown_filter/vendor/kramdown/README +0 -30
  356. data/vendor/extensions/markdown_filter/vendor/kramdown/Rakefile +0 -342
  357. data/vendor/extensions/markdown_filter/vendor/kramdown/VERSION +0 -1
  358. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/benchmark.rb +0 -34
  359. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/generate_data.rb +0 -112
  360. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-jruby-1.4.0.dat +0 -7
  361. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.6.dat +0 -7
  362. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.7.dat +0 -7
  363. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.1p243.dat +0 -7
  364. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.2dev.dat +0 -7
  365. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdbasics.text +0 -306
  366. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdsyntax.text +0 -888
  367. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-jruby-1.4.0.dat +0 -7
  368. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.6.dat +0 -7
  369. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.7.dat +0 -7
  370. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.1p243.dat +0 -7
  371. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.2dev.dat +0 -7
  372. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/testing.sh +0 -9
  373. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/timing.sh +0 -10
  374. data/vendor/extensions/markdown_filter/vendor/kramdown/bin/kramdown +0 -79
  375. data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.html +0 -18
  376. data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.latex +0 -43
  377. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.scss.css +0 -519
  378. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.template +0 -80
  379. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/documentation.page +0 -72
  380. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/index.page +0 -96
  381. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/installation.page +0 -90
  382. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/links.markdown +0 -6
  383. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.feed +0 -10
  384. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.page +0 -28
  385. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/quickref.page +0 -564
  386. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/syntax.page +0 -1615
  387. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/tests.page +0 -51
  388. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/virtual +0 -2
  389. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown.rb +0 -23
  390. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/compatibility.rb +0 -34
  391. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter.rb +0 -42
  392. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/base.rb +0 -111
  393. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/html.rb +0 -399
  394. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/kramdown.rb +0 -421
  395. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/latex.rb +0 -577
  396. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/document.rb +0 -168
  397. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/error.rb +0 -27
  398. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/options.rb +0 -296
  399. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser.rb +0 -39
  400. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/base.rb +0 -94
  401. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/html.rb +0 -499
  402. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown.rb +0 -319
  403. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/abbreviation.rb +0 -66
  404. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/attribute_list.rb +0 -111
  405. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/autolink.rb +0 -54
  406. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blank_line.rb +0 -43
  407. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/block_boundary.rb +0 -46
  408. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blockquote.rb +0 -46
  409. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codeblock.rb +0 -60
  410. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codespan.rb +0 -57
  411. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/emphasis.rb +0 -70
  412. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/eob.rb +0 -39
  413. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/escaped_chars.rb +0 -38
  414. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/extension.rb +0 -116
  415. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/footnote.rb +0 -74
  416. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/header.rb +0 -66
  417. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/horizontal_rule.rb +0 -39
  418. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html.rb +0 -175
  419. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html_entity.rb +0 -39
  420. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/line_break.rb +0 -38
  421. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/link.rb +0 -156
  422. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/list.rb +0 -239
  423. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/math.rb +0 -64
  424. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/paragraph.rb +0 -55
  425. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/smart_quotes.rb +0 -214
  426. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/table.rb +0 -134
  427. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/typographic_symbol.rb +0 -52
  428. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/utils.rb +0 -37
  429. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/utils/entities.rb +0 -335
  430. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/utils/html.rb +0 -75
  431. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/utils/ordered_hash.rb +0 -79
  432. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/version.rb +0 -28
  433. data/vendor/extensions/markdown_filter/vendor/kramdown/man/man1/kramdown.1 +0 -246
  434. data/vendor/extensions/markdown_filter/vendor/kramdown/setup.rb +0 -1585
  435. data/vendor/extensions/markdown_filter/vendor/kramdown/test/run_tests.rb +0 -59
  436. data/vendor/extensions/markdown_filter/vendor/kramdown/test/test_files.rb +0 -162
  437. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.html +0 -1
  438. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.text +0 -3
  439. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.html +0 -1
  440. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.text +0 -6
  441. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.html +0 -1
  442. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.text +0 -3
  443. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.html +0 -1
  444. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.text +0 -3
  445. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.html +0 -1
  446. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.text +0 -5
  447. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.html +0 -18
  448. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.text +0 -19
  449. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.html +0 -5
  450. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.text +0 -5
  451. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.html +0 -1
  452. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.text +0 -1
  453. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.html +0 -4
  454. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.text +0 -4
  455. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.html +0 -37
  456. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.text +0 -34
  457. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.html +0 -1
  458. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.text +0 -1
  459. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.html +0 -30
  460. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.html.19 +0 -30
  461. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.text +0 -36
  462. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.html +0 -1
  463. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.text +0 -2
  464. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.html +0 -3
  465. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.options +0 -2
  466. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.text +0 -3
  467. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.html +0 -17
  468. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.options +0 -1
  469. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.text +0 -19
  470. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.html +0 -25
  471. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.text +0 -14
  472. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/lazy.html +0 -34
  473. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/lazy.text +0 -20
  474. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.html +0 -10
  475. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.text +0 -6
  476. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.html +0 -4
  477. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.text +0 -2
  478. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.html +0 -15
  479. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.text +0 -11
  480. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.html +0 -4
  481. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.text +0 -4
  482. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/lazy.html +0 -4
  483. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/lazy.text +0 -5
  484. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.html +0 -2
  485. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.text +0 -1
  486. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end_1.html +0 -2
  487. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end_1.text +0 -2
  488. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.html +0 -13
  489. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.text +0 -10
  490. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.html +0 -7
  491. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.text +0 -9
  492. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.html +0 -3
  493. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.text +0 -3
  494. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.html +0 -13
  495. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.text +0 -12
  496. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.html +0 -6
  497. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.text +0 -5
  498. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_ial.html +0 -6
  499. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_ial.text +0 -5
  500. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.html +0 -7
  501. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.html.19 +0 -7
  502. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.text +0 -7
  503. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.html +0 -17
  504. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.text +0 -17
  505. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.html +0 -3
  506. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.text +0 -3
  507. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.html +0 -3
  508. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.text +0 -3
  509. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.html +0 -17
  510. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.text +0 -17
  511. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.html +0 -7
  512. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.text +0 -5
  513. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/lazy.html +0 -39
  514. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/lazy.text +0 -29
  515. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.html +0 -9
  516. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.text +0 -5
  517. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.html +0 -40
  518. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.text +0 -26
  519. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.html +0 -117
  520. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.text +0 -66
  521. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.html +0 -17
  522. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.text +0 -7
  523. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.html +0 -39
  524. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.text +0 -18
  525. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.html +0 -19
  526. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.text +0 -13
  527. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.html +0 -48
  528. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.text +0 -36
  529. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.html +0 -3
  530. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.text +0 -1
  531. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.html +0 -55
  532. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.text +0 -35
  533. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.html +0 -18
  534. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.text +0 -15
  535. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.html +0 -6
  536. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.options +0 -1
  537. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.text +0 -6
  538. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.html +0 -14
  539. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.options +0 -1
  540. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.text +0 -14
  541. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.html +0 -15
  542. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.options +0 -1
  543. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.text +0 -13
  544. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.html +0 -10
  545. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.text +0 -9
  546. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.html +0 -7
  547. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.text +0 -8
  548. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.html +0 -3
  549. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.text +0 -3
  550. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.html +0 -1
  551. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.text +0 -1
  552. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.html +0 -6
  553. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.options +0 -2
  554. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.text +0 -6
  555. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.html +0 -8
  556. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.text +0 -8
  557. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.html +0 -15
  558. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.text +0 -17
  559. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.html +0 -19
  560. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.text +0 -22
  561. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/options +0 -1
  562. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.html +0 -3
  563. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.text +0 -4
  564. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.html +0 -14
  565. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.text +0 -12
  566. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.html +0 -48
  567. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.text +0 -56
  568. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.html +0 -1
  569. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.html.19 +0 -1
  570. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.text +0 -1
  571. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.html +0 -5
  572. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.text +0 -5
  573. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.html +0 -5
  574. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.text +0 -5
  575. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.html +0 -38
  576. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.text +0 -38
  577. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.html +0 -24
  578. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.text +0 -24
  579. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.html +0 -30
  580. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.options +0 -1
  581. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.text +0 -29
  582. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.html +0 -12
  583. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.options +0 -1
  584. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.text +0 -9
  585. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.html +0 -21
  586. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.options +0 -1
  587. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.text +0 -17
  588. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.html +0 -13
  589. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.text +0 -12
  590. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.html +0 -64
  591. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.html.19 +0 -64
  592. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.options +0 -1
  593. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.text +0 -59
  594. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.html +0 -2
  595. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.text +0 -8
  596. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.html +0 -1
  597. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.options +0 -1
  598. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.text +0 -2
  599. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.html +0 -25
  600. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.text +0 -34
  601. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.html +0 -8
  602. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.text +0 -12
  603. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.html +0 -8
  604. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.text +0 -8
  605. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.html +0 -10
  606. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.kramdown +0 -20
  607. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.latex +0 -13
  608. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.text +0 -21
  609. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.html +0 -21
  610. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.text +0 -21
  611. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.html +0 -10
  612. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.text +0 -5
  613. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.html +0 -7
  614. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.text +0 -7
  615. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.html +0 -1
  616. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.text +0 -1
  617. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/item_ial.html +0 -12
  618. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/item_ial.text +0 -8
  619. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.html +0 -13
  620. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.text +0 -10
  621. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.html +0 -2
  622. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.text +0 -2
  623. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.html +0 -10
  624. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.text +0 -6
  625. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.html +0 -8
  626. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.text +0 -5
  627. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.html +0 -8
  628. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.text +0 -7
  629. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.html +0 -4
  630. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.text +0 -2
  631. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.html +0 -3
  632. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.text +0 -4
  633. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.html +0 -38
  634. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.text +0 -24
  635. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.html +0 -8
  636. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.text +0 -9
  637. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.html +0 -65
  638. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.text +0 -25
  639. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.html +0 -103
  640. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.text +0 -32
  641. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.html +0 -3
  642. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.text +0 -3
  643. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.html +0 -139
  644. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.text +0 -38
  645. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.html +0 -26
  646. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.text +0 -28
  647. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/16_toc/no_toc_depth.html +0 -33
  648. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/16_toc/no_toc_depth.options +0 -1
  649. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/16_toc/no_toc_depth.text +0 -16
  650. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/16_toc/toc_depth_2.html +0 -24
  651. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/16_toc/toc_depth_2.options +0 -1
  652. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/16_toc/toc_depth_2.text +0 -16
  653. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.html +0 -46
  654. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.text +0 -28
  655. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.html +0 -5
  656. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.text +0 -5
  657. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.html +0 -5
  658. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.text +0 -5
  659. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.html +0 -14
  660. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.text +0 -16
  661. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.html +0 -46
  662. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.html.19 +0 -46
  663. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.text +0 -48
  664. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.html +0 -9
  665. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.text +0 -26
  666. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.html +0 -3
  667. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.text +0 -3
  668. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.html +0 -35
  669. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.html.19 +0 -35
  670. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.text +0 -47
  671. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.html +0 -3
  672. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.text +0 -3
  673. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.html +0 -9
  674. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.text +0 -9
  675. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.html +0 -38
  676. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.text +0 -33
  677. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.html +0 -46
  678. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.text +0 -46
  679. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.html +0 -5
  680. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.text +0 -5
  681. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.html +0 -1
  682. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.text +0 -1
  683. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/highlighting.html +0 -1
  684. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/highlighting.text +0 -1
  685. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.html +0 -16
  686. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.text +0 -16
  687. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.html +0 -17
  688. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.latex +0 -17
  689. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.text +0 -24
  690. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.html +0 -12
  691. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.latex +0 -2
  692. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.options +0 -1
  693. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.text +0 -4
  694. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.html +0 -46
  695. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.latex +0 -23
  696. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.text +0 -26
  697. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.html +0 -1
  698. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.text +0 -2
  699. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.html +0 -1
  700. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.text +0 -1
  701. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.html +0 -1
  702. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.text +0 -1
  703. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.html +0 -6
  704. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.text +0 -6
  705. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.html +0 -30
  706. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.text +0 -30
  707. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.html +0 -8
  708. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.text +0 -15
  709. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.html +0 -2
  710. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.text +0 -5
  711. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.html +0 -12
  712. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.text +0 -12
  713. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.html +0 -43
  714. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.text +0 -43
  715. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.html +0 -6
  716. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.text +0 -6
  717. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.html +0 -1
  718. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.text +0 -1
  719. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.html +0 -1
  720. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.text +0 -1
  721. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.html +0 -1
  722. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.text +0 -1
  723. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.html +0 -6
  724. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.text +0 -6
  725. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.html +0 -11
  726. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.latex +0 -12
  727. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.text +0 -11
  728. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.html +0 -5
  729. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.text +0 -5
  730. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.html +0 -4
  731. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.options +0 -1
  732. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.text +0 -4
  733. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_as_char.html +0 -1
  734. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_as_char.html.19 +0 -1
  735. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_as_char.options +0 -1
  736. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_as_char.text +0 -1
  737. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_as_input.html +0 -1
  738. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_as_input.options +0 -1
  739. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_as_input.text +0 -1
  740. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_numeric.html +0 -1
  741. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_numeric.options +0 -1
  742. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_numeric.text +0 -1
  743. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_symbolic.html +0 -1
  744. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_symbolic.options +0 -1
  745. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities_symbolic.text +0 -1
  746. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.html +0 -1
  747. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.text +0 -1
  748. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.html +0 -1
  749. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.text +0 -1
  750. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.html +0 -18
  751. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.html.19 +0 -18
  752. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.text +0 -18
  753. data/vendor/extensions/russian_language_pack/README +0 -5
  754. data/vendor/extensions/russian_language_pack/Rakefile +0 -123
  755. data/vendor/extensions/russian_language_pack/config/locales/ru.yml +0 -189
  756. data/vendor/extensions/russian_language_pack/config/locales/ru_available_tags.yml +0 -551
  757. data/vendor/extensions/russian_language_pack/lib/tasks/i18n_ru_extension_tasks.rake +0 -28
  758. data/vendor/extensions/russian_language_pack/russian_language_pack_extension.rb +0 -9
  759. data/vendor/extensions/sheets/LICENSE +0 -21
  760. data/vendor/extensions/sheets/README.md +0 -33
  761. data/vendor/extensions/sheets/Rakefile +0 -129
  762. data/vendor/extensions/sheets/app/controllers/admin/scripts_controller.rb +0 -13
  763. data/vendor/extensions/sheets/app/controllers/admin/sheet_resource_controller.rb +0 -54
  764. data/vendor/extensions/sheets/app/controllers/admin/styles_controller.rb +0 -13
  765. data/vendor/extensions/sheets/app/helpers/admin/scripts_helper.rb +0 -5
  766. data/vendor/extensions/sheets/app/helpers/admin/styles_helper.rb +0 -5
  767. data/vendor/extensions/sheets/app/models/javascript_page.rb +0 -16
  768. data/vendor/extensions/sheets/app/models/sheet.rb +0 -93
  769. data/vendor/extensions/sheets/app/models/stylesheet_page.rb +0 -16
  770. data/vendor/extensions/sheets/app/views/admin/scripts/edit.html.haml +0 -30
  771. data/vendor/extensions/sheets/app/views/admin/scripts/index.html.haml +0 -31
  772. data/vendor/extensions/sheets/app/views/admin/scripts/new.html.haml +0 -30
  773. data/vendor/extensions/sheets/app/views/admin/sheets/_edit_scripts.html.haml +0 -40
  774. data/vendor/extensions/sheets/app/views/admin/sheets/_upload_script.html.haml +0 -16
  775. data/vendor/extensions/sheets/app/views/admin/styles/edit.html.haml +0 -30
  776. data/vendor/extensions/sheets/app/views/admin/styles/index.html.haml +0 -31
  777. data/vendor/extensions/sheets/app/views/admin/styles/new.html.haml +0 -30
  778. data/vendor/extensions/sheets/config/locales/en.yml +0 -17
  779. data/vendor/extensions/sheets/config/routes.rb +0 -6
  780. data/vendor/extensions/sheets/cucumber.yml +0 -1
  781. data/vendor/extensions/sheets/features/admin/managing_javascripts.feature +0 -65
  782. data/vendor/extensions/sheets/features/admin/managing_stylesheets.feature +0 -65
  783. data/vendor/extensions/sheets/features/support/env.rb +0 -11
  784. data/vendor/extensions/sheets/features/support/paths.rb +0 -11
  785. data/vendor/extensions/sheets/lib/javascript_tags.rb +0 -58
  786. data/vendor/extensions/sheets/lib/radiant-sheets-extension.rb +0 -2
  787. data/vendor/extensions/sheets/lib/radiant-sheets-extension/version.rb +0 -3
  788. data/vendor/extensions/sheets/lib/sass_filter.rb +0 -16
  789. data/vendor/extensions/sheets/lib/stylesheet_tags.rb +0 -61
  790. data/vendor/extensions/sheets/lib/tasks/sheets_extension_tasks.rake +0 -79
  791. data/vendor/extensions/sheets/public/images/admin/javascript.png +0 -0
  792. data/vendor/extensions/sheets/public/images/admin/stylesheet.png +0 -0
  793. data/vendor/extensions/sheets/radiant-sheets-extension.gemspec +0 -29
  794. data/vendor/extensions/sheets/sass.html +0 -82
  795. data/vendor/extensions/sheets/sheets_extension.rb +0 -88
  796. data/vendor/extensions/sheets/spec/controllers/admin/scripts_controller_spec.rb +0 -123
  797. data/vendor/extensions/sheets/spec/controllers/admin/styles_controller_spec.rb +0 -124
  798. data/vendor/extensions/sheets/spec/datasets/javascripts_dataset.rb +0 -12
  799. data/vendor/extensions/sheets/spec/datasets/stylesheets_dataset.rb +0 -17
  800. data/vendor/extensions/sheets/spec/helpers/admin/scripts_helper_spec.rb +0 -5
  801. data/vendor/extensions/sheets/spec/helpers/admin/styles_helper_spec.rb +0 -5
  802. data/vendor/extensions/sheets/spec/lib/javascript_tags_spec.rb +0 -36
  803. data/vendor/extensions/sheets/spec/lib/stylesheet_tags_spec.rb +0 -41
  804. data/vendor/extensions/sheets/spec/models/javascript_page_spec.rb +0 -80
  805. data/vendor/extensions/sheets/spec/models/page_spec.rb +0 -5
  806. data/vendor/extensions/sheets/spec/models/stylesheet_page_spec.rb +0 -80
  807. data/vendor/extensions/sheets/spec/spec.opts +0 -6
  808. data/vendor/extensions/sheets/spec/spec_helper.rb +0 -36
  809. data/vendor/extensions/site_templates/README +0 -3
  810. data/vendor/extensions/site_templates/Rakefile +0 -136
  811. data/vendor/extensions/site_templates/db/templates/empty.yml +0 -2
  812. data/vendor/extensions/site_templates/db/templates/roasters.yml +0 -7826
  813. data/vendor/extensions/site_templates/db/templates/simple-blog.yml +0 -251
  814. data/vendor/extensions/site_templates/db/templates/styled-blog.yml +0 -535
  815. data/vendor/extensions/site_templates/lib/tasks/site_templates_extension_tasks.rake +0 -55
  816. data/vendor/extensions/site_templates/site_templates_extension.rb +0 -8
  817. data/vendor/extensions/smarty_pants_filter/README +0 -1
  818. data/vendor/extensions/smarty_pants_filter/Rakefile +0 -136
  819. data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_filter.rb +0 -7
  820. data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_tags.rb +0 -18
  821. data/vendor/extensions/smarty_pants_filter/lib/tasks/smarty_pants_filter_extension_tasks.rake +0 -28
  822. data/vendor/extensions/smarty_pants_filter/smarty_pants_filter_extension.rb +0 -18
  823. data/vendor/extensions/smarty_pants_filter/smartypants.html +0 -47
  824. data/vendor/extensions/smarty_pants_filter/spec/models/smarty_pants_filter_spec.rb +0 -19
  825. data/vendor/extensions/smarty_pants_filter/spec/spec.opts +0 -6
  826. data/vendor/extensions/smarty_pants_filter/spec/spec_helper.rb +0 -36
  827. data/vendor/extensions/smarty_pants_filter/test/test_helper.rb +0 -19
  828. data/vendor/extensions/smarty_pants_filter/test/unit/smarty_pants_filter_test.rb +0 -14
  829. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/README +0 -114
  830. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/Rakefile +0 -84
  831. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/install.rb +0 -9
  832. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/rubypants.rb +0 -490
  833. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/test_rubypants.rb +0 -162
  834. data/vendor/extensions/textile_filter/README +0 -1
  835. data/vendor/extensions/textile_filter/Rakefile +0 -120
  836. data/vendor/extensions/textile_filter/lib/textile_filter.rb +0 -6
  837. data/vendor/extensions/textile_filter/lib/textile_tags.rb +0 -24
  838. data/vendor/extensions/textile_filter/spec/models/textile_filter_spec.rb +0 -19
  839. data/vendor/extensions/textile_filter/spec/spec.opts +0 -6
  840. data/vendor/extensions/textile_filter/spec/spec_helper.rb +0 -36
  841. data/vendor/extensions/textile_filter/test/test_helper.rb +0 -19
  842. data/vendor/extensions/textile_filter/test/unit/textile_filter_test.rb +0 -13
  843. data/vendor/extensions/textile_filter/textile.html +0 -115
  844. data/vendor/extensions/textile_filter/textile_filter_extension.rb +0 -10
  845. data/vendor/highline/CHANGELOG +0 -222
  846. data/vendor/highline/INSTALL +0 -35
  847. data/vendor/highline/LICENSE +0 -7
  848. data/vendor/highline/README +0 -63
  849. data/vendor/highline/Rakefile +0 -82
  850. data/vendor/highline/TODO +0 -6
  851. data/vendor/highline/examples/ansi_colors.rb +0 -38
  852. data/vendor/highline/examples/asking_for_arrays.rb +0 -18
  853. data/vendor/highline/examples/basic_usage.rb +0 -75
  854. data/vendor/highline/examples/color_scheme.rb +0 -32
  855. data/vendor/highline/examples/limit.rb +0 -12
  856. data/vendor/highline/examples/menus.rb +0 -65
  857. data/vendor/highline/examples/overwrite.rb +0 -19
  858. data/vendor/highline/examples/page_and_wrap.rb +0 -322
  859. data/vendor/highline/examples/password.rb +0 -7
  860. data/vendor/highline/examples/trapping_eof.rb +0 -22
  861. data/vendor/highline/examples/using_readline.rb +0 -17
  862. data/vendor/highline/lib/highline.rb +0 -758
  863. data/vendor/highline/lib/highline/color_scheme.rb +0 -120
  864. data/vendor/highline/lib/highline/compatibility.rb +0 -17
  865. data/vendor/highline/lib/highline/import.rb +0 -43
  866. data/vendor/highline/lib/highline/menu.rb +0 -395
  867. data/vendor/highline/lib/highline/question.rb +0 -463
  868. data/vendor/highline/lib/highline/system_extensions.rb +0 -193
  869. data/vendor/highline/setup.rb +0 -1360
  870. data/vendor/highline/test/tc_color_scheme.rb +0 -56
  871. data/vendor/highline/test/tc_highline.rb +0 -823
  872. data/vendor/highline/test/tc_import.rb +0 -54
  873. data/vendor/highline/test/tc_menu.rb +0 -429
  874. data/vendor/highline/test/ts_all.rb +0 -15
  875. data/vendor/plugins/acts_as_tree/README +0 -26
  876. data/vendor/plugins/acts_as_tree/Rakefile +0 -22
  877. data/vendor/plugins/acts_as_tree/init.rb +0 -1
  878. data/vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb +0 -96
  879. data/vendor/plugins/acts_as_tree/test/abstract_unit.rb +0 -0
  880. data/vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb +0 -219
  881. data/vendor/plugins/acts_as_tree/test/database.yml +0 -0
  882. data/vendor/plugins/acts_as_tree/test/fixtures/mixin.rb +0 -0
  883. data/vendor/plugins/acts_as_tree/test/fixtures/mixins.yml +0 -0
  884. data/vendor/plugins/acts_as_tree/test/schema.rb +0 -0
  885. data/vendor/rack-cache/CHANGES +0 -128
  886. data/vendor/rack-cache/COPYING +0 -18
  887. data/vendor/rack-cache/README +0 -110
  888. data/vendor/rack-cache/Rakefile +0 -137
  889. data/vendor/rack-cache/TODO +0 -31
  890. data/vendor/rack-cache/doc/configuration.markdown +0 -86
  891. data/vendor/rack-cache/doc/faq.markdown +0 -141
  892. data/vendor/rack-cache/doc/index.markdown +0 -118
  893. data/vendor/rack-cache/doc/layout.html.erb +0 -34
  894. data/vendor/rack-cache/doc/license.markdown +0 -24
  895. data/vendor/rack-cache/doc/rack-cache.css +0 -362
  896. data/vendor/rack-cache/doc/server.ru +0 -34
  897. data/vendor/rack-cache/doc/storage.markdown +0 -162
  898. data/vendor/rack-cache/example/sinatra/app.rb +0 -25
  899. data/vendor/rack-cache/example/sinatra/views/index.erb +0 -44
  900. data/vendor/rack-cache/lib/rack/cache.rb +0 -45
  901. data/vendor/rack-cache/lib/rack/cache/cachecontrol.rb +0 -193
  902. data/vendor/rack-cache/lib/rack/cache/context.rb +0 -233
  903. data/vendor/rack-cache/lib/rack/cache/entitystore.rb +0 -253
  904. data/vendor/rack-cache/lib/rack/cache/key.rb +0 -52
  905. data/vendor/rack-cache/lib/rack/cache/metastore.rb +0 -328
  906. data/vendor/rack-cache/lib/rack/cache/options.rb +0 -150
  907. data/vendor/rack-cache/lib/rack/cache/request.rb +0 -33
  908. data/vendor/rack-cache/lib/rack/cache/response.rb +0 -267
  909. data/vendor/rack-cache/lib/rack/cache/storage.rb +0 -49
  910. data/vendor/rack-cache/rack-cache.gemspec +0 -69
  911. data/vendor/rack-cache/test/cache_test.rb +0 -38
  912. data/vendor/rack-cache/test/cachecontrol_test.rb +0 -139
  913. data/vendor/rack-cache/test/context_test.rb +0 -727
  914. data/vendor/rack-cache/test/entitystore_test.rb +0 -189
  915. data/vendor/rack-cache/test/key_test.rb +0 -50
  916. data/vendor/rack-cache/test/metastore_test.rb +0 -263
  917. data/vendor/rack-cache/test/options_test.rb +0 -78
  918. data/vendor/rack-cache/test/pony.jpg +0 -0
  919. data/vendor/rack-cache/test/request_test.rb +0 -19
  920. data/vendor/rack-cache/test/response_test.rb +0 -178
  921. data/vendor/rack-cache/test/spec_setup.rb +0 -202
  922. data/vendor/rack-cache/test/storage_test.rb +0 -94
  923. data/vendor/radius/CHANGELOG +0 -33
  924. data/vendor/radius/LICENSE +0 -19
  925. data/vendor/radius/QUICKSTART.rdoc +0 -322
  926. data/vendor/radius/README.rdoc +0 -102
  927. data/vendor/radius/Rakefile +0 -8
  928. data/vendor/radius/VERSION +0 -1
  929. data/vendor/radius/lib/radius.rb +0 -10
  930. data/vendor/radius/lib/radius/context.rb +0 -139
  931. data/vendor/radius/lib/radius/delegating_open_struct.rb +0 -31
  932. data/vendor/radius/lib/radius/error.rb +0 -43
  933. data/vendor/radius/lib/radius/parse_tag.rb +0 -24
  934. data/vendor/radius/lib/radius/parser.rb +0 -65
  935. data/vendor/radius/lib/radius/parser/scan.rb +0 -678
  936. data/vendor/radius/lib/radius/parser/scan.rl +0 -124
  937. data/vendor/radius/lib/radius/tag_binding.rb +0 -71
  938. data/vendor/radius/lib/radius/tag_definitions.rb +0 -78
  939. data/vendor/radius/lib/radius/utility.rb +0 -30
  940. data/vendor/radius/lib/radius/version.rb +0 -8
  941. data/vendor/radius/radius.gemspec +0 -71
  942. data/vendor/radius/tasks/jeweler.rake +0 -21
  943. data/vendor/radius/tasks/rdoc.rake +0 -13
  944. data/vendor/radius/tasks/scan.rake +0 -27
  945. data/vendor/radius/tasks/test.rake +0 -7
  946. data/vendor/radius/test/context_test.rb +0 -61
  947. data/vendor/radius/test/parser_test.rb +0 -295
  948. data/vendor/radius/test/quickstart_test.rb +0 -153
  949. data/vendor/radius/test/test_helper.rb +0 -29
  950. data/vendor/rails/Rakefile +0 -83
  951. data/vendor/rails/actionmailer/CHANGELOG +0 -387
  952. data/vendor/rails/actionmailer/MIT-LICENSE +0 -21
  953. data/vendor/rails/actionmailer/README +0 -149
  954. data/vendor/rails/actionmailer/Rakefile +0 -99
  955. data/vendor/rails/actionmailer/install.rb +0 -30
  956. data/vendor/rails/actionmailer/lib/action_mailer.rb +0 -62
  957. data/vendor/rails/actionmailer/lib/action_mailer/adv_attr_accessor.rb +0 -30
  958. data/vendor/rails/actionmailer/lib/action_mailer/base.rb +0 -739
  959. data/vendor/rails/actionmailer/lib/action_mailer/helpers.rb +0 -113
  960. data/vendor/rails/actionmailer/lib/action_mailer/mail_helper.rb +0 -17
  961. data/vendor/rails/actionmailer/lib/action_mailer/part.rb +0 -107
  962. data/vendor/rails/actionmailer/lib/action_mailer/part_container.rb +0 -55
  963. data/vendor/rails/actionmailer/lib/action_mailer/quoting.rb +0 -62
  964. data/vendor/rails/actionmailer/lib/action_mailer/test_case.rb +0 -64
  965. data/vendor/rails/actionmailer/lib/action_mailer/test_helper.rb +0 -68
  966. data/vendor/rails/actionmailer/lib/action_mailer/utils.rb +0 -7
  967. data/vendor/rails/actionmailer/lib/action_mailer/vendor/text-format-0.6.3/text/format.rb +0 -1466
  968. data/vendor/rails/actionmailer/lib/action_mailer/vendor/text_format.rb +0 -10
  969. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail.rb +0 -6
  970. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/Makefile +0 -18
  971. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/address.rb +0 -392
  972. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/attachments.rb +0 -65
  973. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/base64.rb +0 -46
  974. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/compat.rb +0 -41
  975. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/config.rb +0 -67
  976. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/core_extensions.rb +0 -63
  977. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/encode.rb +0 -590
  978. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/header.rb +0 -962
  979. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/index.rb +0 -9
  980. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/interface.rb +0 -1162
  981. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/loader.rb +0 -3
  982. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/mail.rb +0 -578
  983. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/mailbox.rb +0 -496
  984. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/main.rb +0 -6
  985. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/mbox.rb +0 -3
  986. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/net.rb +0 -250
  987. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/obsolete.rb +0 -132
  988. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/parser.rb +0 -1060
  989. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/parser.y +0 -416
  990. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/port.rb +0 -379
  991. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/quoting.rb +0 -164
  992. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/require_arch.rb +0 -58
  993. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/scanner.rb +0 -49
  994. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/scanner_r.rb +0 -262
  995. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/stringio.rb +0 -280
  996. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/utils.rb +0 -362
  997. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/COPYING +0 -504
  998. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/README +0 -12
  999. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet.rb +0 -67
  1000. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/big5freq.rb +0 -927
  1001. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/big5prober.rb +0 -42
  1002. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb +0 -238
  1003. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/charsetgroupprober.rb +0 -112
  1004. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/charsetprober.rb +0 -75
  1005. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb +0 -64
  1006. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/constants.rb +0 -42
  1007. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/escprober.rb +0 -89
  1008. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/escsm.rb +0 -244
  1009. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/eucjpprober.rb +0 -88
  1010. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/euckrfreq.rb +0 -596
  1011. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/euckrprober.rb +0 -42
  1012. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/euctwfreq.rb +0 -430
  1013. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/euctwprober.rb +0 -42
  1014. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312freq.rb +0 -474
  1015. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312prober.rb +0 -42
  1016. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/hebrewprober.rb +0 -289
  1017. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/jisfreq.rb +0 -570
  1018. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/jpcntx.rb +0 -229
  1019. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langbulgarianmodel.rb +0 -229
  1020. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langcyrillicmodel.rb +0 -330
  1021. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langgreekmodel.rb +0 -227
  1022. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langhebrewmodel.rb +0 -202
  1023. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langhungarianmodel.rb +0 -226
  1024. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/langthaimodel.rb +0 -201
  1025. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/latin1prober.rb +0 -147
  1026. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb +0 -89
  1027. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/mbcsgroupprober.rb +0 -45
  1028. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/mbcssm.rb +0 -542
  1029. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/sbcharsetprober.rb +0 -124
  1030. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/sbcsgroupprober.rb +0 -56
  1031. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/sjisprober.rb +0 -88
  1032. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/universaldetector.rb +0 -168
  1033. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/utf8prober.rb +0 -87
  1034. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.7/tmail/version.rb +0 -39
  1035. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail.rb +0 -17
  1036. data/vendor/rails/actionmailer/lib/action_mailer/version.rb +0 -9
  1037. data/vendor/rails/actionmailer/lib/actionmailer.rb +0 -2
  1038. data/vendor/rails/actionmailer/test/abstract_unit.rb +0 -62
  1039. data/vendor/rails/actionmailer/test/asset_host_test.rb +0 -54
  1040. data/vendor/rails/actionmailer/test/delivery_method_test.rb +0 -51
  1041. data/vendor/rails/actionmailer/test/fixtures/asset_host_mailer/email_with_asset.html.erb +0 -1
  1042. data/vendor/rails/actionmailer/test/fixtures/auto_layout_mailer/hello.html.erb +0 -1
  1043. data/vendor/rails/actionmailer/test/fixtures/auto_layout_mailer/multipart.text.html.erb +0 -1
  1044. data/vendor/rails/actionmailer/test/fixtures/auto_layout_mailer/multipart.text.plain.erb +0 -1
  1045. data/vendor/rails/actionmailer/test/fixtures/explicit_layout_mailer/logout.html.erb +0 -1
  1046. data/vendor/rails/actionmailer/test/fixtures/explicit_layout_mailer/signup.html.erb +0 -1
  1047. data/vendor/rails/actionmailer/test/fixtures/first_mailer/share.erb +0 -1
  1048. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb +0 -1
  1049. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.erb +0 -1
  1050. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb +0 -1
  1051. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb +0 -5
  1052. data/vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb +0 -5
  1053. data/vendor/rails/actionmailer/test/fixtures/layouts/auto_layout_mailer.html.erb +0 -1
  1054. data/vendor/rails/actionmailer/test/fixtures/layouts/auto_layout_mailer.text.erb +0 -1
  1055. data/vendor/rails/actionmailer/test/fixtures/layouts/spam.html.erb +0 -1
  1056. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb +0 -1
  1057. data/vendor/rails/actionmailer/test/fixtures/raw_email +0 -14
  1058. data/vendor/rails/actionmailer/test/fixtures/raw_email10 +0 -20
  1059. data/vendor/rails/actionmailer/test/fixtures/raw_email12 +0 -32
  1060. data/vendor/rails/actionmailer/test/fixtures/raw_email13 +0 -29
  1061. data/vendor/rails/actionmailer/test/fixtures/raw_email2 +0 -114
  1062. data/vendor/rails/actionmailer/test/fixtures/raw_email3 +0 -70
  1063. data/vendor/rails/actionmailer/test/fixtures/raw_email4 +0 -59
  1064. data/vendor/rails/actionmailer/test/fixtures/raw_email5 +0 -19
  1065. data/vendor/rails/actionmailer/test/fixtures/raw_email6 +0 -20
  1066. data/vendor/rails/actionmailer/test/fixtures/raw_email7 +0 -66
  1067. data/vendor/rails/actionmailer/test/fixtures/raw_email8 +0 -47
  1068. data/vendor/rails/actionmailer/test/fixtures/raw_email9 +0 -28
  1069. data/vendor/rails/actionmailer/test/fixtures/raw_email_quoted_with_0d0a +0 -14
  1070. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type +0 -104
  1071. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_nested_attachment +0 -100
  1072. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject +0 -14
  1073. data/vendor/rails/actionmailer/test/fixtures/second_mailer/share.erb +0 -1
  1074. data/vendor/rails/actionmailer/test/fixtures/templates/signed_up.erb +0 -3
  1075. data/vendor/rails/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb +0 -1
  1076. data/vendor/rails/actionmailer/test/fixtures/test_mailer/body_ivar.erb +0 -2
  1077. data/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml +0 -6
  1078. data/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml +0 -6
  1079. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb +0 -1
  1080. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak +0 -1
  1081. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb +0 -10
  1082. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb~ +0 -10
  1083. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb +0 -2
  1084. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb +0 -1
  1085. data/vendor/rails/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb +0 -1
  1086. data/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.builder +0 -2
  1087. data/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.rxml +0 -2
  1088. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.html.erb +0 -3
  1089. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb +0 -5
  1090. data/vendor/rails/actionmailer/test/mail_helper_test.rb +0 -95
  1091. data/vendor/rails/actionmailer/test/mail_layout_test.rb +0 -123
  1092. data/vendor/rails/actionmailer/test/mail_render_test.rb +0 -116
  1093. data/vendor/rails/actionmailer/test/mail_service_test.rb +0 -1145
  1094. data/vendor/rails/actionmailer/test/quoting_test.rb +0 -105
  1095. data/vendor/rails/actionmailer/test/test_helper_test.rb +0 -129
  1096. data/vendor/rails/actionmailer/test/tmail_test.rb +0 -22
  1097. data/vendor/rails/actionmailer/test/url_test.rb +0 -76
  1098. data/vendor/rails/actionpack/CHANGELOG +0 -5250
  1099. data/vendor/rails/actionpack/MIT-LICENSE +0 -21
  1100. data/vendor/rails/actionpack/README +0 -409
  1101. data/vendor/rails/actionpack/RUNNING_UNIT_TESTS +0 -24
  1102. data/vendor/rails/actionpack/Rakefile +0 -160
  1103. data/vendor/rails/actionpack/install.rb +0 -30
  1104. data/vendor/rails/actionpack/lib/action_controller.rb +0 -113
  1105. data/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb +0 -55
  1106. data/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb +0 -21
  1107. data/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb +0 -169
  1108. data/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb +0 -146
  1109. data/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb +0 -638
  1110. data/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb +0 -127
  1111. data/vendor/rails/actionpack/lib/action_controller/base.rb +0 -1425
  1112. data/vendor/rails/actionpack/lib/action_controller/benchmarking.rb +0 -107
  1113. data/vendor/rails/actionpack/lib/action_controller/caching.rb +0 -71
  1114. data/vendor/rails/actionpack/lib/action_controller/caching/actions.rb +0 -177
  1115. data/vendor/rails/actionpack/lib/action_controller/caching/fragments.rb +0 -120
  1116. data/vendor/rails/actionpack/lib/action_controller/caching/pages.rb +0 -152
  1117. data/vendor/rails/actionpack/lib/action_controller/caching/sweeper.rb +0 -45
  1118. data/vendor/rails/actionpack/lib/action_controller/caching/sweeping.rb +0 -55
  1119. data/vendor/rails/actionpack/lib/action_controller/cgi_ext.rb +0 -15
  1120. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb +0 -112
  1121. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb +0 -22
  1122. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb +0 -24
  1123. data/vendor/rails/actionpack/lib/action_controller/cgi_process.rb +0 -77
  1124. data/vendor/rails/actionpack/lib/action_controller/cookies.rb +0 -197
  1125. data/vendor/rails/actionpack/lib/action_controller/dispatcher.rb +0 -133
  1126. data/vendor/rails/actionpack/lib/action_controller/failsafe.rb +0 -87
  1127. data/vendor/rails/actionpack/lib/action_controller/filters.rb +0 -680
  1128. data/vendor/rails/actionpack/lib/action_controller/flash.rb +0 -213
  1129. data/vendor/rails/actionpack/lib/action_controller/headers.rb +0 -33
  1130. data/vendor/rails/actionpack/lib/action_controller/helpers.rb +0 -225
  1131. data/vendor/rails/actionpack/lib/action_controller/http_authentication.rb +0 -309
  1132. data/vendor/rails/actionpack/lib/action_controller/integration.rb +0 -708
  1133. data/vendor/rails/actionpack/lib/action_controller/layout.rb +0 -286
  1134. data/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb +0 -119
  1135. data/vendor/rails/actionpack/lib/action_controller/middlewares.rb +0 -14
  1136. data/vendor/rails/actionpack/lib/action_controller/mime_responds.rb +0 -193
  1137. data/vendor/rails/actionpack/lib/action_controller/mime_type.rb +0 -212
  1138. data/vendor/rails/actionpack/lib/action_controller/mime_types.rb +0 -21
  1139. data/vendor/rails/actionpack/lib/action_controller/params_parser.rb +0 -77
  1140. data/vendor/rails/actionpack/lib/action_controller/performance_test.rb +0 -15
  1141. data/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb +0 -189
  1142. data/vendor/rails/actionpack/lib/action_controller/rack_lint_patch.rb +0 -36
  1143. data/vendor/rails/actionpack/lib/action_controller/record_identifier.rb +0 -104
  1144. data/vendor/rails/actionpack/lib/action_controller/reloader.rb +0 -54
  1145. data/vendor/rails/actionpack/lib/action_controller/request.rb +0 -493
  1146. data/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb +0 -116
  1147. data/vendor/rails/actionpack/lib/action_controller/rescue.rb +0 -183
  1148. data/vendor/rails/actionpack/lib/action_controller/resources.rb +0 -682
  1149. data/vendor/rails/actionpack/lib/action_controller/response.rb +0 -236
  1150. data/vendor/rails/actionpack/lib/action_controller/routing.rb +0 -388
  1151. data/vendor/rails/actionpack/lib/action_controller/routing/builder.rb +0 -197
  1152. data/vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb +0 -130
  1153. data/vendor/rails/actionpack/lib/action_controller/routing/recognition_optimisation.rb +0 -167
  1154. data/vendor/rails/actionpack/lib/action_controller/routing/route.rb +0 -265
  1155. data/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb +0 -503
  1156. data/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb +0 -49
  1157. data/vendor/rails/actionpack/lib/action_controller/routing/segments.rb +0 -343
  1158. data/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb +0 -275
  1159. data/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb +0 -240
  1160. data/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb +0 -60
  1161. data/vendor/rails/actionpack/lib/action_controller/session_management.rb +0 -54
  1162. data/vendor/rails/actionpack/lib/action_controller/status_codes.rb +0 -88
  1163. data/vendor/rails/actionpack/lib/action_controller/streaming.rb +0 -181
  1164. data/vendor/rails/actionpack/lib/action_controller/string_coercion.rb +0 -29
  1165. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb +0 -24
  1166. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb +0 -26
  1167. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb +0 -11
  1168. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb +0 -29
  1169. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.erb +0 -2
  1170. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb +0 -10
  1171. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb +0 -21
  1172. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.erb +0 -2
  1173. data/vendor/rails/actionpack/lib/action_controller/test_case.rb +0 -209
  1174. data/vendor/rails/actionpack/lib/action_controller/test_process.rb +0 -580
  1175. data/vendor/rails/actionpack/lib/action_controller/translation.rb +0 -13
  1176. data/vendor/rails/actionpack/lib/action_controller/uploaded_file.rb +0 -44
  1177. data/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb +0 -229
  1178. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner.rb +0 -16
  1179. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb +0 -68
  1180. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb +0 -537
  1181. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb +0 -173
  1182. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb +0 -828
  1183. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +0 -105
  1184. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb +0 -11
  1185. data/vendor/rails/actionpack/lib/action_controller/verification.rb +0 -130
  1186. data/vendor/rails/actionpack/lib/action_pack.rb +0 -24
  1187. data/vendor/rails/actionpack/lib/action_pack/version.rb +0 -9
  1188. data/vendor/rails/actionpack/lib/action_view.rb +0 -58
  1189. data/vendor/rails/actionpack/lib/action_view/base.rb +0 -362
  1190. data/vendor/rails/actionpack/lib/action_view/helpers.rb +0 -61
  1191. data/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +0 -305
  1192. data/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb +0 -695
  1193. data/vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb +0 -198
  1194. data/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb +0 -54
  1195. data/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb +0 -39
  1196. data/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb +0 -136
  1197. data/vendor/rails/actionpack/lib/action_view/helpers/csrf_helper.rb +0 -14
  1198. data/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb +0 -989
  1199. data/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb +0 -38
  1200. data/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb +0 -1118
  1201. data/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb +0 -599
  1202. data/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb +0 -490
  1203. data/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb +0 -208
  1204. data/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb +0 -308
  1205. data/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +0 -1305
  1206. data/vendor/rails/actionpack/lib/action_view/helpers/raw_output_helper.rb +0 -9
  1207. data/vendor/rails/actionpack/lib/action_view/helpers/record_identification_helper.rb +0 -20
  1208. data/vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb +0 -58
  1209. data/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb +0 -251
  1210. data/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb +0 -226
  1211. data/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb +0 -151
  1212. data/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb +0 -597
  1213. data/vendor/rails/actionpack/lib/action_view/helpers/translation_helper.rb +0 -67
  1214. data/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb +0 -637
  1215. data/vendor/rails/actionpack/lib/action_view/inline_template.rb +0 -19
  1216. data/vendor/rails/actionpack/lib/action_view/locale/en.yml +0 -117
  1217. data/vendor/rails/actionpack/lib/action_view/partials.rb +0 -241
  1218. data/vendor/rails/actionpack/lib/action_view/paths.rb +0 -77
  1219. data/vendor/rails/actionpack/lib/action_view/reloadable_template.rb +0 -117
  1220. data/vendor/rails/actionpack/lib/action_view/renderable.rb +0 -109
  1221. data/vendor/rails/actionpack/lib/action_view/renderable_partial.rb +0 -53
  1222. data/vendor/rails/actionpack/lib/action_view/template.rb +0 -252
  1223. data/vendor/rails/actionpack/lib/action_view/template_error.rb +0 -99
  1224. data/vendor/rails/actionpack/lib/action_view/template_handler.rb +0 -34
  1225. data/vendor/rails/actionpack/lib/action_view/template_handlers.rb +0 -48
  1226. data/vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb +0 -17
  1227. data/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb +0 -25
  1228. data/vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb +0 -13
  1229. data/vendor/rails/actionpack/lib/action_view/test_case.rb +0 -162
  1230. data/vendor/rails/actionpack/lib/actionpack.rb +0 -2
  1231. data/vendor/rails/actionpack/test/abstract_unit.rb +0 -78
  1232. data/vendor/rails/actionpack/test/active_record_unit.rb +0 -104
  1233. data/vendor/rails/actionpack/test/activerecord/active_record_store_test.rb +0 -221
  1234. data/vendor/rails/actionpack/test/activerecord/render_partial_with_record_identification_test.rb +0 -188
  1235. data/vendor/rails/actionpack/test/adv_attr_test.rb +0 -20
  1236. data/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +0 -545
  1237. data/vendor/rails/actionpack/test/controller/addresses_render_test.rb +0 -37
  1238. data/vendor/rails/actionpack/test/controller/assert_select_test.rb +0 -735
  1239. data/vendor/rails/actionpack/test/controller/base_test.rb +0 -217
  1240. data/vendor/rails/actionpack/test/controller/benchmark_test.rb +0 -32
  1241. data/vendor/rails/actionpack/test/controller/caching_test.rb +0 -743
  1242. data/vendor/rails/actionpack/test/controller/capture_test.rb +0 -66
  1243. data/vendor/rails/actionpack/test/controller/content_type_test.rb +0 -168
  1244. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/admin/user_controller.rb +0 -0
  1245. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/user_controller.rb +0 -0
  1246. data/vendor/rails/actionpack/test/controller/controller_fixtures/vendor/plugins/bad_plugin/lib/plugin_controller.rb +0 -0
  1247. data/vendor/rails/actionpack/test/controller/cookie_test.rb +0 -208
  1248. data/vendor/rails/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb +0 -32
  1249. data/vendor/rails/actionpack/test/controller/dispatcher_test.rb +0 -144
  1250. data/vendor/rails/actionpack/test/controller/dom_assertions_test.rb +0 -53
  1251. data/vendor/rails/actionpack/test/controller/failsafe_test.rb +0 -60
  1252. data/vendor/rails/actionpack/test/controller/fake_controllers.rb +0 -33
  1253. data/vendor/rails/actionpack/test/controller/fake_models.rb +0 -19
  1254. data/vendor/rails/actionpack/test/controller/filter_params_test.rb +0 -52
  1255. data/vendor/rails/actionpack/test/controller/filters_test.rb +0 -885
  1256. data/vendor/rails/actionpack/test/controller/flash_test.rb +0 -174
  1257. data/vendor/rails/actionpack/test/controller/header_test.rb +0 -14
  1258. data/vendor/rails/actionpack/test/controller/helper_test.rb +0 -224
  1259. data/vendor/rails/actionpack/test/controller/html-scanner/cdata_node_test.rb +0 -15
  1260. data/vendor/rails/actionpack/test/controller/html-scanner/document_test.rb +0 -148
  1261. data/vendor/rails/actionpack/test/controller/html-scanner/node_test.rb +0 -89
  1262. data/vendor/rails/actionpack/test/controller/html-scanner/sanitizer_test.rb +0 -274
  1263. data/vendor/rails/actionpack/test/controller/html-scanner/tag_node_test.rb +0 -238
  1264. data/vendor/rails/actionpack/test/controller/html-scanner/text_node_test.rb +0 -50
  1265. data/vendor/rails/actionpack/test/controller/html-scanner/tokenizer_test.rb +0 -131
  1266. data/vendor/rails/actionpack/test/controller/http_basic_authentication_test.rb +0 -113
  1267. data/vendor/rails/actionpack/test/controller/http_digest_authentication_test.rb +0 -254
  1268. data/vendor/rails/actionpack/test/controller/integration_test.rb +0 -526
  1269. data/vendor/rails/actionpack/test/controller/layout_test.rb +0 -215
  1270. data/vendor/rails/actionpack/test/controller/localized_templates_test.rb +0 -24
  1271. data/vendor/rails/actionpack/test/controller/logging_test.rb +0 -46
  1272. data/vendor/rails/actionpack/test/controller/middleware_stack_test.rb +0 -90
  1273. data/vendor/rails/actionpack/test/controller/mime_responds_test.rb +0 -536
  1274. data/vendor/rails/actionpack/test/controller/mime_type_test.rb +0 -93
  1275. data/vendor/rails/actionpack/test/controller/output_escaping_test.rb +0 -19
  1276. data/vendor/rails/actionpack/test/controller/polymorphic_routes_test.rb +0 -297
  1277. data/vendor/rails/actionpack/test/controller/rack_test.rb +0 -308
  1278. data/vendor/rails/actionpack/test/controller/record_identifier_test.rb +0 -139
  1279. data/vendor/rails/actionpack/test/controller/redirect_test.rb +0 -285
  1280. data/vendor/rails/actionpack/test/controller/reloader_test.rb +0 -125
  1281. data/vendor/rails/actionpack/test/controller/render_test.rb +0 -1783
  1282. data/vendor/rails/actionpack/test/controller/request/json_params_parsing_test.rb +0 -65
  1283. data/vendor/rails/actionpack/test/controller/request/multipart_params_parsing_test.rb +0 -177
  1284. data/vendor/rails/actionpack/test/controller/request/query_string_parsing_test.rb +0 -120
  1285. data/vendor/rails/actionpack/test/controller/request/test_request_test.rb +0 -35
  1286. data/vendor/rails/actionpack/test/controller/request/url_encoded_params_parsing_test.rb +0 -146
  1287. data/vendor/rails/actionpack/test/controller/request/xml_params_parsing_test.rb +0 -103
  1288. data/vendor/rails/actionpack/test/controller/request_forgery_protection_test.rb +0 -233
  1289. data/vendor/rails/actionpack/test/controller/request_test.rb +0 -395
  1290. data/vendor/rails/actionpack/test/controller/rescue_test.rb +0 -541
  1291. data/vendor/rails/actionpack/test/controller/resources_test.rb +0 -1393
  1292. data/vendor/rails/actionpack/test/controller/routing_test.rb +0 -2592
  1293. data/vendor/rails/actionpack/test/controller/selector_test.rb +0 -628
  1294. data/vendor/rails/actionpack/test/controller/send_file_test.rb +0 -171
  1295. data/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb +0 -310
  1296. data/vendor/rails/actionpack/test/controller/session/mem_cache_store_test.rb +0 -187
  1297. data/vendor/rails/actionpack/test/controller/session/test_session_test.rb +0 -58
  1298. data/vendor/rails/actionpack/test/controller/test_test.rb +0 -700
  1299. data/vendor/rails/actionpack/test/controller/translation_test.rb +0 -26
  1300. data/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +0 -395
  1301. data/vendor/rails/actionpack/test/controller/verification_test.rb +0 -270
  1302. data/vendor/rails/actionpack/test/controller/view_paths_test.rb +0 -141
  1303. data/vendor/rails/actionpack/test/controller/webservice_test.rb +0 -260
  1304. data/vendor/rails/actionpack/test/fixtures/_top_level_partial.html.erb +0 -1
  1305. data/vendor/rails/actionpack/test/fixtures/_top_level_partial_only.erb +0 -1
  1306. data/vendor/rails/actionpack/test/fixtures/addresses/list.erb +0 -1
  1307. data/vendor/rails/actionpack/test/fixtures/alternate_helpers/foo_helper.rb +0 -3
  1308. data/vendor/rails/actionpack/test/fixtures/bad_customers/_bad_customer.html.erb +0 -1
  1309. data/vendor/rails/actionpack/test/fixtures/companies.yml +0 -24
  1310. data/vendor/rails/actionpack/test/fixtures/company.rb +0 -10
  1311. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_content_types_for_respond_to.rhtml +0 -1
  1312. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rhtml.rhtml +0 -1
  1313. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rjs.rjs +0 -1
  1314. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rxml.rxml +0 -1
  1315. data/vendor/rails/actionpack/test/fixtures/customers/_customer.html.erb +0 -1
  1316. data/vendor/rails/actionpack/test/fixtures/db_definitions/sqlite.sql +0 -49
  1317. data/vendor/rails/actionpack/test/fixtures/developer.rb +0 -9
  1318. data/vendor/rails/actionpack/test/fixtures/developers.yml +0 -21
  1319. data/vendor/rails/actionpack/test/fixtures/developers/_developer.erb +0 -1
  1320. data/vendor/rails/actionpack/test/fixtures/developers_projects.yml +0 -13
  1321. data/vendor/rails/actionpack/test/fixtures/failsafe/500.html +0 -1
  1322. data/vendor/rails/actionpack/test/fixtures/fun/games/_game.erb +0 -1
  1323. data/vendor/rails/actionpack/test/fixtures/fun/games/hello_world.erb +0 -1
  1324. data/vendor/rails/actionpack/test/fixtures/fun/serious/games/_game.erb +0 -1
  1325. data/vendor/rails/actionpack/test/fixtures/functional_caching/_partial.erb +0 -3
  1326. data/vendor/rails/actionpack/test/fixtures/functional_caching/formatted_fragment_cached.html.erb +0 -3
  1327. data/vendor/rails/actionpack/test/fixtures/functional_caching/formatted_fragment_cached.js.rjs +0 -6
  1328. data/vendor/rails/actionpack/test/fixtures/functional_caching/formatted_fragment_cached.xml.builder +0 -5
  1329. data/vendor/rails/actionpack/test/fixtures/functional_caching/fragment_cached.html.erb +0 -2
  1330. data/vendor/rails/actionpack/test/fixtures/functional_caching/html_fragment_cached_with_partial.html.erb +0 -1
  1331. data/vendor/rails/actionpack/test/fixtures/functional_caching/inline_fragment_cached.html.erb +0 -2
  1332. data/vendor/rails/actionpack/test/fixtures/functional_caching/js_fragment_cached_with_partial.js.rjs +0 -1
  1333. data/vendor/rails/actionpack/test/fixtures/good_customers/_good_customer.html.erb +0 -1
  1334. data/vendor/rails/actionpack/test/fixtures/helpers/abc_helper.rb +0 -5
  1335. data/vendor/rails/actionpack/test/fixtures/helpers/fun/games_helper.rb +0 -3
  1336. data/vendor/rails/actionpack/test/fixtures/helpers/fun/pdf_helper.rb +0 -3
  1337. data/vendor/rails/actionpack/test/fixtures/layout_tests/abs_path_layout.rhtml +0 -1
  1338. data/vendor/rails/actionpack/test/fixtures/layout_tests/alt/hello.rhtml +0 -1
  1339. data/vendor/rails/actionpack/test/fixtures/layout_tests/alt/layouts/alt.rhtml +0 -0
  1340. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/controller_name_space/nested.rhtml +0 -1
  1341. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/item.rhtml +0 -1
  1342. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/layout_test.rhtml +0 -1
  1343. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/multiple_extensions.html.erb +0 -1
  1344. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/third_party_template_library.mab +0 -1
  1345. data/vendor/rails/actionpack/test/fixtures/layout_tests/views/hello.rhtml +0 -1
  1346. data/vendor/rails/actionpack/test/fixtures/layouts/_column.html.erb +0 -2
  1347. data/vendor/rails/actionpack/test/fixtures/layouts/block_with_layout.erb +0 -3
  1348. data/vendor/rails/actionpack/test/fixtures/layouts/builder.builder +0 -3
  1349. data/vendor/rails/actionpack/test/fixtures/layouts/default_html.html.erb +0 -1
  1350. data/vendor/rails/actionpack/test/fixtures/layouts/partial_with_layout.erb +0 -3
  1351. data/vendor/rails/actionpack/test/fixtures/layouts/standard.erb +0 -1
  1352. data/vendor/rails/actionpack/test/fixtures/layouts/talk_from_action.erb +0 -2
  1353. data/vendor/rails/actionpack/test/fixtures/layouts/xhr.html.erb +0 -2
  1354. data/vendor/rails/actionpack/test/fixtures/layouts/yield.erb +0 -2
  1355. data/vendor/rails/actionpack/test/fixtures/localized/hello_world.de.html +0 -1
  1356. data/vendor/rails/actionpack/test/fixtures/localized/hello_world.en.html +0 -1
  1357. data/vendor/rails/actionpack/test/fixtures/mascot.rb +0 -3
  1358. data/vendor/rails/actionpack/test/fixtures/mascots.yml +0 -4
  1359. data/vendor/rails/actionpack/test/fixtures/mascots/_mascot.html.erb +0 -1
  1360. data/vendor/rails/actionpack/test/fixtures/multipart/binary_file +0 -0
  1361. data/vendor/rails/actionpack/test/fixtures/multipart/boundary_problem_file +0 -10
  1362. data/vendor/rails/actionpack/test/fixtures/multipart/bracketed_param +0 -5
  1363. data/vendor/rails/actionpack/test/fixtures/multipart/empty +0 -10
  1364. data/vendor/rails/actionpack/test/fixtures/multipart/hello.txt +0 -1
  1365. data/vendor/rails/actionpack/test/fixtures/multipart/large_text_file +0 -10
  1366. data/vendor/rails/actionpack/test/fixtures/multipart/mixed_files +0 -0
  1367. data/vendor/rails/actionpack/test/fixtures/multipart/mona_lisa.jpg +0 -0
  1368. data/vendor/rails/actionpack/test/fixtures/multipart/none +0 -9
  1369. data/vendor/rails/actionpack/test/fixtures/multipart/single_parameter +0 -5
  1370. data/vendor/rails/actionpack/test/fixtures/multipart/text_file +0 -10
  1371. data/vendor/rails/actionpack/test/fixtures/override/test/hello_world.erb +0 -1
  1372. data/vendor/rails/actionpack/test/fixtures/override2/layouts/test/sub.erb +0 -1
  1373. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/post.html.erb +0 -1
  1374. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/super_post.iphone.erb +0 -1
  1375. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.html.erb +0 -1
  1376. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.iphone.erb +0 -1
  1377. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.html.erb +0 -1
  1378. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.iphone.erb +0 -1
  1379. data/vendor/rails/actionpack/test/fixtures/project.rb +0 -3
  1380. data/vendor/rails/actionpack/test/fixtures/projects.yml +0 -7
  1381. data/vendor/rails/actionpack/test/fixtures/projects/_project.erb +0 -1
  1382. data/vendor/rails/actionpack/test/fixtures/public/404.html +0 -1
  1383. data/vendor/rails/actionpack/test/fixtures/public/500.da.html +0 -1
  1384. data/vendor/rails/actionpack/test/fixtures/public/500.html +0 -1
  1385. data/vendor/rails/actionpack/test/fixtures/public/absolute/test.css +0 -23
  1386. data/vendor/rails/actionpack/test/fixtures/public/absolute/test.js +0 -63
  1387. data/vendor/rails/actionpack/test/fixtures/public/images/rails.png +0 -0
  1388. data/vendor/rails/actionpack/test/fixtures/public/javascripts/application.js +0 -1
  1389. data/vendor/rails/actionpack/test/fixtures/public/javascripts/bank.js +0 -1
  1390. data/vendor/rails/actionpack/test/fixtures/public/javascripts/controls.js +0 -1
  1391. data/vendor/rails/actionpack/test/fixtures/public/javascripts/dragdrop.js +0 -1
  1392. data/vendor/rails/actionpack/test/fixtures/public/javascripts/effects.js +0 -1
  1393. data/vendor/rails/actionpack/test/fixtures/public/javascripts/prototype.js +0 -1
  1394. data/vendor/rails/actionpack/test/fixtures/public/javascripts/robber.js +0 -1
  1395. data/vendor/rails/actionpack/test/fixtures/public/javascripts/subdir/subdir.js +0 -1
  1396. data/vendor/rails/actionpack/test/fixtures/public/javascripts/version.1.0.js +0 -1
  1397. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/bank.css +0 -1
  1398. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/robber.css +0 -1
  1399. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/subdir/subdir.css +0 -1
  1400. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/version.1.0.css +0 -1
  1401. data/vendor/rails/actionpack/test/fixtures/quiz/questions/_question.html.erb +0 -1
  1402. data/vendor/rails/actionpack/test/fixtures/replies.yml +0 -15
  1403. data/vendor/rails/actionpack/test/fixtures/replies/_reply.erb +0 -1
  1404. data/vendor/rails/actionpack/test/fixtures/reply.rb +0 -7
  1405. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.html.erb +0 -1
  1406. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.js.rjs +0 -1
  1407. data/vendor/rails/actionpack/test/fixtures/respond_to/custom_constant_handling_without_block.mobile.erb +0 -1
  1408. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.html.erb +0 -1
  1409. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.iphone.erb +0 -1
  1410. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/missing.html.erb +0 -1
  1411. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.html.erb +0 -1
  1412. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.iphone.erb +0 -1
  1413. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.html.erb +0 -1
  1414. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.js.rjs +0 -1
  1415. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.xml.builder +0 -1
  1416. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.html.erb +0 -1
  1417. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.js.rjs +0 -1
  1418. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.xml.builder +0 -1
  1419. data/vendor/rails/actionpack/test/fixtures/scope/test/modgreet.erb +0 -1
  1420. data/vendor/rails/actionpack/test/fixtures/session_autoload_test/session_autoload_test/foo.rb +0 -10
  1421. data/vendor/rails/actionpack/test/fixtures/shared.html.erb +0 -1
  1422. data/vendor/rails/actionpack/test/fixtures/symlink_parent/symlinked_layout.erb +0 -5
  1423. data/vendor/rails/actionpack/test/fixtures/test/_counter.html.erb +0 -1
  1424. data/vendor/rails/actionpack/test/fixtures/test/_customer.erb +0 -1
  1425. data/vendor/rails/actionpack/test/fixtures/test/_customer_counter.erb +0 -1
  1426. data/vendor/rails/actionpack/test/fixtures/test/_customer_counter_with_as.erb +0 -1
  1427. data/vendor/rails/actionpack/test/fixtures/test/_customer_greeting.erb +0 -1
  1428. data/vendor/rails/actionpack/test/fixtures/test/_customer_with_var.erb +0 -1
  1429. data/vendor/rails/actionpack/test/fixtures/test/_form.erb +0 -1
  1430. data/vendor/rails/actionpack/test/fixtures/test/_from_helper.erb +0 -1
  1431. data/vendor/rails/actionpack/test/fixtures/test/_hash_greeting.erb +0 -1
  1432. data/vendor/rails/actionpack/test/fixtures/test/_hash_object.erb +0 -2
  1433. data/vendor/rails/actionpack/test/fixtures/test/_hello.builder +0 -1
  1434. data/vendor/rails/actionpack/test/fixtures/test/_labelling_form.erb +0 -1
  1435. data/vendor/rails/actionpack/test/fixtures/test/_layout_for_block_with_args.html.erb +0 -3
  1436. data/vendor/rails/actionpack/test/fixtures/test/_layout_for_partial.html.erb +0 -3
  1437. data/vendor/rails/actionpack/test/fixtures/test/_local_inspector.html.erb +0 -1
  1438. data/vendor/rails/actionpack/test/fixtures/test/_one.html.erb +0 -1
  1439. data/vendor/rails/actionpack/test/fixtures/test/_partial.erb +0 -1
  1440. data/vendor/rails/actionpack/test/fixtures/test/_partial.html.erb +0 -1
  1441. data/vendor/rails/actionpack/test/fixtures/test/_partial.js.erb +0 -1
  1442. data/vendor/rails/actionpack/test/fixtures/test/_partial_for_use_in_layout.html.erb +0 -1
  1443. data/vendor/rails/actionpack/test/fixtures/test/_partial_only.erb +0 -1
  1444. data/vendor/rails/actionpack/test/fixtures/test/_partial_with_only_html_version.html.erb +0 -1
  1445. data/vendor/rails/actionpack/test/fixtures/test/_person.erb +0 -2
  1446. data/vendor/rails/actionpack/test/fixtures/test/_raise.html.erb +0 -1
  1447. data/vendor/rails/actionpack/test/fixtures/test/_two.html.erb +0 -1
  1448. data/vendor/rails/actionpack/test/fixtures/test/_utf8_partial.html.erb +0 -1
  1449. data/vendor/rails/actionpack/test/fixtures/test/_utf8_partial_magic.html.erb +0 -2
  1450. data/vendor/rails/actionpack/test/fixtures/test/action_talk_to_layout.erb +0 -2
  1451. data/vendor/rails/actionpack/test/fixtures/test/array_translation.erb +0 -1
  1452. data/vendor/rails/actionpack/test/fixtures/test/calling_partial_with_layout.html.erb +0 -1
  1453. data/vendor/rails/actionpack/test/fixtures/test/capturing.erb +0 -4
  1454. data/vendor/rails/actionpack/test/fixtures/test/content_for.erb +0 -2
  1455. data/vendor/rails/actionpack/test/fixtures/test/content_for_concatenated.erb +0 -3
  1456. data/vendor/rails/actionpack/test/fixtures/test/content_for_with_parameter.erb +0 -2
  1457. data/vendor/rails/actionpack/test/fixtures/test/delete_with_js.rjs +0 -2
  1458. data/vendor/rails/actionpack/test/fixtures/test/dont_pick_me +0 -1
  1459. data/vendor/rails/actionpack/test/fixtures/test/dot.directory/render_file_with_ivar.erb +0 -1
  1460. data/vendor/rails/actionpack/test/fixtures/test/enum_rjs_test.rjs +0 -6
  1461. data/vendor/rails/actionpack/test/fixtures/test/formatted_html_erb.html.erb +0 -1
  1462. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.builder +0 -1
  1463. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.html.erb +0 -1
  1464. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.xml.erb +0 -1
  1465. data/vendor/rails/actionpack/test/fixtures/test/greeting.erb +0 -1
  1466. data/vendor/rails/actionpack/test/fixtures/test/greeting.js.rjs +0 -1
  1467. data/vendor/rails/actionpack/test/fixtures/test/hello.builder +0 -4
  1468. data/vendor/rails/actionpack/test/fixtures/test/hello_world.da.html.erb +0 -1
  1469. data/vendor/rails/actionpack/test/fixtures/test/hello_world.erb +0 -1
  1470. data/vendor/rails/actionpack/test/fixtures/test/hello_world.erb~ +0 -1
  1471. data/vendor/rails/actionpack/test/fixtures/test/hello_world.pt-BR.html.erb +0 -1
  1472. data/vendor/rails/actionpack/test/fixtures/test/hello_world_container.builder +0 -3
  1473. data/vendor/rails/actionpack/test/fixtures/test/hello_world_from_rxml.builder +0 -4
  1474. data/vendor/rails/actionpack/test/fixtures/test/hello_world_with_layout_false.erb +0 -1
  1475. data/vendor/rails/actionpack/test/fixtures/test/hello_xml_world.builder +0 -11
  1476. data/vendor/rails/actionpack/test/fixtures/test/hyphen-ated.erb +0 -1
  1477. data/vendor/rails/actionpack/test/fixtures/test/implicit_content_type.atom.builder +0 -2
  1478. data/vendor/rails/actionpack/test/fixtures/test/list.erb +0 -1
  1479. data/vendor/rails/actionpack/test/fixtures/test/malformed/malformed.en.html.erb~ +0 -1
  1480. data/vendor/rails/actionpack/test/fixtures/test/malformed/malformed.erb~ +0 -1
  1481. data/vendor/rails/actionpack/test/fixtures/test/malformed/malformed.html.erb~ +0 -1
  1482. data/vendor/rails/actionpack/test/fixtures/test/nested_layout.erb +0 -3
  1483. data/vendor/rails/actionpack/test/fixtures/test/non_erb_block_content_for.builder +0 -4
  1484. data/vendor/rails/actionpack/test/fixtures/test/potential_conflicts.erb +0 -4
  1485. data/vendor/rails/actionpack/test/fixtures/test/render_explicit_html_template.js.rjs +0 -1
  1486. data/vendor/rails/actionpack/test/fixtures/test/render_file_from_template.html.erb +0 -1
  1487. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_ivar.erb +0 -1
  1488. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_locals.erb +0 -1
  1489. data/vendor/rails/actionpack/test/fixtures/test/render_implicit_html_template.js.rjs +0 -1
  1490. data/vendor/rails/actionpack/test/fixtures/test/render_implicit_html_template_from_xhr_request.da.html.erb +0 -1
  1491. data/vendor/rails/actionpack/test/fixtures/test/render_implicit_html_template_from_xhr_request.html.erb +0 -1
  1492. data/vendor/rails/actionpack/test/fixtures/test/render_implicit_js_template_without_layout.js.erb +0 -1
  1493. data/vendor/rails/actionpack/test/fixtures/test/render_to_string_test.erb +0 -1
  1494. data/vendor/rails/actionpack/test/fixtures/test/scoped_array_translation.erb +0 -1
  1495. data/vendor/rails/actionpack/test/fixtures/test/sub_template_raise.html.erb +0 -1
  1496. data/vendor/rails/actionpack/test/fixtures/test/template.erb +0 -1
  1497. data/vendor/rails/actionpack/test/fixtures/test/translation.erb +0 -1
  1498. data/vendor/rails/actionpack/test/fixtures/test/update_element_with_capture.erb +0 -9
  1499. data/vendor/rails/actionpack/test/fixtures/test/using_layout_around_block.html.erb +0 -1
  1500. data/vendor/rails/actionpack/test/fixtures/test/using_layout_around_block_with_args.html.erb +0 -1
  1501. data/vendor/rails/actionpack/test/fixtures/test/utf8.html.erb +0 -4
  1502. data/vendor/rails/actionpack/test/fixtures/test/utf8_magic.html.erb +0 -5
  1503. data/vendor/rails/actionpack/test/fixtures/test/utf8_magic_with_bare_partial.html.erb +0 -5
  1504. data/vendor/rails/actionpack/test/fixtures/topic.rb +0 -3
  1505. data/vendor/rails/actionpack/test/fixtures/topics.yml +0 -22
  1506. data/vendor/rails/actionpack/test/fixtures/topics/_topic.html.erb +0 -1
  1507. data/vendor/rails/actionpack/test/template/active_record_helper_i18n_test.rb +0 -51
  1508. data/vendor/rails/actionpack/test/template/active_record_helper_test.rb +0 -302
  1509. data/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +0 -770
  1510. data/vendor/rails/actionpack/test/template/atom_feed_helper_test.rb +0 -315
  1511. data/vendor/rails/actionpack/test/template/benchmark_helper_test.rb +0 -86
  1512. data/vendor/rails/actionpack/test/template/compiled_templates_test.rb +0 -204
  1513. data/vendor/rails/actionpack/test/template/date_helper_i18n_test.rb +0 -121
  1514. data/vendor/rails/actionpack/test/template/date_helper_test.rb +0 -2603
  1515. data/vendor/rails/actionpack/test/template/erb_util_test.rb +0 -36
  1516. data/vendor/rails/actionpack/test/template/form_helper_test.rb +0 -1447
  1517. data/vendor/rails/actionpack/test/template/form_options_helper_i18n_test.rb +0 -27
  1518. data/vendor/rails/actionpack/test/template/form_options_helper_test.rb +0 -811
  1519. data/vendor/rails/actionpack/test/template/form_tag_helper_test.rb +0 -356
  1520. data/vendor/rails/actionpack/test/template/javascript_helper_test.rb +0 -106
  1521. data/vendor/rails/actionpack/test/template/number_helper_i18n_test.rb +0 -69
  1522. data/vendor/rails/actionpack/test/template/number_helper_test.rb +0 -132
  1523. data/vendor/rails/actionpack/test/template/prototype_helper_test.rb +0 -639
  1524. data/vendor/rails/actionpack/test/template/raw_output_helper_test.rb +0 -21
  1525. data/vendor/rails/actionpack/test/template/record_tag_helper_test.rb +0 -58
  1526. data/vendor/rails/actionpack/test/template/render_test.rb +0 -329
  1527. data/vendor/rails/actionpack/test/template/sanitize_helper_test.rb +0 -57
  1528. data/vendor/rails/actionpack/test/template/scriptaculous_helper_test.rb +0 -90
  1529. data/vendor/rails/actionpack/test/template/tag_helper_test.rb +0 -98
  1530. data/vendor/rails/actionpack/test/template/template_test.rb +0 -32
  1531. data/vendor/rails/actionpack/test/template/test_test.rb +0 -54
  1532. data/vendor/rails/actionpack/test/template/text_helper_test.rb +0 -597
  1533. data/vendor/rails/actionpack/test/template/translation_helper_test.rb +0 -95
  1534. data/vendor/rails/actionpack/test/template/url_helper_test.rb +0 -641
  1535. data/vendor/rails/actionpack/test/testing_sandbox.rb +0 -15
  1536. data/vendor/rails/actionpack/test/view/test_case_test.rb +0 -176
  1537. data/vendor/rails/activemodel/CHANGES +0 -12
  1538. data/vendor/rails/activemodel/README +0 -21
  1539. data/vendor/rails/activemodel/Rakefile +0 -24
  1540. data/vendor/rails/activemodel/lib/active_model.rb +0 -5
  1541. data/vendor/rails/activemodel/lib/active_model/base.rb +0 -8
  1542. data/vendor/rails/activemodel/lib/active_model/callbacks.rb +0 -7
  1543. data/vendor/rails/activemodel/lib/active_model/core.rb +0 -7
  1544. data/vendor/rails/activemodel/lib/active_model/deprecated_error_methods.rb +0 -38
  1545. data/vendor/rails/activemodel/lib/active_model/errors.rb +0 -82
  1546. data/vendor/rails/activemodel/lib/active_model/observing.rb +0 -98
  1547. data/vendor/rails/activemodel/lib/active_model/state_machine.rb +0 -68
  1548. data/vendor/rails/activemodel/lib/active_model/state_machine/event.rb +0 -64
  1549. data/vendor/rails/activemodel/lib/active_model/state_machine/machine.rb +0 -78
  1550. data/vendor/rails/activemodel/lib/active_model/state_machine/state.rb +0 -47
  1551. data/vendor/rails/activemodel/lib/active_model/state_machine/state_transition.rb +0 -40
  1552. data/vendor/rails/activemodel/lib/active_model/validations.rb +0 -126
  1553. data/vendor/rails/activemodel/lib/active_model/validations/acceptance.rb +0 -45
  1554. data/vendor/rails/activemodel/lib/active_model/validations/associated.rb +0 -46
  1555. data/vendor/rails/activemodel/lib/active_model/validations/confirmation.rb +0 -44
  1556. data/vendor/rails/activemodel/lib/active_model/validations/exclusion.rb +0 -37
  1557. data/vendor/rails/activemodel/lib/active_model/validations/format.rb +0 -39
  1558. data/vendor/rails/activemodel/lib/active_model/validations/inclusion.rb +0 -37
  1559. data/vendor/rails/activemodel/lib/active_model/validations/length.rb +0 -95
  1560. data/vendor/rails/activemodel/lib/active_model/validations/numericality.rb +0 -80
  1561. data/vendor/rails/activemodel/lib/active_model/validations/presence.rb +0 -42
  1562. data/vendor/rails/activemodel/lib/active_model/validations/uniqueness.rb +0 -104
  1563. data/vendor/rails/activemodel/test/observing_test.rb +0 -121
  1564. data/vendor/rails/activemodel/test/state_machine/event_test.rb +0 -49
  1565. data/vendor/rails/activemodel/test/state_machine/machine_test.rb +0 -43
  1566. data/vendor/rails/activemodel/test/state_machine/state_test.rb +0 -72
  1567. data/vendor/rails/activemodel/test/state_machine/state_transition_test.rb +0 -84
  1568. data/vendor/rails/activemodel/test/state_machine_test.rb +0 -312
  1569. data/vendor/rails/activemodel/test/test_helper.rb +0 -21
  1570. data/vendor/rails/activerecord/CHANGELOG +0 -5904
  1571. data/vendor/rails/activerecord/MIT-LICENSE +0 -20
  1572. data/vendor/rails/activerecord/README +0 -351
  1573. data/vendor/rails/activerecord/RUNNING_UNIT_TESTS +0 -36
  1574. data/vendor/rails/activerecord/Rakefile +0 -270
  1575. data/vendor/rails/activerecord/examples/associations.png +0 -0
  1576. data/vendor/rails/activerecord/examples/performance.rb +0 -198
  1577. data/vendor/rails/activerecord/install.rb +0 -30
  1578. data/vendor/rails/activerecord/lib/active_record.rb +0 -83
  1579. data/vendor/rails/activerecord/lib/active_record/aggregations.rb +0 -261
  1580. data/vendor/rails/activerecord/lib/active_record/association_preload.rb +0 -406
  1581. data/vendor/rails/activerecord/lib/active_record/associations.rb +0 -2251
  1582. data/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +0 -533
  1583. data/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb +0 -288
  1584. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb +0 -86
  1585. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb +0 -77
  1586. data/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb +0 -143
  1587. data/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb +0 -127
  1588. data/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb +0 -266
  1589. data/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb +0 -142
  1590. data/vendor/rails/activerecord/lib/active_record/associations/has_one_through_association.rb +0 -37
  1591. data/vendor/rails/activerecord/lib/active_record/attribute_methods.rb +0 -388
  1592. data/vendor/rails/activerecord/lib/active_record/autosave_association.rb +0 -395
  1593. data/vendor/rails/activerecord/lib/active_record/base.rb +0 -3218
  1594. data/vendor/rails/activerecord/lib/active_record/batches.rb +0 -85
  1595. data/vendor/rails/activerecord/lib/active_record/calculations.rb +0 -321
  1596. data/vendor/rails/activerecord/lib/active_record/callbacks.rb +0 -360
  1597. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb +0 -371
  1598. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +0 -139
  1599. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_limits.rb +0 -57
  1600. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb +0 -289
  1601. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb +0 -94
  1602. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +0 -65
  1603. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb +0 -722
  1604. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +0 -490
  1605. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +0 -249
  1606. data/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +0 -662
  1607. data/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +0 -1078
  1608. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +0 -34
  1609. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +0 -454
  1610. data/vendor/rails/activerecord/lib/active_record/dirty.rb +0 -183
  1611. data/vendor/rails/activerecord/lib/active_record/dynamic_finder_match.rb +0 -41
  1612. data/vendor/rails/activerecord/lib/active_record/dynamic_scope_match.rb +0 -25
  1613. data/vendor/rails/activerecord/lib/active_record/fixtures.rb +0 -997
  1614. data/vendor/rails/activerecord/lib/active_record/locale/en.yml +0 -58
  1615. data/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb +0 -182
  1616. data/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb +0 -55
  1617. data/vendor/rails/activerecord/lib/active_record/migration.rb +0 -571
  1618. data/vendor/rails/activerecord/lib/active_record/named_scope.rb +0 -197
  1619. data/vendor/rails/activerecord/lib/active_record/nested_attributes.rb +0 -404
  1620. data/vendor/rails/activerecord/lib/active_record/observer.rb +0 -197
  1621. data/vendor/rails/activerecord/lib/active_record/query_cache.rb +0 -33
  1622. data/vendor/rails/activerecord/lib/active_record/reflection.rb +0 -385
  1623. data/vendor/rails/activerecord/lib/active_record/schema.rb +0 -55
  1624. data/vendor/rails/activerecord/lib/active_record/schema_dumper.rb +0 -185
  1625. data/vendor/rails/activerecord/lib/active_record/serialization.rb +0 -101
  1626. data/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb +0 -91
  1627. data/vendor/rails/activerecord/lib/active_record/serializers/xml_serializer.rb +0 -357
  1628. data/vendor/rails/activerecord/lib/active_record/session_store.rb +0 -334
  1629. data/vendor/rails/activerecord/lib/active_record/test_case.rb +0 -66
  1630. data/vendor/rails/activerecord/lib/active_record/timestamp.rb +0 -71
  1631. data/vendor/rails/activerecord/lib/active_record/transactions.rb +0 -235
  1632. data/vendor/rails/activerecord/lib/active_record/validations.rb +0 -1147
  1633. data/vendor/rails/activerecord/lib/active_record/version.rb +0 -9
  1634. data/vendor/rails/activerecord/lib/activerecord.rb +0 -2
  1635. data/vendor/rails/activerecord/test/assets/example.log +0 -1
  1636. data/vendor/rails/activerecord/test/assets/flowers.jpg +0 -0
  1637. data/vendor/rails/activerecord/test/cases/aaa_create_tables_test.rb +0 -24
  1638. data/vendor/rails/activerecord/test/cases/active_schema_test_mysql.rb +0 -122
  1639. data/vendor/rails/activerecord/test/cases/active_schema_test_postgresql.rb +0 -24
  1640. data/vendor/rails/activerecord/test/cases/adapter_test.rb +0 -144
  1641. data/vendor/rails/activerecord/test/cases/aggregations_test.rb +0 -167
  1642. data/vendor/rails/activerecord/test/cases/ar_schema_test.rb +0 -32
  1643. data/vendor/rails/activerecord/test/cases/associations/belongs_to_associations_test.rb +0 -438
  1644. data/vendor/rails/activerecord/test/cases/associations/callbacks_test.rb +0 -161
  1645. data/vendor/rails/activerecord/test/cases/associations/cascaded_eager_loading_test.rb +0 -131
  1646. data/vendor/rails/activerecord/test/cases/associations/eager_load_includes_full_sti_class_test.rb +0 -36
  1647. data/vendor/rails/activerecord/test/cases/associations/eager_load_nested_include_test.rb +0 -131
  1648. data/vendor/rails/activerecord/test/cases/associations/eager_load_nested_polymorphic_include.rb +0 -19
  1649. data/vendor/rails/activerecord/test/cases/associations/eager_singularization_test.rb +0 -145
  1650. data/vendor/rails/activerecord/test/cases/associations/eager_test.rb +0 -852
  1651. data/vendor/rails/activerecord/test/cases/associations/extension_test.rb +0 -62
  1652. data/vendor/rails/activerecord/test/cases/associations/habtm_join_table_test.rb +0 -56
  1653. data/vendor/rails/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb +0 -827
  1654. data/vendor/rails/activerecord/test/cases/associations/has_many_associations_test.rb +0 -1264
  1655. data/vendor/rails/activerecord/test/cases/associations/has_many_through_associations_test.rb +0 -360
  1656. data/vendor/rails/activerecord/test/cases/associations/has_one_associations_test.rb +0 -330
  1657. data/vendor/rails/activerecord/test/cases/associations/has_one_through_associations_test.rb +0 -209
  1658. data/vendor/rails/activerecord/test/cases/associations/inner_join_association_test.rb +0 -93
  1659. data/vendor/rails/activerecord/test/cases/associations/inverse_associations_test.rb +0 -566
  1660. data/vendor/rails/activerecord/test/cases/associations/join_model_test.rb +0 -712
  1661. data/vendor/rails/activerecord/test/cases/associations_test.rb +0 -282
  1662. data/vendor/rails/activerecord/test/cases/attribute_methods_test.rb +0 -305
  1663. data/vendor/rails/activerecord/test/cases/autosave_association_test.rb +0 -1218
  1664. data/vendor/rails/activerecord/test/cases/base_test.rb +0 -2143
  1665. data/vendor/rails/activerecord/test/cases/batches_test.rb +0 -81
  1666. data/vendor/rails/activerecord/test/cases/binary_test.rb +0 -30
  1667. data/vendor/rails/activerecord/test/cases/calculations_test.rb +0 -360
  1668. data/vendor/rails/activerecord/test/cases/callbacks_observers_test.rb +0 -38
  1669. data/vendor/rails/activerecord/test/cases/callbacks_test.rb +0 -438
  1670. data/vendor/rails/activerecord/test/cases/class_inheritable_attributes_test.rb +0 -32
  1671. data/vendor/rails/activerecord/test/cases/column_alias_test.rb +0 -17
  1672. data/vendor/rails/activerecord/test/cases/column_definition_test.rb +0 -70
  1673. data/vendor/rails/activerecord/test/cases/connection_pool_test.rb +0 -25
  1674. data/vendor/rails/activerecord/test/cases/connection_test_firebird.rb +0 -8
  1675. data/vendor/rails/activerecord/test/cases/connection_test_mysql.rb +0 -65
  1676. data/vendor/rails/activerecord/test/cases/copy_table_test_sqlite.rb +0 -80
  1677. data/vendor/rails/activerecord/test/cases/counter_cache_test.rb +0 -84
  1678. data/vendor/rails/activerecord/test/cases/database_statements_test.rb +0 -12
  1679. data/vendor/rails/activerecord/test/cases/datatype_test_postgresql.rb +0 -204
  1680. data/vendor/rails/activerecord/test/cases/date_time_test.rb +0 -37
  1681. data/vendor/rails/activerecord/test/cases/default_test_firebird.rb +0 -16
  1682. data/vendor/rails/activerecord/test/cases/defaults_test.rb +0 -111
  1683. data/vendor/rails/activerecord/test/cases/deprecated_finder_test.rb +0 -30
  1684. data/vendor/rails/activerecord/test/cases/dirty_test.rb +0 -316
  1685. data/vendor/rails/activerecord/test/cases/finder_respond_to_test.rb +0 -76
  1686. data/vendor/rails/activerecord/test/cases/finder_test.rb +0 -1070
  1687. data/vendor/rails/activerecord/test/cases/fixtures_test.rb +0 -661
  1688. data/vendor/rails/activerecord/test/cases/helper.rb +0 -68
  1689. data/vendor/rails/activerecord/test/cases/i18n_test.rb +0 -46
  1690. data/vendor/rails/activerecord/test/cases/inheritance_test.rb +0 -262
  1691. data/vendor/rails/activerecord/test/cases/invalid_date_test.rb +0 -24
  1692. data/vendor/rails/activerecord/test/cases/json_serialization_test.rb +0 -219
  1693. data/vendor/rails/activerecord/test/cases/lifecycle_test.rb +0 -193
  1694. data/vendor/rails/activerecord/test/cases/locking_test.rb +0 -350
  1695. data/vendor/rails/activerecord/test/cases/method_scoping_test.rb +0 -704
  1696. data/vendor/rails/activerecord/test/cases/migration_test.rb +0 -1649
  1697. data/vendor/rails/activerecord/test/cases/migration_test_firebird.rb +0 -124
  1698. data/vendor/rails/activerecord/test/cases/mixin_test.rb +0 -96
  1699. data/vendor/rails/activerecord/test/cases/modules_test.rb +0 -109
  1700. data/vendor/rails/activerecord/test/cases/multiple_db_test.rb +0 -85
  1701. data/vendor/rails/activerecord/test/cases/named_scope_test.rb +0 -372
  1702. data/vendor/rails/activerecord/test/cases/nested_attributes_test.rb +0 -840
  1703. data/vendor/rails/activerecord/test/cases/pk_test.rb +0 -119
  1704. data/vendor/rails/activerecord/test/cases/pooled_connections_test.rb +0 -103
  1705. data/vendor/rails/activerecord/test/cases/query_cache_test.rb +0 -129
  1706. data/vendor/rails/activerecord/test/cases/readonly_test.rb +0 -107
  1707. data/vendor/rails/activerecord/test/cases/reflection_test.rb +0 -234
  1708. data/vendor/rails/activerecord/test/cases/reload_models_test.rb +0 -22
  1709. data/vendor/rails/activerecord/test/cases/repair_helper.rb +0 -50
  1710. data/vendor/rails/activerecord/test/cases/reserved_word_test_mysql.rb +0 -176
  1711. data/vendor/rails/activerecord/test/cases/sanitize_test.rb +0 -25
  1712. data/vendor/rails/activerecord/test/cases/schema_authorization_test_postgresql.rb +0 -75
  1713. data/vendor/rails/activerecord/test/cases/schema_dumper_test.rb +0 -211
  1714. data/vendor/rails/activerecord/test/cases/schema_test_postgresql.rb +0 -178
  1715. data/vendor/rails/activerecord/test/cases/serialization_test.rb +0 -47
  1716. data/vendor/rails/activerecord/test/cases/sp_test_mysql.rb +0 -16
  1717. data/vendor/rails/activerecord/test/cases/synonym_test_oracle.rb +0 -17
  1718. data/vendor/rails/activerecord/test/cases/timestamp_test.rb +0 -75
  1719. data/vendor/rails/activerecord/test/cases/transactions_test.rb +0 -543
  1720. data/vendor/rails/activerecord/test/cases/unconnected_test.rb +0 -32
  1721. data/vendor/rails/activerecord/test/cases/validations_i18n_test.rb +0 -925
  1722. data/vendor/rails/activerecord/test/cases/validations_test.rb +0 -1684
  1723. data/vendor/rails/activerecord/test/cases/xml_serialization_test.rb +0 -240
  1724. data/vendor/rails/activerecord/test/cases/yaml_serialization_test.rb +0 -11
  1725. data/vendor/rails/activerecord/test/config.rb +0 -5
  1726. data/vendor/rails/activerecord/test/connections/jdbc_jdbcderby/connection.rb +0 -18
  1727. data/vendor/rails/activerecord/test/connections/jdbc_jdbch2/connection.rb +0 -18
  1728. data/vendor/rails/activerecord/test/connections/jdbc_jdbchsqldb/connection.rb +0 -18
  1729. data/vendor/rails/activerecord/test/connections/jdbc_jdbcmysql/connection.rb +0 -26
  1730. data/vendor/rails/activerecord/test/connections/jdbc_jdbcpostgresql/connection.rb +0 -26
  1731. data/vendor/rails/activerecord/test/connections/jdbc_jdbcsqlite3/connection.rb +0 -25
  1732. data/vendor/rails/activerecord/test/connections/native_db2/connection.rb +0 -25
  1733. data/vendor/rails/activerecord/test/connections/native_firebird/connection.rb +0 -26
  1734. data/vendor/rails/activerecord/test/connections/native_frontbase/connection.rb +0 -27
  1735. data/vendor/rails/activerecord/test/connections/native_mysql/connection.rb +0 -25
  1736. data/vendor/rails/activerecord/test/connections/native_openbase/connection.rb +0 -21
  1737. data/vendor/rails/activerecord/test/connections/native_oracle/connection.rb +0 -27
  1738. data/vendor/rails/activerecord/test/connections/native_postgresql/connection.rb +0 -21
  1739. data/vendor/rails/activerecord/test/connections/native_sqlite/connection.rb +0 -25
  1740. data/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb +0 -25
  1741. data/vendor/rails/activerecord/test/connections/native_sqlite3/in_memory_connection.rb +0 -18
  1742. data/vendor/rails/activerecord/test/connections/native_sybase/connection.rb +0 -23
  1743. data/vendor/rails/activerecord/test/fixtures/accounts.yml +0 -29
  1744. data/vendor/rails/activerecord/test/fixtures/all/developers.yml +0 -0
  1745. data/vendor/rails/activerecord/test/fixtures/all/people.csv +0 -0
  1746. data/vendor/rails/activerecord/test/fixtures/all/tasks.yml +0 -0
  1747. data/vendor/rails/activerecord/test/fixtures/author_addresses.yml +0 -5
  1748. data/vendor/rails/activerecord/test/fixtures/author_favorites.yml +0 -4
  1749. data/vendor/rails/activerecord/test/fixtures/authors.yml +0 -9
  1750. data/vendor/rails/activerecord/test/fixtures/binaries.yml +0 -132
  1751. data/vendor/rails/activerecord/test/fixtures/books.yml +0 -7
  1752. data/vendor/rails/activerecord/test/fixtures/categories.yml +0 -14
  1753. data/vendor/rails/activerecord/test/fixtures/categories/special_categories.yml +0 -9
  1754. data/vendor/rails/activerecord/test/fixtures/categories/subsubdir/arbitrary_filename.yml +0 -4
  1755. data/vendor/rails/activerecord/test/fixtures/categories_ordered.yml +0 -7
  1756. data/vendor/rails/activerecord/test/fixtures/categories_posts.yml +0 -23
  1757. data/vendor/rails/activerecord/test/fixtures/categorizations.yml +0 -17
  1758. data/vendor/rails/activerecord/test/fixtures/clubs.yml +0 -6
  1759. data/vendor/rails/activerecord/test/fixtures/comments.yml +0 -59
  1760. data/vendor/rails/activerecord/test/fixtures/companies.yml +0 -56
  1761. data/vendor/rails/activerecord/test/fixtures/computers.yml +0 -4
  1762. data/vendor/rails/activerecord/test/fixtures/courses.yml +0 -7
  1763. data/vendor/rails/activerecord/test/fixtures/customers.yml +0 -26
  1764. data/vendor/rails/activerecord/test/fixtures/developers.yml +0 -21
  1765. data/vendor/rails/activerecord/test/fixtures/developers_projects.yml +0 -17
  1766. data/vendor/rails/activerecord/test/fixtures/edges.yml +0 -6
  1767. data/vendor/rails/activerecord/test/fixtures/entrants.yml +0 -14
  1768. data/vendor/rails/activerecord/test/fixtures/faces.yml +0 -11
  1769. data/vendor/rails/activerecord/test/fixtures/fk_test_has_fk.yml +0 -3
  1770. data/vendor/rails/activerecord/test/fixtures/fk_test_has_pk.yml +0 -2
  1771. data/vendor/rails/activerecord/test/fixtures/funny_jokes.yml +0 -10
  1772. data/vendor/rails/activerecord/test/fixtures/interests.yml +0 -33
  1773. data/vendor/rails/activerecord/test/fixtures/items.yml +0 -4
  1774. data/vendor/rails/activerecord/test/fixtures/jobs.yml +0 -7
  1775. data/vendor/rails/activerecord/test/fixtures/legacy_things.yml +0 -3
  1776. data/vendor/rails/activerecord/test/fixtures/mateys.yml +0 -4
  1777. data/vendor/rails/activerecord/test/fixtures/member_types.yml +0 -6
  1778. data/vendor/rails/activerecord/test/fixtures/members.yml +0 -6
  1779. data/vendor/rails/activerecord/test/fixtures/memberships.yml +0 -20
  1780. data/vendor/rails/activerecord/test/fixtures/men.yml +0 -5
  1781. data/vendor/rails/activerecord/test/fixtures/minimalistics.yml +0 -2
  1782. data/vendor/rails/activerecord/test/fixtures/mixed_case_monkeys.yml +0 -6
  1783. data/vendor/rails/activerecord/test/fixtures/mixins.yml +0 -29
  1784. data/vendor/rails/activerecord/test/fixtures/movies.yml +0 -7
  1785. data/vendor/rails/activerecord/test/fixtures/naked/csv/accounts.csv +0 -1
  1786. data/vendor/rails/activerecord/test/fixtures/naked/yml/accounts.yml +0 -1
  1787. data/vendor/rails/activerecord/test/fixtures/naked/yml/companies.yml +0 -1
  1788. data/vendor/rails/activerecord/test/fixtures/naked/yml/courses.yml +0 -1
  1789. data/vendor/rails/activerecord/test/fixtures/organizations.yml +0 -5
  1790. data/vendor/rails/activerecord/test/fixtures/owners.yml +0 -7
  1791. data/vendor/rails/activerecord/test/fixtures/parrots.yml +0 -27
  1792. data/vendor/rails/activerecord/test/fixtures/parrots_pirates.yml +0 -7
  1793. data/vendor/rails/activerecord/test/fixtures/people.yml +0 -15
  1794. data/vendor/rails/activerecord/test/fixtures/pets.yml +0 -14
  1795. data/vendor/rails/activerecord/test/fixtures/pirates.yml +0 -9
  1796. data/vendor/rails/activerecord/test/fixtures/polymorphic_designs.yml +0 -19
  1797. data/vendor/rails/activerecord/test/fixtures/polymorphic_prices.yml +0 -19
  1798. data/vendor/rails/activerecord/test/fixtures/posts.yml +0 -52
  1799. data/vendor/rails/activerecord/test/fixtures/price_estimates.yml +0 -7
  1800. data/vendor/rails/activerecord/test/fixtures/projects.yml +0 -7
  1801. data/vendor/rails/activerecord/test/fixtures/readers.yml +0 -9
  1802. data/vendor/rails/activerecord/test/fixtures/references.yml +0 -17
  1803. data/vendor/rails/activerecord/test/fixtures/reserved_words/distinct.yml +0 -5
  1804. data/vendor/rails/activerecord/test/fixtures/reserved_words/distincts_selects.yml +0 -11
  1805. data/vendor/rails/activerecord/test/fixtures/reserved_words/group.yml +0 -14
  1806. data/vendor/rails/activerecord/test/fixtures/reserved_words/select.yml +0 -8
  1807. data/vendor/rails/activerecord/test/fixtures/reserved_words/values.yml +0 -7
  1808. data/vendor/rails/activerecord/test/fixtures/ships.yml +0 -5
  1809. data/vendor/rails/activerecord/test/fixtures/sponsors.yml +0 -9
  1810. data/vendor/rails/activerecord/test/fixtures/subscribers.yml +0 -7
  1811. data/vendor/rails/activerecord/test/fixtures/subscriptions.yml +0 -12
  1812. data/vendor/rails/activerecord/test/fixtures/taggings.yml +0 -28
  1813. data/vendor/rails/activerecord/test/fixtures/tags.yml +0 -7
  1814. data/vendor/rails/activerecord/test/fixtures/tasks.yml +0 -7
  1815. data/vendor/rails/activerecord/test/fixtures/tees.yml +0 -4
  1816. data/vendor/rails/activerecord/test/fixtures/ties.yml +0 -4
  1817. data/vendor/rails/activerecord/test/fixtures/topics.yml +0 -42
  1818. data/vendor/rails/activerecord/test/fixtures/toys.yml +0 -4
  1819. data/vendor/rails/activerecord/test/fixtures/treasures.yml +0 -10
  1820. data/vendor/rails/activerecord/test/fixtures/vertices.yml +0 -4
  1821. data/vendor/rails/activerecord/test/fixtures/warehouse-things.yml +0 -3
  1822. data/vendor/rails/activerecord/test/fixtures/zines.yml +0 -5
  1823. data/vendor/rails/activerecord/test/migrations/broken/100_migration_that_raises_exception.rb +0 -10
  1824. data/vendor/rails/activerecord/test/migrations/decimal/1_give_me_big_numbers.rb +0 -15
  1825. data/vendor/rails/activerecord/test/migrations/duplicate/1_people_have_last_names.rb +0 -9
  1826. data/vendor/rails/activerecord/test/migrations/duplicate/2_we_need_reminders.rb +0 -12
  1827. data/vendor/rails/activerecord/test/migrations/duplicate/3_foo.rb +0 -7
  1828. data/vendor/rails/activerecord/test/migrations/duplicate/3_innocent_jointable.rb +0 -12
  1829. data/vendor/rails/activerecord/test/migrations/duplicate_names/20080507052938_chunky.rb +0 -7
  1830. data/vendor/rails/activerecord/test/migrations/duplicate_names/20080507053028_chunky.rb +0 -7
  1831. data/vendor/rails/activerecord/test/migrations/interleaved/pass_1/3_innocent_jointable.rb +0 -12
  1832. data/vendor/rails/activerecord/test/migrations/interleaved/pass_2/1_people_have_last_names.rb +0 -9
  1833. data/vendor/rails/activerecord/test/migrations/interleaved/pass_2/3_innocent_jointable.rb +0 -12
  1834. data/vendor/rails/activerecord/test/migrations/interleaved/pass_3/1_people_have_last_names.rb +0 -9
  1835. data/vendor/rails/activerecord/test/migrations/interleaved/pass_3/2_i_raise_on_down.rb +0 -8
  1836. data/vendor/rails/activerecord/test/migrations/interleaved/pass_3/3_innocent_jointable.rb +0 -12
  1837. data/vendor/rails/activerecord/test/migrations/missing/1000_people_have_middle_names.rb +0 -9
  1838. data/vendor/rails/activerecord/test/migrations/missing/1_people_have_last_names.rb +0 -9
  1839. data/vendor/rails/activerecord/test/migrations/missing/3_we_need_reminders.rb +0 -12
  1840. data/vendor/rails/activerecord/test/migrations/missing/4_innocent_jointable.rb +0 -12
  1841. data/vendor/rails/activerecord/test/migrations/valid/1_people_have_last_names.rb +0 -9
  1842. data/vendor/rails/activerecord/test/migrations/valid/2_we_need_reminders.rb +0 -12
  1843. data/vendor/rails/activerecord/test/migrations/valid/3_innocent_jointable.rb +0 -12
  1844. data/vendor/rails/activerecord/test/models/author.rb +0 -151
  1845. data/vendor/rails/activerecord/test/models/auto_id.rb +0 -4
  1846. data/vendor/rails/activerecord/test/models/binary.rb +0 -2
  1847. data/vendor/rails/activerecord/test/models/bird.rb +0 -9
  1848. data/vendor/rails/activerecord/test/models/book.rb +0 -4
  1849. data/vendor/rails/activerecord/test/models/categorization.rb +0 -5
  1850. data/vendor/rails/activerecord/test/models/category.rb +0 -34
  1851. data/vendor/rails/activerecord/test/models/citation.rb +0 -6
  1852. data/vendor/rails/activerecord/test/models/club.rb +0 -13
  1853. data/vendor/rails/activerecord/test/models/column_name.rb +0 -3
  1854. data/vendor/rails/activerecord/test/models/comment.rb +0 -29
  1855. data/vendor/rails/activerecord/test/models/company.rb +0 -173
  1856. data/vendor/rails/activerecord/test/models/company_in_module.rb +0 -78
  1857. data/vendor/rails/activerecord/test/models/computer.rb +0 -3
  1858. data/vendor/rails/activerecord/test/models/contact.rb +0 -16
  1859. data/vendor/rails/activerecord/test/models/contract.rb +0 -5
  1860. data/vendor/rails/activerecord/test/models/course.rb +0 -3
  1861. data/vendor/rails/activerecord/test/models/customer.rb +0 -73
  1862. data/vendor/rails/activerecord/test/models/default.rb +0 -2
  1863. data/vendor/rails/activerecord/test/models/developer.rb +0 -101
  1864. data/vendor/rails/activerecord/test/models/edge.rb +0 -5
  1865. data/vendor/rails/activerecord/test/models/entrant.rb +0 -3
  1866. data/vendor/rails/activerecord/test/models/essay.rb +0 -3
  1867. data/vendor/rails/activerecord/test/models/event.rb +0 -3
  1868. data/vendor/rails/activerecord/test/models/event_author.rb +0 -8
  1869. data/vendor/rails/activerecord/test/models/face.rb +0 -7
  1870. data/vendor/rails/activerecord/test/models/guid.rb +0 -2
  1871. data/vendor/rails/activerecord/test/models/interest.rb +0 -5
  1872. data/vendor/rails/activerecord/test/models/invoice.rb +0 -4
  1873. data/vendor/rails/activerecord/test/models/item.rb +0 -7
  1874. data/vendor/rails/activerecord/test/models/job.rb +0 -5
  1875. data/vendor/rails/activerecord/test/models/joke.rb +0 -3
  1876. data/vendor/rails/activerecord/test/models/keyboard.rb +0 -3
  1877. data/vendor/rails/activerecord/test/models/legacy_thing.rb +0 -3
  1878. data/vendor/rails/activerecord/test/models/line_item.rb +0 -3
  1879. data/vendor/rails/activerecord/test/models/man.rb +0 -9
  1880. data/vendor/rails/activerecord/test/models/matey.rb +0 -4
  1881. data/vendor/rails/activerecord/test/models/member.rb +0 -12
  1882. data/vendor/rails/activerecord/test/models/member_detail.rb +0 -5
  1883. data/vendor/rails/activerecord/test/models/member_type.rb +0 -3
  1884. data/vendor/rails/activerecord/test/models/membership.rb +0 -9
  1885. data/vendor/rails/activerecord/test/models/minimalistic.rb +0 -2
  1886. data/vendor/rails/activerecord/test/models/mixed_case_monkey.rb +0 -3
  1887. data/vendor/rails/activerecord/test/models/movie.rb +0 -5
  1888. data/vendor/rails/activerecord/test/models/order.rb +0 -4
  1889. data/vendor/rails/activerecord/test/models/organization.rb +0 -6
  1890. data/vendor/rails/activerecord/test/models/owner.rb +0 -5
  1891. data/vendor/rails/activerecord/test/models/parrot.rb +0 -22
  1892. data/vendor/rails/activerecord/test/models/person.rb +0 -16
  1893. data/vendor/rails/activerecord/test/models/pet.rb +0 -5
  1894. data/vendor/rails/activerecord/test/models/pirate.rb +0 -80
  1895. data/vendor/rails/activerecord/test/models/polymorphic_design.rb +0 -3
  1896. data/vendor/rails/activerecord/test/models/polymorphic_price.rb +0 -3
  1897. data/vendor/rails/activerecord/test/models/post.rb +0 -102
  1898. data/vendor/rails/activerecord/test/models/price_estimate.rb +0 -3
  1899. data/vendor/rails/activerecord/test/models/project.rb +0 -30
  1900. data/vendor/rails/activerecord/test/models/reader.rb +0 -4
  1901. data/vendor/rails/activerecord/test/models/reference.rb +0 -4
  1902. data/vendor/rails/activerecord/test/models/reply.rb +0 -46
  1903. data/vendor/rails/activerecord/test/models/ship.rb +0 -19
  1904. data/vendor/rails/activerecord/test/models/ship_part.rb +0 -7
  1905. data/vendor/rails/activerecord/test/models/sponsor.rb +0 -4
  1906. data/vendor/rails/activerecord/test/models/subject.rb +0 -4
  1907. data/vendor/rails/activerecord/test/models/subscriber.rb +0 -8
  1908. data/vendor/rails/activerecord/test/models/subscription.rb +0 -4
  1909. data/vendor/rails/activerecord/test/models/tag.rb +0 -7
  1910. data/vendor/rails/activerecord/test/models/tagging.rb +0 -10
  1911. data/vendor/rails/activerecord/test/models/task.rb +0 -3
  1912. data/vendor/rails/activerecord/test/models/tee.rb +0 -4
  1913. data/vendor/rails/activerecord/test/models/tie.rb +0 -4
  1914. data/vendor/rails/activerecord/test/models/topic.rb +0 -80
  1915. data/vendor/rails/activerecord/test/models/toy.rb +0 -6
  1916. data/vendor/rails/activerecord/test/models/treasure.rb +0 -8
  1917. data/vendor/rails/activerecord/test/models/vertex.rb +0 -9
  1918. data/vendor/rails/activerecord/test/models/warehouse_thing.rb +0 -5
  1919. data/vendor/rails/activerecord/test/models/zine.rb +0 -3
  1920. data/vendor/rails/activerecord/test/schema/mysql_specific_schema.rb +0 -31
  1921. data/vendor/rails/activerecord/test/schema/postgresql_specific_schema.rb +0 -114
  1922. data/vendor/rails/activerecord/test/schema/schema.rb +0 -550
  1923. data/vendor/rails/activerecord/test/schema/schema2.rb +0 -6
  1924. data/vendor/rails/activerecord/test/schema/sqlite_specific_schema.rb +0 -25
  1925. data/vendor/rails/activeresource/CHANGELOG +0 -306
  1926. data/vendor/rails/activeresource/MIT-LICENSE +0 -20
  1927. data/vendor/rails/activeresource/README +0 -165
  1928. data/vendor/rails/activeresource/Rakefile +0 -139
  1929. data/vendor/rails/activeresource/lib/active_resource.rb +0 -44
  1930. data/vendor/rails/activeresource/lib/active_resource/base.rb +0 -1166
  1931. data/vendor/rails/activeresource/lib/active_resource/connection.rb +0 -283
  1932. data/vendor/rails/activeresource/lib/active_resource/custom_methods.rb +0 -120
  1933. data/vendor/rails/activeresource/lib/active_resource/exceptions.rb +0 -66
  1934. data/vendor/rails/activeresource/lib/active_resource/formats.rb +0 -14
  1935. data/vendor/rails/activeresource/lib/active_resource/formats/json_format.rb +0 -23
  1936. data/vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb +0 -34
  1937. data/vendor/rails/activeresource/lib/active_resource/http_mock.rb +0 -302
  1938. data/vendor/rails/activeresource/lib/active_resource/validations.rb +0 -290
  1939. data/vendor/rails/activeresource/lib/active_resource/version.rb +0 -9
  1940. data/vendor/rails/activeresource/lib/activeresource.rb +0 -2
  1941. data/vendor/rails/activeresource/test/abstract_unit.rb +0 -21
  1942. data/vendor/rails/activeresource/test/authorization_test.rb +0 -122
  1943. data/vendor/rails/activeresource/test/base/custom_methods_test.rb +0 -100
  1944. data/vendor/rails/activeresource/test/base/equality_test.rb +0 -52
  1945. data/vendor/rails/activeresource/test/base/load_test.rb +0 -161
  1946. data/vendor/rails/activeresource/test/base_errors_test.rb +0 -98
  1947. data/vendor/rails/activeresource/test/base_test.rb +0 -1087
  1948. data/vendor/rails/activeresource/test/connection_test.rb +0 -238
  1949. data/vendor/rails/activeresource/test/fixtures/beast.rb +0 -14
  1950. data/vendor/rails/activeresource/test/fixtures/customer.rb +0 -3
  1951. data/vendor/rails/activeresource/test/fixtures/person.rb +0 -3
  1952. data/vendor/rails/activeresource/test/fixtures/proxy.rb +0 -4
  1953. data/vendor/rails/activeresource/test/fixtures/street_address.rb +0 -4
  1954. data/vendor/rails/activeresource/test/format_test.rb +0 -112
  1955. data/vendor/rails/activeresource/test/http_mock_test.rb +0 -155
  1956. data/vendor/rails/activeresource/test/setter_trap.rb +0 -26
  1957. data/vendor/rails/activesupport/CHANGELOG +0 -1383
  1958. data/vendor/rails/activesupport/MIT-LICENSE +0 -20
  1959. data/vendor/rails/activesupport/README +0 -43
  1960. data/vendor/rails/activesupport/Rakefile +0 -175
  1961. data/vendor/rails/activesupport/bin/generate_tables +0 -147
  1962. data/vendor/rails/activesupport/install.rb +0 -30
  1963. data/vendor/rails/activesupport/lib/active_support.rb +0 -60
  1964. data/vendor/rails/activesupport/lib/active_support/all.rb +0 -8
  1965. data/vendor/rails/activesupport/lib/active_support/backtrace_cleaner.rb +0 -72
  1966. data/vendor/rails/activesupport/lib/active_support/base64.rb +0 -33
  1967. data/vendor/rails/activesupport/lib/active_support/basic_object.rb +0 -21
  1968. data/vendor/rails/activesupport/lib/active_support/buffered_logger.rb +0 -129
  1969. data/vendor/rails/activesupport/lib/active_support/cache.rb +0 -248
  1970. data/vendor/rails/activesupport/lib/active_support/cache/compressed_mem_cache_store.rb +0 -20
  1971. data/vendor/rails/activesupport/lib/active_support/cache/drb_store.rb +0 -14
  1972. data/vendor/rails/activesupport/lib/active_support/cache/file_store.rb +0 -72
  1973. data/vendor/rails/activesupport/lib/active_support/cache/mem_cache_store.rb +0 -143
  1974. data/vendor/rails/activesupport/lib/active_support/cache/memory_store.rb +0 -58
  1975. data/vendor/rails/activesupport/lib/active_support/cache/strategy/local_cache.rb +0 -104
  1976. data/vendor/rails/activesupport/lib/active_support/cache/synchronized_memory_store.rb +0 -47
  1977. data/vendor/rails/activesupport/lib/active_support/callbacks.rb +0 -279
  1978. data/vendor/rails/activesupport/lib/active_support/core_ext.rb +0 -8
  1979. data/vendor/rails/activesupport/lib/active_support/core_ext/array.rb +0 -15
  1980. data/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb +0 -53
  1981. data/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb +0 -197
  1982. data/vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb +0 -20
  1983. data/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb +0 -106
  1984. data/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb +0 -42
  1985. data/vendor/rails/activesupport/lib/active_support/core_ext/array/wrapper.rb +0 -24
  1986. data/vendor/rails/activesupport/lib/active_support/core_ext/base64.rb +0 -4
  1987. data/vendor/rails/activesupport/lib/active_support/core_ext/base64/encoding.rb +0 -16
  1988. data/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb +0 -19
  1989. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb +0 -6
  1990. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/conversions.rb +0 -37
  1991. data/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb +0 -2
  1992. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb +0 -5
  1993. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +0 -23
  1994. data/vendor/rails/activesupport/lib/active_support/core_ext/class.rb +0 -5
  1995. data/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute.rb +0 -67
  1996. data/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb +0 -61
  1997. data/vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb +0 -47
  1998. data/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb +0 -140
  1999. data/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb +0 -50
  2000. data/vendor/rails/activesupport/lib/active_support/core_ext/date.rb +0 -10
  2001. data/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb +0 -42
  2002. data/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb +0 -241
  2003. data/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb +0 -107
  2004. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb +0 -12
  2005. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb +0 -126
  2006. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb +0 -107
  2007. data/vendor/rails/activesupport/lib/active_support/core_ext/duplicable.rb +0 -43
  2008. data/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb +0 -120
  2009. data/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb +0 -45
  2010. data/vendor/rails/activesupport/lib/active_support/core_ext/file.rb +0 -5
  2011. data/vendor/rails/activesupport/lib/active_support/core_ext/file/atomic.rb +0 -47
  2012. data/vendor/rails/activesupport/lib/active_support/core_ext/float.rb +0 -7
  2013. data/vendor/rails/activesupport/lib/active_support/core_ext/float/rounding.rb +0 -24
  2014. data/vendor/rails/activesupport/lib/active_support/core_ext/float/time.rb +0 -27
  2015. data/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb +0 -14
  2016. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb +0 -247
  2017. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/deep_merge.rb +0 -23
  2018. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb +0 -19
  2019. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb +0 -25
  2020. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb +0 -143
  2021. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb +0 -52
  2022. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb +0 -35
  2023. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb +0 -40
  2024. data/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb +0 -9
  2025. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb +0 -29
  2026. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb +0 -20
  2027. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/time.rb +0 -45
  2028. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb +0 -5
  2029. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb +0 -11
  2030. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb +0 -7
  2031. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb +0 -16
  2032. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb +0 -59
  2033. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb +0 -24
  2034. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/singleton_class.rb +0 -13
  2035. data/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb +0 -38
  2036. data/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb +0 -145
  2037. data/vendor/rails/activesupport/lib/active_support/core_ext/module.rb +0 -23
  2038. data/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb +0 -74
  2039. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb +0 -31
  2040. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb +0 -32
  2041. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb +0 -67
  2042. data/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb +0 -135
  2043. data/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb +0 -30
  2044. data/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb +0 -90
  2045. data/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb +0 -23
  2046. data/vendor/rails/activesupport/lib/active_support/core_ext/module/model_naming.rb +0 -25
  2047. data/vendor/rails/activesupport/lib/active_support/core_ext/module/remove_method.rb +0 -6
  2048. data/vendor/rails/activesupport/lib/active_support/core_ext/module/synchronization.rb +0 -39
  2049. data/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb +0 -19
  2050. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb +0 -9
  2051. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb +0 -50
  2052. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/conversions.rb +0 -19
  2053. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb +0 -81
  2054. data/vendor/rails/activesupport/lib/active_support/core_ext/object.rb +0 -7
  2055. data/vendor/rails/activesupport/lib/active_support/core_ext/object/blank.rb +0 -76
  2056. data/vendor/rails/activesupport/lib/active_support/core_ext/object/conversions.rb +0 -15
  2057. data/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb +0 -80
  2058. data/vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb +0 -74
  2059. data/vendor/rails/activesupport/lib/active_support/core_ext/object/metaclass.rb +0 -14
  2060. data/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb +0 -93
  2061. data/vendor/rails/activesupport/lib/active_support/core_ext/object/singleton_class.rb +0 -13
  2062. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb +0 -7
  2063. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb +0 -14
  2064. data/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb +0 -12
  2065. data/vendor/rails/activesupport/lib/active_support/core_ext/process.rb +0 -1
  2066. data/vendor/rails/activesupport/lib/active_support/core_ext/process/daemon.rb +0 -25
  2067. data/vendor/rails/activesupport/lib/active_support/core_ext/range.rb +0 -11
  2068. data/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb +0 -32
  2069. data/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb +0 -27
  2070. data/vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb +0 -30
  2071. data/vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb +0 -15
  2072. data/vendor/rails/activesupport/lib/active_support/core_ext/rexml.rb +0 -41
  2073. data/vendor/rails/activesupport/lib/active_support/core_ext/string.rb +0 -24
  2074. data/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb +0 -106
  2075. data/vendor/rails/activesupport/lib/active_support/core_ext/string/behavior.rb +0 -13
  2076. data/vendor/rails/activesupport/lib/active_support/core_ext/string/bytesize.rb +0 -5
  2077. data/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb +0 -28
  2078. data/vendor/rails/activesupport/lib/active_support/core_ext/string/filters.rb +0 -26
  2079. data/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb +0 -167
  2080. data/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb +0 -23
  2081. data/vendor/rails/activesupport/lib/active_support/core_ext/string/multibyte.rb +0 -81
  2082. data/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb +0 -101
  2083. data/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb +0 -33
  2084. data/vendor/rails/activesupport/lib/active_support/core_ext/string/xchar.rb +0 -11
  2085. data/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb +0 -14
  2086. data/vendor/rails/activesupport/lib/active_support/core_ext/time.rb +0 -46
  2087. data/vendor/rails/activesupport/lib/active_support/core_ext/time/behavior.rb +0 -13
  2088. data/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb +0 -313
  2089. data/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb +0 -90
  2090. data/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb +0 -86
  2091. data/vendor/rails/activesupport/lib/active_support/core_ext/try.rb +0 -36
  2092. data/vendor/rails/activesupport/lib/active_support/core_ext/uri.rb +0 -16
  2093. data/vendor/rails/activesupport/lib/active_support/dependencies.rb +0 -651
  2094. data/vendor/rails/activesupport/lib/active_support/deprecation.rb +0 -204
  2095. data/vendor/rails/activesupport/lib/active_support/duration.rb +0 -100
  2096. data/vendor/rails/activesupport/lib/active_support/gzip.rb +0 -25
  2097. data/vendor/rails/activesupport/lib/active_support/inflections.rb +0 -56
  2098. data/vendor/rails/activesupport/lib/active_support/inflector.rb +0 -409
  2099. data/vendor/rails/activesupport/lib/active_support/json.rb +0 -2
  2100. data/vendor/rails/activesupport/lib/active_support/json/backends/jsongem.rb +0 -37
  2101. data/vendor/rails/activesupport/lib/active_support/json/backends/yajl.rb +0 -40
  2102. data/vendor/rails/activesupport/lib/active_support/json/backends/yaml.rb +0 -87
  2103. data/vendor/rails/activesupport/lib/active_support/json/decoding.rb +0 -50
  2104. data/vendor/rails/activesupport/lib/active_support/json/encoders/date.rb +0 -22
  2105. data/vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb +0 -22
  2106. data/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb +0 -17
  2107. data/vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb +0 -7
  2108. data/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb +0 -56
  2109. data/vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb +0 -7
  2110. data/vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb +0 -21
  2111. data/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb +0 -10
  2112. data/vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb +0 -9
  2113. data/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb +0 -9
  2114. data/vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb +0 -5
  2115. data/vendor/rails/activesupport/lib/active_support/json/encoders/time.rb +0 -22
  2116. data/vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb +0 -7
  2117. data/vendor/rails/activesupport/lib/active_support/json/encoding.rb +0 -111
  2118. data/vendor/rails/activesupport/lib/active_support/json/variable.rb +0 -10
  2119. data/vendor/rails/activesupport/lib/active_support/locale/en.yml +0 -36
  2120. data/vendor/rails/activesupport/lib/active_support/memoizable.rb +0 -102
  2121. data/vendor/rails/activesupport/lib/active_support/message_encryptor.rb +0 -70
  2122. data/vendor/rails/activesupport/lib/active_support/message_verifier.rb +0 -79
  2123. data/vendor/rails/activesupport/lib/active_support/multibyte.rb +0 -57
  2124. data/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb +0 -707
  2125. data/vendor/rails/activesupport/lib/active_support/multibyte/exceptions.rb +0 -8
  2126. data/vendor/rails/activesupport/lib/active_support/multibyte/unicode_database.rb +0 -71
  2127. data/vendor/rails/activesupport/lib/active_support/multibyte/utils.rb +0 -60
  2128. data/vendor/rails/activesupport/lib/active_support/option_merger.rb +0 -23
  2129. data/vendor/rails/activesupport/lib/active_support/ordered_hash.rb +0 -164
  2130. data/vendor/rails/activesupport/lib/active_support/ordered_options.rb +0 -19
  2131. data/vendor/rails/activesupport/lib/active_support/rescuable.rb +0 -108
  2132. data/vendor/rails/activesupport/lib/active_support/secure_random.rb +0 -199
  2133. data/vendor/rails/activesupport/lib/active_support/string_inquirer.rb +0 -21
  2134. data/vendor/rails/activesupport/lib/active_support/test_case.rb +0 -40
  2135. data/vendor/rails/activesupport/lib/active_support/testing/assertions.rb +0 -79
  2136. data/vendor/rails/activesupport/lib/active_support/testing/declarative.rb +0 -21
  2137. data/vendor/rails/activesupport/lib/active_support/testing/default.rb +0 -9
  2138. data/vendor/rails/activesupport/lib/active_support/testing/deprecation.rb +0 -57
  2139. data/vendor/rails/activesupport/lib/active_support/testing/performance.rb +0 -452
  2140. data/vendor/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb +0 -91
  2141. data/vendor/rails/activesupport/lib/active_support/time_with_zone.rb +0 -335
  2142. data/vendor/rails/activesupport/lib/active_support/values/time_zone.rb +0 -416
  2143. data/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat +0 -0
  2144. data/vendor/rails/activesupport/lib/active_support/vendor.rb +0 -36
  2145. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/blankslate.rb +0 -113
  2146. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder.rb +0 -13
  2147. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb +0 -20
  2148. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb +0 -250
  2149. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb +0 -115
  2150. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb +0 -139
  2151. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb +0 -63
  2152. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb +0 -328
  2153. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n.rb +0 -322
  2154. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend.rb +0 -20
  2155. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record.rb +0 -61
  2156. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/missing.rb +0 -65
  2157. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/store_procs.rb +0 -38
  2158. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/translation.rb +0 -93
  2159. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/base.rb +0 -237
  2160. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cache.rb +0 -77
  2161. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cascade.rb +0 -57
  2162. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/chain.rb +0 -77
  2163. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cldr.rb +0 -100
  2164. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/fallbacks.rb +0 -69
  2165. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/flatten.rb +0 -113
  2166. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/gettext.rb +0 -75
  2167. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/interpolation_compiler.rb +0 -123
  2168. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/key_value.rb +0 -102
  2169. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/memoize.rb +0 -48
  2170. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/metadata.rb +0 -65
  2171. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/pluralization.rb +0 -57
  2172. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/simple.rb +0 -87
  2173. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/backend/transliterator.rb +0 -98
  2174. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/config.rb +0 -84
  2175. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/core_ext/hash.rb +0 -28
  2176. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/core_ext/string/interpolate.rb +0 -98
  2177. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/exceptions.rb +0 -61
  2178. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/gettext.rb +0 -27
  2179. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/helpers.rb +0 -65
  2180. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/po_parser.rb +0 -329
  2181. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/locale.rb +0 -6
  2182. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/locale/fallbacks.rb +0 -98
  2183. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag.rb +0 -28
  2184. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/parents.rb +0 -24
  2185. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/rfc4646.rb +0 -76
  2186. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/simple.rb +0 -41
  2187. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.4.1/i18n/version.rb +0 -3
  2188. data/vendor/rails/activesupport/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb +0 -1107
  2189. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb +0 -33
  2190. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb +0 -47
  2191. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb +0 -228
  2192. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb +0 -55
  2193. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb +0 -219
  2194. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb +0 -40
  2195. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb +0 -18
  2196. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb +0 -25
  2197. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb +0 -22
  2198. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb +0 -23
  2199. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb +0 -166
  2200. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb +0 -86
  2201. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb +0 -23
  2202. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb +0 -23
  2203. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb +0 -283
  2204. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb +0 -136
  2205. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb +0 -204
  2206. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb +0 -161
  2207. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb +0 -27
  2208. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb +0 -274
  2209. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb +0 -149
  2210. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb +0 -194
  2211. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb +0 -22
  2212. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb +0 -35
  2213. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb +0 -232
  2214. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb +0 -139
  2215. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb +0 -144
  2216. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb +0 -131
  2217. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb +0 -282
  2218. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb +0 -30
  2219. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb +0 -74
  2220. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb +0 -205
  2221. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb +0 -171
  2222. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb +0 -288
  2223. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb +0 -196
  2224. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb +0 -67
  2225. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb +0 -73
  2226. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb +0 -161
  2227. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb +0 -20
  2228. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb +0 -33
  2229. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb +0 -30
  2230. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb +0 -27
  2231. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb +0 -87
  2232. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb +0 -165
  2233. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb +0 -30
  2234. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb +0 -163
  2235. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb +0 -20
  2236. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb +0 -163
  2237. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb +0 -30
  2238. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb +0 -20
  2239. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb +0 -25
  2240. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb +0 -163
  2241. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb +0 -31
  2242. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb +0 -18
  2243. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb +0 -163
  2244. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb +0 -18
  2245. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb +0 -164
  2246. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb +0 -24
  2247. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb +0 -18
  2248. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb +0 -34
  2249. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb +0 -35
  2250. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb +0 -33
  2251. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb +0 -59
  2252. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb +0 -47
  2253. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb +0 -78
  2254. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb +0 -121
  2255. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb +0 -30
  2256. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb +0 -65
  2257. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb +0 -33
  2258. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb +0 -164
  2259. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb +0 -163
  2260. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb +0 -165
  2261. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb +0 -165
  2262. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb +0 -270
  2263. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb +0 -23
  2264. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb +0 -18
  2265. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb +0 -187
  2266. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb +0 -35
  2267. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb +0 -29
  2268. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb +0 -193
  2269. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb +0 -185
  2270. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb +0 -37
  2271. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb +0 -185
  2272. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb +0 -16
  2273. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb +0 -228
  2274. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb +0 -185
  2275. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb +0 -163
  2276. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb +0 -188
  2277. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb +0 -13
  2278. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb +0 -232
  2279. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb +0 -181
  2280. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb +0 -197
  2281. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb +0 -179
  2282. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb +0 -276
  2283. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb +0 -163
  2284. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb +0 -218
  2285. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb +0 -168
  2286. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb +0 -268
  2287. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb +0 -13
  2288. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb +0 -288
  2289. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb +0 -211
  2290. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb +0 -170
  2291. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb +0 -181
  2292. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb +0 -232
  2293. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb +0 -187
  2294. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb +0 -176
  2295. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb +0 -215
  2296. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb +0 -13
  2297. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb +0 -13
  2298. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb +0 -173
  2299. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb +0 -165
  2300. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb +0 -172
  2301. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb +0 -183
  2302. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb +0 -170
  2303. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb +0 -212
  2304. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb +0 -13
  2305. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb +0 -202
  2306. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb +0 -23
  2307. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb +0 -22
  2308. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb +0 -28
  2309. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb +0 -20
  2310. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb +0 -25
  2311. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb +0 -25
  2312. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb +0 -26
  2313. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb +0 -20
  2314. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb +0 -27
  2315. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb +0 -52
  2316. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb +0 -51
  2317. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb +0 -44
  2318. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb +0 -98
  2319. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb +0 -56
  2320. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb +0 -292
  2321. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb +0 -508
  2322. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb +0 -56
  2323. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb +0 -40
  2324. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb +0 -94
  2325. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb +0 -198
  2326. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb +0 -129
  2327. data/vendor/rails/activesupport/lib/active_support/version.rb +0 -9
  2328. data/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -64
  2329. data/vendor/rails/activesupport/lib/active_support/xml_mini.rb +0 -31
  2330. data/vendor/rails/activesupport/lib/active_support/xml_mini/jdom.rb +0 -162
  2331. data/vendor/rails/activesupport/lib/active_support/xml_mini/libxml.rb +0 -73
  2332. data/vendor/rails/activesupport/lib/active_support/xml_mini/libxmlsax.rb +0 -74
  2333. data/vendor/rails/activesupport/lib/active_support/xml_mini/nokogiri.rb +0 -72
  2334. data/vendor/rails/activesupport/lib/active_support/xml_mini/nokogirisax.rb +0 -73
  2335. data/vendor/rails/activesupport/lib/active_support/xml_mini/rexml.rb +0 -108
  2336. data/vendor/rails/activesupport/lib/activesupport.rb +0 -2
  2337. data/vendor/rails/activesupport/test/abstract_unit.rb +0 -37
  2338. data/vendor/rails/activesupport/test/autoloading_fixtures/a/b.rb +0 -2
  2339. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/d.rb +0 -2
  2340. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/e/f.rb +0 -2
  2341. data/vendor/rails/activesupport/test/autoloading_fixtures/application.rb +0 -1
  2342. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder.rb +0 -3
  2343. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/class_folder_subclass.rb +0 -3
  2344. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/inline_class.rb +0 -2
  2345. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/nested_class.rb +0 -7
  2346. data/vendor/rails/activesupport/test/autoloading_fixtures/conflict.rb +0 -1
  2347. data/vendor/rails/activesupport/test/autoloading_fixtures/counting_loader.rb +0 -5
  2348. data/vendor/rails/activesupport/test/autoloading_fixtures/cross_site_dependency.rb +0 -2
  2349. data/vendor/rails/activesupport/test/autoloading_fixtures/e.rb +0 -2
  2350. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/inline_class.rb +0 -2
  2351. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_class.rb +0 -4
  2352. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_sibling.rb +0 -2
  2353. data/vendor/rails/activesupport/test/autoloading_fixtures/module_with_custom_const_missing/a/b.rb +0 -1
  2354. data/vendor/rails/activesupport/test/autoloading_fixtures/multiple_constant_file.rb +0 -2
  2355. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_name_error.rb +0 -3
  2356. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_no_method_error.rb +0 -3
  2357. data/vendor/rails/activesupport/test/buffered_logger_test.rb +0 -146
  2358. data/vendor/rails/activesupport/test/caching_test.rb +0 -355
  2359. data/vendor/rails/activesupport/test/callbacks_test.rb +0 -188
  2360. data/vendor/rails/activesupport/test/clean_backtrace_test.rb +0 -47
  2361. data/vendor/rails/activesupport/test/clean_logger_test.rb +0 -57
  2362. data/vendor/rails/activesupport/test/core_ext/array_ext_test.rb +0 -394
  2363. data/vendor/rails/activesupport/test/core_ext/base64_ext_test.rb +0 -8
  2364. data/vendor/rails/activesupport/test/core_ext/bigdecimal.rb +0 -10
  2365. data/vendor/rails/activesupport/test/core_ext/blank_test.rb +0 -21
  2366. data/vendor/rails/activesupport/test/core_ext/cgi_ext_test.rb +0 -14
  2367. data/vendor/rails/activesupport/test/core_ext/class/attribute_accessor_test.rb +0 -38
  2368. data/vendor/rails/activesupport/test/core_ext/class/class_inheritable_attributes_test.rb +0 -224
  2369. data/vendor/rails/activesupport/test/core_ext/class/delegating_attributes_test.rb +0 -115
  2370. data/vendor/rails/activesupport/test/core_ext/class_test.rb +0 -46
  2371. data/vendor/rails/activesupport/test/core_ext/date_ext_test.rb +0 -286
  2372. data/vendor/rails/activesupport/test/core_ext/date_time_ext_test.rb +0 -363
  2373. data/vendor/rails/activesupport/test/core_ext/duplicable_test.rb +0 -22
  2374. data/vendor/rails/activesupport/test/core_ext/duration_test.rb +0 -121
  2375. data/vendor/rails/activesupport/test/core_ext/enumerable_test.rb +0 -102
  2376. data/vendor/rails/activesupport/test/core_ext/exception_test.rb +0 -68
  2377. data/vendor/rails/activesupport/test/core_ext/file_test.rb +0 -67
  2378. data/vendor/rails/activesupport/test/core_ext/float_ext_test.rb +0 -25
  2379. data/vendor/rails/activesupport/test/core_ext/hash_ext_test.rb +0 -1016
  2380. data/vendor/rails/activesupport/test/core_ext/integer_ext_test.rb +0 -37
  2381. data/vendor/rails/activesupport/test/core_ext/kernel_test.rb +0 -43
  2382. data/vendor/rails/activesupport/test/core_ext/load_error_test.rb +0 -16
  2383. data/vendor/rails/activesupport/test/core_ext/module/attr_accessor_with_default_test.rb +0 -30
  2384. data/vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb +0 -52
  2385. data/vendor/rails/activesupport/test/core_ext/module/attribute_accessor_test.rb +0 -39
  2386. data/vendor/rails/activesupport/test/core_ext/module/attribute_aliasing_test.rb +0 -58
  2387. data/vendor/rails/activesupport/test/core_ext/module/model_naming_test.rb +0 -27
  2388. data/vendor/rails/activesupport/test/core_ext/module/synchronization_test.rb +0 -86
  2389. data/vendor/rails/activesupport/test/core_ext/module_test.rb +0 -363
  2390. data/vendor/rails/activesupport/test/core_ext/name_error_test.rb +0 -20
  2391. data/vendor/rails/activesupport/test/core_ext/numeric_ext_test.rb +0 -168
  2392. data/vendor/rails/activesupport/test/core_ext/object_and_class_ext_test.rb +0 -294
  2393. data/vendor/rails/activesupport/test/core_ext/object_ext_test.rb +0 -8
  2394. data/vendor/rails/activesupport/test/core_ext/pathname_test.rb +0 -9
  2395. data/vendor/rails/activesupport/test/core_ext/proc_test.rb +0 -11
  2396. data/vendor/rails/activesupport/test/core_ext/range_ext_test.rb +0 -63
  2397. data/vendor/rails/activesupport/test/core_ext/string_ext_test.rb +0 -402
  2398. data/vendor/rails/activesupport/test/core_ext/symbol_test.rb +0 -9
  2399. data/vendor/rails/activesupport/test/core_ext/time_ext_test.rb +0 -771
  2400. data/vendor/rails/activesupport/test/core_ext/time_with_zone_test.rb +0 -851
  2401. data/vendor/rails/activesupport/test/core_ext/uri_ext_test.rb +0 -12
  2402. data/vendor/rails/activesupport/test/dependencies/check_warnings.rb +0 -2
  2403. data/vendor/rails/activesupport/test/dependencies/conflict.rb +0 -1
  2404. data/vendor/rails/activesupport/test/dependencies/cross_site_depender.rb +0 -3
  2405. data/vendor/rails/activesupport/test/dependencies/mutual_one.rb +0 -4
  2406. data/vendor/rails/activesupport/test/dependencies/mutual_two.rb +0 -4
  2407. data/vendor/rails/activesupport/test/dependencies/raises_exception.rb +0 -3
  2408. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent0.rb +0 -1
  2409. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent1.rb +0 -1
  2410. data/vendor/rails/activesupport/test/dependencies/service_one.rb +0 -5
  2411. data/vendor/rails/activesupport/test/dependencies/service_two.rb +0 -2
  2412. data/vendor/rails/activesupport/test/dependencies_test.rb +0 -789
  2413. data/vendor/rails/activesupport/test/deprecation/proxy_wrappers_test.rb +0 -22
  2414. data/vendor/rails/activesupport/test/deprecation_test.rb +0 -167
  2415. data/vendor/rails/activesupport/test/empty_bool.rb +0 -7
  2416. data/vendor/rails/activesupport/test/flush_cache_on_private_memoization_test.rb +0 -43
  2417. data/vendor/rails/activesupport/test/gzip_test.rb +0 -7
  2418. data/vendor/rails/activesupport/test/i18n_test.rb +0 -98
  2419. data/vendor/rails/activesupport/test/inflector_test.rb +0 -298
  2420. data/vendor/rails/activesupport/test/inflector_test_cases.rb +0 -262
  2421. data/vendor/rails/activesupport/test/json/decoding_test.rb +0 -79
  2422. data/vendor/rails/activesupport/test/json/encoding_test.rb +0 -162
  2423. data/vendor/rails/activesupport/test/memoizable_test.rb +0 -261
  2424. data/vendor/rails/activesupport/test/message_encryptor_test.rb +0 -55
  2425. data/vendor/rails/activesupport/test/message_verifier_test.rb +0 -31
  2426. data/vendor/rails/activesupport/test/multibyte_chars_test.rb +0 -606
  2427. data/vendor/rails/activesupport/test/multibyte_conformance.rb +0 -129
  2428. data/vendor/rails/activesupport/test/multibyte_test_helpers.rb +0 -19
  2429. data/vendor/rails/activesupport/test/multibyte_unicode_database_test.rb +0 -22
  2430. data/vendor/rails/activesupport/test/multibyte_utils_test.rb +0 -137
  2431. data/vendor/rails/activesupport/test/option_merger_test.rb +0 -85
  2432. data/vendor/rails/activesupport/test/ordered_hash_test.rb +0 -237
  2433. data/vendor/rails/activesupport/test/ordered_options_test.rb +0 -53
  2434. data/vendor/rails/activesupport/test/rescuable_test.rb +0 -75
  2435. data/vendor/rails/activesupport/test/safe_buffer_test.rb +0 -36
  2436. data/vendor/rails/activesupport/test/secure_random_test.rb +0 -19
  2437. data/vendor/rails/activesupport/test/string_inquirer_test.rb +0 -15
  2438. data/vendor/rails/activesupport/test/test_case_test.rb +0 -57
  2439. data/vendor/rails/activesupport/test/test_test.rb +0 -188
  2440. data/vendor/rails/activesupport/test/time_zone_test.rb +0 -285
  2441. data/vendor/rails/activesupport/test/whiny_nil_test.rb +0 -50
  2442. data/vendor/rails/activesupport/test/xml_mini/jdom_engine_test.rb +0 -153
  2443. data/vendor/rails/activesupport/test/xml_mini/libxml_engine_test.rb +0 -204
  2444. data/vendor/rails/activesupport/test/xml_mini/libxmlsax_engine_test.rb +0 -181
  2445. data/vendor/rails/activesupport/test/xml_mini/nokogiri_engine_test.rb +0 -204
  2446. data/vendor/rails/activesupport/test/xml_mini/nokogirisax_engine_test.rb +0 -217
  2447. data/vendor/rails/activesupport/test/xml_mini/rexml_engine_test.rb +0 -15
  2448. data/vendor/rails/railties/CHANGELOG +0 -2193
  2449. data/vendor/rails/railties/MIT-LICENSE +0 -20
  2450. data/vendor/rails/railties/README +0 -243
  2451. data/vendor/rails/railties/Rakefile +0 -367
  2452. data/vendor/rails/railties/bin/about +0 -4
  2453. data/vendor/rails/railties/bin/console +0 -3
  2454. data/vendor/rails/railties/bin/dbconsole +0 -3
  2455. data/vendor/rails/railties/bin/destroy +0 -3
  2456. data/vendor/rails/railties/bin/generate +0 -3
  2457. data/vendor/rails/railties/bin/performance/benchmarker +0 -3
  2458. data/vendor/rails/railties/bin/performance/profiler +0 -3
  2459. data/vendor/rails/railties/bin/plugin +0 -3
  2460. data/vendor/rails/railties/bin/rails +0 -21
  2461. data/vendor/rails/railties/bin/runner +0 -3
  2462. data/vendor/rails/railties/bin/server +0 -3
  2463. data/vendor/rails/railties/builtin/rails_info/rails/info.rb +0 -131
  2464. data/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb +0 -9
  2465. data/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb +0 -2
  2466. data/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb +0 -2
  2467. data/vendor/rails/railties/configs/databases/frontbase.yml +0 -28
  2468. data/vendor/rails/railties/configs/databases/ibm_db.yml +0 -62
  2469. data/vendor/rails/railties/configs/databases/mysql.yml +0 -60
  2470. data/vendor/rails/railties/configs/databases/oracle.yml +0 -39
  2471. data/vendor/rails/railties/configs/databases/postgresql.yml +0 -51
  2472. data/vendor/rails/railties/configs/databases/sqlite2.yml +0 -19
  2473. data/vendor/rails/railties/configs/databases/sqlite3.yml +0 -22
  2474. data/vendor/rails/railties/configs/empty.log +0 -0
  2475. data/vendor/rails/railties/configs/initializers/backtrace_silencers.rb +0 -7
  2476. data/vendor/rails/railties/configs/initializers/cookie_verification_secret.rb +0 -7
  2477. data/vendor/rails/railties/configs/initializers/inflections.rb +0 -10
  2478. data/vendor/rails/railties/configs/initializers/mime_types.rb +0 -5
  2479. data/vendor/rails/railties/configs/initializers/new_rails_defaults.rb +0 -21
  2480. data/vendor/rails/railties/configs/initializers/session_store.rb +0 -15
  2481. data/vendor/rails/railties/configs/locales/en.yml +0 -5
  2482. data/vendor/rails/railties/configs/routes.rb +0 -43
  2483. data/vendor/rails/railties/configs/seeds.rb +0 -7
  2484. data/vendor/rails/railties/dispatches/config.ru +0 -7
  2485. data/vendor/rails/railties/dispatches/dispatch.fcgi +0 -24
  2486. data/vendor/rails/railties/dispatches/dispatch.rb +0 -10
  2487. data/vendor/rails/railties/dispatches/gateway.cgi +0 -97
  2488. data/vendor/rails/railties/doc/README_FOR_APP +0 -2
  2489. data/vendor/rails/railties/environments/boot.rb +0 -114
  2490. data/vendor/rails/railties/environments/development.rb +0 -17
  2491. data/vendor/rails/railties/environments/environment.rb +0 -41
  2492. data/vendor/rails/railties/environments/production.rb +0 -28
  2493. data/vendor/rails/railties/environments/test.rb +0 -28
  2494. data/vendor/rails/railties/fresh_rakefile +0 -10
  2495. data/vendor/rails/railties/guides/files/javascripts/code_highlighter.js +0 -188
  2496. data/vendor/rails/railties/guides/files/javascripts/guides.js +0 -8
  2497. data/vendor/rails/railties/guides/files/javascripts/highlighters.js +0 -90
  2498. data/vendor/rails/railties/guides/files/stylesheets/main.css +0 -441
  2499. data/vendor/rails/railties/guides/files/stylesheets/print.css +0 -52
  2500. data/vendor/rails/railties/guides/files/stylesheets/reset.css +0 -43
  2501. data/vendor/rails/railties/guides/files/stylesheets/style.css +0 -13
  2502. data/vendor/rails/railties/guides/files/stylesheets/syntax.css +0 -31
  2503. data/vendor/rails/railties/guides/images/belongs_to.png +0 -0
  2504. data/vendor/rails/railties/guides/images/book_icon.gif +0 -0
  2505. data/vendor/rails/railties/guides/images/bullet.gif +0 -0
  2506. data/vendor/rails/railties/guides/images/chapters_icon.gif +0 -0
  2507. data/vendor/rails/railties/guides/images/check_bullet.gif +0 -0
  2508. data/vendor/rails/railties/guides/images/credits_pic_blank.gif +0 -0
  2509. data/vendor/rails/railties/guides/images/csrf.png +0 -0
  2510. data/vendor/rails/railties/guides/images/customized_error_messages.png +0 -0
  2511. data/vendor/rails/railties/guides/images/error_messages.png +0 -0
  2512. data/vendor/rails/railties/guides/images/feature_tile.gif +0 -0
  2513. data/vendor/rails/railties/guides/images/footer_tile.gif +0 -0
  2514. data/vendor/rails/railties/guides/images/fxn.jpg +0 -0
  2515. data/vendor/rails/railties/guides/images/grey_bullet.gif +0 -0
  2516. data/vendor/rails/railties/guides/images/habtm.png +0 -0
  2517. data/vendor/rails/railties/guides/images/has_many.png +0 -0
  2518. data/vendor/rails/railties/guides/images/has_many_through.png +0 -0
  2519. data/vendor/rails/railties/guides/images/has_one.png +0 -0
  2520. data/vendor/rails/railties/guides/images/has_one_through.png +0 -0
  2521. data/vendor/rails/railties/guides/images/header_backdrop.png +0 -0
  2522. data/vendor/rails/railties/guides/images/header_tile.gif +0 -0
  2523. data/vendor/rails/railties/guides/images/i18n/demo_localized_pirate.png +0 -0
  2524. data/vendor/rails/railties/guides/images/i18n/demo_translated_en.png +0 -0
  2525. data/vendor/rails/railties/guides/images/i18n/demo_translated_pirate.png +0 -0
  2526. data/vendor/rails/railties/guides/images/i18n/demo_translation_missing.png +0 -0
  2527. data/vendor/rails/railties/guides/images/i18n/demo_untranslated.png +0 -0
  2528. data/vendor/rails/railties/guides/images/icons/README +0 -5
  2529. data/vendor/rails/railties/guides/images/icons/callouts/1.png +0 -0
  2530. data/vendor/rails/railties/guides/images/icons/callouts/10.png +0 -0
  2531. data/vendor/rails/railties/guides/images/icons/callouts/11.png +0 -0
  2532. data/vendor/rails/railties/guides/images/icons/callouts/12.png +0 -0
  2533. data/vendor/rails/railties/guides/images/icons/callouts/13.png +0 -0
  2534. data/vendor/rails/railties/guides/images/icons/callouts/14.png +0 -0
  2535. data/vendor/rails/railties/guides/images/icons/callouts/15.png +0 -0
  2536. data/vendor/rails/railties/guides/images/icons/callouts/2.png +0 -0
  2537. data/vendor/rails/railties/guides/images/icons/callouts/3.png +0 -0
  2538. data/vendor/rails/railties/guides/images/icons/callouts/4.png +0 -0
  2539. data/vendor/rails/railties/guides/images/icons/callouts/5.png +0 -0
  2540. data/vendor/rails/railties/guides/images/icons/callouts/6.png +0 -0
  2541. data/vendor/rails/railties/guides/images/icons/callouts/7.png +0 -0
  2542. data/vendor/rails/railties/guides/images/icons/callouts/8.png +0 -0
  2543. data/vendor/rails/railties/guides/images/icons/callouts/9.png +0 -0
  2544. data/vendor/rails/railties/guides/images/icons/caution.png +0 -0
  2545. data/vendor/rails/railties/guides/images/icons/example.png +0 -0
  2546. data/vendor/rails/railties/guides/images/icons/home.png +0 -0
  2547. data/vendor/rails/railties/guides/images/icons/important.png +0 -0
  2548. data/vendor/rails/railties/guides/images/icons/next.png +0 -0
  2549. data/vendor/rails/railties/guides/images/icons/note.png +0 -0
  2550. data/vendor/rails/railties/guides/images/icons/prev.png +0 -0
  2551. data/vendor/rails/railties/guides/images/icons/tip.png +0 -0
  2552. data/vendor/rails/railties/guides/images/icons/up.png +0 -0
  2553. data/vendor/rails/railties/guides/images/icons/warning.png +0 -0
  2554. data/vendor/rails/railties/guides/images/nav_arrow.gif +0 -0
  2555. data/vendor/rails/railties/guides/images/polymorphic.png +0 -0
  2556. data/vendor/rails/railties/guides/images/posts_index.png +0 -0
  2557. data/vendor/rails/railties/guides/images/rails_guides_logo.gif +0 -0
  2558. data/vendor/rails/railties/guides/images/rails_logo_remix.gif +0 -0
  2559. data/vendor/rails/railties/guides/images/rails_welcome.png +0 -0
  2560. data/vendor/rails/railties/guides/images/session_fixation.png +0 -0
  2561. data/vendor/rails/railties/guides/images/tab_grey.gif +0 -0
  2562. data/vendor/rails/railties/guides/images/tab_info.gif +0 -0
  2563. data/vendor/rails/railties/guides/images/tab_note.gif +0 -0
  2564. data/vendor/rails/railties/guides/images/tab_red.gif +0 -0
  2565. data/vendor/rails/railties/guides/images/tab_yellow.gif +0 -0
  2566. data/vendor/rails/railties/guides/images/tab_yellow.png +0 -0
  2567. data/vendor/rails/railties/guides/images/validation_error_messages.png +0 -0
  2568. data/vendor/rails/railties/guides/rails_guides.rb +0 -31
  2569. data/vendor/rails/railties/guides/rails_guides/generator.rb +0 -258
  2570. data/vendor/rails/railties/guides/rails_guides/helpers.rb +0 -34
  2571. data/vendor/rails/railties/guides/rails_guides/indexer.rb +0 -68
  2572. data/vendor/rails/railties/guides/rails_guides/levenshtein.rb +0 -31
  2573. data/vendor/rails/railties/guides/rails_guides/textile_extensions.rb +0 -41
  2574. data/vendor/rails/railties/guides/source/2_2_release_notes.textile +0 -422
  2575. data/vendor/rails/railties/guides/source/2_3_release_notes.textile +0 -610
  2576. data/vendor/rails/railties/guides/source/action_controller_overview.textile +0 -776
  2577. data/vendor/rails/railties/guides/source/action_mailer_basics.textile +0 -441
  2578. data/vendor/rails/railties/guides/source/active_record_basics.textile +0 -135
  2579. data/vendor/rails/railties/guides/source/active_record_querying.textile +0 -969
  2580. data/vendor/rails/railties/guides/source/activerecord_validations_callbacks.textile +0 -1086
  2581. data/vendor/rails/railties/guides/source/association_basics.textile +0 -1781
  2582. data/vendor/rails/railties/guides/source/caching_with_rails.textile +0 -524
  2583. data/vendor/rails/railties/guides/source/command_line.textile +0 -589
  2584. data/vendor/rails/railties/guides/source/configuring.textile +0 -234
  2585. data/vendor/rails/railties/guides/source/contribute.textile +0 -71
  2586. data/vendor/rails/railties/guides/source/contributing_to_rails.textile +0 -239
  2587. data/vendor/rails/railties/guides/source/credits.html.erb +0 -52
  2588. data/vendor/rails/railties/guides/source/debugging_rails_applications.textile +0 -709
  2589. data/vendor/rails/railties/guides/source/form_helpers.textile +0 -766
  2590. data/vendor/rails/railties/guides/source/getting_started.textile +0 -1297
  2591. data/vendor/rails/railties/guides/source/i18n.textile +0 -912
  2592. data/vendor/rails/railties/guides/source/index.html.erb +0 -125
  2593. data/vendor/rails/railties/guides/source/layout.html.erb +0 -103
  2594. data/vendor/rails/railties/guides/source/layouts_and_rendering.textile +0 -979
  2595. data/vendor/rails/railties/guides/source/migrations.textile +0 -591
  2596. data/vendor/rails/railties/guides/source/nested_model_forms.textile +0 -222
  2597. data/vendor/rails/railties/guides/source/performance_testing.textile +0 -531
  2598. data/vendor/rails/railties/guides/source/plugins.textile +0 -1512
  2599. data/vendor/rails/railties/guides/source/rails_on_rack.textile +0 -309
  2600. data/vendor/rails/railties/guides/source/routing.textile +0 -903
  2601. data/vendor/rails/railties/guides/source/security.textile +0 -986
  2602. data/vendor/rails/railties/guides/source/testing.textile +0 -951
  2603. data/vendor/rails/railties/helpers/application_controller.rb +0 -10
  2604. data/vendor/rails/railties/helpers/application_helper.rb +0 -3
  2605. data/vendor/rails/railties/helpers/performance_test.rb +0 -9
  2606. data/vendor/rails/railties/helpers/test_helper.rb +0 -38
  2607. data/vendor/rails/railties/html/404.html +0 -30
  2608. data/vendor/rails/railties/html/422.html +0 -30
  2609. data/vendor/rails/railties/html/500.html +0 -30
  2610. data/vendor/rails/railties/html/favicon.ico +0 -0
  2611. data/vendor/rails/railties/html/images/rails.png +0 -0
  2612. data/vendor/rails/railties/html/index.html +0 -275
  2613. data/vendor/rails/railties/html/javascripts/application.js +0 -2
  2614. data/vendor/rails/railties/html/javascripts/controls.js +0 -963
  2615. data/vendor/rails/railties/html/javascripts/dragdrop.js +0 -973
  2616. data/vendor/rails/railties/html/javascripts/effects.js +0 -1128
  2617. data/vendor/rails/railties/html/javascripts/prototype.js +0 -4320
  2618. data/vendor/rails/railties/html/robots.txt +0 -5
  2619. data/vendor/rails/railties/lib/code_statistics.rb +0 -107
  2620. data/vendor/rails/railties/lib/commands.rb +0 -17
  2621. data/vendor/rails/railties/lib/commands/about.rb +0 -3
  2622. data/vendor/rails/railties/lib/commands/console.rb +0 -45
  2623. data/vendor/rails/railties/lib/commands/dbconsole.rb +0 -87
  2624. data/vendor/rails/railties/lib/commands/destroy.rb +0 -6
  2625. data/vendor/rails/railties/lib/commands/generate.rb +0 -6
  2626. data/vendor/rails/railties/lib/commands/ncgi/listener +0 -86
  2627. data/vendor/rails/railties/lib/commands/ncgi/tracker +0 -69
  2628. data/vendor/rails/railties/lib/commands/performance/benchmarker.rb +0 -24
  2629. data/vendor/rails/railties/lib/commands/performance/profiler.rb +0 -50
  2630. data/vendor/rails/railties/lib/commands/plugin.rb +0 -968
  2631. data/vendor/rails/railties/lib/commands/runner.rb +0 -54
  2632. data/vendor/rails/railties/lib/commands/server.rb +0 -114
  2633. data/vendor/rails/railties/lib/commands/update.rb +0 -4
  2634. data/vendor/rails/railties/lib/console_app.rb +0 -30
  2635. data/vendor/rails/railties/lib/console_sandbox.rb +0 -6
  2636. data/vendor/rails/railties/lib/console_with_helpers.rb +0 -5
  2637. data/vendor/rails/railties/lib/dispatcher.rb +0 -24
  2638. data/vendor/rails/railties/lib/fcgi_handler.rb +0 -239
  2639. data/vendor/rails/railties/lib/initializer.rb +0 -1152
  2640. data/vendor/rails/railties/lib/performance_test_help.rb +0 -5
  2641. data/vendor/rails/railties/lib/rails/backtrace_cleaner.rb +0 -54
  2642. data/vendor/rails/railties/lib/rails/gem_builder.rb +0 -21
  2643. data/vendor/rails/railties/lib/rails/gem_dependency.rb +0 -320
  2644. data/vendor/rails/railties/lib/rails/plugin.rb +0 -179
  2645. data/vendor/rails/railties/lib/rails/plugin/loader.rb +0 -198
  2646. data/vendor/rails/railties/lib/rails/plugin/locator.rb +0 -100
  2647. data/vendor/rails/railties/lib/rails/rack.rb +0 -8
  2648. data/vendor/rails/railties/lib/rails/rack/debugger.rb +0 -23
  2649. data/vendor/rails/railties/lib/rails/rack/log_tailer.rb +0 -35
  2650. data/vendor/rails/railties/lib/rails/rack/metal.rb +0 -51
  2651. data/vendor/rails/railties/lib/rails/rack/static.rb +0 -46
  2652. data/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb +0 -140
  2653. data/vendor/rails/railties/lib/rails/version.rb +0 -9
  2654. data/vendor/rails/railties/lib/rails_generator.rb +0 -46
  2655. data/vendor/rails/railties/lib/rails_generator/base.rb +0 -266
  2656. data/vendor/rails/railties/lib/rails_generator/commands.rb +0 -621
  2657. data/vendor/rails/railties/lib/rails_generator/generated_attribute.rb +0 -47
  2658. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE +0 -9
  2659. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb +0 -266
  2660. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/git.rb +0 -18
  2661. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/scm.rb +0 -8
  2662. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/svn.rb +0 -7
  2663. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/template_runner.rb +0 -401
  2664. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE +0 -30
  2665. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -43
  2666. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -7
  2667. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -8
  2668. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
  2669. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper_test.rb +0 -4
  2670. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -2
  2671. data/vendor/rails/railties/lib/rails_generator/generators/components/helper/USAGE +0 -24
  2672. data/vendor/rails/railties/lib/rails_generator/generators/components/helper/helper_generator.rb +0 -25
  2673. data/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper.rb +0 -2
  2674. data/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper_test.rb +0 -4
  2675. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE +0 -8
  2676. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
  2677. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
  2678. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE +0 -16
  2679. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -30
  2680. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -3
  2681. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
  2682. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -15
  2683. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -20
  2684. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -3
  2685. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
  2686. data/vendor/rails/railties/lib/rails_generator/generators/components/metal/USAGE +0 -8
  2687. data/vendor/rails/railties/lib/rails_generator/generators/components/metal/metal_generator.rb +0 -8
  2688. data/vendor/rails/railties/lib/rails_generator/generators/components/metal/templates/metal.rb +0 -12
  2689. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE +0 -29
  2690. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -20
  2691. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -11
  2692. data/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE +0 -27
  2693. data/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb +0 -52
  2694. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -23
  2695. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb +0 -16
  2696. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb +0 -5
  2697. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -8
  2698. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE +0 -13
  2699. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
  2700. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
  2701. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -8
  2702. data/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/USAGE +0 -8
  2703. data/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +0 -16
  2704. data/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +0 -9
  2705. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE +0 -25
  2706. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -39
  2707. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -20
  2708. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README +0 -13
  2709. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -23
  2710. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
  2711. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
  2712. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
  2713. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -1
  2714. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
  2715. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
  2716. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +0 -4
  2717. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -1
  2718. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
  2719. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE +0 -23
  2720. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -76
  2721. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
  2722. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -8
  2723. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
  2724. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper_test.rb +0 -4
  2725. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE +0 -29
  2726. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -103
  2727. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -83
  2728. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -45
  2729. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
  2730. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +0 -4
  2731. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +0 -17
  2732. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -54
  2733. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +0 -18
  2734. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +0 -24
  2735. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +0 -17
  2736. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +0 -10
  2737. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE +0 -10
  2738. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
  2739. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
  2740. data/vendor/rails/railties/lib/rails_generator/lookup.rb +0 -249
  2741. data/vendor/rails/railties/lib/rails_generator/manifest.rb +0 -53
  2742. data/vendor/rails/railties/lib/rails_generator/options.rb +0 -150
  2743. data/vendor/rails/railties/lib/rails_generator/scripts.rb +0 -89
  2744. data/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb +0 -29
  2745. data/vendor/rails/railties/lib/rails_generator/scripts/generate.rb +0 -7
  2746. data/vendor/rails/railties/lib/rails_generator/scripts/update.rb +0 -12
  2747. data/vendor/rails/railties/lib/rails_generator/secret_key_generator.rb +0 -24
  2748. data/vendor/rails/railties/lib/rails_generator/simple_logger.rb +0 -46
  2749. data/vendor/rails/railties/lib/rails_generator/spec.rb +0 -44
  2750. data/vendor/rails/railties/lib/railties_path.rb +0 -1
  2751. data/vendor/rails/railties/lib/ruby_version_check.rb +0 -17
  2752. data/vendor/rails/railties/lib/rubyprof_ext.rb +0 -35
  2753. data/vendor/rails/railties/lib/source_annotation_extractor.rb +0 -102
  2754. data/vendor/rails/railties/lib/tasks/annotations.rake +0 -20
  2755. data/vendor/rails/railties/lib/tasks/databases.rake +0 -436
  2756. data/vendor/rails/railties/lib/tasks/documentation.rake +0 -88
  2757. data/vendor/rails/railties/lib/tasks/framework.rake +0 -146
  2758. data/vendor/rails/railties/lib/tasks/gems.rake +0 -78
  2759. data/vendor/rails/railties/lib/tasks/log.rake +0 -9
  2760. data/vendor/rails/railties/lib/tasks/middleware.rake +0 -7
  2761. data/vendor/rails/railties/lib/tasks/misc.rake +0 -63
  2762. data/vendor/rails/railties/lib/tasks/rails.rb +0 -14
  2763. data/vendor/rails/railties/lib/tasks/routes.rake +0 -18
  2764. data/vendor/rails/railties/lib/tasks/statistics.rake +0 -17
  2765. data/vendor/rails/railties/lib/tasks/testing.rake +0 -139
  2766. data/vendor/rails/railties/lib/tasks/tmp.rake +0 -37
  2767. data/vendor/rails/railties/lib/test_help.rb +0 -38
  2768. data/vendor/rails/railties/lib/webrick_server.rb +0 -156
  2769. data/vendor/rails/railties/test/abstract_unit.rb +0 -27
  2770. data/vendor/rails/railties/test/backtrace_cleaner_test.rb +0 -61
  2771. data/vendor/rails/railties/test/boot_test.rb +0 -178
  2772. data/vendor/rails/railties/test/console_app_test.rb +0 -42
  2773. data/vendor/rails/railties/test/fcgi_dispatcher_test.rb +0 -266
  2774. data/vendor/rails/railties/test/fixtures/about_yml_plugins/bad_about_yml/about.yml +0 -1
  2775. data/vendor/rails/railties/test/fixtures/about_yml_plugins/bad_about_yml/init.rb +0 -1
  2776. data/vendor/rails/railties/test/fixtures/about_yml_plugins/plugin_without_about_yml/init.rb +0 -1
  2777. data/vendor/rails/railties/test/fixtures/eager/zoo.rb +0 -3
  2778. data/vendor/rails/railties/test/fixtures/eager/zoo/reptile_house.rb +0 -2
  2779. data/vendor/rails/railties/test/fixtures/environment_with_constant.rb +0 -1
  2780. data/vendor/rails/railties/test/fixtures/lib/generators/missing_class/missing_class_generator.rb +0 -0
  2781. data/vendor/rails/railties/test/fixtures/lib/generators/working/working_generator.rb +0 -2
  2782. data/vendor/rails/railties/test/fixtures/metal/multiplemetals/app/metal/metal_a.rb +0 -5
  2783. data/vendor/rails/railties/test/fixtures/metal/multiplemetals/app/metal/metal_b.rb +0 -5
  2784. data/vendor/rails/railties/test/fixtures/metal/pluralmetal/app/metal/legacy_routes.rb +0 -5
  2785. data/vendor/rails/railties/test/fixtures/metal/singlemetal/app/metal/foo_metal.rb +0 -5
  2786. data/vendor/rails/railties/test/fixtures/metal/subfolders/app/metal/Folder/metal_a.rb +0 -7
  2787. data/vendor/rails/railties/test/fixtures/metal/subfolders/app/metal/Folder/metal_b.rb +0 -7
  2788. data/vendor/rails/railties/test/fixtures/plugins/alternate/a/generators/a_generator/a_generator.rb +0 -4
  2789. data/vendor/rails/railties/test/fixtures/plugins/default/gemlike/init.rb +0 -1
  2790. data/vendor/rails/railties/test/fixtures/plugins/default/gemlike/lib/gemlike.rb +0 -2
  2791. data/vendor/rails/railties/test/fixtures/plugins/default/gemlike/rails/init.rb +0 -7
  2792. data/vendor/rails/railties/test/fixtures/plugins/default/plugin_with_no_lib_dir/init.rb +0 -0
  2793. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/about.yml +0 -2
  2794. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/generators/stubby_generator/stubby_generator.rb +0 -4
  2795. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/init.rb +0 -7
  2796. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/lib/stubby_mixin.rb +0 -2
  2797. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/app/controllers/engine_controller.rb +0 -2
  2798. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/app/metal/engine_metal.rb +0 -9
  2799. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/app/models/engine_model.rb +0 -2
  2800. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/config/locales/en.yml +0 -2
  2801. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/config/routes.rb +0 -3
  2802. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/init.rb +0 -3
  2803. data/vendor/rails/railties/test/fixtures/public/foo/bar.html +0 -1
  2804. data/vendor/rails/railties/test/fixtures/public/foo/index.html +0 -1
  2805. data/vendor/rails/railties/test/fixtures/public/index.html +0 -1
  2806. data/vendor/rails/railties/test/gem_dependency_test.rb +0 -227
  2807. data/vendor/rails/railties/test/generator_lookup_test.rb +0 -40
  2808. data/vendor/rails/railties/test/generators/generated_attribute_test.rb +0 -38
  2809. data/vendor/rails/railties/test/generators/generator_test_helper.rb +0 -322
  2810. data/vendor/rails/railties/test/generators/rails_controller_generator_test.rb +0 -44
  2811. data/vendor/rails/railties/test/generators/rails_helper_generator_test.rb +0 -36
  2812. data/vendor/rails/railties/test/generators/rails_mailer_generator_test.rb +0 -29
  2813. data/vendor/rails/railties/test/generators/rails_model_generator_test.rb +0 -96
  2814. data/vendor/rails/railties/test/generators/rails_resource_generator_test.rb +0 -29
  2815. data/vendor/rails/railties/test/generators/rails_scaffold_generator_test.rb +0 -151
  2816. data/vendor/rails/railties/test/generators/rails_template_runner_test.rb +0 -216
  2817. data/vendor/rails/railties/test/initializer_test.rb +0 -437
  2818. data/vendor/rails/railties/test/metal_test.rb +0 -72
  2819. data/vendor/rails/railties/test/mocks/routes.rb +0 -6
  2820. data/vendor/rails/railties/test/plugin_loader_test.rb +0 -172
  2821. data/vendor/rails/railties/test/plugin_locator_test.rb +0 -62
  2822. data/vendor/rails/railties/test/plugin_test.rb +0 -162
  2823. data/vendor/rails/railties/test/plugin_test_helper.rb +0 -29
  2824. data/vendor/rails/railties/test/rack_static_test.rb +0 -47
  2825. data/vendor/rails/railties/test/rails_generator_test.rb +0 -145
  2826. data/vendor/rails/railties/test/rails_info_controller_test.rb +0 -52
  2827. data/vendor/rails/railties/test/rails_info_test.rb +0 -99
  2828. data/vendor/rails/railties/test/secret_key_generation_test.rb +0 -38
  2829. data/vendor/rails/railties/test/vendor/gems/dummy-gem-a-0.4.0/lib/dummy-gem-a.rb +0 -1
  2830. data/vendor/rails/railties/test/vendor/gems/dummy-gem-b-0.4.0/lib/dummy-gem-b.rb +0 -1
  2831. data/vendor/rails/railties/test/vendor/gems/dummy-gem-b-0.6.0/lib/dummy-gem-b.rb +0 -1
  2832. data/vendor/rails/railties/test/vendor/gems/dummy-gem-c-0.4.0/lib/dummy-gem-c.rb +0 -1
  2833. data/vendor/rails/railties/test/vendor/gems/dummy-gem-c-0.6.0/lib/dummy-gem-c.rb +0 -1
  2834. data/vendor/rails/railties/test/vendor/gems/dummy-gem-d-1.0.0/lib/dummy-gem-d.rb +0 -1
  2835. data/vendor/rails/railties/test/vendor/gems/dummy-gem-e-1.0.0/lib/dummy-gem-e.rb +0 -1
  2836. data/vendor/rails/railties/test/vendor/gems/dummy-gem-f-1.0.0/lib/dummy-gem-f.rb +0 -1
  2837. data/vendor/rails/railties/test/vendor/gems/dummy-gem-g-1.0.0/lib/dummy-gem-g.rb +0 -1
  2838. data/vendor/rails/railties/test/vendor/gems/dummy-gem-h-1.0.0/lib/dummy-gem-h.rb +0 -1
  2839. data/vendor/rails/railties/test/vendor/gems/dummy-gem-i-1.0.0/ext/dummy-gem-i/Makefile +0 -0
  2840. data/vendor/rails/railties/test/vendor/gems/dummy-gem-i-1.0.0/lib/dummy-gem-i.rb +0 -1
  2841. data/vendor/rails/railties/test/vendor/gems/dummy-gem-j-1.0.0/lib/dummy-gem-j.rb +0 -1
  2842. data/vendor/rails/railties/test/vendor/gems/dummy-gem-k-1.0.0/lib/dummy-gem-k.rb +0 -1
  2843. data/vendor/rails/railties/test/vendor/gems/dummy-gem-l-1.0.0-x86-mswin32/lib/dummy-gem-l.rb +0 -1
  2844. data/vendor/redcloth/Rakefile +0 -196
  2845. data/vendor/redcloth/bin/redcloth +0 -3
  2846. data/vendor/redcloth/doc/CHANGELOG +0 -160
  2847. data/vendor/redcloth/doc/COPYING +0 -25
  2848. data/vendor/redcloth/doc/README +0 -106
  2849. data/vendor/redcloth/doc/REFERENCE +0 -216
  2850. data/vendor/redcloth/doc/make.rb +0 -359
  2851. data/vendor/redcloth/lib/rctodb.rb +0 -1107
  2852. data/vendor/redcloth/lib/redcloth.rb +0 -1130
  2853. data/vendor/redcloth/run-tests.rb +0 -28
  2854. data/vendor/redcloth/setup.rb +0 -1376
  2855. data/vendor/redcloth/tests/code.yml +0 -105
  2856. data/vendor/redcloth/tests/images.yml +0 -171
  2857. data/vendor/redcloth/tests/instiki.yml +0 -39
  2858. data/vendor/redcloth/tests/links.yml +0 -155
  2859. data/vendor/redcloth/tests/lists.yml +0 -77
  2860. data/vendor/redcloth/tests/markdown.yml +0 -218
  2861. data/vendor/redcloth/tests/poignant.yml +0 -64
  2862. data/vendor/redcloth/tests/table.yml +0 -198
  2863. data/vendor/redcloth/tests/textism.yml +0 -406
@@ -1,406 +0,0 @@
1
- module ActiveRecord
2
- # See ActiveRecord::AssociationPreload::ClassMethods for documentation.
3
- module AssociationPreload #:nodoc:
4
- def self.included(base)
5
- base.extend(ClassMethods)
6
- end
7
-
8
- # Implements the details of eager loading of ActiveRecord associations.
9
- # Application developers should not use this module directly.
10
- #
11
- # ActiveRecord::Base is extended with this module. The source code in
12
- # ActiveRecord::Base references methods defined in this module.
13
- #
14
- # Note that 'eager loading' and 'preloading' are actually the same thing.
15
- # However, there are two different eager loading strategies.
16
- #
17
- # The first one is by using table joins. This was only strategy available
18
- # prior to Rails 2.1. Suppose that you have an Author model with columns
19
- # 'name' and 'age', and a Book model with columns 'name' and 'sales'. Using
20
- # this strategy, ActiveRecord would try to retrieve all data for an author
21
- # and all of its books via a single query:
22
- #
23
- # SELECT * FROM authors
24
- # LEFT OUTER JOIN books ON authors.id = books.id
25
- # WHERE authors.name = 'Ken Akamatsu'
26
- #
27
- # However, this could result in many rows that contain redundant data. After
28
- # having received the first row, we already have enough data to instantiate
29
- # the Author object. In all subsequent rows, only the data for the joined
30
- # 'books' table is useful; the joined 'authors' data is just redundant, and
31
- # processing this redundant data takes memory and CPU time. The problem
32
- # quickly becomes worse and worse as the level of eager loading increases
33
- # (i.e. if ActiveRecord is to eager load the associations' assocations as
34
- # well).
35
- #
36
- # The second strategy is to use multiple database queries, one for each
37
- # level of association. Since Rails 2.1, this is the default strategy. In
38
- # situations where a table join is necessary (e.g. when the +:conditions+
39
- # option references an association's column), it will fallback to the table
40
- # join strategy.
41
- #
42
- # See also ActiveRecord::Associations::ClassMethods, which explains eager
43
- # loading in a more high-level (application developer-friendly) manner.
44
- module ClassMethods
45
- protected
46
-
47
- # Eager loads the named associations for the given ActiveRecord record(s).
48
- #
49
- # In this description, 'association name' shall refer to the name passed
50
- # to an association creation method. For example, a model that specifies
51
- # <tt>belongs_to :author</tt>, <tt>has_many :buyers</tt> has association
52
- # names +:author+ and +:buyers+.
53
- #
54
- # == Parameters
55
- # +records+ is an array of ActiveRecord::Base. This array needs not be flat,
56
- # i.e. +records+ itself may also contain arrays of records. In any case,
57
- # +preload_associations+ will preload the associations all records by
58
- # flattening +records+.
59
- #
60
- # +associations+ specifies one or more associations that you want to
61
- # preload. It may be:
62
- # - a Symbol or a String which specifies a single association name. For
63
- # example, specifiying +:books+ allows this method to preload all books
64
- # for an Author.
65
- # - an Array which specifies multiple association names. This array
66
- # is processed recursively. For example, specifying <tt>[:avatar, :books]</tt>
67
- # allows this method to preload an author's avatar as well as all of his
68
- # books.
69
- # - a Hash which specifies multiple association names, as well as
70
- # association names for the to-be-preloaded association objects. For
71
- # example, specifying <tt>{ :author => :avatar }</tt> will preload a
72
- # book's author, as well as that author's avatar.
73
- #
74
- # +:associations+ has the same format as the +:include+ option for
75
- # <tt>ActiveRecord::Base.find</tt>. So +associations+ could look like this:
76
- #
77
- # :books
78
- # [ :books, :author ]
79
- # { :author => :avatar }
80
- # [ :books, { :author => :avatar } ]
81
- #
82
- # +preload_options+ contains options that will be passed to ActiveRecord#find
83
- # (which is called under the hood for preloading records). But it is passed
84
- # only one level deep in the +associations+ argument, i.e. it's not passed
85
- # to the child associations when +associations+ is a Hash.
86
- def preload_associations(records, associations, preload_options={})
87
- records = [records].flatten.compact.uniq
88
- return if records.empty?
89
- case associations
90
- when Array then associations.each {|association| preload_associations(records, association, preload_options)}
91
- when Symbol, String then preload_one_association(records, associations.to_sym, preload_options)
92
- when Hash then
93
- associations.each do |parent, child|
94
- raise "parent must be an association name" unless parent.is_a?(String) || parent.is_a?(Symbol)
95
- preload_associations(records, parent, preload_options)
96
- reflection = reflections[parent]
97
- parents = records.map {|record| record.send(reflection.name)}.flatten.compact
98
- unless parents.empty?
99
- parents.first.class.preload_associations(parents, child)
100
- end
101
- end
102
- end
103
- end
104
-
105
- private
106
-
107
- # Preloads a specific named association for the given records. This is
108
- # called by +preload_associations+ as its base case.
109
- def preload_one_association(records, association, preload_options={})
110
- class_to_reflection = {}
111
- # Not all records have the same class, so group then preload
112
- # group on the reflection itself so that if various subclass share the same association then we do not split them
113
- # unnecessarily
114
- records.group_by {|record| class_to_reflection[record.class] ||= record.class.reflections[association]}.each do |reflection, records|
115
- raise ConfigurationError, "Association named '#{ association }' was not found; perhaps you misspelled it?" unless reflection
116
-
117
- # 'reflection.macro' can return 'belongs_to', 'has_many', etc. Thus,
118
- # the following could call 'preload_belongs_to_association',
119
- # 'preload_has_many_association', etc.
120
- send("preload_#{reflection.macro}_association", records, reflection, preload_options)
121
- end
122
- end
123
-
124
- def add_preloaded_records_to_collection(parent_records, reflection_name, associated_record)
125
- parent_records.each do |parent_record|
126
- association_proxy = parent_record.send(reflection_name)
127
- association_proxy.loaded
128
- association_proxy.target.push(*[associated_record].flatten)
129
- association_proxy.__send__(:set_inverse_instance, associated_record, parent_record)
130
- end
131
- end
132
-
133
- def add_preloaded_record_to_collection(parent_records, reflection_name, associated_record)
134
- parent_records.each do |parent_record|
135
- parent_record.send("set_#{reflection_name}_target", associated_record)
136
- end
137
- end
138
-
139
- def set_association_collection_records(id_to_record_map, reflection_name, associated_records, key)
140
- associated_records.each do |associated_record|
141
- mapped_records = id_to_record_map[associated_record[key].to_s]
142
- add_preloaded_records_to_collection(mapped_records, reflection_name, associated_record)
143
- end
144
- end
145
-
146
- def set_association_single_records(id_to_record_map, reflection_name, associated_records, key)
147
- seen_keys = {}
148
- associated_records.each do |associated_record|
149
- #this is a has_one or belongs_to: there should only be one record.
150
- #Unfortunately we can't (in portable way) ask the database for 'all records where foo_id in (x,y,z), but please
151
- # only one row per distinct foo_id' so this where we enforce that
152
- next if seen_keys[associated_record[key].to_s]
153
- seen_keys[associated_record[key].to_s] = true
154
- mapped_records = id_to_record_map[associated_record[key].to_s]
155
- mapped_records.each do |mapped_record|
156
- association_proxy = mapped_record.send("set_#{reflection_name}_target", associated_record)
157
- association_proxy.__send__(:set_inverse_instance, associated_record, mapped_record)
158
- end
159
- end
160
-
161
- id_to_record_map.each do |id, records|
162
- next if seen_keys.include?(id.to_s)
163
- records.each {|record| record.send("set_#{reflection_name}_target", nil) }
164
- end
165
- end
166
-
167
- # Given a collection of ActiveRecord objects, constructs a Hash which maps
168
- # the objects' IDs to the relevant objects. Returns a 2-tuple
169
- # <tt>(id_to_record_map, ids)</tt> where +id_to_record_map+ is the Hash,
170
- # and +ids+ is an Array of record IDs.
171
- def construct_id_map(records, primary_key=nil)
172
- id_to_record_map = {}
173
- ids = []
174
- records.each do |record|
175
- primary_key ||= record.class.primary_key
176
- ids << record[primary_key]
177
- mapped_records = (id_to_record_map[ids.last.to_s] ||= [])
178
- mapped_records << record
179
- end
180
- ids.uniq!
181
- return id_to_record_map, ids
182
- end
183
-
184
- def preload_has_and_belongs_to_many_association(records, reflection, preload_options={})
185
- table_name = reflection.klass.quoted_table_name
186
- id_to_record_map, ids = construct_id_map(records)
187
- records.each {|record| record.send(reflection.name).loaded}
188
- options = reflection.options
189
-
190
- conditions = "t0.#{reflection.primary_key_name} #{in_or_equals_for_ids(ids)}"
191
- conditions << append_conditions(reflection, preload_options)
192
-
193
- associated_records = reflection.klass.with_exclusive_scope do
194
- reflection.klass.find(:all, :conditions => [conditions, ids],
195
- :include => options[:include],
196
- :joins => "INNER JOIN #{connection.quote_table_name options[:join_table]} t0 ON #{reflection.klass.quoted_table_name}.#{reflection.klass.primary_key} = t0.#{reflection.association_foreign_key}",
197
- :select => "#{options[:select] || table_name+'.*'}, t0.#{reflection.primary_key_name} as the_parent_record_id",
198
- :order => options[:order])
199
- end
200
- set_association_collection_records(id_to_record_map, reflection.name, associated_records, 'the_parent_record_id')
201
- end
202
-
203
- def preload_has_one_association(records, reflection, preload_options={})
204
- return if records.first.send("loaded_#{reflection.name}?")
205
- id_to_record_map, ids = construct_id_map(records, reflection.options[:primary_key])
206
- options = reflection.options
207
- records.each {|record| record.send("set_#{reflection.name}_target", nil)}
208
- if options[:through]
209
- through_records = preload_through_records(records, reflection, options[:through])
210
- through_reflection = reflections[options[:through]]
211
- through_primary_key = through_reflection.primary_key_name
212
- unless through_records.empty?
213
- source = reflection.source_reflection.name
214
- through_records.first.class.preload_associations(through_records, source)
215
- if through_reflection.macro == :belongs_to
216
- rev_id_to_record_map, rev_ids = construct_id_map(records, through_primary_key)
217
- rev_primary_key = through_reflection.klass.primary_key
218
- through_records.each do |through_record|
219
- add_preloaded_record_to_collection(rev_id_to_record_map[through_record[rev_primary_key].to_s],
220
- reflection.name, through_record.send(source))
221
- end
222
- else
223
- through_records.each do |through_record|
224
- add_preloaded_record_to_collection(id_to_record_map[through_record[through_primary_key].to_s],
225
- reflection.name, through_record.send(source))
226
- end
227
- end
228
- end
229
- else
230
- set_association_single_records(id_to_record_map, reflection.name, find_associated_records(ids, reflection, preload_options), reflection.primary_key_name)
231
- end
232
- end
233
-
234
- def preload_has_many_association(records, reflection, preload_options={})
235
- return if records.first.send(reflection.name).loaded?
236
- options = reflection.options
237
-
238
- primary_key_name = reflection.through_reflection_primary_key_name
239
- id_to_record_map, ids = construct_id_map(records, primary_key_name || reflection.options[:primary_key])
240
- records.each {|record| record.send(reflection.name).loaded}
241
-
242
- if options[:through]
243
- through_records = preload_through_records(records, reflection, options[:through])
244
- through_reflection = reflections[options[:through]]
245
- unless through_records.empty?
246
- source = reflection.source_reflection.name
247
- through_records.first.class.preload_associations(through_records, source, options)
248
- through_records.each do |through_record|
249
- through_record_id = through_record[reflection.through_reflection_primary_key].to_s
250
- add_preloaded_records_to_collection(id_to_record_map[through_record_id], reflection.name, through_record.send(source))
251
- end
252
- end
253
-
254
- else
255
- set_association_collection_records(id_to_record_map, reflection.name, find_associated_records(ids, reflection, preload_options),
256
- reflection.primary_key_name)
257
- end
258
- end
259
-
260
- def preload_through_records(records, reflection, through_association)
261
- through_reflection = reflections[through_association]
262
- through_primary_key = through_reflection.primary_key_name
263
-
264
- if reflection.options[:source_type]
265
- interface = reflection.source_reflection.options[:foreign_type]
266
- preload_options = {:conditions => ["#{connection.quote_column_name interface} = ?", reflection.options[:source_type]]}
267
-
268
- records.compact!
269
- records.first.class.preload_associations(records, through_association, preload_options)
270
-
271
- # Dont cache the association - we would only be caching a subset
272
- through_records = []
273
- records.each do |record|
274
- proxy = record.send(through_association)
275
-
276
- if proxy.respond_to?(:target)
277
- through_records << proxy.target
278
- proxy.reset
279
- else # this is a has_one :through reflection
280
- through_records << proxy if proxy
281
- end
282
- end
283
- through_records.flatten!
284
- else
285
- options = {}
286
- options[:include] = reflection.options[:include] || reflection.options[:source] if reflection.options[:conditions] || reflection.options[:order]
287
- options[:order] = reflection.options[:order]
288
- options[:conditions] = reflection.options[:conditions]
289
- records.first.class.preload_associations(records, through_association, options)
290
- through_records = records.map {|record| record.send(through_association)}.flatten
291
- end
292
- through_records.compact!
293
- through_records
294
- end
295
-
296
- def preload_belongs_to_association(records, reflection, preload_options={})
297
- return if records.first.send("loaded_#{reflection.name}?")
298
- options = reflection.options
299
- primary_key_name = reflection.primary_key_name
300
-
301
- if options[:polymorphic]
302
- polymorph_type = options[:foreign_type]
303
- klasses_and_ids = {}
304
-
305
- # Construct a mapping from klass to a list of ids to load and a mapping of those ids back to their parent_records
306
- records.each do |record|
307
- if klass = record.send(polymorph_type)
308
- klass_id = record.send(primary_key_name)
309
- if klass_id
310
- id_map = klasses_and_ids[klass] ||= {}
311
- id_list_for_klass_id = (id_map[klass_id.to_s] ||= [])
312
- id_list_for_klass_id << record
313
- end
314
- end
315
- end
316
- klasses_and_ids = klasses_and_ids.to_a
317
- else
318
- id_map = {}
319
- records.each do |record|
320
- key = record.send(primary_key_name)
321
- if key
322
- mapped_records = (id_map[key.to_s] ||= [])
323
- mapped_records << record
324
- end
325
- end
326
- klasses_and_ids = [[reflection.klass.name, id_map]]
327
- end
328
-
329
- klasses_and_ids.each do |klass_and_id|
330
- klass_name, id_map = *klass_and_id
331
- next if id_map.empty?
332
- klass = klass_name.constantize
333
-
334
- table_name = klass.quoted_table_name
335
- primary_key = reflection.options[:primary_key] || klass.primary_key
336
- column_type = klass.columns.detect{|c| c.name == primary_key}.type
337
- ids = id_map.keys.map do |id|
338
- if column_type == :integer
339
- id.to_i
340
- elsif column_type == :float
341
- id.to_f
342
- else
343
- id
344
- end
345
- end
346
- conditions = "#{table_name}.#{connection.quote_column_name(primary_key)} #{in_or_equals_for_ids(ids)}"
347
- conditions << append_conditions(reflection, preload_options)
348
- associated_records = klass.with_exclusive_scope do
349
- klass.find(:all, :conditions => [conditions, ids],
350
- :include => options[:include],
351
- :select => options[:select],
352
- :joins => options[:joins],
353
- :order => options[:order])
354
- end
355
- set_association_single_records(id_map, reflection.name, associated_records, primary_key)
356
- end
357
- end
358
-
359
- def find_associated_records(ids, reflection, preload_options)
360
- options = reflection.options
361
- table_name = reflection.klass.quoted_table_name
362
-
363
- if interface = reflection.options[:as]
364
- parent_type = if reflection.active_record.abstract_class?
365
- self.base_class.sti_name
366
- else
367
- reflection.active_record.sti_name
368
- end
369
-
370
- conditions = "#{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_id"} #{in_or_equals_for_ids(ids)} and #{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_type"} = '#{parent_type}'"
371
- else
372
- foreign_key = reflection.primary_key_name
373
- conditions = "#{reflection.klass.quoted_table_name}.#{foreign_key} #{in_or_equals_for_ids(ids)}"
374
- end
375
-
376
- conditions << append_conditions(reflection, preload_options)
377
-
378
- reflection.klass.with_exclusive_scope do
379
- reflection.klass.find(:all,
380
- :select => (preload_options[:select] || options[:select] || "#{table_name}.*"),
381
- :include => preload_options[:include] || options[:include],
382
- :conditions => [conditions, ids],
383
- :joins => options[:joins],
384
- :group => preload_options[:group] || options[:group],
385
- :order => preload_options[:order] || options[:order])
386
- end
387
- end
388
-
389
-
390
- def interpolate_sql_for_preload(sql)
391
- instance_eval("%@#{sql.gsub('@', '\@')}@")
392
- end
393
-
394
- def append_conditions(reflection, preload_options)
395
- sql = ""
396
- sql << " AND (#{interpolate_sql_for_preload(reflection.sanitized_conditions)})" if reflection.sanitized_conditions
397
- sql << " AND (#{sanitize_sql preload_options[:conditions]})" if preload_options[:conditions]
398
- sql
399
- end
400
-
401
- def in_or_equals_for_ids(ids)
402
- ids.size > 1 ? "IN (?)" : "= ?"
403
- end
404
- end
405
- end
406
- end
@@ -1,2251 +0,0 @@
1
- module ActiveRecord
2
- class InverseOfAssociationNotFoundError < ActiveRecordError #:nodoc:
3
- def initialize(reflection, associated_class = nil)
4
- super("Could not find the inverse association for #{reflection.name} (#{reflection.options[:inverse_of].inspect} in #{associated_class.nil? ? reflection.class_name : associated_class.name})")
5
- end
6
- end
7
-
8
- class HasManyThroughAssociationNotFoundError < ActiveRecordError #:nodoc:
9
- def initialize(owner_class_name, reflection)
10
- super("Could not find the association #{reflection.options[:through].inspect} in model #{owner_class_name}")
11
- end
12
- end
13
-
14
- class HasManyThroughAssociationPolymorphicError < ActiveRecordError #:nodoc:
15
- def initialize(owner_class_name, reflection, source_reflection)
16
- super("Cannot have a has_many :through association '#{owner_class_name}##{reflection.name}' on the polymorphic object '#{source_reflection.class_name}##{source_reflection.name}'.")
17
- end
18
- end
19
-
20
- class HasManyThroughAssociationPointlessSourceTypeError < ActiveRecordError #:nodoc:
21
- def initialize(owner_class_name, reflection, source_reflection)
22
- super("Cannot have a has_many :through association '#{owner_class_name}##{reflection.name}' with a :source_type option if the '#{reflection.through_reflection.class_name}##{source_reflection.name}' is not polymorphic. Try removing :source_type on your association.")
23
- end
24
- end
25
-
26
- class HasManyThroughSourceAssociationNotFoundError < ActiveRecordError #:nodoc:
27
- def initialize(reflection)
28
- through_reflection = reflection.through_reflection
29
- source_reflection_names = reflection.source_reflection_names
30
- source_associations = reflection.through_reflection.klass.reflect_on_all_associations.collect { |a| a.name.inspect }
31
- super("Could not find the source association(s) #{source_reflection_names.collect(&:inspect).to_sentence(:two_words_connector => ' or ', :last_word_connector => ', or ', :locale => :en)} in model #{through_reflection.klass}. Try 'has_many #{reflection.name.inspect}, :through => #{through_reflection.name.inspect}, :source => <name>'. Is it one of #{source_associations.to_sentence(:two_words_connector => ' or ', :last_word_connector => ', or ', :locale => :en)}?")
32
- end
33
- end
34
-
35
- class HasManyThroughSourceAssociationMacroError < ActiveRecordError #:nodoc:
36
- def initialize(reflection)
37
- through_reflection = reflection.through_reflection
38
- source_reflection = reflection.source_reflection
39
- super("Invalid source reflection macro :#{source_reflection.macro}#{" :through" if source_reflection.options[:through]} for has_many #{reflection.name.inspect}, :through => #{through_reflection.name.inspect}. Use :source to specify the source reflection.")
40
- end
41
- end
42
-
43
- class HasManyThroughCantAssociateThroughHasOneOrManyReflection < ActiveRecordError #:nodoc:
44
- def initialize(owner, reflection)
45
- super("Cannot modify association '#{owner.class.name}##{reflection.name}' because the source reflection class '#{reflection.source_reflection.class_name}' is associated to '#{reflection.through_reflection.class_name}' via :#{reflection.source_reflection.macro}.")
46
- end
47
- end
48
- HasManyThroughCantAssociateThroughHasManyReflection = ActiveSupport::Deprecation::DeprecatedConstantProxy.new('ActiveRecord::HasManyThroughCantAssociateThroughHasManyReflection', 'ActiveRecord::HasManyThroughCantAssociateThroughHasOneOrManyReflection')
49
-
50
- class HasManyThroughCantAssociateNewRecords < ActiveRecordError #:nodoc:
51
- def initialize(owner, reflection)
52
- super("Cannot associate new records through '#{owner.class.name}##{reflection.name}' on '#{reflection.source_reflection.class_name rescue nil}##{reflection.source_reflection.name rescue nil}'. Both records must have an id in order to create the has_many :through record associating them.")
53
- end
54
- end
55
-
56
- class HasManyThroughCantDissociateNewRecords < ActiveRecordError #:nodoc:
57
- def initialize(owner, reflection)
58
- super("Cannot dissociate new records through '#{owner.class.name}##{reflection.name}' on '#{reflection.source_reflection.class_name rescue nil}##{reflection.source_reflection.name rescue nil}'. Both records must have an id in order to delete the has_many :through record associating them.")
59
- end
60
- end
61
-
62
- class HasAndBelongsToManyAssociationForeignKeyNeeded < ActiveRecordError #:nodoc:
63
- def initialize(reflection)
64
- super("Cannot create self referential has_and_belongs_to_many association on '#{reflection.class_name rescue nil}##{reflection.name rescue nil}'. :association_foreign_key cannot be the same as the :foreign_key.")
65
- end
66
- end
67
-
68
- class EagerLoadPolymorphicError < ActiveRecordError #:nodoc:
69
- def initialize(reflection)
70
- super("Can not eagerly load the polymorphic association #{reflection.name.inspect}")
71
- end
72
- end
73
-
74
- class ReadOnlyAssociation < ActiveRecordError #:nodoc:
75
- def initialize(reflection)
76
- super("Can not add to a has_many :through association. Try adding to #{reflection.through_reflection.name.inspect}.")
77
- end
78
- end
79
-
80
- # See ActiveRecord::Associations::ClassMethods for documentation.
81
- module Associations # :nodoc:
82
- # These classes will be loaded when associations are created.
83
- # So there is no need to eager load them.
84
- autoload :AssociationCollection, 'active_record/associations/association_collection'
85
- autoload :AssociationProxy, 'active_record/associations/association_proxy'
86
- autoload :BelongsToAssociation, 'active_record/associations/belongs_to_association'
87
- autoload :BelongsToPolymorphicAssociation, 'active_record/associations/belongs_to_polymorphic_association'
88
- autoload :HasAndBelongsToManyAssociation, 'active_record/associations/has_and_belongs_to_many_association'
89
- autoload :HasManyAssociation, 'active_record/associations/has_many_association'
90
- autoload :HasManyThroughAssociation, 'active_record/associations/has_many_through_association'
91
- autoload :HasOneAssociation, 'active_record/associations/has_one_association'
92
- autoload :HasOneThroughAssociation, 'active_record/associations/has_one_through_association'
93
-
94
- def self.included(base)
95
- base.extend(ClassMethods)
96
- end
97
-
98
- # Clears out the association cache
99
- def clear_association_cache #:nodoc:
100
- self.class.reflect_on_all_associations.to_a.each do |assoc|
101
- instance_variable_set "@#{assoc.name}", nil
102
- end unless self.new_record?
103
- end
104
-
105
- private
106
- # Gets the specified association instance if it responds to :loaded?, nil otherwise.
107
- def association_instance_get(name)
108
- association = instance_variable_get("@#{name}")
109
- association if association.respond_to?(:loaded?)
110
- end
111
-
112
- # Set the specified association instance.
113
- def association_instance_set(name, association)
114
- instance_variable_set("@#{name}", association)
115
- end
116
-
117
- # Associations are a set of macro-like class methods for tying objects together through foreign keys. They express relationships like
118
- # "Project has one Project Manager" or "Project belongs to a Portfolio". Each macro adds a number of methods to the class which are
119
- # specialized according to the collection or association symbol and the options hash. It works much the same way as Ruby's own <tt>attr*</tt>
120
- # methods. Example:
121
- #
122
- # class Project < ActiveRecord::Base
123
- # belongs_to :portfolio
124
- # has_one :project_manager
125
- # has_many :milestones
126
- # has_and_belongs_to_many :categories
127
- # end
128
- #
129
- # The project class now has the following methods (and more) to ease the traversal and manipulation of its relationships:
130
- # * <tt>Project#portfolio, Project#portfolio=(portfolio), Project#portfolio.nil?</tt>
131
- # * <tt>Project#project_manager, Project#project_manager=(project_manager), Project#project_manager.nil?,</tt>
132
- # * <tt>Project#milestones.empty?, Project#milestones.size, Project#milestones, Project#milestones<<(milestone),</tt>
133
- # <tt>Project#milestones.delete(milestone), Project#milestones.find(milestone_id), Project#milestones.find(:all, options),</tt>
134
- # <tt>Project#milestones.build, Project#milestones.create</tt>
135
- # * <tt>Project#categories.empty?, Project#categories.size, Project#categories, Project#categories<<(category1),</tt>
136
- # <tt>Project#categories.delete(category1)</tt>
137
- #
138
- # === A word of warning
139
- #
140
- # Don't create associations that have the same name as instance methods of ActiveRecord::Base. Since the association
141
- # adds a method with that name to its model, it will override the inherited method and break things.
142
- # For instance, +attributes+ and +connection+ would be bad choices for association names.
143
- #
144
- # == Auto-generated methods
145
- #
146
- # === Singular associations (one-to-one)
147
- # | | belongs_to |
148
- # generated methods | belongs_to | :polymorphic | has_one
149
- # ----------------------------------+------------+--------------+---------
150
- # other | X | X | X
151
- # other=(other) | X | X | X
152
- # build_other(attributes={}) | X | | X
153
- # create_other(attributes={}) | X | | X
154
- # other.create!(attributes={}) | | | X
155
- #
156
- # ===Collection associations (one-to-many / many-to-many)
157
- # | | | has_many
158
- # generated methods | habtm | has_many | :through
159
- # ----------------------------------+-------+----------+----------
160
- # others | X | X | X
161
- # others=(other,other,...) | X | X | X
162
- # other_ids | X | X | X
163
- # other_ids=(id,id,...) | X | X | X
164
- # others<< | X | X | X
165
- # others.push | X | X | X
166
- # others.concat | X | X | X
167
- # others.build(attributes={}) | X | X | X
168
- # others.create(attributes={}) | X | X | X
169
- # others.create!(attributes={}) | X | X | X
170
- # others.size | X | X | X
171
- # others.length | X | X | X
172
- # others.count | X | X | X
173
- # others.sum(args*,&block) | X | X | X
174
- # others.empty? | X | X | X
175
- # others.clear | X | X | X
176
- # others.delete(other,other,...) | X | X | X
177
- # others.delete_all | X | X |
178
- # others.destroy_all | X | X | X
179
- # others.find(*args) | X | X | X
180
- # others.find_first | X | |
181
- # others.exists? | X | X | X
182
- # others.uniq | X | X | X
183
- # others.reset | X | X | X
184
- #
185
- # == Cardinality and associations
186
- #
187
- # Active Record associations can be used to describe one-to-one, one-to-many and many-to-many
188
- # relationships between models. Each model uses an association to describe its role in
189
- # the relation. The +belongs_to+ association is always used in the model that has
190
- # the foreign key.
191
- #
192
- # === One-to-one
193
- #
194
- # Use +has_one+ in the base, and +belongs_to+ in the associated model.
195
- #
196
- # class Employee < ActiveRecord::Base
197
- # has_one :office
198
- # end
199
- # class Office < ActiveRecord::Base
200
- # belongs_to :employee # foreign key - employee_id
201
- # end
202
- #
203
- # === One-to-many
204
- #
205
- # Use +has_many+ in the base, and +belongs_to+ in the associated model.
206
- #
207
- # class Manager < ActiveRecord::Base
208
- # has_many :employees
209
- # end
210
- # class Employee < ActiveRecord::Base
211
- # belongs_to :manager # foreign key - manager_id
212
- # end
213
- #
214
- # === Many-to-many
215
- #
216
- # There are two ways to build a many-to-many relationship.
217
- #
218
- # The first way uses a +has_many+ association with the <tt>:through</tt> option and a join model, so
219
- # there are two stages of associations.
220
- #
221
- # class Assignment < ActiveRecord::Base
222
- # belongs_to :programmer # foreign key - programmer_id
223
- # belongs_to :project # foreign key - project_id
224
- # end
225
- # class Programmer < ActiveRecord::Base
226
- # has_many :assignments
227
- # has_many :projects, :through => :assignments
228
- # end
229
- # class Project < ActiveRecord::Base
230
- # has_many :assignments
231
- # has_many :programmers, :through => :assignments
232
- # end
233
- #
234
- # For the second way, use +has_and_belongs_to_many+ in both models. This requires a join table
235
- # that has no corresponding model or primary key.
236
- #
237
- # class Programmer < ActiveRecord::Base
238
- # has_and_belongs_to_many :projects # foreign keys in the join table
239
- # end
240
- # class Project < ActiveRecord::Base
241
- # has_and_belongs_to_many :programmers # foreign keys in the join table
242
- # end
243
- #
244
- # Choosing which way to build a many-to-many relationship is not always simple.
245
- # If you need to work with the relationship model as its own entity,
246
- # use <tt>has_many :through</tt>. Use +has_and_belongs_to_many+ when working with legacy schemas or when
247
- # you never work directly with the relationship itself.
248
- #
249
- # == Is it a +belongs_to+ or +has_one+ association?
250
- #
251
- # Both express a 1-1 relationship. The difference is mostly where to place the foreign key, which goes on the table for the class
252
- # declaring the +belongs_to+ relationship. Example:
253
- #
254
- # class User < ActiveRecord::Base
255
- # # I reference an account.
256
- # belongs_to :account
257
- # end
258
- #
259
- # class Account < ActiveRecord::Base
260
- # # One user references me.
261
- # has_one :user
262
- # end
263
- #
264
- # The tables for these classes could look something like:
265
- #
266
- # CREATE TABLE users (
267
- # id int(11) NOT NULL auto_increment,
268
- # account_id int(11) default NULL,
269
- # name varchar default NULL,
270
- # PRIMARY KEY (id)
271
- # )
272
- #
273
- # CREATE TABLE accounts (
274
- # id int(11) NOT NULL auto_increment,
275
- # name varchar default NULL,
276
- # PRIMARY KEY (id)
277
- # )
278
- #
279
- # == Unsaved objects and associations
280
- #
281
- # You can manipulate objects and associations before they are saved to the database, but there is some special behavior you should be
282
- # aware of, mostly involving the saving of associated objects.
283
- #
284
- # Unless you set the :autosave option on a <tt>has_one</tt>, <tt>belongs_to</tt>,
285
- # <tt>has_many</tt>, or <tt>has_and_belongs_to_many</tt> association. Setting it
286
- # to +true+ will _always_ save the members, whereas setting it to +false+ will
287
- # _never_ save the members.
288
- #
289
- # === One-to-one associations
290
- #
291
- # * Assigning an object to a +has_one+ association automatically saves that object and the object being replaced (if there is one), in
292
- # order to update their primary keys - except if the parent object is unsaved (<tt>new_record? == true</tt>).
293
- # * If either of these saves fail (due to one of the objects being invalid) the assignment statement returns +false+ and the assignment
294
- # is cancelled.
295
- # * If you wish to assign an object to a +has_one+ association without saving it, use the <tt>association.build</tt> method (documented below).
296
- # * Assigning an object to a +belongs_to+ association does not save the object, since the foreign key field belongs on the parent. It
297
- # does not save the parent either.
298
- #
299
- # === Collections
300
- #
301
- # * Adding an object to a collection (+has_many+ or +has_and_belongs_to_many+) automatically saves that object, except if the parent object
302
- # (the owner of the collection) is not yet stored in the database.
303
- # * If saving any of the objects being added to a collection (via <tt>push</tt> or similar) fails, then <tt>push</tt> returns +false+.
304
- # * You can add an object to a collection without automatically saving it by using the <tt>collection.build</tt> method (documented below).
305
- # * All unsaved (<tt>new_record? == true</tt>) members of the collection are automatically saved when the parent is saved.
306
- #
307
- # === Association callbacks
308
- #
309
- # Similar to the normal callbacks that hook into the lifecycle of an Active Record object, you can also define callbacks that get
310
- # triggered when you add an object to or remove an object from an association collection. Example:
311
- #
312
- # class Project
313
- # has_and_belongs_to_many :developers, :after_add => :evaluate_velocity
314
- #
315
- # def evaluate_velocity(developer)
316
- # ...
317
- # end
318
- # end
319
- #
320
- # It's possible to stack callbacks by passing them as an array. Example:
321
- #
322
- # class Project
323
- # has_and_belongs_to_many :developers, :after_add => [:evaluate_velocity, Proc.new { |p, d| p.shipping_date = Time.now}]
324
- # end
325
- #
326
- # Possible callbacks are: +before_add+, +after_add+, +before_remove+ and +after_remove+.
327
- #
328
- # Should any of the +before_add+ callbacks throw an exception, the object does not get added to the collection. Same with
329
- # the +before_remove+ callbacks; if an exception is thrown the object doesn't get removed.
330
- #
331
- # === Association extensions
332
- #
333
- # The proxy objects that control the access to associations can be extended through anonymous modules. This is especially
334
- # beneficial for adding new finders, creators, and other factory-type methods that are only used as part of this association.
335
- # Example:
336
- #
337
- # class Account < ActiveRecord::Base
338
- # has_many :people do
339
- # def find_or_create_by_name(name)
340
- # first_name, last_name = name.split(" ", 2)
341
- # find_or_create_by_first_name_and_last_name(first_name, last_name)
342
- # end
343
- # end
344
- # end
345
- #
346
- # person = Account.find(:first).people.find_or_create_by_name("David Heinemeier Hansson")
347
- # person.first_name # => "David"
348
- # person.last_name # => "Heinemeier Hansson"
349
- #
350
- # If you need to share the same extensions between many associations, you can use a named extension module. Example:
351
- #
352
- # module FindOrCreateByNameExtension
353
- # def find_or_create_by_name(name)
354
- # first_name, last_name = name.split(" ", 2)
355
- # find_or_create_by_first_name_and_last_name(first_name, last_name)
356
- # end
357
- # end
358
- #
359
- # class Account < ActiveRecord::Base
360
- # has_many :people, :extend => FindOrCreateByNameExtension
361
- # end
362
- #
363
- # class Company < ActiveRecord::Base
364
- # has_many :people, :extend => FindOrCreateByNameExtension
365
- # end
366
- #
367
- # If you need to use multiple named extension modules, you can specify an array of modules with the <tt>:extend</tt> option.
368
- # In the case of name conflicts between methods in the modules, methods in modules later in the array supercede
369
- # those earlier in the array. Example:
370
- #
371
- # class Account < ActiveRecord::Base
372
- # has_many :people, :extend => [FindOrCreateByNameExtension, FindRecentExtension]
373
- # end
374
- #
375
- # Some extensions can only be made to work with knowledge of the association proxy's internals.
376
- # Extensions can access relevant state using accessors on the association proxy:
377
- #
378
- # * +proxy_owner+ - Returns the object the association is part of.
379
- # * +proxy_reflection+ - Returns the reflection object that describes the association.
380
- # * +proxy_target+ - Returns the associated object for +belongs_to+ and +has_one+, or the collection of associated objects for +has_many+ and +has_and_belongs_to_many+.
381
- #
382
- # === Association Join Models
383
- #
384
- # Has Many associations can be configured with the <tt>:through</tt> option to use an explicit join model to retrieve the data. This
385
- # operates similarly to a +has_and_belongs_to_many+ association. The advantage is that you're able to add validations,
386
- # callbacks, and extra attributes on the join model. Consider the following schema:
387
- #
388
- # class Author < ActiveRecord::Base
389
- # has_many :authorships
390
- # has_many :books, :through => :authorships
391
- # end
392
- #
393
- # class Authorship < ActiveRecord::Base
394
- # belongs_to :author
395
- # belongs_to :book
396
- # end
397
- #
398
- # @author = Author.find :first
399
- # @author.authorships.collect { |a| a.book } # selects all books that the author's authorships belong to.
400
- # @author.books # selects all books by using the Authorship join model
401
- #
402
- # You can also go through a +has_many+ association on the join model:
403
- #
404
- # class Firm < ActiveRecord::Base
405
- # has_many :clients
406
- # has_many :invoices, :through => :clients
407
- # end
408
- #
409
- # class Client < ActiveRecord::Base
410
- # belongs_to :firm
411
- # has_many :invoices
412
- # end
413
- #
414
- # class Invoice < ActiveRecord::Base
415
- # belongs_to :client
416
- # end
417
- #
418
- # @firm = Firm.find :first
419
- # @firm.clients.collect { |c| c.invoices }.flatten # select all invoices for all clients of the firm
420
- # @firm.invoices # selects all invoices by going through the Client join model.
421
- #
422
- # Similarly you can go through a +has_one+ association on the join model:
423
- #
424
- # class Group < ActiveRecord::Base
425
- # has_many :users
426
- # has_many :avatars, :through => :users
427
- # end
428
- #
429
- # class User < ActiveRecord::Base
430
- # belongs_to :group
431
- # has_one :avatar
432
- # end
433
- #
434
- # class Avatar < ActiveRecord::Base
435
- # belongs_to :user
436
- # end
437
- #
438
- # @group = Group.first
439
- # @group.users.collect { |u| u.avatar }.flatten # select all avatars for all users in the group
440
- # @group.avatars # selects all avatars by going through the User join model.
441
- #
442
- # An important caveat with going through +has_one+ or +has_many+ associations on the join model is that these associations are
443
- # *read-only*. For example, the following would not work following the previous example:
444
- #
445
- # @group.avatars << Avatar.new # this would work if User belonged_to Avatar rather than the other way around.
446
- # @group.avatars.delete(@group.avatars.last) # so would this
447
- #
448
- # === Polymorphic Associations
449
- #
450
- # Polymorphic associations on models are not restricted on what types of models they can be associated with. Rather, they
451
- # specify an interface that a +has_many+ association must adhere to.
452
- #
453
- # class Asset < ActiveRecord::Base
454
- # belongs_to :attachable, :polymorphic => true
455
- # end
456
- #
457
- # class Post < ActiveRecord::Base
458
- # has_many :assets, :as => :attachable # The :as option specifies the polymorphic interface to use.
459
- # end
460
- #
461
- # @asset.attachable = @post
462
- #
463
- # This works by using a type column in addition to a foreign key to specify the associated record. In the Asset example, you'd need
464
- # an +attachable_id+ integer column and an +attachable_type+ string column.
465
- #
466
- # Using polymorphic associations in combination with single table inheritance (STI) is a little tricky. In order
467
- # for the associations to work as expected, ensure that you store the base model for the STI models in the
468
- # type column of the polymorphic association. To continue with the asset example above, suppose there are guest posts
469
- # and member posts that use the posts table for STI. In this case, there must be a +type+ column in the posts table.
470
- #
471
- # class Asset < ActiveRecord::Base
472
- # belongs_to :attachable, :polymorphic => true
473
- #
474
- # def attachable_type=(sType)
475
- # super(sType.to_s.classify.constantize.base_class.to_s)
476
- # end
477
- # end
478
- #
479
- # class Post < ActiveRecord::Base
480
- # # because we store "Post" in attachable_type now :dependent => :destroy will work
481
- # has_many :assets, :as => :attachable, :dependent => :destroy
482
- # end
483
- #
484
- # class GuestPost < Post
485
- # end
486
- #
487
- # class MemberPost < Post
488
- # end
489
- #
490
- # == Caching
491
- #
492
- # All of the methods are built on a simple caching principle that will keep the result of the last query around unless specifically
493
- # instructed not to. The cache is even shared across methods to make it even cheaper to use the macro-added methods without
494
- # worrying too much about performance at the first go. Example:
495
- #
496
- # project.milestones # fetches milestones from the database
497
- # project.milestones.size # uses the milestone cache
498
- # project.milestones.empty? # uses the milestone cache
499
- # project.milestones(true).size # fetches milestones from the database
500
- # project.milestones # uses the milestone cache
501
- #
502
- # == Eager loading of associations
503
- #
504
- # Eager loading is a way to find objects of a certain class and a number of named associations. This is
505
- # one of the easiest ways of to prevent the dreaded 1+N problem in which fetching 100 posts that each need to display their author
506
- # triggers 101 database queries. Through the use of eager loading, the 101 queries can be reduced to 2. Example:
507
- #
508
- # class Post < ActiveRecord::Base
509
- # belongs_to :author
510
- # has_many :comments
511
- # end
512
- #
513
- # Consider the following loop using the class above:
514
- #
515
- # for post in Post.all
516
- # puts "Post: " + post.title
517
- # puts "Written by: " + post.author.name
518
- # puts "Last comment on: " + post.comments.first.created_on
519
- # end
520
- #
521
- # To iterate over these one hundred posts, we'll generate 201 database queries. Let's first just optimize it for retrieving the author:
522
- #
523
- # for post in Post.find(:all, :include => :author)
524
- #
525
- # This references the name of the +belongs_to+ association that also used the <tt>:author</tt> symbol. After loading the posts, find
526
- # will collect the +author_id+ from each one and load all the referenced authors with one query. Doing so will cut down the number of queries from 201 to 102.
527
- #
528
- # We can improve upon the situation further by referencing both associations in the finder with:
529
- #
530
- # for post in Post.find(:all, :include => [ :author, :comments ])
531
- #
532
- # This will load all comments with a single query. This reduces the total number of queries to 3. More generally the number of queries
533
- # will be 1 plus the number of associations named (except if some of the associations are polymorphic +belongs_to+ - see below).
534
- #
535
- # To include a deep hierarchy of associations, use a hash:
536
- #
537
- # for post in Post.find(:all, :include => [ :author, { :comments => { :author => :gravatar } } ])
538
- #
539
- # That'll grab not only all the comments but all their authors and gravatar pictures. You can mix and match
540
- # symbols, arrays and hashes in any combination to describe the associations you want to load.
541
- #
542
- # All of this power shouldn't fool you into thinking that you can pull out huge amounts of data with no performance penalty just because you've reduced
543
- # the number of queries. The database still needs to send all the data to Active Record and it still needs to be processed. So it's no
544
- # catch-all for performance problems, but it's a great way to cut down on the number of queries in a situation as the one described above.
545
- #
546
- # Since only one table is loaded at a time, conditions or orders cannot reference tables other than the main one. If this is the case
547
- # Active Record falls back to the previously used LEFT OUTER JOIN based strategy. For example
548
- #
549
- # Post.find(:all, :include => [ :author, :comments ], :conditions => ['comments.approved = ?', true])
550
- #
551
- # will result in a single SQL query with joins along the lines of: <tt>LEFT OUTER JOIN comments ON comments.post_id = posts.id</tt> and
552
- # <tt>LEFT OUTER JOIN authors ON authors.id = posts.author_id</tt>. Note that using conditions like this can have unintended consequences.
553
- # In the above example posts with no approved comments are not returned at all, because the conditions apply to the SQL statement as a whole
554
- # and not just to the association. You must disambiguate column references for this fallback to happen, for example
555
- # <tt>:order => "author.name DESC"</tt> will work but <tt>:order => "name DESC"</tt> will not.
556
- #
557
- # If you do want eagerload only some members of an association it is usually more natural to <tt>:include</tt> an association
558
- # which has conditions defined on it:
559
- #
560
- # class Post < ActiveRecord::Base
561
- # has_many :approved_comments, :class_name => 'Comment', :conditions => ['approved = ?', true]
562
- # end
563
- #
564
- # Post.find(:all, :include => :approved_comments)
565
- #
566
- # will load posts and eager load the +approved_comments+ association, which contains only those comments that have been approved.
567
- #
568
- # If you eager load an association with a specified <tt>:limit</tt> option, it will be ignored, returning all the associated objects:
569
- #
570
- # class Picture < ActiveRecord::Base
571
- # has_many :most_recent_comments, :class_name => 'Comment', :order => 'id DESC', :limit => 10
572
- # end
573
- #
574
- # Picture.find(:first, :include => :most_recent_comments).most_recent_comments # => returns all associated comments.
575
- #
576
- # When eager loaded, conditions are interpolated in the context of the model class, not the model instance. Conditions are lazily interpolated
577
- # before the actual model exists.
578
- #
579
- # Eager loading is supported with polymorphic associations.
580
- #
581
- # class Address < ActiveRecord::Base
582
- # belongs_to :addressable, :polymorphic => true
583
- # end
584
- #
585
- # A call that tries to eager load the addressable model
586
- #
587
- # Address.find(:all, :include => :addressable)
588
- #
589
- # will execute one query to load the addresses and load the addressables with one query per addressable type.
590
- # For example if all the addressables are either of class Person or Company then a total of 3 queries will be executed. The list of
591
- # addressable types to load is determined on the back of the addresses loaded. This is not supported if Active Record has to fallback
592
- # to the previous implementation of eager loading and will raise ActiveRecord::EagerLoadPolymorphicError. The reason is that the parent
593
- # model's type is a column value so its corresponding table name cannot be put in the +FROM+/+JOIN+ clauses of that query.
594
- #
595
- # == Table Aliasing
596
- #
597
- # Active Record uses table aliasing in the case that a table is referenced multiple times in a join. If a table is referenced only once,
598
- # the standard table name is used. The second time, the table is aliased as <tt>#{reflection_name}_#{parent_table_name}</tt>. Indexes are appended
599
- # for any more successive uses of the table name.
600
- #
601
- # Post.find :all, :joins => :comments
602
- # # => SELECT ... FROM posts INNER JOIN comments ON ...
603
- # Post.find :all, :joins => :special_comments # STI
604
- # # => SELECT ... FROM posts INNER JOIN comments ON ... AND comments.type = 'SpecialComment'
605
- # Post.find :all, :joins => [:comments, :special_comments] # special_comments is the reflection name, posts is the parent table name
606
- # # => SELECT ... FROM posts INNER JOIN comments ON ... INNER JOIN comments special_comments_posts
607
- #
608
- # Acts as tree example:
609
- #
610
- # TreeMixin.find :all, :joins => :children
611
- # # => SELECT ... FROM mixins INNER JOIN mixins childrens_mixins ...
612
- # TreeMixin.find :all, :joins => {:children => :parent}
613
- # # => SELECT ... FROM mixins INNER JOIN mixins childrens_mixins ...
614
- # INNER JOIN parents_mixins ...
615
- # TreeMixin.find :all, :joins => {:children => {:parent => :children}}
616
- # # => SELECT ... FROM mixins INNER JOIN mixins childrens_mixins ...
617
- # INNER JOIN parents_mixins ...
618
- # INNER JOIN mixins childrens_mixins_2
619
- #
620
- # Has and Belongs to Many join tables use the same idea, but add a <tt>_join</tt> suffix:
621
- #
622
- # Post.find :all, :joins => :categories
623
- # # => SELECT ... FROM posts INNER JOIN categories_posts ... INNER JOIN categories ...
624
- # Post.find :all, :joins => {:categories => :posts}
625
- # # => SELECT ... FROM posts INNER JOIN categories_posts ... INNER JOIN categories ...
626
- # INNER JOIN categories_posts posts_categories_join INNER JOIN posts posts_categories
627
- # Post.find :all, :joins => {:categories => {:posts => :categories}}
628
- # # => SELECT ... FROM posts INNER JOIN categories_posts ... INNER JOIN categories ...
629
- # INNER JOIN categories_posts posts_categories_join INNER JOIN posts posts_categories
630
- # INNER JOIN categories_posts categories_posts_join INNER JOIN categories categories_posts_2
631
- #
632
- # If you wish to specify your own custom joins using a <tt>:joins</tt> option, those table names will take precedence over the eager associations:
633
- #
634
- # Post.find :all, :joins => :comments, :joins => "inner join comments ..."
635
- # # => SELECT ... FROM posts INNER JOIN comments_posts ON ... INNER JOIN comments ...
636
- # Post.find :all, :joins => [:comments, :special_comments], :joins => "inner join comments ..."
637
- # # => SELECT ... FROM posts INNER JOIN comments comments_posts ON ...
638
- # INNER JOIN comments special_comments_posts ...
639
- # INNER JOIN comments ...
640
- #
641
- # Table aliases are automatically truncated according to the maximum length of table identifiers according to the specific database.
642
- #
643
- # == Modules
644
- #
645
- # By default, associations will look for objects within the current module scope. Consider:
646
- #
647
- # module MyApplication
648
- # module Business
649
- # class Firm < ActiveRecord::Base
650
- # has_many :clients
651
- # end
652
- #
653
- # class Client < ActiveRecord::Base; end
654
- # end
655
- # end
656
- #
657
- # When <tt>Firm#clients</tt> is called, it will in turn call <tt>MyApplication::Business::Client.find_all_by_firm_id(firm.id)</tt>.
658
- # If you want to associate with a class in another module scope, this can be done by specifying the complete class name.
659
- # Example:
660
- #
661
- # module MyApplication
662
- # module Business
663
- # class Firm < ActiveRecord::Base; end
664
- # end
665
- #
666
- # module Billing
667
- # class Account < ActiveRecord::Base
668
- # belongs_to :firm, :class_name => "MyApplication::Business::Firm"
669
- # end
670
- # end
671
- # end
672
- #
673
- # == Type safety with <tt>ActiveRecord::AssociationTypeMismatch</tt>
674
- #
675
- # If you attempt to assign an object to an association that doesn't match the inferred or specified <tt>:class_name</tt>, you'll
676
- # get an <tt>ActiveRecord::AssociationTypeMismatch</tt>.
677
- #
678
- # == Options
679
- #
680
- # All of the association macros can be specialized through options. This makes cases more complex than the simple and guessable ones
681
- # possible.
682
- module ClassMethods
683
- # Specifies a one-to-many association. The following methods for retrieval and query of
684
- # collections of associated objects will be added:
685
- #
686
- # [collection(force_reload = false)]
687
- # Returns an array of all the associated objects.
688
- # An empty array is returned if none are found.
689
- # [collection<<(object, ...)]
690
- # Adds one or more objects to the collection by setting their foreign keys to the collection's primary key.
691
- # [collection.delete(object, ...)]
692
- # Removes one or more objects from the collection by setting their foreign keys to +NULL+.
693
- # Objects will be in addition destroyed if they're associated with <tt>:dependent => :destroy</tt>,
694
- # and deleted if they're associated with <tt>:dependent => :delete_all</tt>.
695
- # [collection=objects]
696
- # Replaces the collections content by deleting and adding objects as appropriate.
697
- # [collection_singular_ids]
698
- # Returns an array of the associated objects' ids
699
- # [collection_singular_ids=ids]
700
- # Replace the collection with the objects identified by the primary keys in +ids+
701
- # [collection.clear]
702
- # Removes every object from the collection. This destroys the associated objects if they
703
- # are associated with <tt>:dependent => :destroy</tt>, deletes them directly from the
704
- # database if <tt>:dependent => :delete_all</tt>, otherwise sets their foreign keys to +NULL+.
705
- # [collection.empty?]
706
- # Returns +true+ if there are no associated objects.
707
- # [collection.size]
708
- # Returns the number of associated objects.
709
- # [collection.find(...)]
710
- # Finds an associated object according to the same rules as ActiveRecord::Base.find.
711
- # [collection.exists?(...)]
712
- # Checks whether an associated object with the given conditions exists.
713
- # Uses the same rules as ActiveRecord::Base.exists?.
714
- # [collection.build(attributes = {}, ...)]
715
- # Returns one or more new objects of the collection type that have been instantiated
716
- # with +attributes+ and linked to this object through a foreign key, but have not yet
717
- # been saved. <b>Note:</b> This only works if an associated object already exists, not if
718
- # it's +nil+!
719
- # [collection.create(attributes = {})]
720
- # Returns a new object of the collection type that has been instantiated
721
- # with +attributes+, linked to this object through a foreign key, and that has already
722
- # been saved (if it passed the validation). <b>Note:</b> This only works if an associated
723
- # object already exists, not if it's +nil+!
724
- #
725
- # (*Note*: +collection+ is replaced with the symbol passed as the first argument, so
726
- # <tt>has_many :clients</tt> would add among others <tt>clients.empty?</tt>.)
727
- #
728
- # === Example
729
- #
730
- # Example: A Firm class declares <tt>has_many :clients</tt>, which will add:
731
- # * <tt>Firm#clients</tt> (similar to <tt>Clients.find :all, :conditions => ["firm_id = ?", id]</tt>)
732
- # * <tt>Firm#clients<<</tt>
733
- # * <tt>Firm#clients.delete</tt>
734
- # * <tt>Firm#clients=</tt>
735
- # * <tt>Firm#client_ids</tt>
736
- # * <tt>Firm#client_ids=</tt>
737
- # * <tt>Firm#clients.clear</tt>
738
- # * <tt>Firm#clients.empty?</tt> (similar to <tt>firm.clients.size == 0</tt>)
739
- # * <tt>Firm#clients.size</tt> (similar to <tt>Client.count "firm_id = #{id}"</tt>)
740
- # * <tt>Firm#clients.find</tt> (similar to <tt>Client.find(id, :conditions => "firm_id = #{id}")</tt>)
741
- # * <tt>Firm#clients.exists?(:name => 'ACME')</tt> (similar to <tt>Client.exists?(:name => 'ACME', :firm_id => firm.id)</tt>)
742
- # * <tt>Firm#clients.build</tt> (similar to <tt>Client.new("firm_id" => id)</tt>)
743
- # * <tt>Firm#clients.create</tt> (similar to <tt>c = Client.new("firm_id" => id); c.save; c</tt>)
744
- # The declaration can also include an options hash to specialize the behavior of the association.
745
- #
746
- # === Supported options
747
- # [:class_name]
748
- # Specify the class name of the association. Use it only if that name can't be inferred
749
- # from the association name. So <tt>has_many :products</tt> will by default be linked to the Product class, but
750
- # if the real class name is SpecialProduct, you'll have to specify it with this option.
751
- # [:conditions]
752
- # Specify the conditions that the associated objects must meet in order to be included as a +WHERE+
753
- # SQL fragment, such as <tt>price > 5 AND name LIKE 'B%'</tt>. Record creations from the association are scoped if a hash
754
- # is used. <tt>has_many :posts, :conditions => {:published => true}</tt> will create published posts with <tt>@blog.posts.create</tt>
755
- # or <tt>@blog.posts.build</tt>.
756
- # [:order]
757
- # Specify the order in which the associated objects are returned as an <tt>ORDER BY</tt> SQL fragment,
758
- # such as <tt>last_name, first_name DESC</tt>.
759
- # [:foreign_key]
760
- # Specify the foreign key used for the association. By default this is guessed to be the name
761
- # of this class in lower-case and "_id" suffixed. So a Person class that makes a +has_many+ association will use "person_id"
762
- # as the default <tt>:foreign_key</tt>.
763
- # [:primary_key]
764
- # Specify the method that returns the primary key used for the association. By default this is +id+.
765
- # [:dependent]
766
- # If set to <tt>:destroy</tt> all the associated objects are destroyed
767
- # alongside this object by calling their +destroy+ method. If set to <tt>:delete_all</tt> all associated
768
- # objects are deleted *without* calling their +destroy+ method. If set to <tt>:nullify</tt> all associated
769
- # objects' foreign keys are set to +NULL+ *without* calling their +save+ callbacks. *Warning:* This option is ignored when also using
770
- # the <tt>:through</tt> option.
771
- # [:finder_sql]
772
- # Specify a complete SQL statement to fetch the association. This is a good way to go for complex
773
- # associations that depend on multiple tables. Note: When this option is used, +find_in_collection+ is _not_ added.
774
- # [:counter_sql]
775
- # Specify a complete SQL statement to fetch the size of the association. If <tt>:finder_sql</tt> is
776
- # specified but not <tt>:counter_sql</tt>, <tt>:counter_sql</tt> will be generated by replacing <tt>SELECT ... FROM</tt> with <tt>SELECT COUNT(*) FROM</tt>.
777
- # [:extend]
778
- # Specify a named module for extending the proxy. See "Association extensions".
779
- # [:include]
780
- # Specify second-order associations that should be eager loaded when the collection is loaded.
781
- # [:group]
782
- # An attribute name by which the result should be grouped. Uses the <tt>GROUP BY</tt> SQL-clause.
783
- # [:having]
784
- # Combined with +:group+ this can be used to filter the records that a <tt>GROUP BY</tt> returns. Uses the <tt>HAVING</tt> SQL-clause.
785
- # [:limit]
786
- # An integer determining the limit on the number of rows that should be returned.
787
- # [:offset]
788
- # An integer determining the offset from where the rows should be fetched. So at 5, it would skip the first 4 rows.
789
- # [:select]
790
- # By default, this is <tt>*</tt> as in <tt>SELECT * FROM</tt>, but can be changed if you, for example, want to do a join
791
- # but not include the joined columns. Do not forget to include the primary and foreign keys, otherwise it will raise an error.
792
- # [:as]
793
- # Specifies a polymorphic interface (See <tt>belongs_to</tt>).
794
- # [:through]
795
- # Specifies a Join Model through which to perform the query. Options for <tt>:class_name</tt> and <tt>:foreign_key</tt>
796
- # are ignored, as the association uses the source reflection. You can only use a <tt>:through</tt> query through a <tt>belongs_to</tt>
797
- # <tt>has_one</tt> or <tt>has_many</tt> association on the join model.
798
- # [:source]
799
- # Specifies the source association name used by <tt>has_many :through</tt> queries. Only use it if the name cannot be
800
- # inferred from the association. <tt>has_many :subscribers, :through => :subscriptions</tt> will look for either <tt>:subscribers</tt> or
801
- # <tt>:subscriber</tt> on Subscription, unless a <tt>:source</tt> is given.
802
- # [:source_type]
803
- # Specifies type of the source association used by <tt>has_many :through</tt> queries where the source
804
- # association is a polymorphic +belongs_to+.
805
- # [:uniq]
806
- # If true, duplicates will be omitted from the collection. Useful in conjunction with <tt>:through</tt>.
807
- # [:readonly]
808
- # If true, all the associated objects are readonly through the association.
809
- # [:validate]
810
- # If false, don't validate the associated objects when saving the parent object. true by default.
811
- # [:autosave]
812
- # If true, always save any loaded members and destroy members marked for destruction, when saving the parent object. Off by default.
813
- #
814
- # Option examples:
815
- # has_many :comments, :order => "posted_on"
816
- # has_many :comments, :include => :author
817
- # has_many :people, :class_name => "Person", :conditions => "deleted = 0", :order => "name"
818
- # has_many :tracks, :order => "position", :dependent => :destroy
819
- # has_many :comments, :dependent => :nullify
820
- # has_many :tags, :as => :taggable
821
- # has_many :reports, :readonly => true
822
- # has_many :subscribers, :through => :subscriptions, :source => :user
823
- # has_many :subscribers, :class_name => "Person", :finder_sql =>
824
- # 'SELECT DISTINCT people.* ' +
825
- # 'FROM people p, post_subscriptions ps ' +
826
- # 'WHERE ps.post_id = #{id} AND ps.person_id = p.id ' +
827
- # 'ORDER BY p.first_name'
828
- def has_many(association_id, options = {}, &extension)
829
- reflection = create_has_many_reflection(association_id, options, &extension)
830
- configure_dependency_for_has_many(reflection)
831
- add_association_callbacks(reflection.name, reflection.options)
832
-
833
- if options[:through]
834
- collection_accessor_methods(reflection, HasManyThroughAssociation)
835
- else
836
- collection_accessor_methods(reflection, HasManyAssociation)
837
- end
838
- end
839
-
840
- # Specifies a one-to-one association with another class. This method should only be used
841
- # if the other class contains the foreign key. If the current class contains the foreign key,
842
- # then you should use +belongs_to+ instead. See also ActiveRecord::Associations::ClassMethods's overview
843
- # on when to use has_one and when to use belongs_to.
844
- #
845
- # The following methods for retrieval and query of a single associated object will be added:
846
- #
847
- # [association(force_reload = false)]
848
- # Returns the associated object. +nil+ is returned if none is found.
849
- # [association=(associate)]
850
- # Assigns the associate object, extracts the primary key, sets it as the foreign key,
851
- # and saves the associate object.
852
- # [build_association(attributes = {})]
853
- # Returns a new object of the associated type that has been instantiated
854
- # with +attributes+ and linked to this object through a foreign key, but has not
855
- # yet been saved. <b>Note:</b> This ONLY works if an association already exists.
856
- # It will NOT work if the association is +nil+.
857
- # [create_association(attributes = {})]
858
- # Returns a new object of the associated type that has been instantiated
859
- # with +attributes+, linked to this object through a foreign key, and that
860
- # has already been saved (if it passed the validation).
861
- #
862
- # (+association+ is replaced with the symbol passed as the first argument, so
863
- # <tt>has_one :manager</tt> would add among others <tt>manager.nil?</tt>.)
864
- #
865
- # === Example
866
- #
867
- # An Account class declares <tt>has_one :beneficiary</tt>, which will add:
868
- # * <tt>Account#beneficiary</tt> (similar to <tt>Beneficiary.find(:first, :conditions => "account_id = #{id}")</tt>)
869
- # * <tt>Account#beneficiary=(beneficiary)</tt> (similar to <tt>beneficiary.account_id = account.id; beneficiary.save</tt>)
870
- # * <tt>Account#build_beneficiary</tt> (similar to <tt>Beneficiary.new("account_id" => id)</tt>)
871
- # * <tt>Account#create_beneficiary</tt> (similar to <tt>b = Beneficiary.new("account_id" => id); b.save; b</tt>)
872
- #
873
- # === Options
874
- #
875
- # The declaration can also include an options hash to specialize the behavior of the association.
876
- #
877
- # Options are:
878
- # [:class_name]
879
- # Specify the class name of the association. Use it only if that name can't be inferred
880
- # from the association name. So <tt>has_one :manager</tt> will by default be linked to the Manager class, but
881
- # if the real class name is Person, you'll have to specify it with this option.
882
- # [:conditions]
883
- # Specify the conditions that the associated object must meet in order to be included as a +WHERE+
884
- # SQL fragment, such as <tt>rank = 5</tt>. Record creation from the association is scoped if a hash
885
- # is used. <tt>has_one :account, :conditions => {:enabled => true}</tt> will create an enabled account with <tt>@company.create_account</tt>
886
- # or <tt>@company.build_account</tt>.
887
- # [:order]
888
- # Specify the order in which the associated objects are returned as an <tt>ORDER BY</tt> SQL fragment,
889
- # such as <tt>last_name, first_name DESC</tt>.
890
- # [:dependent]
891
- # If set to <tt>:destroy</tt>, the associated object is destroyed when this object is. If set to
892
- # <tt>:delete</tt>, the associated object is deleted *without* calling its destroy method. If set to <tt>:nullify</tt>, the associated
893
- # object's foreign key is set to +NULL+. Also, association is assigned.
894
- # [:foreign_key]
895
- # Specify the foreign key used for the association. By default this is guessed to be the name
896
- # of this class in lower-case and "_id" suffixed. So a Person class that makes a +has_one+ association will use "person_id"
897
- # as the default <tt>:foreign_key</tt>.
898
- # [:primary_key]
899
- # Specify the method that returns the primary key used for the association. By default this is +id+.
900
- # [:include]
901
- # Specify second-order associations that should be eager loaded when this object is loaded.
902
- # [:as]
903
- # Specifies a polymorphic interface (See <tt>belongs_to</tt>).
904
- # [:select]
905
- # By default, this is <tt>*</tt> as in <tt>SELECT * FROM</tt>, but can be changed if, for example, you want to do a join
906
- # but not include the joined columns. Do not forget to include the primary and foreign keys, otherwise it will raise an error.
907
- # [:through]
908
- # Specifies a Join Model through which to perform the query. Options for <tt>:class_name</tt> and <tt>:foreign_key</tt>
909
- # are ignored, as the association uses the source reflection. You can only use a <tt>:through</tt> query through a
910
- # <tt>has_one</tt> or <tt>belongs_to</tt> association on the join model.
911
- # [:source]
912
- # Specifies the source association name used by <tt>has_one :through</tt> queries. Only use it if the name cannot be
913
- # inferred from the association. <tt>has_one :favorite, :through => :favorites</tt> will look for a
914
- # <tt>:favorite</tt> on Favorite, unless a <tt>:source</tt> is given.
915
- # [:source_type]
916
- # Specifies type of the source association used by <tt>has_one :through</tt> queries where the source
917
- # association is a polymorphic +belongs_to+.
918
- # [:readonly]
919
- # If true, the associated object is readonly through the association.
920
- # [:validate]
921
- # If false, don't validate the associated object when saving the parent object. +false+ by default.
922
- # [:autosave]
923
- # If true, always save the associated object or destroy it if marked for destruction, when saving the parent object. Off by default.
924
- #
925
- # Option examples:
926
- # has_one :credit_card, :dependent => :destroy # destroys the associated credit card
927
- # has_one :credit_card, :dependent => :nullify # updates the associated records foreign key value to NULL rather than destroying it
928
- # has_one :last_comment, :class_name => "Comment", :order => "posted_on"
929
- # has_one :project_manager, :class_name => "Person", :conditions => "role = 'project_manager'"
930
- # has_one :attachment, :as => :attachable
931
- # has_one :boss, :readonly => :true
932
- # has_one :club, :through => :membership
933
- # has_one :primary_address, :through => :addressables, :conditions => ["addressable.primary = ?", true], :source => :addressable
934
- def has_one(association_id, options = {})
935
- if options[:through]
936
- reflection = create_has_one_through_reflection(association_id, options)
937
- association_accessor_methods(reflection, ActiveRecord::Associations::HasOneThroughAssociation)
938
- else
939
- reflection = create_has_one_reflection(association_id, options)
940
- association_accessor_methods(reflection, HasOneAssociation)
941
- association_constructor_method(:build, reflection, HasOneAssociation)
942
- association_constructor_method(:create, reflection, HasOneAssociation)
943
- configure_dependency_for_has_one(reflection)
944
- end
945
- end
946
-
947
- # Specifies a one-to-one association with another class. This method should only be used
948
- # if this class contains the foreign key. If the other class contains the foreign key,
949
- # then you should use +has_one+ instead. See also ActiveRecord::Associations::ClassMethods's overview
950
- # on when to use +has_one+ and when to use +belongs_to+.
951
- #
952
- # Methods will be added for retrieval and query for a single associated object, for which
953
- # this object holds an id:
954
- #
955
- # [association(force_reload = false)]
956
- # Returns the associated object. +nil+ is returned if none is found.
957
- # [association=(associate)]
958
- # Assigns the associate object, extracts the primary key, and sets it as the foreign key.
959
- # [build_association(attributes = {})]
960
- # Returns a new object of the associated type that has been instantiated
961
- # with +attributes+ and linked to this object through a foreign key, but has not yet been saved.
962
- # [create_association(attributes = {})]
963
- # Returns a new object of the associated type that has been instantiated
964
- # with +attributes+, linked to this object through a foreign key, and that
965
- # has already been saved (if it passed the validation).
966
- #
967
- # (+association+ is replaced with the symbol passed as the first argument, so
968
- # <tt>belongs_to :author</tt> would add among others <tt>author.nil?</tt>.)
969
- #
970
- # === Example
971
- #
972
- # A Post class declares <tt>belongs_to :author</tt>, which will add:
973
- # * <tt>Post#author</tt> (similar to <tt>Author.find(author_id)</tt>)
974
- # * <tt>Post#author=(author)</tt> (similar to <tt>post.author_id = author.id</tt>)
975
- # * <tt>Post#author?</tt> (similar to <tt>post.author == some_author</tt>)
976
- # * <tt>Post#build_author</tt> (similar to <tt>post.author = Author.new</tt>)
977
- # * <tt>Post#create_author</tt> (similar to <tt>post.author = Author.new; post.author.save; post.author</tt>)
978
- # The declaration can also include an options hash to specialize the behavior of the association.
979
- #
980
- # === Options
981
- #
982
- # [:class_name]
983
- # Specify the class name of the association. Use it only if that name can't be inferred
984
- # from the association name. So <tt>has_one :author</tt> will by default be linked to the Author class, but
985
- # if the real class name is Person, you'll have to specify it with this option.
986
- # [:conditions]
987
- # Specify the conditions that the associated object must meet in order to be included as a +WHERE+
988
- # SQL fragment, such as <tt>authorized = 1</tt>.
989
- # [:select]
990
- # By default, this is <tt>*</tt> as in <tt>SELECT * FROM</tt>, but can be changed if, for example, you want to do a join
991
- # but not include the joined columns. Do not forget to include the primary and foreign keys, otherwise it will raise an error.
992
- # [:foreign_key]
993
- # Specify the foreign key used for the association. By default this is guessed to be the name
994
- # of the association with an "_id" suffix. So a class that defines a <tt>belongs_to :person</tt> association will use
995
- # "person_id" as the default <tt>:foreign_key</tt>. Similarly, <tt>belongs_to :favorite_person, :class_name => "Person"</tt>
996
- # will use a foreign key of "favorite_person_id".
997
- # [:primary_key]
998
- # Specify the method that returns the primary key of associated object used for the association. By default this is id.
999
- # [:dependent]
1000
- # If set to <tt>:destroy</tt>, the associated object is destroyed when this object is. If set to
1001
- # <tt>:delete</tt>, the associated object is deleted *without* calling its destroy method. This option should not be specified when
1002
- # <tt>belongs_to</tt> is used in conjunction with a <tt>has_many</tt> relationship on another class because of the potential to leave
1003
- # orphaned records behind.
1004
- # [:counter_cache]
1005
- # Caches the number of belonging objects on the associate class through the use of +increment_counter+
1006
- # and +decrement_counter+. The counter cache is incremented when an object of this class is created and decremented when it's
1007
- # destroyed. This requires that a column named <tt>#{table_name}_count</tt> (such as +comments_count+ for a belonging Comment class)
1008
- # is used on the associate class (such as a Post class). You can also specify a custom counter cache column by providing
1009
- # a column name instead of a +true+/+false+ value to this option (e.g., <tt>:counter_cache => :my_custom_counter</tt>.)
1010
- # Note: Specifying a counter cache will add it to that model's list of readonly attributes using +attr_readonly+.
1011
- # [:include]
1012
- # Specify second-order associations that should be eager loaded when this object is loaded.
1013
- # [:polymorphic]
1014
- # Specify this association is a polymorphic association by passing +true+.
1015
- # Note: If you've enabled the counter cache, then you may want to add the counter cache attribute
1016
- # to the +attr_readonly+ list in the associated classes (e.g. <tt>class Post; attr_readonly :comments_count; end</tt>).
1017
- # [:readonly]
1018
- # If true, the associated object is readonly through the association.
1019
- # [:validate]
1020
- # If false, don't validate the associated objects when saving the parent object. +false+ by default.
1021
- # [:autosave]
1022
- # If true, always save the associated object or destroy it if marked for destruction, when saving the parent object. Off by default.
1023
- # [:touch]
1024
- # If true, the associated object will be touched (the updated_at/on attributes set to now) when this record is either saved or
1025
- # destroyed. If you specify a symbol, that attribute will be updated with the current time instead of the updated_at/on attribute.
1026
- #
1027
- # Option examples:
1028
- # belongs_to :firm, :foreign_key => "client_of"
1029
- # belongs_to :person, :primary_key => "name", :foreign_key => "person_name"
1030
- # belongs_to :author, :class_name => "Person", :foreign_key => "author_id"
1031
- # belongs_to :valid_coupon, :class_name => "Coupon", :foreign_key => "coupon_id",
1032
- # :conditions => 'discounts > #{payments_count}'
1033
- # belongs_to :attachable, :polymorphic => true
1034
- # belongs_to :project, :readonly => true
1035
- # belongs_to :post, :counter_cache => true
1036
- # belongs_to :company, :touch => true
1037
- # belongs_to :company, :touch => :employees_last_updated_at
1038
- def belongs_to(association_id, options = {})
1039
- reflection = create_belongs_to_reflection(association_id, options)
1040
-
1041
- if reflection.options[:polymorphic]
1042
- association_accessor_methods(reflection, BelongsToPolymorphicAssociation)
1043
- else
1044
- association_accessor_methods(reflection, BelongsToAssociation)
1045
- association_constructor_method(:build, reflection, BelongsToAssociation)
1046
- association_constructor_method(:create, reflection, BelongsToAssociation)
1047
- end
1048
-
1049
- add_counter_cache_callbacks(reflection) if options[:counter_cache]
1050
- add_touch_callbacks(reflection, options[:touch]) if options[:touch]
1051
-
1052
- configure_dependency_for_belongs_to(reflection)
1053
- end
1054
-
1055
- # Specifies a many-to-many relationship with another class. This associates two classes via an
1056
- # intermediate join table. Unless the join table is explicitly specified as an option, it is
1057
- # guessed using the lexical order of the class names. So a join between Developer and Project
1058
- # will give the default join table name of "developers_projects" because "D" outranks "P". Note that this precedence
1059
- # is calculated using the <tt><</tt> operator for String. This means that if the strings are of different lengths,
1060
- # and the strings are equal when compared up to the shortest length, then the longer string is considered of higher
1061
- # lexical precedence than the shorter one. For example, one would expect the tables "paper_boxes" and "papers"
1062
- # to generate a join table name of "papers_paper_boxes" because of the length of the name "paper_boxes",
1063
- # but it in fact generates a join table name of "paper_boxes_papers". Be aware of this caveat, and use the
1064
- # custom <tt>:join_table</tt> option if you need to.
1065
- #
1066
- # The join table should not have a primary key or a model associated with it. You must manually generate the
1067
- # join table with a migration such as this:
1068
- #
1069
- # class CreateDevelopersProjectsJoinTable < ActiveRecord::Migration
1070
- # def self.up
1071
- # create_table :developers_projects, :id => false do |t|
1072
- # t.integer :developer_id
1073
- # t.integer :project_id
1074
- # end
1075
- # end
1076
- #
1077
- # def self.down
1078
- # drop_table :developers_projects
1079
- # end
1080
- # end
1081
- #
1082
- # Deprecated: Any additional fields added to the join table will be placed as attributes when pulling records out through
1083
- # +has_and_belongs_to_many+ associations. Records returned from join tables with additional attributes will be marked as
1084
- # readonly (because we can't save changes to the additional attributes). It's strongly recommended that you upgrade any
1085
- # associations with attributes to a real join model (see introduction).
1086
- #
1087
- # Adds the following methods for retrieval and query:
1088
- #
1089
- # [collection(force_reload = false)]
1090
- # Returns an array of all the associated objects.
1091
- # An empty array is returned if none are found.
1092
- # [collection<<(object, ...)]
1093
- # Adds one or more objects to the collection by creating associations in the join table
1094
- # (<tt>collection.push</tt> and <tt>collection.concat</tt> are aliases to this method).
1095
- # [collection.delete(object, ...)]
1096
- # Removes one or more objects from the collection by removing their associations from the join table.
1097
- # This does not destroy the objects.
1098
- # [collection=objects]
1099
- # Replaces the collection's content by deleting and adding objects as appropriate.
1100
- # [collection_singular_ids]
1101
- # Returns an array of the associated objects' ids.
1102
- # [collection_singular_ids=ids]
1103
- # Replace the collection by the objects identified by the primary keys in +ids+.
1104
- # [collection.clear]
1105
- # Removes every object from the collection. This does not destroy the objects.
1106
- # [collection.empty?]
1107
- # Returns +true+ if there are no associated objects.
1108
- # [collection.size]
1109
- # Returns the number of associated objects.
1110
- # [collection.find(id)]
1111
- # Finds an associated object responding to the +id+ and that
1112
- # meets the condition that it has to be associated with this object.
1113
- # Uses the same rules as ActiveRecord::Base.find.
1114
- # [collection.exists?(...)]
1115
- # Checks whether an associated object with the given conditions exists.
1116
- # Uses the same rules as ActiveRecord::Base.exists?.
1117
- # [collection.build(attributes = {})]
1118
- # Returns a new object of the collection type that has been instantiated
1119
- # with +attributes+ and linked to this object through the join table, but has not yet been saved.
1120
- # [collection.create(attributes = {})]
1121
- # Returns a new object of the collection type that has been instantiated
1122
- # with +attributes+, linked to this object through the join table, and that has already been saved (if it passed the validation).
1123
- #
1124
- # (+collection+ is replaced with the symbol passed as the first argument, so
1125
- # <tt>has_and_belongs_to_many :categories</tt> would add among others <tt>categories.empty?</tt>.)
1126
- #
1127
- # === Example
1128
- #
1129
- # A Developer class declares <tt>has_and_belongs_to_many :projects</tt>, which will add:
1130
- # * <tt>Developer#projects</tt>
1131
- # * <tt>Developer#projects<<</tt>
1132
- # * <tt>Developer#projects.delete</tt>
1133
- # * <tt>Developer#projects=</tt>
1134
- # * <tt>Developer#project_ids</tt>
1135
- # * <tt>Developer#project_ids=</tt>
1136
- # * <tt>Developer#projects.clear</tt>
1137
- # * <tt>Developer#projects.empty?</tt>
1138
- # * <tt>Developer#projects.size</tt>
1139
- # * <tt>Developer#projects.find(id)</tt>
1140
- # * <tt>Developer#clients.exists?(...)</tt>
1141
- # * <tt>Developer#projects.build</tt> (similar to <tt>Project.new("project_id" => id)</tt>)
1142
- # * <tt>Developer#projects.create</tt> (similar to <tt>c = Project.new("project_id" => id); c.save; c</tt>)
1143
- # The declaration may include an options hash to specialize the behavior of the association.
1144
- #
1145
- # === Options
1146
- #
1147
- # [:class_name]
1148
- # Specify the class name of the association. Use it only if that name can't be inferred
1149
- # from the association name. So <tt>has_and_belongs_to_many :projects</tt> will by default be linked to the
1150
- # Project class, but if the real class name is SuperProject, you'll have to specify it with this option.
1151
- # [:join_table]
1152
- # Specify the name of the join table if the default based on lexical order isn't what you want.
1153
- # <b>WARNING:</b> If you're overwriting the table name of either class, the +table_name+ method
1154
- # MUST be declared underneath any +has_and_belongs_to_many+ declaration in order to work.
1155
- # [:foreign_key]
1156
- # Specify the foreign key used for the association. By default this is guessed to be the name
1157
- # of this class in lower-case and "_id" suffixed. So a Person class that makes a +has_and_belongs_to_many+ association
1158
- # to Project will use "person_id" as the default <tt>:foreign_key</tt>.
1159
- # [:association_foreign_key]
1160
- # Specify the foreign key used for the association on the receiving side of the association.
1161
- # By default this is guessed to be the name of the associated class in lower-case and "_id" suffixed.
1162
- # So if a Person class makes a +has_and_belongs_to_many+ association to Project,
1163
- # the association will use "project_id" as the default <tt>:association_foreign_key</tt>.
1164
- # [:conditions]
1165
- # Specify the conditions that the associated object must meet in order to be included as a +WHERE+
1166
- # SQL fragment, such as <tt>authorized = 1</tt>. Record creations from the association are scoped if a hash is used.
1167
- # <tt>has_many :posts, :conditions => {:published => true}</tt> will create published posts with <tt>@blog.posts.create</tt>
1168
- # or <tt>@blog.posts.build</tt>.
1169
- # [:order]
1170
- # Specify the order in which the associated objects are returned as an <tt>ORDER BY</tt> SQL fragment,
1171
- # such as <tt>last_name, first_name DESC</tt>
1172
- # [:uniq]
1173
- # If true, duplicate associated objects will be ignored by accessors and query methods.
1174
- # [:finder_sql]
1175
- # Overwrite the default generated SQL statement used to fetch the association with a manual statement
1176
- # [:counter_sql]
1177
- # Specify a complete SQL statement to fetch the size of the association. If <tt>:finder_sql</tt> is
1178
- # specified but not <tt>:counter_sql</tt>, <tt>:counter_sql</tt> will be generated by replacing <tt>SELECT ... FROM</tt> with <tt>SELECT COUNT(*) FROM</tt>.
1179
- # [:delete_sql]
1180
- # Overwrite the default generated SQL statement used to remove links between the associated
1181
- # classes with a manual statement.
1182
- # [:insert_sql]
1183
- # Overwrite the default generated SQL statement used to add links between the associated classes
1184
- # with a manual statement.
1185
- # [:extend]
1186
- # Anonymous module for extending the proxy, see "Association extensions".
1187
- # [:include]
1188
- # Specify second-order associations that should be eager loaded when the collection is loaded.
1189
- # [:group]
1190
- # An attribute name by which the result should be grouped. Uses the <tt>GROUP BY</tt> SQL-clause.
1191
- # [:having]
1192
- # Combined with +:group+ this can be used to filter the records that a <tt>GROUP BY</tt> returns. Uses the <tt>HAVING</tt> SQL-clause.
1193
- # [:limit]
1194
- # An integer determining the limit on the number of rows that should be returned.
1195
- # [:offset]
1196
- # An integer determining the offset from where the rows should be fetched. So at 5, it would skip the first 4 rows.
1197
- # [:select]
1198
- # By default, this is <tt>*</tt> as in <tt>SELECT * FROM</tt>, but can be changed if, for example, you want to do a join
1199
- # but not include the joined columns. Do not forget to include the primary and foreign keys, otherwise it will raise an error.
1200
- # [:readonly]
1201
- # If true, all the associated objects are readonly through the association.
1202
- # [:validate]
1203
- # If false, don't validate the associated objects when saving the parent object. +true+ by default.
1204
- # [:autosave]
1205
- # If true, always save any loaded members and destroy members marked for destruction, when saving the parent object. Off by default.
1206
- #
1207
- # Option examples:
1208
- # has_and_belongs_to_many :projects
1209
- # has_and_belongs_to_many :projects, :include => [ :milestones, :manager ]
1210
- # has_and_belongs_to_many :nations, :class_name => "Country"
1211
- # has_and_belongs_to_many :categories, :join_table => "prods_cats"
1212
- # has_and_belongs_to_many :categories, :readonly => true
1213
- # has_and_belongs_to_many :active_projects, :join_table => 'developers_projects', :delete_sql =>
1214
- # 'DELETE FROM developers_projects WHERE active=1 AND developer_id = #{id} AND project_id = #{record.id}'
1215
- def has_and_belongs_to_many(association_id, options = {}, &extension)
1216
- reflection = create_has_and_belongs_to_many_reflection(association_id, options, &extension)
1217
- collection_accessor_methods(reflection, HasAndBelongsToManyAssociation)
1218
-
1219
- # Don't use a before_destroy callback since users' before_destroy
1220
- # callbacks will be executed after the association is wiped out.
1221
- old_method = "destroy_without_habtm_shim_for_#{reflection.name}"
1222
- class_eval <<-end_eval unless method_defined?(old_method)
1223
- alias_method :#{old_method}, :destroy_without_callbacks # alias_method :destroy_without_habtm_shim_for_posts, :destroy_without_callbacks
1224
- def destroy_without_callbacks # def destroy_without_callbacks
1225
- #{reflection.name}.clear # posts.clear
1226
- #{old_method} # destroy_without_habtm_shim_for_posts
1227
- end # end
1228
- end_eval
1229
-
1230
- add_association_callbacks(reflection.name, options)
1231
- end
1232
-
1233
- private
1234
- # Generates a join table name from two provided table names.
1235
- # The names in the join table namesme end up in lexicographic order.
1236
- #
1237
- # join_table_name("members", "clubs") # => "clubs_members"
1238
- # join_table_name("members", "special_clubs") # => "members_special_clubs"
1239
- def join_table_name(first_table_name, second_table_name)
1240
- if first_table_name < second_table_name
1241
- join_table = "#{first_table_name}_#{second_table_name}"
1242
- else
1243
- join_table = "#{second_table_name}_#{first_table_name}"
1244
- end
1245
-
1246
- table_name_prefix + join_table + table_name_suffix
1247
- end
1248
-
1249
- def association_accessor_methods(reflection, association_proxy_class)
1250
- define_method(reflection.name) do |*params|
1251
- force_reload = params.first unless params.empty?
1252
- association = association_instance_get(reflection.name)
1253
-
1254
- if association.nil? || force_reload
1255
- association = association_proxy_class.new(self, reflection)
1256
- retval = force_reload ? reflection.klass.uncached { association.reload } : association.reload
1257
- if retval.nil? and association_proxy_class == BelongsToAssociation
1258
- association_instance_set(reflection.name, nil)
1259
- return nil
1260
- end
1261
- association_instance_set(reflection.name, association)
1262
- end
1263
-
1264
- association.target.nil? ? nil : association
1265
- end
1266
-
1267
- define_method("loaded_#{reflection.name}?") do
1268
- association = association_instance_get(reflection.name)
1269
- association && association.loaded?
1270
- end
1271
-
1272
- define_method("#{reflection.name}=") do |new_value|
1273
- association = association_instance_get(reflection.name)
1274
-
1275
- if association.nil? || association.target != new_value
1276
- association = association_proxy_class.new(self, reflection)
1277
- end
1278
-
1279
- if association_proxy_class == HasOneThroughAssociation
1280
- association.create_through_record(new_value)
1281
- if new_record?
1282
- association_instance_set(reflection.name, new_value.nil? ? nil : association)
1283
- else
1284
- self.send(reflection.name, new_value)
1285
- end
1286
- else
1287
- association.replace(new_value)
1288
- association_instance_set(reflection.name, new_value.nil? ? nil : association)
1289
- end
1290
- end
1291
-
1292
- define_method("set_#{reflection.name}_target") do |target|
1293
- return if target.nil? and association_proxy_class == BelongsToAssociation
1294
- association = association_proxy_class.new(self, reflection)
1295
- association.target = target
1296
- association_instance_set(reflection.name, association)
1297
- end
1298
- end
1299
-
1300
- def collection_reader_method(reflection, association_proxy_class)
1301
- define_method(reflection.name) do |*params|
1302
- force_reload = params.first unless params.empty?
1303
- association = association_instance_get(reflection.name)
1304
-
1305
- unless association
1306
- association = association_proxy_class.new(self, reflection)
1307
- association_instance_set(reflection.name, association)
1308
- end
1309
-
1310
- reflection.klass.uncached { association.reload } if force_reload
1311
-
1312
- association
1313
- end
1314
-
1315
- define_method("#{reflection.name.to_s.singularize}_ids") do
1316
- if send(reflection.name).loaded? || reflection.options[:finder_sql]
1317
- send(reflection.name).map(&:id)
1318
- else
1319
- send(reflection.name).all(:select => "#{reflection.quoted_table_name}.#{reflection.klass.primary_key}").map(&:id)
1320
- end
1321
- end
1322
- end
1323
-
1324
- def collection_accessor_methods(reflection, association_proxy_class, writer = true)
1325
- collection_reader_method(reflection, association_proxy_class)
1326
-
1327
- if writer
1328
- define_method("#{reflection.name}=") do |new_value|
1329
- # Loads proxy class instance (defined in collection_reader_method) if not already loaded
1330
- association = send(reflection.name)
1331
- association.replace(new_value)
1332
- association
1333
- end
1334
-
1335
- define_method("#{reflection.name.to_s.singularize}_ids=") do |new_value|
1336
- ids = (new_value || []).reject { |nid| nid.blank? }.map(&:to_i)
1337
- send("#{reflection.name}=", reflection.klass.find(ids).index_by(&:id).values_at(*ids))
1338
- end
1339
- end
1340
- end
1341
-
1342
- def association_constructor_method(constructor, reflection, association_proxy_class)
1343
- define_method("#{constructor}_#{reflection.name}") do |*params|
1344
- attributees = params.first unless params.empty?
1345
- replace_existing = params[1].nil? ? true : params[1]
1346
- association = association_instance_get(reflection.name)
1347
-
1348
- unless association
1349
- association = association_proxy_class.new(self, reflection)
1350
- association_instance_set(reflection.name, association)
1351
- end
1352
-
1353
- if association_proxy_class == HasOneAssociation
1354
- association.send(constructor, attributees, replace_existing)
1355
- else
1356
- association.send(constructor, attributees)
1357
- end
1358
- end
1359
- end
1360
-
1361
- def add_counter_cache_callbacks(reflection)
1362
- cache_column = reflection.counter_cache_column
1363
-
1364
- method_name = "belongs_to_counter_cache_after_create_for_#{reflection.name}".to_sym
1365
- define_method(method_name) do
1366
- association = send(reflection.name)
1367
- association.class.increment_counter(cache_column, association.id) unless association.nil?
1368
- end
1369
- after_create(method_name)
1370
-
1371
- method_name = "belongs_to_counter_cache_before_destroy_for_#{reflection.name}".to_sym
1372
- define_method(method_name) do
1373
- association = send(reflection.name)
1374
- association.class.decrement_counter(cache_column, association.id) unless association.nil?
1375
- end
1376
- before_destroy(method_name)
1377
-
1378
- module_eval(
1379
- "#{reflection.class_name}.send(:attr_readonly,\"#{cache_column}\".intern) if defined?(#{reflection.class_name}) && #{reflection.class_name}.respond_to?(:attr_readonly)"
1380
- )
1381
- end
1382
-
1383
- def add_touch_callbacks(reflection, touch_attribute)
1384
- method_name = "belongs_to_touch_after_save_or_destroy_for_#{reflection.name}".to_sym
1385
- define_method(method_name) do
1386
- association = send(reflection.name)
1387
-
1388
- if touch_attribute == true
1389
- association.touch unless association.nil?
1390
- else
1391
- association.touch(touch_attribute) unless association.nil?
1392
- end
1393
- end
1394
- after_save(method_name)
1395
- after_destroy(method_name)
1396
- end
1397
-
1398
- def find_with_associations(options = {})
1399
- catch :invalid_query do
1400
- join_dependency = JoinDependency.new(self, merge_includes(scope(:find, :include), options[:include]), options[:joins])
1401
- rows = select_all_rows(options, join_dependency)
1402
- return join_dependency.instantiate(rows)
1403
- end
1404
- []
1405
- end
1406
-
1407
- # Creates before_destroy callback methods that nullify, delete or destroy
1408
- # has_many associated objects, according to the defined :dependent rule.
1409
- #
1410
- # See HasManyAssociation#delete_records. Dependent associations
1411
- # delete children, otherwise foreign key is set to NULL.
1412
- #
1413
- # The +extra_conditions+ parameter, which is not used within the main
1414
- # Active Record codebase, is meant to allow plugins to define extra
1415
- # finder conditions.
1416
- def configure_dependency_for_has_many(reflection, extra_conditions = nil)
1417
- if reflection.options.include?(:dependent)
1418
- case reflection.options[:dependent]
1419
- when :destroy
1420
- method_name = "has_many_dependent_destroy_for_#{reflection.name}".to_sym
1421
- define_method(method_name) do
1422
- send(reflection.name).each do |o|
1423
- # No point in executing the counter update since we're going to destroy the parent anyway
1424
- counter_method = ('belongs_to_counter_cache_before_destroy_for_' + self.class.name.downcase).to_sym
1425
- if(o.respond_to? counter_method) then
1426
- class << o
1427
- self
1428
- end.send(:define_method, counter_method, Proc.new {})
1429
- end
1430
- o.destroy
1431
- end
1432
- end
1433
- before_destroy method_name
1434
- when :delete_all
1435
- before_destroy do |record|
1436
- record.class.send(:delete_all_has_many_dependencies,
1437
- record,
1438
- reflection.name,
1439
- reflection.klass,
1440
- reflection.dependent_conditions(record, record.class, extra_conditions))
1441
- end
1442
- when :nullify
1443
- before_destroy do |record|
1444
- record.class.send(:nullify_has_many_dependencies,
1445
- record,
1446
- reflection.name,
1447
- reflection.klass,
1448
- reflection.primary_key_name,
1449
- reflection.dependent_conditions(record, record.class, extra_conditions))
1450
- end
1451
- else
1452
- raise ArgumentError, "The :dependent option expects either :destroy, :delete_all, or :nullify (#{reflection.options[:dependent].inspect})"
1453
- end
1454
- end
1455
- end
1456
-
1457
- # Creates before_destroy callback methods that nullify, delete or destroy
1458
- # has_one associated objects, according to the defined :dependent rule.
1459
- def configure_dependency_for_has_one(reflection)
1460
- if reflection.options.include?(:dependent)
1461
- case reflection.options[:dependent]
1462
- when :destroy
1463
- method_name = "has_one_dependent_destroy_for_#{reflection.name}".to_sym
1464
- define_method(method_name) do
1465
- association = send(reflection.name)
1466
- association.destroy unless association.nil?
1467
- end
1468
- before_destroy method_name
1469
- when :delete
1470
- method_name = "has_one_dependent_delete_for_#{reflection.name}".to_sym
1471
- define_method(method_name) do
1472
- # Retrieve the associated object and delete it. The retrieval
1473
- # is necessary because there may be multiple associated objects
1474
- # with foreign keys pointing to this object, and we only want
1475
- # to delete the correct one, not all of them.
1476
- association = send(reflection.name)
1477
- association.delete unless association.nil?
1478
- end
1479
- before_destroy method_name
1480
- when :nullify
1481
- method_name = "has_one_dependent_nullify_for_#{reflection.name}".to_sym
1482
- define_method(method_name) do
1483
- association = send(reflection.name)
1484
- association.update_attribute(reflection.primary_key_name, nil) unless association.nil?
1485
- end
1486
- before_destroy method_name
1487
- else
1488
- raise ArgumentError, "The :dependent option expects either :destroy, :delete or :nullify (#{reflection.options[:dependent].inspect})"
1489
- end
1490
- end
1491
- end
1492
-
1493
- def configure_dependency_for_belongs_to(reflection)
1494
- if reflection.options.include?(:dependent)
1495
- case reflection.options[:dependent]
1496
- when :destroy
1497
- method_name = "belongs_to_dependent_destroy_for_#{reflection.name}".to_sym
1498
- define_method(method_name) do
1499
- association = send(reflection.name)
1500
- association.destroy unless association.nil?
1501
- end
1502
- after_destroy method_name
1503
- when :delete
1504
- method_name = "belongs_to_dependent_delete_for_#{reflection.name}".to_sym
1505
- define_method(method_name) do
1506
- association = send(reflection.name)
1507
- association.delete unless association.nil?
1508
- end
1509
- after_destroy method_name
1510
- else
1511
- raise ArgumentError, "The :dependent option expects either :destroy or :delete (#{reflection.options[:dependent].inspect})"
1512
- end
1513
- end
1514
- end
1515
-
1516
- def delete_all_has_many_dependencies(record, reflection_name, association_class, dependent_conditions)
1517
- association_class.delete_all(dependent_conditions)
1518
- end
1519
-
1520
- def nullify_has_many_dependencies(record, reflection_name, association_class, primary_key_name, dependent_conditions)
1521
- association_class.update_all("#{primary_key_name} = NULL", dependent_conditions)
1522
- end
1523
-
1524
- mattr_accessor :valid_keys_for_has_many_association
1525
- @@valid_keys_for_has_many_association = [
1526
- :class_name, :table_name, :foreign_key, :primary_key,
1527
- :dependent,
1528
- :select, :conditions, :include, :order, :group, :having, :limit, :offset,
1529
- :as, :through, :source, :source_type,
1530
- :uniq,
1531
- :finder_sql, :counter_sql,
1532
- :before_add, :after_add, :before_remove, :after_remove,
1533
- :extend, :readonly,
1534
- :validate, :inverse_of
1535
- ]
1536
-
1537
- def create_has_many_reflection(association_id, options, &extension)
1538
- options.assert_valid_keys(valid_keys_for_has_many_association)
1539
- options[:extend] = create_extension_modules(association_id, extension, options[:extend])
1540
-
1541
- create_reflection(:has_many, association_id, options, self)
1542
- end
1543
-
1544
- mattr_accessor :valid_keys_for_has_one_association
1545
- @@valid_keys_for_has_one_association = [
1546
- :class_name, :foreign_key, :remote, :select, :conditions, :order,
1547
- :include, :dependent, :counter_cache, :extend, :as, :readonly,
1548
- :validate, :primary_key, :inverse_of
1549
- ]
1550
-
1551
- def create_has_one_reflection(association_id, options)
1552
- options.assert_valid_keys(valid_keys_for_has_one_association)
1553
- create_reflection(:has_one, association_id, options, self)
1554
- end
1555
-
1556
- def create_has_one_through_reflection(association_id, options)
1557
- options.assert_valid_keys(
1558
- :class_name, :foreign_key, :remote, :select, :conditions, :order, :include, :dependent, :counter_cache, :extend, :as, :through, :source, :source_type, :validate
1559
- )
1560
- create_reflection(:has_one, association_id, options, self)
1561
- end
1562
-
1563
- mattr_accessor :valid_keys_for_belongs_to_association
1564
- @@valid_keys_for_belongs_to_association = [
1565
- :class_name, :primary_key, :foreign_key, :foreign_type, :remote, :select, :conditions,
1566
- :include, :dependent, :counter_cache, :extend, :polymorphic, :readonly,
1567
- :validate, :touch, :inverse_of
1568
- ]
1569
-
1570
- def create_belongs_to_reflection(association_id, options)
1571
- options.assert_valid_keys(valid_keys_for_belongs_to_association)
1572
- reflection = create_reflection(:belongs_to, association_id, options, self)
1573
-
1574
- if options[:polymorphic]
1575
- reflection.options[:foreign_type] ||= reflection.class_name.underscore + "_type"
1576
- end
1577
-
1578
- reflection
1579
- end
1580
-
1581
- mattr_accessor :valid_keys_for_has_and_belongs_to_many_association
1582
- @@valid_keys_for_has_and_belongs_to_many_association = [
1583
- :class_name, :table_name, :join_table, :foreign_key, :association_foreign_key,
1584
- :select, :conditions, :include, :order, :group, :having, :limit, :offset,
1585
- :uniq,
1586
- :finder_sql, :counter_sql, :delete_sql, :insert_sql,
1587
- :before_add, :after_add, :before_remove, :after_remove,
1588
- :extend, :readonly,
1589
- :validate
1590
- ]
1591
-
1592
- def create_has_and_belongs_to_many_reflection(association_id, options, &extension)
1593
- options.assert_valid_keys(valid_keys_for_has_and_belongs_to_many_association)
1594
-
1595
- options[:extend] = create_extension_modules(association_id, extension, options[:extend])
1596
-
1597
- reflection = create_reflection(:has_and_belongs_to_many, association_id, options, self)
1598
-
1599
- if reflection.association_foreign_key == reflection.primary_key_name
1600
- raise HasAndBelongsToManyAssociationForeignKeyNeeded.new(reflection)
1601
- end
1602
-
1603
- reflection.options[:join_table] ||= join_table_name(undecorated_table_name(self.to_s), undecorated_table_name(reflection.class_name))
1604
-
1605
- reflection
1606
- end
1607
-
1608
- def reflect_on_included_associations(associations)
1609
- [ associations ].flatten.collect { |association| reflect_on_association(association.to_s.intern) }
1610
- end
1611
-
1612
- def guard_against_unlimitable_reflections(reflections, options)
1613
- if (options[:offset] || options[:limit]) && !using_limitable_reflections?(reflections)
1614
- raise(
1615
- ConfigurationError,
1616
- "You can not use offset and limit together with has_many or has_and_belongs_to_many associations"
1617
- )
1618
- end
1619
- end
1620
-
1621
- def select_all_rows(options, join_dependency)
1622
- connection.select_all(
1623
- construct_finder_sql_with_included_associations(options, join_dependency),
1624
- "#{name} Load Including Associations"
1625
- )
1626
- end
1627
-
1628
- def construct_finder_sql_with_included_associations(options, join_dependency)
1629
- scope = scope(:find)
1630
- sql = "SELECT #{column_aliases(join_dependency)} FROM #{(scope && scope[:from]) || options[:from] || quoted_table_name} "
1631
- sql << join_dependency.join_associations.collect{|join| join.association_join }.join
1632
-
1633
- add_joins!(sql, options[:joins], scope)
1634
- add_conditions!(sql, options[:conditions], scope)
1635
- add_limited_ids_condition!(sql, options, join_dependency) if !using_limitable_reflections?(join_dependency.reflections) && ((scope && scope[:limit]) || options[:limit])
1636
-
1637
- add_group!(sql, options[:group], options[:having], scope)
1638
- add_order!(sql, options[:order], scope)
1639
- add_limit!(sql, options, scope) if using_limitable_reflections?(join_dependency.reflections)
1640
- add_lock!(sql, options, scope)
1641
-
1642
- return sanitize_sql(sql)
1643
- end
1644
-
1645
- def add_limited_ids_condition!(sql, options, join_dependency)
1646
- unless (id_list = select_limited_ids_list(options, join_dependency)).empty?
1647
- sql << "#{condition_word(sql)} #{connection.quote_table_name table_name}.#{primary_key} IN (#{id_list}) "
1648
- else
1649
- throw :invalid_query
1650
- end
1651
- end
1652
-
1653
- def select_limited_ids_list(options, join_dependency)
1654
- pk = columns_hash[primary_key]
1655
-
1656
- connection.select_all(
1657
- construct_finder_sql_for_association_limiting(options, join_dependency),
1658
- "#{name} Load IDs For Limited Eager Loading"
1659
- ).collect { |row| connection.quote(row[primary_key], pk) }.join(", ")
1660
- end
1661
-
1662
- def construct_finder_sql_for_association_limiting(options, join_dependency)
1663
- scope = scope(:find)
1664
-
1665
- # Only join tables referenced in order or conditions since this is particularly slow on the pre-query.
1666
- tables_from_conditions = conditions_tables(options)
1667
- tables_from_order = order_tables(options)
1668
- all_tables = tables_from_conditions + tables_from_order
1669
- distinct_join_associations = all_tables.uniq.map{|table|
1670
- join_dependency.joins_for_table_name(table)
1671
- }.flatten.compact.uniq
1672
-
1673
- order = options[:order]
1674
- if scoped_order = (scope && scope[:order])
1675
- order = order ? "#{order}, #{scoped_order}" : scoped_order
1676
- end
1677
-
1678
- is_distinct = !options[:joins].blank? || include_eager_conditions?(options, tables_from_conditions) || include_eager_order?(options, tables_from_order)
1679
- sql = "SELECT "
1680
- if is_distinct
1681
- sql << connection.distinct("#{connection.quote_table_name table_name}.#{primary_key}", order)
1682
- else
1683
- sql << primary_key
1684
- end
1685
- sql << " FROM #{connection.quote_table_name table_name} "
1686
-
1687
- if is_distinct
1688
- sql << distinct_join_associations.collect { |assoc| assoc.association_join }.join
1689
- add_joins!(sql, options[:joins], scope)
1690
- end
1691
-
1692
- add_conditions!(sql, options[:conditions], scope)
1693
- add_group!(sql, options[:group], options[:having], scope)
1694
-
1695
- if order && is_distinct
1696
- connection.add_order_by_for_association_limiting!(sql, :order => order)
1697
- else
1698
- add_order!(sql, options[:order], scope)
1699
- end
1700
-
1701
- add_limit!(sql, options, scope)
1702
-
1703
- return sanitize_sql(sql)
1704
- end
1705
-
1706
- def tables_in_string(string)
1707
- return [] if string.blank?
1708
- string.scan(/([\.a-zA-Z_]+).?\./).flatten
1709
- end
1710
-
1711
- def tables_in_hash(hash)
1712
- return [] if hash.blank?
1713
- tables = hash.map do |key, value|
1714
- if value.is_a?(Hash)
1715
- key.to_s
1716
- else
1717
- tables_in_string(key) if key.is_a?(String)
1718
- end
1719
- end
1720
- tables.flatten.compact
1721
- end
1722
-
1723
- def conditions_tables(options)
1724
- # look in both sets of conditions
1725
- conditions = [scope(:find, :conditions), options[:conditions]].inject([]) do |all, cond|
1726
- case cond
1727
- when nil then all
1728
- when Array then all << tables_in_string(cond.first)
1729
- when Hash then all << tables_in_hash(cond)
1730
- else all << tables_in_string(cond)
1731
- end
1732
- end
1733
- conditions.flatten
1734
- end
1735
-
1736
- def order_tables(options)
1737
- order = [options[:order], scope(:find, :order) ].join(", ")
1738
- return [] unless order && order.is_a?(String)
1739
- tables_in_string(order)
1740
- end
1741
-
1742
- def selects_tables(options)
1743
- select = options[:select]
1744
- return [] unless select && select.is_a?(String)
1745
- tables_in_string(select)
1746
- end
1747
-
1748
- def joined_tables(options)
1749
- scope = scope(:find)
1750
- joins = options[:joins]
1751
- merged_joins = scope && scope[:joins] && joins ? merge_joins(scope[:joins], joins) : (joins || scope && scope[:joins])
1752
- [table_name] + case merged_joins
1753
- when Symbol, Hash, Array
1754
- if array_of_strings?(merged_joins)
1755
- tables_in_string(merged_joins.join(' '))
1756
- else
1757
- join_dependency = ActiveRecord::Associations::ClassMethods::InnerJoinDependency.new(self, merged_joins, nil)
1758
- join_dependency.join_associations.collect {|join_association| [join_association.aliased_join_table_name, join_association.aliased_table_name]}.flatten.compact
1759
- end
1760
- else
1761
- tables_in_string(merged_joins)
1762
- end
1763
- end
1764
-
1765
- # Checks if the conditions reference a table other than the current model table
1766
- def include_eager_conditions?(options, tables = nil, joined_tables = nil)
1767
- ((tables || conditions_tables(options)) - (joined_tables || joined_tables(options))).any?
1768
- end
1769
-
1770
- # Checks if the query order references a table other than the current model's table.
1771
- def include_eager_order?(options, tables = nil, joined_tables = nil)
1772
- ((tables || order_tables(options)) - (joined_tables || joined_tables(options))).any?
1773
- end
1774
-
1775
- def include_eager_select?(options, joined_tables = nil)
1776
- (selects_tables(options) - (joined_tables || joined_tables(options))).any?
1777
- end
1778
-
1779
- def references_eager_loaded_tables?(options)
1780
- joined_tables = joined_tables(options)
1781
- include_eager_order?(options, nil, joined_tables) || include_eager_conditions?(options, nil, joined_tables) || include_eager_select?(options, joined_tables)
1782
- end
1783
-
1784
- def using_limitable_reflections?(reflections)
1785
- reflections.none?(&:collection?)
1786
- end
1787
-
1788
- def column_aliases(join_dependency)
1789
- join_dependency.joins.collect{|join| join.column_names_with_alias.collect{|column_name, aliased_name|
1790
- "#{connection.quote_table_name join.aliased_table_name}.#{connection.quote_column_name column_name} AS #{aliased_name}"}}.flatten.join(", ")
1791
- end
1792
-
1793
- def add_association_callbacks(association_name, options)
1794
- callbacks = %w(before_add after_add before_remove after_remove)
1795
- callbacks.each do |callback_name|
1796
- full_callback_name = "#{callback_name}_for_#{association_name}"
1797
- defined_callbacks = options[callback_name.to_sym]
1798
- if options.has_key?(callback_name.to_sym)
1799
- class_inheritable_reader full_callback_name.to_sym
1800
- write_inheritable_attribute(full_callback_name.to_sym, [defined_callbacks].flatten)
1801
- else
1802
- write_inheritable_attribute(full_callback_name.to_sym, [])
1803
- end
1804
- end
1805
- end
1806
-
1807
- def condition_word(sql)
1808
- sql =~ /where/i ? " AND " : "WHERE "
1809
- end
1810
-
1811
- def create_extension_modules(association_id, block_extension, extensions)
1812
- if block_extension
1813
- extension_module_name = "#{self.to_s.demodulize}#{association_id.to_s.camelize}AssociationExtension"
1814
-
1815
- silence_warnings do
1816
- self.parent.const_set(extension_module_name, Module.new(&block_extension))
1817
- end
1818
- Array(extensions).push("#{self.parent}::#{extension_module_name}".constantize)
1819
- else
1820
- Array(extensions)
1821
- end
1822
- end
1823
-
1824
- class JoinDependency # :nodoc:
1825
- attr_reader :joins, :reflections, :table_aliases
1826
-
1827
- def initialize(base, associations, joins)
1828
- @joins = [JoinBase.new(base, joins)]
1829
- @associations = associations
1830
- @reflections = []
1831
- @base_records_hash = {}
1832
- @base_records_in_order = []
1833
- @table_aliases = Hash.new { |aliases, table| aliases[table] = 0 }
1834
- @table_aliases[base.table_name] = 1
1835
- build(associations)
1836
- end
1837
-
1838
- def join_associations
1839
- @joins[1..-1].to_a
1840
- end
1841
-
1842
- def join_base
1843
- @joins[0]
1844
- end
1845
-
1846
- def instantiate(rows)
1847
- rows.each_with_index do |row, i|
1848
- primary_id = join_base.record_id(row)
1849
- unless @base_records_hash[primary_id]
1850
- @base_records_in_order << (@base_records_hash[primary_id] = join_base.instantiate(row))
1851
- end
1852
- construct(@base_records_hash[primary_id], @associations, join_associations.dup, row)
1853
- end
1854
- remove_duplicate_results!(join_base.active_record, @base_records_in_order, @associations)
1855
- return @base_records_in_order
1856
- end
1857
-
1858
- def remove_duplicate_results!(base, records, associations)
1859
- case associations
1860
- when Symbol, String
1861
- reflection = base.reflections[associations]
1862
- if reflection && reflection.collection?
1863
- records.each { |record| record.send(reflection.name).target.uniq! }
1864
- end
1865
- when Array
1866
- associations.each do |association|
1867
- remove_duplicate_results!(base, records, association)
1868
- end
1869
- when Hash
1870
- associations.keys.each do |name|
1871
- reflection = base.reflections[name]
1872
-
1873
- parent_records = records.map do |record|
1874
- descendant = record.send(reflection.name)
1875
- next unless descendant
1876
- descendant.target.uniq! if reflection.collection?
1877
- descendant
1878
- end.flatten.compact
1879
-
1880
- remove_duplicate_results!(reflection.klass, parent_records, associations[name]) unless parent_records.empty?
1881
- end
1882
- end
1883
- end
1884
-
1885
- def join_for_table_name(table_name)
1886
- join = (@joins.select{|j|j.aliased_table_name == table_name.gsub(/^\"(.*)\"$/){$1} }.first) rescue nil
1887
- return join unless join.nil?
1888
- @joins.select{|j|j.is_a?(JoinAssociation) && j.aliased_join_table_name == table_name.gsub(/^\"(.*)\"$/){$1} }.first rescue nil
1889
- end
1890
-
1891
- def joins_for_table_name(table_name)
1892
- join = join_for_table_name(table_name)
1893
- result = nil
1894
- if join && join.is_a?(JoinAssociation)
1895
- result = [join]
1896
- if join.parent && join.parent.is_a?(JoinAssociation)
1897
- result = joins_for_table_name(join.parent.aliased_table_name) +
1898
- result
1899
- end
1900
- end
1901
- result
1902
- end
1903
-
1904
- protected
1905
- def build(associations, parent = nil)
1906
- parent ||= @joins.last
1907
- case associations
1908
- when Symbol, String
1909
- reflection = parent.reflections[associations.to_s.intern] or
1910
- raise ConfigurationError, "Association named '#{ associations }' was not found; perhaps you misspelled it?"
1911
- @reflections << reflection
1912
- @joins << build_join_association(reflection, parent)
1913
- when Array
1914
- associations.each do |association|
1915
- build(association, parent)
1916
- end
1917
- when Hash
1918
- associations.keys.sort{|a,b|a.to_s<=>b.to_s}.each do |name|
1919
- build(name, parent)
1920
- build(associations[name])
1921
- end
1922
- else
1923
- raise ConfigurationError, associations.inspect
1924
- end
1925
- end
1926
-
1927
- # overridden in InnerJoinDependency subclass
1928
- def build_join_association(reflection, parent)
1929
- JoinAssociation.new(reflection, self, parent)
1930
- end
1931
-
1932
- def construct(parent, associations, joins, row)
1933
- case associations
1934
- when Symbol, String
1935
- join = joins.detect{|j| j.reflection.name.to_s == associations.to_s && j.parent_table_name == parent.class.table_name }
1936
- raise(ConfigurationError, "No such association") if join.nil?
1937
-
1938
- joins.delete(join)
1939
- construct_association(parent, join, row)
1940
- when Array
1941
- associations.each do |association|
1942
- construct(parent, association, joins, row)
1943
- end
1944
- when Hash
1945
- associations.keys.sort{|a,b|a.to_s<=>b.to_s}.each do |name|
1946
- join = joins.detect{|j| j.reflection.name.to_s == name.to_s && j.parent_table_name == parent.class.table_name }
1947
- raise(ConfigurationError, "No such association") if join.nil?
1948
-
1949
- association = construct_association(parent, join, row)
1950
- joins.delete(join)
1951
- construct(association, associations[name], joins, row) if association
1952
- end
1953
- else
1954
- raise ConfigurationError, associations.inspect
1955
- end
1956
- end
1957
-
1958
- def construct_association(record, join, row)
1959
- case join.reflection.macro
1960
- when :has_many, :has_and_belongs_to_many
1961
- collection = record.send(join.reflection.name)
1962
- collection.loaded
1963
-
1964
- return nil if record.id.to_s != join.parent.record_id(row).to_s or row[join.aliased_primary_key].nil?
1965
- association = join.instantiate(row)
1966
- collection.target.push(association)
1967
- collection.__send__(:set_inverse_instance, association, record)
1968
- when :has_one
1969
- return if record.id.to_s != join.parent.record_id(row).to_s
1970
- return if record.instance_variable_defined?("@#{join.reflection.name}")
1971
- association = join.instantiate(row) unless row[join.aliased_primary_key].nil?
1972
- set_target_and_inverse(join, association, record)
1973
- when :belongs_to
1974
- return if record.id.to_s != join.parent.record_id(row).to_s or row[join.aliased_primary_key].nil?
1975
- association = join.instantiate(row)
1976
- set_target_and_inverse(join, association, record)
1977
- else
1978
- raise ConfigurationError, "unknown macro: #{join.reflection.macro}"
1979
- end
1980
- return association
1981
- end
1982
-
1983
- def set_target_and_inverse(join, association, record)
1984
- association_proxy = record.send("set_#{join.reflection.name}_target", association)
1985
- association_proxy.__send__(:set_inverse_instance, association, record)
1986
- end
1987
-
1988
- class JoinBase # :nodoc:
1989
- attr_reader :active_record, :table_joins
1990
- delegate :table_name, :column_names, :primary_key, :reflections, :sanitize_sql, :to => :active_record
1991
-
1992
- def initialize(active_record, joins = nil)
1993
- @active_record = active_record
1994
- @cached_record = {}
1995
- @table_joins = joins
1996
- end
1997
-
1998
- def aliased_prefix
1999
- "t0"
2000
- end
2001
-
2002
- def aliased_primary_key
2003
- "#{aliased_prefix}_r0"
2004
- end
2005
-
2006
- def aliased_table_name
2007
- active_record.table_name
2008
- end
2009
-
2010
- def column_names_with_alias
2011
- unless defined?(@column_names_with_alias)
2012
- @column_names_with_alias = []
2013
-
2014
- ([primary_key] + (column_names - [primary_key])).each_with_index do |column_name, i|
2015
- @column_names_with_alias << [column_name, "#{aliased_prefix}_r#{i}"]
2016
- end
2017
- end
2018
-
2019
- @column_names_with_alias
2020
- end
2021
-
2022
- def extract_record(row)
2023
- column_names_with_alias.inject({}){|record, (cn, an)| record[cn] = row[an]; record}
2024
- end
2025
-
2026
- def record_id(row)
2027
- row[aliased_primary_key]
2028
- end
2029
-
2030
- def instantiate(row)
2031
- @cached_record[record_id(row)] ||= active_record.send(:instantiate, extract_record(row))
2032
- end
2033
- end
2034
-
2035
- class JoinAssociation < JoinBase # :nodoc:
2036
- attr_reader :reflection, :parent, :aliased_table_name, :aliased_prefix, :aliased_join_table_name, :parent_table_name
2037
- delegate :options, :klass, :through_reflection, :source_reflection, :to => :reflection
2038
-
2039
- def initialize(reflection, join_dependency, parent = nil)
2040
- reflection.check_validity!
2041
- if reflection.options[:polymorphic]
2042
- raise EagerLoadPolymorphicError.new(reflection)
2043
- end
2044
-
2045
- super(reflection.klass)
2046
- @join_dependency = join_dependency
2047
- @parent = parent
2048
- @reflection = reflection
2049
- @aliased_prefix = "t#{ join_dependency.joins.size }"
2050
- @parent_table_name = parent.active_record.table_name
2051
- @aliased_table_name = aliased_table_name_for(table_name)
2052
-
2053
- if reflection.macro == :has_and_belongs_to_many
2054
- @aliased_join_table_name = aliased_table_name_for(reflection.options[:join_table], "_join")
2055
- end
2056
-
2057
- if [:has_many, :has_one].include?(reflection.macro) && reflection.options[:through]
2058
- @aliased_join_table_name = aliased_table_name_for(reflection.through_reflection.klass.table_name, "_join")
2059
- end
2060
- end
2061
-
2062
- def association_join
2063
- connection = reflection.active_record.connection
2064
- join = case reflection.macro
2065
- when :has_and_belongs_to_many
2066
- " #{join_type} %s ON %s.%s = %s.%s " % [
2067
- table_alias_for(options[:join_table], aliased_join_table_name),
2068
- connection.quote_table_name(aliased_join_table_name),
2069
- options[:foreign_key] || reflection.active_record.to_s.foreign_key,
2070
- connection.quote_table_name(parent.aliased_table_name),
2071
- reflection.active_record.primary_key] +
2072
- " #{join_type} %s ON %s.%s = %s.%s " % [
2073
- table_name_and_alias,
2074
- connection.quote_table_name(aliased_table_name),
2075
- klass.primary_key,
2076
- connection.quote_table_name(aliased_join_table_name),
2077
- options[:association_foreign_key] || klass.to_s.foreign_key
2078
- ]
2079
- when :has_many, :has_one
2080
- case
2081
- when reflection.options[:through]
2082
- through_conditions = through_reflection.options[:conditions] ? "AND #{interpolate_sql(sanitize_sql(through_reflection.options[:conditions]))}" : ''
2083
-
2084
- jt_foreign_key = jt_as_extra = jt_source_extra = jt_sti_extra = nil
2085
- first_key = second_key = as_extra = nil
2086
-
2087
- if through_reflection.options[:as] # has_many :through against a polymorphic join
2088
- jt_foreign_key = through_reflection.options[:as].to_s + '_id'
2089
- jt_as_extra = " AND %s.%s = %s" % [
2090
- connection.quote_table_name(aliased_join_table_name),
2091
- connection.quote_column_name(through_reflection.options[:as].to_s + '_type'),
2092
- klass.quote_value(parent.active_record.base_class.name)
2093
- ]
2094
- else
2095
- jt_foreign_key = through_reflection.primary_key_name
2096
- end
2097
-
2098
- case source_reflection.macro
2099
- when :has_many
2100
- if source_reflection.options[:as]
2101
- first_key = "#{source_reflection.options[:as]}_id"
2102
- second_key = options[:foreign_key] || primary_key
2103
- as_extra = " AND %s.%s = %s" % [
2104
- connection.quote_table_name(aliased_table_name),
2105
- connection.quote_column_name("#{source_reflection.options[:as]}_type"),
2106
- klass.quote_value(source_reflection.active_record.base_class.name)
2107
- ]
2108
- else
2109
- first_key = through_reflection.klass.base_class.to_s.foreign_key
2110
- second_key = options[:foreign_key] || primary_key
2111
- end
2112
-
2113
- unless through_reflection.klass.descends_from_active_record?
2114
- jt_sti_extra = " AND %s.%s = %s" % [
2115
- connection.quote_table_name(aliased_join_table_name),
2116
- connection.quote_column_name(through_reflection.active_record.inheritance_column),
2117
- through_reflection.klass.quote_value(through_reflection.klass.sti_name)]
2118
- end
2119
- when :belongs_to
2120
- first_key = primary_key
2121
- if reflection.options[:source_type]
2122
- second_key = source_reflection.association_foreign_key
2123
- jt_source_extra = " AND %s.%s = %s" % [
2124
- connection.quote_table_name(aliased_join_table_name),
2125
- connection.quote_column_name(reflection.source_reflection.options[:foreign_type]),
2126
- klass.quote_value(reflection.options[:source_type])
2127
- ]
2128
- else
2129
- second_key = source_reflection.primary_key_name
2130
- end
2131
- end
2132
-
2133
- " #{join_type} %s ON (%s.%s = %s.%s%s%s%s) " % [
2134
- table_alias_for(through_reflection.klass.table_name, aliased_join_table_name),
2135
- connection.quote_table_name(parent.aliased_table_name),
2136
- connection.quote_column_name(parent.primary_key),
2137
- connection.quote_table_name(aliased_join_table_name),
2138
- connection.quote_column_name(jt_foreign_key),
2139
- jt_as_extra, jt_source_extra, jt_sti_extra
2140
- ] +
2141
- " #{join_type} %s ON (%s.%s = %s.%s%s) " % [
2142
- table_name_and_alias,
2143
- connection.quote_table_name(aliased_table_name),
2144
- connection.quote_column_name(first_key),
2145
- connection.quote_table_name(aliased_join_table_name),
2146
- connection.quote_column_name(second_key),
2147
- as_extra
2148
- ]
2149
-
2150
- when reflection.options[:as] && [:has_many, :has_one].include?(reflection.macro)
2151
- " #{join_type} %s ON %s.%s = %s.%s AND %s.%s = %s" % [
2152
- table_name_and_alias,
2153
- connection.quote_table_name(aliased_table_name),
2154
- "#{reflection.options[:as]}_id",
2155
- connection.quote_table_name(parent.aliased_table_name),
2156
- parent.primary_key,
2157
- connection.quote_table_name(aliased_table_name),
2158
- "#{reflection.options[:as]}_type",
2159
- klass.quote_value(parent.active_record.base_class.name)
2160
- ]
2161
- else
2162
- foreign_key = options[:foreign_key] || reflection.active_record.name.foreign_key
2163
- " #{join_type} %s ON %s.%s = %s.%s " % [
2164
- table_name_and_alias,
2165
- aliased_table_name,
2166
- foreign_key,
2167
- parent.aliased_table_name,
2168
- reflection.options[:primary_key] || parent.primary_key
2169
- ]
2170
- end
2171
- when :belongs_to
2172
- " #{join_type} %s ON %s.%s = %s.%s " % [
2173
- table_name_and_alias,
2174
- connection.quote_table_name(aliased_table_name),
2175
- reflection.options[:primary_key] || reflection.klass.primary_key,
2176
- connection.quote_table_name(parent.aliased_table_name),
2177
- options[:foreign_key] || reflection.primary_key_name
2178
- ]
2179
- else
2180
- ""
2181
- end || ''
2182
- join << %(AND %s) % [
2183
- klass.send(:type_condition, aliased_table_name)] unless klass.descends_from_active_record?
2184
-
2185
- [through_reflection, reflection].each do |ref|
2186
- join << "AND #{interpolate_sql(sanitize_sql(ref.options[:conditions], aliased_table_name))} " if ref && ref.options[:conditions]
2187
- end
2188
-
2189
- join
2190
- end
2191
-
2192
- protected
2193
-
2194
- def aliased_table_name_for(name, suffix = nil)
2195
- if !parent.table_joins.blank? && parent.table_joins.to_s.downcase =~ %r{join(\s+\w+)?\s+#{active_record.connection.quote_table_name name.downcase}\son}
2196
- @join_dependency.table_aliases[name] += 1
2197
- end
2198
-
2199
- unless @join_dependency.table_aliases[name].zero?
2200
- # if the table name has been used, then use an alias
2201
- name = active_record.connection.table_alias_for "#{pluralize(reflection.name)}_#{parent_table_name}#{suffix}"
2202
- table_index = @join_dependency.table_aliases[name]
2203
- @join_dependency.table_aliases[name] += 1
2204
- name = name[0..active_record.connection.table_alias_length-3] + "_#{table_index+1}" if table_index > 0
2205
- else
2206
- @join_dependency.table_aliases[name] += 1
2207
- end
2208
-
2209
- name
2210
- end
2211
-
2212
- def pluralize(table_name)
2213
- ActiveRecord::Base.pluralize_table_names ? table_name.to_s.pluralize : table_name
2214
- end
2215
-
2216
- def table_alias_for(table_name, table_alias)
2217
- "#{reflection.active_record.connection.quote_table_name(table_name)} #{table_alias if table_name != table_alias}".strip
2218
- end
2219
-
2220
- def table_name_and_alias
2221
- table_alias_for table_name, @aliased_table_name
2222
- end
2223
-
2224
- def interpolate_sql(sql)
2225
- instance_eval("%@#{sql.gsub('@', '\@')}@")
2226
- end
2227
-
2228
- private
2229
- def join_type
2230
- "LEFT OUTER JOIN"
2231
- end
2232
- end
2233
- end
2234
-
2235
- class InnerJoinDependency < JoinDependency # :nodoc:
2236
- protected
2237
- def build_join_association(reflection, parent)
2238
- InnerJoinAssociation.new(reflection, self, parent)
2239
- end
2240
-
2241
- class InnerJoinAssociation < JoinAssociation
2242
- private
2243
- def join_type
2244
- "INNER JOIN"
2245
- end
2246
- end
2247
- end
2248
-
2249
- end
2250
- end
2251
- end