radiant 0.8.2 → 0.9.0.rc2

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 (1212) hide show
  1. data/CHANGELOG +258 -389
  2. data/CONTRIBUTORS +21 -0
  3. data/app/controllers/admin/layouts_controller.rb +2 -8
  4. data/app/controllers/admin/pages_controller.rb +0 -19
  5. data/app/controllers/admin/preferences_controller.rb +3 -4
  6. data/app/controllers/admin/references_controller.rb +1 -1
  7. data/app/controllers/admin/resource_controller.rb +11 -10
  8. data/app/controllers/admin/snippets_controller.rb +5 -6
  9. data/app/controllers/admin/users_controller.rb +15 -1
  10. data/app/controllers/admin/welcome_controller.rb +5 -5
  11. data/app/controllers/application_controller.rb +34 -2
  12. data/app/controllers/site_controller.rb +20 -6
  13. data/app/helpers/admin/layouts_helper.rb +19 -0
  14. data/app/helpers/admin/node_helper.rb +10 -10
  15. data/app/helpers/admin/pages_helper.rb +82 -22
  16. data/app/helpers/admin/references_helper.rb +6 -3
  17. data/app/helpers/admin/snippets_helper.rb +39 -0
  18. data/app/helpers/admin/users_helper.rb +2 -2
  19. data/app/helpers/application_helper.rb +93 -27
  20. data/app/models/layout.rb +3 -4
  21. data/app/models/page.rb +35 -20
  22. data/app/models/page_part.rb +4 -4
  23. data/app/models/radiant/config.rb +11 -7
  24. data/app/models/snippet.rb +5 -5
  25. data/app/models/standard_tags.rb +116 -20
  26. data/app/models/status.rb +3 -1
  27. data/app/models/user.rb +37 -33
  28. data/app/views/admin/extensions/index.html.haml +26 -25
  29. data/app/views/admin/layouts/_form.html.haml +26 -23
  30. data/app/views/admin/layouts/edit.html.haml +5 -3
  31. data/app/views/admin/layouts/index.html.haml +31 -32
  32. data/app/views/admin/layouts/new.html.haml +4 -2
  33. data/app/views/admin/layouts/remove.html.haml +9 -9
  34. data/app/views/admin/page_parts/_page_part.html.haml +11 -10
  35. data/app/views/admin/pages/_fields.html.haml +42 -48
  36. data/app/views/admin/pages/_meta_row.html.haml +2 -4
  37. data/app/views/admin/pages/_node.html.haml +5 -5
  38. data/app/views/admin/pages/_popups.html.haml +12 -29
  39. data/app/views/admin/pages/edit.html.haml +6 -3
  40. data/app/views/admin/pages/index.html.haml +22 -24
  41. data/app/views/admin/pages/new.html.haml +4 -3
  42. data/app/views/admin/pages/remove.html.haml +14 -17
  43. data/app/views/admin/preferences/edit.html.haml +36 -28
  44. data/app/views/admin/references/_tag_reference.haml +2 -2
  45. data/app/views/admin/references/filters.haml +6 -0
  46. data/app/views/admin/references/tags.haml +30 -0
  47. data/app/views/admin/snippets/_form.html.haml +22 -18
  48. data/app/views/admin/snippets/edit.html.haml +6 -2
  49. data/app/views/admin/snippets/index.html.haml +29 -29
  50. data/app/views/admin/snippets/new.html.haml +4 -2
  51. data/app/views/admin/snippets/remove.html.haml +9 -11
  52. data/app/views/admin/users/_avatar.html.haml +3 -0
  53. data/app/views/admin/users/_form.html.haml +47 -67
  54. data/app/views/admin/users/_password_fields.html.haml +18 -0
  55. data/app/views/admin/users/edit.html.haml +5 -1
  56. data/app/views/admin/users/index.html.haml +33 -30
  57. data/app/views/admin/users/new.html.haml +2 -1
  58. data/app/views/admin/users/remove.html.haml +8 -10
  59. data/app/views/admin/welcome/login.html.haml +19 -58
  60. data/app/views/layouts/application.html.haml +30 -29
  61. data/config/boot.rb +1 -1
  62. data/config/cucumber.yml +7 -0
  63. data/config/database.db2.yml +4 -1
  64. data/config/database.mysql.yml +5 -2
  65. data/config/database.postgresql.yml +5 -2
  66. data/config/database.sqlite.yml +4 -1
  67. data/config/database.sqlserver.yml +5 -2
  68. data/config/environment.rb +14 -2
  69. data/config/environments/cucumber.rb +29 -0
  70. data/config/environments/production.rb +6 -1
  71. data/config/environments/test.rb +6 -3
  72. data/config/initializers/haml.rb +2 -0
  73. data/config/initializers/pagination.rb +1 -0
  74. data/config/locales/en.yml +190 -0
  75. data/config/locales/en_available_tags.yml +454 -0
  76. data/config/routes.rb +2 -2
  77. data/db/migrate/20090226140109_add_user_language.rb +9 -0
  78. data/db/migrate/20090929164633_rename_developer_role_to_designer.rb +9 -0
  79. data/db/migrate/20091003095744_change_user_language_to_locale.rb +9 -0
  80. data/db/schema.rb +3 -2
  81. data/features/admin/content_negotiation.feature +4 -4
  82. data/features/admin/layouts_management.feature +2 -2
  83. data/features/admin/pages_management.feature +31 -17
  84. data/features/admin/snippets_management.feature +19 -17
  85. data/features/admin/user_permissions.feature +49 -41
  86. data/features/admin/user_preferences.feature +6 -6
  87. data/features/admin/users_management.feature +8 -9
  88. data/features/page_serving.feature +8 -8
  89. data/features/step_definitions/admin/admin_steps.rb +8 -2
  90. data/features/step_definitions/admin/content_negotiation_steps.rb +14 -5
  91. data/features/step_definitions/admin/pages_management_steps.rb +1 -1
  92. data/features/step_definitions/admin/users_management_steps.rb +3 -0
  93. data/features/step_definitions/page_serving_steps.rb +0 -19
  94. data/features/step_definitions/web_steps.rb +263 -0
  95. data/features/support/dataset.rb +9 -0
  96. data/features/support/env.rb +44 -14
  97. data/features/support/paths.rb +57 -12
  98. data/lib/generators/extension/extension_generator.rb +29 -1
  99. data/lib/generators/extension/templates/RSpecRakefile +14 -1
  100. data/lib/generators/extension/templates/Rakefile +17 -0
  101. data/lib/generators/extension/templates/en.yml +3 -0
  102. data/lib/generators/extension/templates/extension.rb +10 -10
  103. data/lib/generators/extension/templates/routes.rb +5 -0
  104. data/lib/generators/extension/templates/tasks.rake +27 -0
  105. data/lib/generators/extension/templates/test_helper.rb +1 -1
  106. data/lib/generators/instance/instance_generator.rb +3 -2
  107. data/lib/generators/instance/templates/databases/sqlserver.yml +2 -1
  108. data/lib/generators/instance/templates/instance_boot.rb +1 -1
  109. data/lib/generators/instance/templates/instance_environment.rb +8 -1
  110. data/lib/generators/language_extension/USAGE +27 -0
  111. data/lib/generators/language_extension/language_extension_generator.rb +49 -0
  112. data/lib/generators/language_extension/templates/README +3 -0
  113. data/lib/generators/language_extension/templates/RSpecRakefile +123 -0
  114. data/lib/generators/language_extension/templates/Rakefile +25 -0
  115. data/lib/generators/language_extension/templates/available_tags.yml +553 -0
  116. data/lib/generators/language_extension/templates/cucumber.yml +1 -0
  117. data/lib/generators/language_extension/templates/cucumber_env.rb +16 -0
  118. data/lib/generators/language_extension/templates/cucumber_paths.rb +14 -0
  119. data/lib/generators/language_extension/templates/extension.rb +8 -0
  120. data/lib/generators/language_extension/templates/functional_test.rb +15 -0
  121. data/lib/generators/language_extension/templates/lang.yml +181 -0
  122. data/lib/generators/language_extension/templates/spec.opts +6 -0
  123. data/lib/generators/language_extension/templates/spec_helper.rb +36 -0
  124. data/lib/generators/language_extension/templates/tasks.rake +28 -0
  125. data/lib/generators/language_extension/templates/test_helper.rb +26 -0
  126. data/lib/login_system.rb +14 -17
  127. data/lib/radiant.rb +4 -3
  128. data/lib/radiant/admin_ui.rb +114 -58
  129. data/lib/radiant/available_locales.rb +31 -0
  130. data/lib/radiant/cache.rb +12 -0
  131. data/lib/radiant/extension.rb +29 -3
  132. data/lib/radiant/extension/script.rb +44 -13
  133. data/lib/radiant/extension_loader.rb +21 -7
  134. data/lib/radiant/initializer.rb +23 -23
  135. data/lib/radiant/pagination/link_renderer.rb +31 -0
  136. data/lib/radiant/setup.rb +1 -0
  137. data/lib/radiant/taggable.rb +2 -1
  138. data/lib/task_support.rb +21 -1
  139. data/lib/tasks/ci.rake +17 -0
  140. data/lib/tasks/cucumber.rake +39 -13
  141. data/lib/tasks/extensions.rake +12 -1
  142. data/lib/tasks/framework.rake +44 -8
  143. data/lib/tasks/prototype.rake +34 -0
  144. data/lib/tasks/release.rake +6 -4
  145. data/lib/tasks/rspec.rake +7 -7
  146. data/lib/tasks/translate.rake +59 -0
  147. data/lib/tasks/undefine.rake +4 -0
  148. data/lib/translation_support.rb +54 -0
  149. data/public/images/admin/add_tab.png +0 -0
  150. data/public/images/admin/avatar_32x32.png +0 -0
  151. data/public/images/admin/avatar_96x96.png +0 -0
  152. data/public/images/admin/{brown-bottom-line.gif → brown_bottom_line.gif} +0 -0
  153. data/public/images/admin/buttons_background.png +0 -0
  154. data/public/images/admin/calendar_down.gif +0 -0
  155. data/public/images/admin/collapse.png +0 -0
  156. data/public/images/admin/draft_page.png +0 -0
  157. data/public/images/admin/expand.png +0 -0
  158. data/public/images/admin/layout.png +0 -0
  159. data/public/images/admin/login_shadow.png +0 -0
  160. data/public/images/admin/metadata_toggle.png +0 -0
  161. data/public/images/admin/minus_disabled.png +0 -0
  162. data/public/images/admin/minus_grey.png +0 -0
  163. data/public/images/admin/navigation_background.gif +0 -0
  164. data/public/images/admin/navigation_secondary_background.png +0 -0
  165. data/public/images/admin/navigation_secondary_separator.gif +0 -0
  166. data/public/images/admin/navigation_shadow.png +0 -0
  167. data/public/images/admin/navigation_tabs.png +0 -0
  168. data/public/images/admin/{new-homepage.png → new_homepage.png} +0 -0
  169. data/public/images/admin/{new-layout.png → new_layout.png} +0 -0
  170. data/public/images/admin/{new-snippet.png → new_snippet.png} +0 -0
  171. data/public/images/admin/{new-user.png → new_user.png} +0 -0
  172. data/public/images/admin/page.png +0 -0
  173. data/public/images/admin/plus_grey.png +0 -0
  174. data/public/images/admin/popup_border_background.png +0 -0
  175. data/public/images/admin/popup_border_bottom_left.png +0 -0
  176. data/public/images/admin/popup_border_bottom_right.png +0 -0
  177. data/public/images/admin/popup_border_top_left.png +0 -0
  178. data/public/images/admin/popup_border_top_right.png +0 -0
  179. data/public/images/admin/single_form_shadow.png +0 -0
  180. data/public/images/admin/snippet.png +0 -0
  181. data/public/images/admin/spacer.gif +0 -0
  182. data/public/images/admin/status_background.png +0 -0
  183. data/public/images/admin/status_bottom_left.png +0 -0
  184. data/public/images/admin/status_bottom_right.png +0 -0
  185. data/public/images/admin/status_spinner.gif +0 -0
  186. data/public/images/admin/status_top_left.png +0 -0
  187. data/public/images/admin/status_top_right.png +0 -0
  188. data/public/images/admin/tab_close.png +0 -0
  189. data/public/images/admin/vertical_tan_gradient.png +0 -0
  190. data/public/images/admin/view_site.png +0 -0
  191. data/public/images/admin/virtual_page.png +0 -0
  192. data/public/images/radiant-badge-color.png +0 -0
  193. data/public/javascripts/admin/application.js +82 -0
  194. data/public/javascripts/admin/codearea.js +165 -0
  195. data/public/javascripts/{controls.js → admin/controls.js} +78 -76
  196. data/public/javascripts/admin/cookie.js +80 -0
  197. data/public/javascripts/admin/dateinput.js +402 -0
  198. data/public/javascripts/{dragdrop.js → admin/dragdrop.js} +167 -166
  199. data/public/javascripts/{effects.js → admin/effects.js} +168 -174
  200. data/public/javascripts/admin/lowpro.js +340 -0
  201. data/public/javascripts/admin/overrides.js +1 -0
  202. data/public/javascripts/admin/pagestatus.js +17 -0
  203. data/public/javascripts/admin/popup.js +216 -0
  204. data/public/javascripts/{prototype.js → admin/prototype.js} +1574 -1020
  205. data/public/javascripts/admin/ruledtable.js +5 -5
  206. data/public/javascripts/admin/shortcuts.js +27 -0
  207. data/public/javascripts/admin/sitemap.js +37 -20
  208. data/public/javascripts/admin/status.js +233 -0
  209. data/public/javascripts/admin/tabcontrol.js +88 -100
  210. data/public/javascripts/admin/toggle.js +430 -0
  211. data/public/javascripts/admin/utility.js +52 -0
  212. data/public/stylesheets/admin/main.css +1088 -588
  213. data/public/stylesheets/admin/overrides.css +1 -0
  214. data/public/stylesheets/sass/admin/main.sass +26 -0
  215. data/public/stylesheets/sass/admin/modules/_links.sass +15 -0
  216. data/public/stylesheets/sass/admin/modules/_opacity.sass +7 -0
  217. data/public/stylesheets/sass/admin/modules/_rounded.sass +41 -0
  218. data/public/stylesheets/sass/admin/modules/_shadow.sass +9 -0
  219. data/public/stylesheets/sass/admin/overrides.sass +2 -0
  220. data/public/stylesheets/sass/admin/partials/_actions.sass +43 -0
  221. data/public/stylesheets/sass/admin/partials/_avatars.sass +10 -0
  222. data/public/stylesheets/sass/admin/partials/_base.sass +59 -0
  223. data/public/stylesheets/sass/admin/partials/_content.sass +199 -0
  224. data/public/stylesheets/sass/admin/partials/_dateinput.sass +62 -0
  225. data/public/stylesheets/sass/admin/partials/_depreciated.sass +26 -0
  226. data/public/stylesheets/sass/admin/partials/_footer.sass +12 -0
  227. data/public/stylesheets/sass/admin/partials/_forms.sass +309 -0
  228. data/public/stylesheets/sass/admin/partials/_header.sass +112 -0
  229. data/public/stylesheets/sass/admin/partials/_layout.sass +10 -0
  230. data/public/stylesheets/sass/admin/partials/_messages.sass +10 -0
  231. data/public/stylesheets/sass/admin/partials/_popup.sass +117 -0
  232. data/public/stylesheets/sass/admin/partials/_reset.sass +36 -0
  233. data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +70 -0
  234. data/public/stylesheets/sass/admin/partials/_toolbar.sass +31 -0
  235. data/rerun.txt +1 -0
  236. data/script/cucumber +9 -7
  237. data/spec/controllers/admin/export_controller_spec.rb +1 -1
  238. data/spec/controllers/admin/layouts_controller_spec.rb +5 -5
  239. data/spec/controllers/admin/pages_controller_spec.rb +26 -7
  240. data/spec/controllers/admin/preferences_controller_spec.rb +5 -6
  241. data/spec/controllers/admin/references_controller_spec.rb +1 -1
  242. data/spec/controllers/admin/snippets_controller_spec.rb +6 -6
  243. data/spec/controllers/admin/users_controller_spec.rb +10 -1
  244. data/spec/controllers/admin/welcome_controller_spec.rb +3 -3
  245. data/spec/controllers/application_controller_spec.rb +14 -0
  246. data/spec/controllers/site_controller_spec.rb +48 -1
  247. data/spec/datasets/pages_dataset.rb +5 -1
  248. data/spec/datasets/users_dataset.rb +23 -10
  249. data/spec/generators/extension_controller_generator_spec.rb +16 -6
  250. data/spec/generators/extension_generator_spec.rb +49 -18
  251. data/spec/generators/extension_generators_spec_helper.rb +53 -26
  252. data/spec/generators/extension_mailer_generator_spec.rb +3 -3
  253. data/spec/generators/instance_generator_spec.rb +152 -0
  254. data/spec/helpers/admin/node_helper_spec.rb +8 -8
  255. data/spec/helpers/admin/references_helper_spec.rb +4 -4
  256. data/spec/helpers/admin/users_helper_spec.rb +2 -2
  257. data/spec/helpers/application_helper_spec.rb +68 -32
  258. data/spec/lib/login_system_spec.rb +1 -1
  259. data/spec/lib/radiant/admin_ui/nav_tabs_spec.rb +139 -0
  260. data/spec/lib/radiant/admin_ui_spec.rb +30 -131
  261. data/spec/lib/radiant/available_locales_spec.rb +13 -0
  262. data/spec/lib/radiant/extension/script_spec.rb +24 -11
  263. data/spec/lib/radiant/extension_loader_spec.rb +37 -7
  264. data/spec/lib/radiant/extension_spec.rb +32 -1
  265. data/spec/lib/radiant/initializer_spec.rb +32 -2
  266. data/spec/lib/radiant/taggable_spec.rb +10 -8
  267. data/spec/lib/radiant_spec.rb +5 -1
  268. data/spec/lib/task_support_spec.rb +31 -0
  269. data/spec/lib/translation_support_spec.rb +16 -0
  270. data/spec/matchers/generator_matchers.rb +145 -147
  271. data/spec/matchers/render_form_errors_matcher.rb +1 -1
  272. data/spec/models/page_spec.rb +36 -0
  273. data/spec/models/radiant/config_spec.rb +2 -2
  274. data/spec/models/standard_tags_spec.rb +96 -26
  275. data/spec/models/user_spec.rb +32 -8
  276. data/test/fixtures/extensions/{01_basic → basic}/app/controllers/basic_extension_controller.rb +0 -0
  277. data/test/fixtures/extensions/{01_basic → basic}/app/metal/basic_metal.rb +0 -0
  278. data/test/fixtures/extensions/{01_basic → basic}/app/models/basic_extension_mailer.rb +0 -0
  279. data/test/fixtures/extensions/{01_basic → basic}/app/models/basic_extension_model.rb +0 -0
  280. data/test/fixtures/extensions/{01_basic → basic}/app/views/basic_extension/index.html.erb +0 -0
  281. data/test/fixtures/extensions/{01_basic → basic}/app/views/basic_extension/override.html.erb +0 -0
  282. data/test/fixtures/extensions/{01_basic → basic}/app/views/basic_extension_mailer/message.text.html.erb +0 -0
  283. data/test/fixtures/extensions/{01_basic → basic}/basic_extension.rb +3 -4
  284. data/test/fixtures/extensions/{01_basic → basic}/db/migrate/200812131420_create_initial_schema.rb +0 -0
  285. data/test/fixtures/extensions/{01_basic → basic}/db/migrate/200812131421_modify_initial_schema.rb +0 -0
  286. data/test/fixtures/extensions/{01_basic → basic}/lib/new_module.rb +0 -0
  287. data/test/fixtures/extensions/{01_basic → basic}/vendor/plugins/multiple/init.rb +0 -0
  288. data/test/fixtures/extensions/{01_basic → basic}/vendor/plugins/multiple/lib/multiple.rb +0 -0
  289. data/test/fixtures/extensions/{01_basic → basic}/vendor/plugins/plugin_normal/init.rb +0 -0
  290. data/test/fixtures/extensions/{01_basic → basic}/vendor/plugins/plugin_normal/lib/normal_plugin.rb +0 -0
  291. data/test/fixtures/extensions/load_order_blue/load_order_blue_extension.rb +0 -3
  292. data/test/fixtures/extensions/load_order_green/load_order_green_extension.rb +0 -3
  293. data/test/fixtures/extensions/load_order_red/load_order_red_extension.rb +0 -3
  294. data/test/fixtures/extensions/locale/config/locales/en-uk.yml +3 -0
  295. data/test/fixtures/extensions/locale/config/locales/en.yml +3 -0
  296. data/test/fixtures/extensions/locale/locale_extension.rb +5 -0
  297. data/test/fixtures/extensions/{02_overriding → overriding}/app/metal/basic_metal.rb +0 -0
  298. data/test/fixtures/extensions/{02_overriding → overriding}/app/views/basic_extension/override.html.erb +0 -0
  299. data/test/fixtures/extensions/{02_overriding → overriding}/overriding_extension.rb +0 -3
  300. data/test/fixtures/extensions/{02_overriding → overriding}/vendor/plugins/multiple/init.rb +0 -0
  301. data/test/fixtures/extensions/{02_overriding → overriding}/vendor/plugins/multiple/lib/multiple.rb +0 -0
  302. data/test/fixtures/extensions/routed/config/routes.rb +1 -0
  303. data/test/fixtures/extensions/routed/routed_extension.rb +2 -0
  304. data/test/fixtures/extensions/{03_upgrading → upgrading}/db/migrate/01_first.rb +0 -0
  305. data/test/fixtures/extensions/{03_upgrading → upgrading}/db/migrate/02_second.rb +0 -0
  306. data/test/fixtures/extensions/{03_upgrading → upgrading}/db/migrate/03_pending.rb +0 -0
  307. data/test/fixtures/extensions/{03_upgrading → upgrading}/db/migrate/04_dont_run.rb +0 -0
  308. data/test/fixtures/extensions/{03_upgrading → upgrading}/upgrading_extension.rb +0 -0
  309. data/test/fixtures/gems/misnamed_ext-0.0.0/misnamed_ext_extension.rb +2 -0
  310. data/test/fixtures/gems/radiant-gem_ext-extension-0.0.0/gem_ext_extension.rb +2 -0
  311. data/test/fixtures/gems/radiant-gem_ext-extension-0.0.0/lib/gem_ext.rb +3 -0
  312. data/test/test_helper.rb +1 -1
  313. data/vendor/extensions/archive/archive_extension.rb +1 -1
  314. data/vendor/extensions/dutch_language_pack/README +3 -0
  315. data/vendor/extensions/dutch_language_pack/Rakefile +123 -0
  316. data/vendor/extensions/dutch_language_pack/config/locales/nl.yml +187 -0
  317. data/vendor/extensions/dutch_language_pack/config/locales/nl_available_tags.yml +553 -0
  318. data/vendor/extensions/dutch_language_pack/dutch_language_pack_extension.rb +9 -0
  319. data/vendor/extensions/dutch_language_pack/lib/tasks/i18n_nl_extension_tasks.rake +28 -0
  320. data/vendor/extensions/french_language_pack/README +3 -0
  321. data/vendor/extensions/french_language_pack/Rakefile +123 -0
  322. data/vendor/extensions/french_language_pack/config/locales/fr.yml +184 -0
  323. data/vendor/extensions/french_language_pack/config/locales/fr_available_tags.yml +553 -0
  324. data/vendor/extensions/french_language_pack/french_language_pack_extension.rb +9 -0
  325. data/vendor/extensions/french_language_pack/lib/tasks/i18n_fr_extension_tasks.rake +28 -0
  326. data/vendor/extensions/german_language_pack/README +3 -0
  327. data/vendor/extensions/german_language_pack/Rakefile +123 -0
  328. data/vendor/extensions/german_language_pack/config/locales/de.yml +184 -0
  329. data/vendor/extensions/german_language_pack/config/locales/de_available_tags.yml +553 -0
  330. data/vendor/extensions/german_language_pack/german_language_pack_extension.rb +9 -0
  331. data/vendor/extensions/german_language_pack/lib/tasks/i18n_de_extension_tasks.rake +28 -0
  332. data/vendor/extensions/italian_language_pack/README +3 -0
  333. data/vendor/extensions/italian_language_pack/Rakefile +123 -0
  334. data/vendor/extensions/italian_language_pack/config/locales/it.yml +184 -0
  335. data/vendor/extensions/italian_language_pack/config/locales/it_available_tags.yml +553 -0
  336. data/vendor/extensions/italian_language_pack/italian_language_pack_extension.rb +8 -0
  337. data/vendor/extensions/italian_language_pack/lib/tasks/i18n_it_extension_tasks.rake +28 -0
  338. data/vendor/extensions/japanese_language_pack/README +3 -0
  339. data/vendor/extensions/japanese_language_pack/Rakefile +123 -0
  340. data/vendor/extensions/japanese_language_pack/config/locales/ja.yml +184 -0
  341. data/vendor/extensions/japanese_language_pack/config/locales/ja_available_tags.yml +553 -0
  342. data/vendor/extensions/japanese_language_pack/japanese_language_pack_extension.rb +9 -0
  343. data/vendor/extensions/japanese_language_pack/lib/tasks/i18n_ja_extension_tasks.rake +28 -0
  344. data/vendor/extensions/markdown_filter/lib/markdown_filter.rb +5 -1
  345. data/vendor/extensions/markdown_filter/lib/markdown_tags.rb +4 -4
  346. data/vendor/extensions/markdown_filter/markdown.html +122 -122
  347. data/vendor/extensions/markdown_filter/markdown_filter_extension.rb +2 -2
  348. data/vendor/extensions/markdown_filter/smartypants.html +47 -47
  349. data/vendor/extensions/markdown_filter/spec/models/markdown_filter_spec.rb +1 -1
  350. data/vendor/extensions/markdown_filter/vendor/kramdown/AUTHORS +1 -0
  351. data/vendor/extensions/markdown_filter/vendor/kramdown/COPYING +24 -0
  352. data/vendor/extensions/markdown_filter/vendor/kramdown/ChangeLog +2624 -0
  353. data/vendor/extensions/markdown_filter/vendor/kramdown/GPL +674 -0
  354. data/vendor/extensions/markdown_filter/vendor/kramdown/README +20 -0
  355. data/vendor/extensions/markdown_filter/vendor/kramdown/Rakefile +283 -0
  356. data/vendor/extensions/markdown_filter/vendor/kramdown/VERSION +1 -0
  357. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/benchmark.rb +34 -0
  358. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/generate_data.rb +110 -0
  359. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-jruby-1.4.0.dat +7 -0
  360. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.6.dat +7 -0
  361. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.7.dat +7 -0
  362. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.1p243.dat +7 -0
  363. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.2dev.dat +7 -0
  364. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdbasics.text +306 -0
  365. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdsyntax.text +888 -0
  366. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-jruby-1.4.0.dat +7 -0
  367. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.6.dat +7 -0
  368. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.7.dat +7 -0
  369. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.1p243.dat +7 -0
  370. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.2dev.dat +7 -0
  371. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/testing.sh +9 -0
  372. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/timing.sh +10 -0
  373. data/vendor/extensions/markdown_filter/vendor/kramdown/bin/kramdown +71 -0
  374. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.css +293 -0
  375. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.template +78 -0
  376. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/index.page +91 -0
  377. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/installation.page +90 -0
  378. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.feed +10 -0
  379. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.page +27 -0
  380. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/quickref.page +551 -0
  381. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/syntax.page +1451 -0
  382. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/tests.page +51 -0
  383. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/virtual +2 -0
  384. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown.rb +23 -0
  385. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/compatibility.rb +34 -0
  386. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter.rb +36 -0
  387. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/base.rb +75 -0
  388. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/html.rb +325 -0
  389. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/latex.rb +516 -0
  390. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/document.rb +145 -0
  391. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/error.rb +27 -0
  392. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/options.rb +262 -0
  393. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser.rb +33 -0
  394. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown.rb +292 -0
  395. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/attribute_list.rb +102 -0
  396. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/autolink.rb +42 -0
  397. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blank_line.rb +43 -0
  398. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blockquote.rb +42 -0
  399. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codeblock.rb +58 -0
  400. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codespan.rb +57 -0
  401. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/emphasis.rb +69 -0
  402. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/eob.rb +39 -0
  403. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/escaped_chars.rb +38 -0
  404. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/extension.rb +109 -0
  405. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/footnote.rb +73 -0
  406. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/header.rb +81 -0
  407. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/horizontal_rule.rb +39 -0
  408. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html.rb +253 -0
  409. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html_entity.rb +38 -0
  410. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/line_break.rb +38 -0
  411. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/link.rb +153 -0
  412. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/list.rb +225 -0
  413. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/paragraph.rb +44 -0
  414. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/smart_quotes.rb +213 -0
  415. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/table.rb +125 -0
  416. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/typographic_symbol.rb +48 -0
  417. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/version.rb +28 -0
  418. data/vendor/extensions/markdown_filter/vendor/kramdown/setup.rb +1585 -0
  419. data/vendor/extensions/markdown_filter/vendor/kramdown/test/run_tests.rb +58 -0
  420. data/vendor/extensions/markdown_filter/vendor/kramdown/test/test_files.rb +39 -0
  421. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.html +1 -0
  422. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.text +3 -0
  423. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.html +1 -0
  424. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.text +6 -0
  425. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.html +1 -0
  426. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.text +3 -0
  427. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.html +1 -0
  428. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.text +3 -0
  429. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.html +2 -0
  430. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.text +5 -0
  431. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.html +18 -0
  432. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.text +19 -0
  433. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.html +5 -0
  434. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.text +5 -0
  435. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.html +1 -0
  436. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.text +1 -0
  437. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.html +4 -0
  438. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.text +4 -0
  439. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.html +34 -0
  440. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.text +32 -0
  441. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.html +1 -0
  442. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.text +1 -0
  443. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.html +31 -0
  444. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.text +36 -0
  445. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.html +1 -0
  446. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.text +2 -0
  447. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.html +17 -0
  448. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.options +1 -0
  449. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.text +19 -0
  450. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.html +25 -0
  451. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.text +14 -0
  452. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.html +9 -0
  453. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.text +5 -0
  454. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.html +4 -0
  455. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.text +2 -0
  456. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.html +8 -0
  457. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.text +4 -0
  458. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.html +15 -0
  459. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.text +11 -0
  460. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.html +4 -0
  461. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.text +4 -0
  462. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.html +2 -0
  463. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.text +1 -0
  464. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.html +13 -0
  465. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.text +10 -0
  466. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.html +7 -0
  467. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.text +9 -0
  468. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.html +3 -0
  469. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.text +3 -0
  470. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.html +13 -0
  471. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.text +12 -0
  472. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.html +6 -0
  473. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.text +5 -0
  474. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.html +7 -0
  475. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.text +7 -0
  476. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.html +19 -0
  477. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.text +19 -0
  478. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.html +3 -0
  479. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.text +3 -0
  480. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.html +3 -0
  481. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.text +3 -0
  482. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.html +17 -0
  483. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.text +17 -0
  484. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.html +9 -0
  485. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.text +5 -0
  486. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.html +38 -0
  487. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.text +25 -0
  488. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.html +111 -0
  489. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.text +66 -0
  490. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.html +17 -0
  491. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.text +7 -0
  492. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.html +39 -0
  493. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.text +18 -0
  494. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.html +19 -0
  495. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.text +13 -0
  496. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.html +61 -0
  497. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.text +43 -0
  498. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.html +3 -0
  499. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.text +1 -0
  500. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.html +29 -0
  501. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.text +19 -0
  502. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.html +13 -0
  503. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.text +12 -0
  504. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.html +6 -0
  505. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.options +1 -0
  506. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.text +6 -0
  507. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.html +14 -0
  508. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.options +1 -0
  509. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.text +14 -0
  510. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.html +1 -0
  511. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.options +1 -0
  512. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.text +1 -0
  513. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.html +15 -0
  514. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.options +1 -0
  515. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.text +13 -0
  516. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.html +3 -0
  517. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.text +5 -0
  518. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.html +5 -0
  519. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.text +5 -0
  520. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.html +38 -0
  521. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.text +38 -0
  522. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.html +24 -0
  523. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.text +24 -0
  524. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.html +32 -0
  525. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.options +1 -0
  526. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.text +30 -0
  527. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.html +12 -0
  528. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.options +1 -0
  529. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.text +9 -0
  530. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.html +21 -0
  531. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.options +1 -0
  532. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.text +17 -0
  533. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.html +13 -0
  534. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.text +12 -0
  535. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.html +62 -0
  536. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.options +1 -0
  537. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.text +57 -0
  538. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.html +2 -0
  539. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.text +8 -0
  540. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.html +1 -0
  541. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.options +1 -0
  542. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.text +2 -0
  543. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.html +20 -0
  544. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.text +27 -0
  545. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.html +5 -0
  546. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.text +11 -0
  547. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.html +6 -0
  548. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.text +11 -0
  549. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.html +6 -0
  550. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.text +11 -0
  551. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.html +24 -0
  552. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.text +28 -0
  553. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.html +10 -0
  554. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.text +5 -0
  555. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.html +7 -0
  556. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.text +7 -0
  557. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.html +1 -0
  558. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.text +1 -0
  559. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.html +13 -0
  560. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.text +10 -0
  561. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.html +2 -0
  562. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.text +2 -0
  563. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.html +10 -0
  564. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.text +6 -0
  565. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.html +8 -0
  566. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.text +5 -0
  567. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.html +8 -0
  568. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.text +7 -0
  569. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.html +4 -0
  570. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.text +2 -0
  571. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.html +3 -0
  572. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.text +4 -0
  573. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.html +38 -0
  574. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.text +24 -0
  575. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.html +3 -0
  576. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.text +3 -0
  577. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.html +65 -0
  578. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.text +25 -0
  579. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.html +103 -0
  580. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.text +32 -0
  581. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.html +3 -0
  582. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.text +3 -0
  583. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.html +61 -0
  584. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.text +16 -0
  585. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.html +46 -0
  586. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.text +28 -0
  587. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.html +3 -0
  588. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.text +3 -0
  589. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.html +5 -0
  590. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.text +5 -0
  591. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.html +12 -0
  592. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.text +14 -0
  593. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.html +40 -0
  594. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.text +42 -0
  595. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.html +8 -0
  596. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.text +22 -0
  597. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.html +3 -0
  598. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.text +3 -0
  599. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.html +32 -0
  600. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.text +42 -0
  601. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.html +3 -0
  602. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.text +3 -0
  603. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.html +9 -0
  604. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.text +9 -0
  605. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.html +34 -0
  606. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.text +30 -0
  607. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.html +46 -0
  608. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.text +46 -0
  609. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.html +5 -0
  610. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.text +5 -0
  611. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.html +1 -0
  612. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.text +1 -0
  613. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.html +16 -0
  614. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.text +16 -0
  615. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.html +14 -0
  616. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.text +18 -0
  617. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.html +12 -0
  618. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.options +1 -0
  619. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.text +4 -0
  620. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.html +46 -0
  621. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.text +26 -0
  622. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.html +1 -0
  623. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.text +2 -0
  624. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.html +1 -0
  625. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.text +1 -0
  626. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.html +6 -0
  627. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.text +6 -0
  628. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.html +28 -0
  629. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.text +28 -0
  630. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.html +9 -0
  631. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.text +9 -0
  632. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.html +41 -0
  633. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.text +41 -0
  634. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.html +5 -0
  635. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.text +5 -0
  636. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.html +11 -0
  637. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.text +11 -0
  638. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.html +4 -0
  639. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.text +4 -0
  640. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.html +1 -0
  641. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.text +1 -0
  642. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.html +1 -0
  643. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.text +1 -0
  644. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.html +15 -0
  645. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.text +15 -0
  646. data/vendor/extensions/russian_language_pack/README +3 -0
  647. data/vendor/extensions/russian_language_pack/Rakefile +123 -0
  648. data/vendor/extensions/russian_language_pack/config/locales/ru.yml +180 -0
  649. data/vendor/extensions/russian_language_pack/config/locales/ru_available_tags.yml +553 -0
  650. data/vendor/extensions/russian_language_pack/lib/tasks/i18n_ru_extension_tasks.rake +28 -0
  651. data/vendor/extensions/russian_language_pack/russian_language_pack_extension.rb +9 -0
  652. data/vendor/extensions/textile_filter/textile.html +114 -114
  653. data/vendor/plugins/dataset/lib/dataset/extensions/cucumber.rb +5 -4
  654. data/vendor/plugins/dataset/lib/dataset/load.rb +0 -10
  655. data/vendor/plugins/dataset/lib/dataset/session.rb +4 -20
  656. data/vendor/plugins/dataset/lib/dataset/session_binding.rb +5 -15
  657. data/vendor/plugins/haml/CONTRIBUTING +4 -0
  658. data/vendor/plugins/haml/MIT-LICENSE +1 -1
  659. data/vendor/plugins/haml/README.md +357 -0
  660. data/vendor/plugins/haml/Rakefile +233 -26
  661. data/vendor/plugins/haml/TODO +47 -0
  662. data/vendor/plugins/haml/VERSION +1 -1
  663. data/vendor/plugins/haml/VERSION_NAME +1 -0
  664. data/vendor/plugins/haml/doc-src/FAQ.md +175 -0
  665. data/vendor/plugins/haml/doc-src/HAML_CHANGELOG.md +479 -0
  666. data/vendor/plugins/haml/doc-src/HAML_REFERENCE.md +1184 -0
  667. data/vendor/plugins/haml/doc-src/SASS_CHANGELOG.md +695 -0
  668. data/vendor/plugins/haml/doc-src/SASS_REFERENCE.md +1150 -0
  669. data/vendor/plugins/haml/extra/haml-mode.el +514 -97
  670. data/vendor/plugins/haml/extra/sass-mode.el +155 -38
  671. data/vendor/plugins/haml/extra/update_watch.rb +13 -0
  672. data/vendor/plugins/haml/haml.gemspec +51 -0
  673. data/vendor/plugins/haml/init.rb +11 -3
  674. data/vendor/plugins/haml/lib/haml.rb +15 -993
  675. data/vendor/plugins/haml/lib/haml/buffer.rb +147 -85
  676. data/vendor/plugins/haml/lib/haml/engine.rb +137 -103
  677. data/vendor/plugins/haml/lib/haml/error.rb +7 -7
  678. data/vendor/plugins/haml/lib/haml/exec.rb +141 -45
  679. data/vendor/plugins/haml/lib/haml/filters.rb +108 -43
  680. data/vendor/plugins/haml/lib/haml/helpers.rb +267 -168
  681. data/vendor/plugins/haml/lib/haml/helpers/action_view_extensions.rb +48 -38
  682. data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rb +135 -138
  683. data/vendor/plugins/haml/lib/haml/helpers/xss_mods.rb +125 -0
  684. data/vendor/plugins/haml/lib/haml/html.rb +146 -100
  685. data/vendor/plugins/haml/lib/haml/precompiler.rb +528 -277
  686. data/vendor/plugins/haml/lib/haml/shared.rb +78 -0
  687. data/vendor/plugins/haml/lib/haml/template.rb +49 -15
  688. data/vendor/plugins/haml/lib/haml/template/patch.rb +2 -2
  689. data/vendor/plugins/haml/lib/haml/template/plugin.rb +9 -6
  690. data/vendor/plugins/haml/lib/haml/util.rb +299 -6
  691. data/vendor/plugins/haml/lib/haml/version.rb +30 -13
  692. data/vendor/plugins/haml/lib/sass.rb +7 -856
  693. data/vendor/plugins/haml/lib/sass/css.rb +171 -161
  694. data/vendor/plugins/haml/lib/sass/engine.rb +365 -316
  695. data/vendor/plugins/haml/lib/sass/environment.rb +79 -0
  696. data/vendor/plugins/haml/lib/sass/error.rb +33 -11
  697. data/vendor/plugins/haml/lib/sass/files.rb +147 -0
  698. data/vendor/plugins/haml/lib/sass/plugin.rb +177 -123
  699. data/vendor/plugins/haml/lib/sass/plugin/merb.rb +9 -16
  700. data/vendor/plugins/haml/lib/sass/plugin/rack.rb +65 -0
  701. data/vendor/plugins/haml/lib/sass/plugin/rails.rb +15 -15
  702. data/vendor/plugins/haml/lib/sass/repl.rb +58 -0
  703. data/vendor/plugins/haml/lib/sass/script.rb +62 -0
  704. data/vendor/plugins/haml/lib/sass/script/bool.rb +17 -0
  705. data/vendor/plugins/haml/lib/sass/script/color.rb +222 -0
  706. data/vendor/plugins/haml/lib/sass/script/funcall.rb +50 -0
  707. data/vendor/plugins/haml/lib/sass/script/functions.rb +257 -0
  708. data/vendor/plugins/haml/lib/sass/script/lexer.rb +194 -0
  709. data/vendor/plugins/haml/lib/sass/script/literal.rb +177 -0
  710. data/vendor/plugins/haml/lib/sass/script/node.rb +14 -0
  711. data/vendor/plugins/haml/lib/sass/script/number.rb +383 -0
  712. data/vendor/plugins/haml/lib/sass/script/operation.rb +45 -0
  713. data/vendor/plugins/haml/lib/sass/script/parser.rb +222 -0
  714. data/vendor/plugins/haml/lib/sass/script/string.rb +12 -0
  715. data/vendor/plugins/haml/lib/sass/script/unary_operation.rb +34 -0
  716. data/vendor/plugins/haml/lib/sass/script/variable.rb +31 -0
  717. data/vendor/plugins/haml/lib/sass/tree/comment_node.rb +74 -10
  718. data/vendor/plugins/haml/lib/sass/tree/debug_node.rb +30 -0
  719. data/vendor/plugins/haml/lib/sass/tree/directive_node.rb +39 -17
  720. data/vendor/plugins/haml/lib/sass/tree/for_node.rb +48 -0
  721. data/vendor/plugins/haml/lib/sass/tree/if_node.rb +54 -0
  722. data/vendor/plugins/haml/lib/sass/tree/import_node.rb +65 -0
  723. data/vendor/plugins/haml/lib/sass/tree/mixin_def_node.rb +29 -0
  724. data/vendor/plugins/haml/lib/sass/tree/mixin_node.rb +48 -0
  725. data/vendor/plugins/haml/lib/sass/tree/node.rb +216 -11
  726. data/vendor/plugins/haml/lib/sass/tree/prop_node.rb +121 -0
  727. data/vendor/plugins/haml/lib/sass/tree/rule_node.rb +182 -51
  728. data/vendor/plugins/haml/lib/sass/tree/variable_node.rb +34 -0
  729. data/vendor/plugins/haml/lib/sass/tree/while_node.rb +31 -0
  730. data/vendor/plugins/haml/test/haml/engine_test.rb +659 -44
  731. data/vendor/plugins/haml/test/haml/helper_test.rb +60 -2
  732. data/vendor/plugins/haml/test/haml/html2haml_test.rb +60 -0
  733. data/vendor/plugins/haml/test/haml/results/content_for_layout.xhtml +0 -3
  734. data/vendor/plugins/haml/test/haml/results/filters.xhtml +2 -0
  735. data/vendor/plugins/haml/test/haml/results/just_stuff.xhtml +3 -3
  736. data/vendor/plugins/haml/test/haml/results/list.xhtml +1 -1
  737. data/vendor/plugins/haml/test/haml/results/standard.xhtml +120 -0
  738. data/vendor/plugins/haml/test/haml/rhtml/standard.rhtml +2 -2
  739. data/vendor/plugins/haml/test/haml/template_test.rb +117 -11
  740. data/vendor/plugins/haml/test/haml/templates/content_for_layout.haml +0 -2
  741. data/vendor/plugins/haml/test/haml/templates/list.haml +1 -1
  742. data/vendor/plugins/haml/test/haml/templates/standard.haml +2 -2
  743. data/vendor/plugins/haml/test/haml/templates/standard_ugly.haml +2 -2
  744. data/vendor/plugins/haml/test/haml/util_test.rb +107 -0
  745. data/vendor/plugins/haml/test/linked_rails.rb +11 -2
  746. data/vendor/plugins/haml/test/sass/css2sass_test.rb +83 -24
  747. data/vendor/plugins/haml/test/sass/engine_test.rb +743 -67
  748. data/vendor/plugins/haml/test/sass/functions_test.rb +174 -0
  749. data/vendor/plugins/haml/test/sass/more_results/more1.css +9 -0
  750. data/vendor/plugins/haml/test/sass/more_results/more1_with_line_comments.css +26 -0
  751. data/vendor/plugins/haml/test/sass/more_results/more_import.css +29 -0
  752. data/vendor/plugins/haml/test/sass/more_templates/_more_partial.sass +2 -0
  753. data/vendor/plugins/haml/test/sass/more_templates/more1.sass +23 -0
  754. data/vendor/plugins/haml/test/sass/more_templates/more_import.sass +11 -0
  755. data/vendor/plugins/haml/test/sass/plugin_test.rb +130 -48
  756. data/vendor/plugins/haml/test/sass/results/line_numbers.css +49 -0
  757. data/vendor/plugins/haml/test/sass/results/script.css +16 -0
  758. data/vendor/plugins/haml/test/sass/results/subdir/subdir.css +2 -0
  759. data/vendor/plugins/haml/test/sass/results/units.css +11 -0
  760. data/vendor/plugins/haml/test/sass/script_test.rb +267 -0
  761. data/vendor/plugins/haml/test/sass/templates/complex.sass +0 -3
  762. data/vendor/plugins/haml/test/sass/templates/import.sass +2 -2
  763. data/vendor/plugins/haml/test/sass/templates/importee.sass +7 -2
  764. data/vendor/plugins/haml/test/sass/templates/line_numbers.sass +13 -0
  765. data/vendor/plugins/haml/test/sass/templates/script.sass +101 -0
  766. data/vendor/plugins/haml/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +2 -0
  767. data/vendor/plugins/haml/test/sass/templates/subdir/subdir.sass +2 -2
  768. data/vendor/plugins/haml/test/sass/templates/units.sass +11 -0
  769. data/vendor/plugins/haml/test/test_helper.rb +26 -4
  770. data/vendor/plugins/haml/yard/default/fulldoc/html/css/common.sass +22 -0
  771. data/vendor/plugins/haml/yard/default/layout/html/footer.erb +12 -0
  772. data/vendor/plugins/haml/yard/inherited_hash.rb +41 -0
  773. data/vendor/radius/CHANGELOG +8 -0
  774. data/vendor/radius/Manifest.txt +21 -0
  775. data/vendor/radius/{QUICKSTART → QUICKSTART.rdoc} +11 -12
  776. data/vendor/radius/{README → README.rdoc} +38 -17
  777. data/vendor/radius/Rakefile +31 -86
  778. data/vendor/radius/lib/radius.rb +10 -502
  779. data/vendor/radius/lib/radius/context.rb +139 -0
  780. data/vendor/radius/lib/radius/delegating_open_struct.rb +31 -0
  781. data/vendor/radius/lib/radius/error.rb +43 -0
  782. data/vendor/radius/lib/radius/parse_tag.rb +24 -0
  783. data/vendor/radius/lib/radius/parser.rb +65 -0
  784. data/vendor/radius/lib/radius/parser/scan.rb +1247 -0
  785. data/vendor/radius/lib/radius/parser/scan.rl +123 -0
  786. data/vendor/radius/lib/radius/tag_binding.rb +71 -0
  787. data/vendor/radius/lib/radius/tag_definitions.rb +78 -0
  788. data/vendor/radius/lib/radius/utility.rb +30 -0
  789. data/vendor/radius/lib/radius/version.rb +14 -0
  790. data/vendor/radius/radius.gemspec +38 -0
  791. data/vendor/radius/tasks/scan.rake +27 -0
  792. data/vendor/radius/test/context_test.rb +61 -0
  793. data/vendor/radius/test/{radius_test.rb → parser_test.rb} +45 -82
  794. data/vendor/radius/test/quickstart_test.rb +153 -0
  795. data/vendor/radius/test/test_helper.rb +28 -0
  796. data/vendor/rails/Rakefile +81 -0
  797. data/vendor/rails/actionmailer/CHANGELOG +4 -0
  798. data/vendor/rails/actionmailer/Rakefile +1 -1
  799. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/parser.rb +2 -0
  800. data/vendor/rails/actionmailer/lib/action_mailer/version.rb +1 -1
  801. data/vendor/rails/actionmailer/lib/actionmailer.rb +1 -0
  802. data/vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb +1 -1
  803. data/vendor/rails/actionmailer/test/mail_service_test.rb +3 -1
  804. data/vendor/rails/actionpack/CHANGELOG +12 -0
  805. data/vendor/rails/actionpack/Rakefile +1 -1
  806. data/vendor/rails/actionpack/lib/action_controller.rb +3 -1
  807. data/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb +19 -3
  808. data/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb +16 -10
  809. data/vendor/rails/actionpack/lib/action_controller/base.rb +1 -1
  810. data/vendor/rails/actionpack/lib/action_controller/caching.rb +1 -0
  811. data/vendor/rails/actionpack/lib/action_controller/cookies.rb +2 -1
  812. data/vendor/rails/actionpack/lib/action_controller/http_authentication.rb +3 -2
  813. data/vendor/rails/actionpack/lib/action_controller/integration.rb +15 -3
  814. data/vendor/rails/actionpack/lib/action_controller/layout.rb +6 -1
  815. data/vendor/rails/actionpack/lib/action_controller/middlewares.rb +2 -0
  816. data/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb +6 -21
  817. data/vendor/rails/actionpack/lib/action_controller/rack_lint_patch.rb +36 -0
  818. data/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb +6 -2
  819. data/vendor/rails/actionpack/lib/action_controller/response.rb +2 -1
  820. data/vendor/rails/actionpack/lib/action_controller/string_coercion.rb +29 -0
  821. data/vendor/rails/actionpack/lib/action_controller/test_case.rb +6 -1
  822. data/vendor/rails/actionpack/lib/action_controller/test_process.rb +1 -1
  823. data/vendor/rails/actionpack/lib/action_controller/translation.rb +2 -2
  824. data/vendor/rails/actionpack/lib/action_controller/uploaded_file.rb +2 -2
  825. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb +1 -1
  826. data/vendor/rails/actionpack/lib/action_pack/version.rb +1 -1
  827. data/vendor/rails/actionpack/lib/action_view.rb +3 -3
  828. data/vendor/rails/actionpack/lib/action_view/base.rb +6 -1
  829. data/vendor/rails/actionpack/lib/action_view/erb/util.rb +6 -0
  830. data/vendor/rails/actionpack/lib/action_view/helpers.rb +2 -0
  831. data/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +3 -3
  832. data/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb +2 -2
  833. data/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb +2 -2
  834. data/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb +27 -15
  835. data/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb +32 -11
  836. data/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb +1 -1
  837. data/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb +3 -3
  838. data/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb +6 -1
  839. data/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +1 -1
  840. data/vendor/rails/actionpack/lib/action_view/helpers/raw_output_helper.rb +9 -0
  841. data/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb +10 -2
  842. data/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb +4 -4
  843. data/vendor/rails/actionpack/lib/action_view/helpers/translation_helper.rb +1 -1
  844. data/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb +3 -3
  845. data/vendor/rails/actionpack/lib/action_view/locale/en.yml +3 -0
  846. data/vendor/rails/actionpack/lib/action_view/partials.rb +1 -1
  847. data/vendor/rails/actionpack/lib/action_view/safe_buffer.rb +28 -0
  848. data/vendor/rails/actionpack/lib/action_view/template.rb +8 -2
  849. data/vendor/rails/actionpack/lib/action_view/test_case.rb +102 -27
  850. data/vendor/rails/actionpack/lib/actionpack.rb +1 -0
  851. data/vendor/rails/actionpack/test/controller/cookie_test.rb +7 -0
  852. data/vendor/rails/actionpack/test/controller/dom_assertions_test.rb +53 -0
  853. data/vendor/rails/actionpack/test/controller/filter_params_test.rb +1 -0
  854. data/vendor/rails/actionpack/test/controller/html-scanner/sanitizer_test.rb +1 -0
  855. data/vendor/rails/actionpack/test/controller/http_digest_authentication_test.rb +22 -0
  856. data/vendor/rails/actionpack/test/controller/integration_test.rb +38 -0
  857. data/vendor/rails/actionpack/test/controller/layout_test.rb +11 -0
  858. data/vendor/rails/actionpack/test/controller/polymorphic_routes_test.rb +4 -0
  859. data/vendor/rails/actionpack/test/controller/request_forgery_protection_test.rb +19 -1
  860. data/vendor/rails/actionpack/test/controller/routing_test.rb +23 -15
  861. data/vendor/rails/actionpack/test/controller/session/test_session_test.rb +2 -2
  862. data/vendor/rails/actionpack/test/fixtures/layout_tests/abs_path_layout.rhtml +1 -0
  863. data/vendor/rails/actionpack/test/fixtures/test/_from_helper.erb +1 -0
  864. data/vendor/rails/actionpack/test/template/active_record_helper_test.rb +1 -1
  865. data/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +12 -0
  866. data/vendor/rails/actionpack/test/template/benchmark_helper_test.rb +6 -6
  867. data/vendor/rails/actionpack/test/template/compiled_templates_test.rb +2 -1
  868. data/vendor/rails/actionpack/test/template/date_helper_i18n_test.rb +10 -9
  869. data/vendor/rails/actionpack/test/template/date_helper_test.rb +29 -13
  870. data/vendor/rails/actionpack/test/template/form_helper_test.rb +90 -10
  871. data/vendor/rails/actionpack/test/template/number_helper_test.rb +4 -0
  872. data/vendor/rails/actionpack/test/template/raw_output_helper_test.rb +21 -0
  873. data/vendor/rails/actionpack/test/template/sanitize_helper_test.rb +10 -1
  874. data/vendor/rails/actionpack/test/template/tag_helper_test.rb +1 -0
  875. data/vendor/rails/actionpack/test/view/safe_buffer_test.rb +36 -0
  876. data/vendor/rails/actionpack/test/view/test_case_test.rb +173 -5
  877. data/vendor/rails/activemodel/CHANGES +12 -0
  878. data/vendor/rails/activemodel/README +21 -0
  879. data/vendor/rails/activemodel/Rakefile +24 -0
  880. data/vendor/rails/activemodel/lib/active_model.rb +5 -0
  881. data/vendor/rails/activemodel/lib/active_model/base.rb +8 -0
  882. data/vendor/rails/activemodel/lib/active_model/callbacks.rb +7 -0
  883. data/vendor/rails/activemodel/lib/active_model/core.rb +7 -0
  884. data/vendor/rails/activemodel/lib/active_model/deprecated_error_methods.rb +38 -0
  885. data/vendor/rails/activemodel/lib/active_model/errors.rb +82 -0
  886. data/vendor/rails/activemodel/lib/active_model/observing.rb +98 -0
  887. data/vendor/rails/activemodel/lib/active_model/state_machine.rb +68 -0
  888. data/vendor/rails/activemodel/lib/active_model/state_machine/event.rb +64 -0
  889. data/vendor/rails/activemodel/lib/active_model/state_machine/machine.rb +78 -0
  890. data/vendor/rails/activemodel/lib/active_model/state_machine/state.rb +47 -0
  891. data/vendor/rails/activemodel/lib/active_model/state_machine/state_transition.rb +40 -0
  892. data/vendor/rails/activemodel/lib/active_model/validations.rb +126 -0
  893. data/vendor/rails/activemodel/lib/active_model/validations/acceptance.rb +45 -0
  894. data/vendor/rails/activemodel/lib/active_model/validations/associated.rb +46 -0
  895. data/vendor/rails/activemodel/lib/active_model/validations/confirmation.rb +44 -0
  896. data/vendor/rails/activemodel/lib/active_model/validations/exclusion.rb +37 -0
  897. data/vendor/rails/activemodel/lib/active_model/validations/format.rb +39 -0
  898. data/vendor/rails/activemodel/lib/active_model/validations/inclusion.rb +37 -0
  899. data/vendor/rails/activemodel/lib/active_model/validations/length.rb +95 -0
  900. data/vendor/rails/activemodel/lib/active_model/validations/numericality.rb +80 -0
  901. data/vendor/rails/activemodel/lib/active_model/validations/presence.rb +42 -0
  902. data/vendor/rails/activemodel/lib/active_model/validations/uniqueness.rb +104 -0
  903. data/vendor/rails/activemodel/test/observing_test.rb +121 -0
  904. data/vendor/rails/activemodel/test/state_machine/event_test.rb +49 -0
  905. data/vendor/rails/activemodel/test/state_machine/machine_test.rb +43 -0
  906. data/vendor/rails/activemodel/test/state_machine/state_test.rb +72 -0
  907. data/vendor/rails/activemodel/test/state_machine/state_transition_test.rb +84 -0
  908. data/vendor/rails/activemodel/test/state_machine_test.rb +312 -0
  909. data/vendor/rails/activemodel/test/test_helper.rb +21 -0
  910. data/vendor/rails/activerecord/CHANGELOG +8 -0
  911. data/vendor/rails/activerecord/MIT-LICENSE +20 -0
  912. data/vendor/rails/activerecord/Rakefile +1 -1
  913. data/vendor/rails/activerecord/lib/active_record/associations.rb +10 -7
  914. data/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb +7 -8
  915. data/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb +2 -2
  916. data/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb +9 -0
  917. data/vendor/rails/activerecord/lib/active_record/autosave_association.rb +32 -23
  918. data/vendor/rails/activerecord/lib/active_record/base.rb +7 -0
  919. data/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +6 -2
  920. data/vendor/rails/activerecord/lib/active_record/fixtures.rb +1 -1
  921. data/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb +0 -33
  922. data/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb +0 -22
  923. data/vendor/rails/activerecord/lib/active_record/nested_attributes.rb +101 -38
  924. data/vendor/rails/activerecord/lib/active_record/validations.rb +35 -35
  925. data/vendor/rails/activerecord/lib/active_record/version.rb +1 -1
  926. data/vendor/rails/activerecord/lib/activerecord.rb +1 -0
  927. data/vendor/rails/activerecord/test/cases/associations/has_many_associations_test.rb +12 -0
  928. data/vendor/rails/activerecord/test/cases/associations/has_many_through_associations_test.rb +22 -0
  929. data/vendor/rails/activerecord/test/cases/associations/has_one_associations_test.rb +21 -0
  930. data/vendor/rails/activerecord/test/cases/autosave_association_test.rb +230 -11
  931. data/vendor/rails/activerecord/test/cases/base_test.rb +2 -0
  932. data/vendor/rails/activerecord/test/cases/connection_test_mysql.rb +8 -0
  933. data/vendor/rails/activerecord/test/cases/fixtures_test.rb +2 -2
  934. data/vendor/rails/activerecord/test/cases/locking_test.rb +0 -18
  935. data/vendor/rails/activerecord/test/cases/nested_attributes_test.rb +109 -37
  936. data/vendor/rails/activerecord/test/cases/reflection_test.rb +3 -3
  937. data/vendor/rails/activerecord/test/cases/validations_i18n_test.rb +8 -0
  938. data/vendor/rails/activerecord/test/cases/validations_test.rb +37 -9
  939. data/vendor/rails/activerecord/test/fixtures/accounts.yml +1 -0
  940. data/vendor/rails/activerecord/test/models/company.rb +10 -0
  941. data/vendor/rails/activerecord/test/models/pirate.rb +9 -2
  942. data/vendor/rails/activerecord/test/models/treasure.rb +2 -0
  943. data/vendor/rails/activerecord/test/schema/mysql_specific_schema.rb +12 -0
  944. data/vendor/rails/activerecord/test/schema/schema.rb +1 -0
  945. data/vendor/rails/activeresource/CHANGELOG +9 -0
  946. data/vendor/rails/activeresource/MIT-LICENSE +20 -0
  947. data/vendor/rails/activeresource/Rakefile +1 -1
  948. data/vendor/rails/activeresource/lib/active_resource/validations.rb +2 -2
  949. data/vendor/rails/activeresource/lib/active_resource/version.rb +1 -1
  950. data/vendor/rails/activeresource/lib/activeresource.rb +1 -0
  951. data/vendor/rails/activeresource/test/base_errors_test.rb +2 -2
  952. data/vendor/rails/activesupport/CHANGELOG +8 -0
  953. data/vendor/rails/activesupport/MIT-LICENSE +20 -0
  954. data/vendor/rails/activesupport/Rakefile +175 -0
  955. data/vendor/rails/activesupport/bin/generate_tables +147 -0
  956. data/vendor/rails/activesupport/install.rb +30 -0
  957. data/vendor/rails/activesupport/lib/active_support/cache.rb +7 -0
  958. data/vendor/rails/activesupport/lib/active_support/cache/mem_cache_store.rb +5 -0
  959. data/vendor/rails/activesupport/lib/active_support/cache/strategy/local_cache.rb +5 -5
  960. data/vendor/rails/activesupport/lib/active_support/core_ext.rb +7 -3
  961. data/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb +2 -58
  962. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb +1 -0
  963. data/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb +3 -1
  964. data/vendor/rails/activesupport/lib/active_support/core_ext/object.rb +1 -0
  965. data/vendor/rails/activesupport/lib/active_support/core_ext/object/blank.rb +58 -0
  966. data/vendor/rails/activesupport/lib/active_support/core_ext/string.rb +2 -0
  967. data/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb +48 -0
  968. data/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb +2 -1
  969. data/vendor/rails/activesupport/lib/active_support/deprecation.rb +1 -1
  970. data/vendor/rails/activesupport/lib/active_support/json/backends/jsongem.rb +2 -3
  971. data/vendor/rails/activesupport/lib/active_support/json/backends/yaml.rb +1 -5
  972. data/vendor/rails/activesupport/lib/active_support/json/decoding.rb +2 -0
  973. data/vendor/rails/activesupport/lib/active_support/message_verifier.rb +30 -10
  974. data/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb +1 -1
  975. data/vendor/rails/activesupport/lib/active_support/multibyte/utils.rb +4 -4
  976. data/vendor/rails/activesupport/lib/active_support/ordered_hash.rb +7 -0
  977. data/vendor/rails/activesupport/lib/active_support/vendor.rb +2 -2
  978. data/vendor/rails/activesupport/lib/active_support/version.rb +1 -1
  979. data/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +8 -2
  980. data/vendor/rails/activesupport/lib/active_support/xml_mini/nokogiri.rb +13 -21
  981. data/vendor/rails/activesupport/lib/activesupport.rb +1 -0
  982. data/vendor/rails/activesupport/test/abstract_unit.rb +36 -0
  983. data/vendor/rails/activesupport/test/autoloading_fixtures/a/b.rb +2 -0
  984. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/d.rb +2 -0
  985. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/e/f.rb +2 -0
  986. data/vendor/rails/activesupport/test/autoloading_fixtures/application.rb +1 -0
  987. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder.rb +3 -0
  988. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/class_folder_subclass.rb +3 -0
  989. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/inline_class.rb +2 -0
  990. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/nested_class.rb +7 -0
  991. data/vendor/rails/activesupport/test/autoloading_fixtures/conflict.rb +1 -0
  992. data/vendor/rails/activesupport/test/autoloading_fixtures/counting_loader.rb +5 -0
  993. data/vendor/rails/activesupport/test/autoloading_fixtures/cross_site_dependency.rb +2 -0
  994. data/vendor/rails/activesupport/test/autoloading_fixtures/e.rb +2 -0
  995. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/inline_class.rb +2 -0
  996. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_class.rb +4 -0
  997. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_sibling.rb +2 -0
  998. data/vendor/rails/activesupport/test/autoloading_fixtures/module_with_custom_const_missing/a/b.rb +1 -0
  999. data/vendor/rails/activesupport/test/autoloading_fixtures/multiple_constant_file.rb +2 -0
  1000. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_name_error.rb +3 -0
  1001. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_no_method_error.rb +3 -0
  1002. data/vendor/rails/activesupport/test/buffered_logger_test.rb +146 -0
  1003. data/vendor/rails/activesupport/test/caching_test.rb +348 -0
  1004. data/vendor/rails/activesupport/test/callbacks_test.rb +188 -0
  1005. data/vendor/rails/activesupport/test/clean_backtrace_test.rb +47 -0
  1006. data/vendor/rails/activesupport/test/clean_logger_test.rb +57 -0
  1007. data/vendor/rails/activesupport/test/core_ext/array_ext_test.rb +363 -0
  1008. data/vendor/rails/activesupport/test/core_ext/base64_ext_test.rb +8 -0
  1009. data/vendor/rails/activesupport/test/core_ext/bigdecimal.rb +10 -0
  1010. data/vendor/rails/activesupport/test/core_ext/blank_test.rb +24 -0
  1011. data/vendor/rails/activesupport/test/core_ext/cgi_ext_test.rb +14 -0
  1012. data/vendor/rails/activesupport/test/core_ext/class/attribute_accessor_test.rb +31 -0
  1013. data/vendor/rails/activesupport/test/core_ext/class/class_inheritable_attributes_test.rb +224 -0
  1014. data/vendor/rails/activesupport/test/core_ext/class/delegating_attributes_test.rb +115 -0
  1015. data/vendor/rails/activesupport/test/core_ext/class_test.rb +46 -0
  1016. data/vendor/rails/activesupport/test/core_ext/date_ext_test.rb +278 -0
  1017. data/vendor/rails/activesupport/test/core_ext/date_time_ext_test.rb +359 -0
  1018. data/vendor/rails/activesupport/test/core_ext/duplicable_test.rb +22 -0
  1019. data/vendor/rails/activesupport/test/core_ext/duration_test.rb +121 -0
  1020. data/vendor/rails/activesupport/test/core_ext/enumerable_test.rb +97 -0
  1021. data/vendor/rails/activesupport/test/core_ext/exception_test.rb +68 -0
  1022. data/vendor/rails/activesupport/test/core_ext/file_test.rb +67 -0
  1023. data/vendor/rails/activesupport/test/core_ext/float_ext_test.rb +25 -0
  1024. data/vendor/rails/activesupport/test/core_ext/hash_ext_test.rb +1014 -0
  1025. data/vendor/rails/activesupport/test/core_ext/integer_ext_test.rb +37 -0
  1026. data/vendor/rails/activesupport/test/core_ext/kernel_test.rb +43 -0
  1027. data/vendor/rails/activesupport/test/core_ext/load_error_test.rb +16 -0
  1028. data/vendor/rails/activesupport/test/core_ext/module/attr_accessor_with_default_test.rb +30 -0
  1029. data/vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb +52 -0
  1030. data/vendor/rails/activesupport/test/core_ext/module/attribute_accessor_test.rb +33 -0
  1031. data/vendor/rails/activesupport/test/core_ext/module/attribute_aliasing_test.rb +58 -0
  1032. data/vendor/rails/activesupport/test/core_ext/module/model_naming_test.rb +27 -0
  1033. data/vendor/rails/activesupport/test/core_ext/module/synchronization_test.rb +85 -0
  1034. data/vendor/rails/activesupport/test/core_ext/module_test.rb +363 -0
  1035. data/vendor/rails/activesupport/test/core_ext/name_error_test.rb +20 -0
  1036. data/vendor/rails/activesupport/test/core_ext/numeric_ext_test.rb +162 -0
  1037. data/vendor/rails/activesupport/test/core_ext/object_and_class_ext_test.rb +282 -0
  1038. data/vendor/rails/activesupport/test/core_ext/object_ext_test.rb +8 -0
  1039. data/vendor/rails/activesupport/test/core_ext/pathname_test.rb +9 -0
  1040. data/vendor/rails/activesupport/test/core_ext/proc_test.rb +11 -0
  1041. data/vendor/rails/activesupport/test/core_ext/range_ext_test.rb +63 -0
  1042. data/vendor/rails/activesupport/test/core_ext/string_ext_test.rb +369 -0
  1043. data/vendor/rails/activesupport/test/core_ext/symbol_test.rb +9 -0
  1044. data/vendor/rails/activesupport/test/core_ext/time_ext_test.rb +744 -0
  1045. data/vendor/rails/activesupport/test/core_ext/time_with_zone_test.rb +845 -0
  1046. data/vendor/rails/activesupport/test/core_ext/uri_ext_test.rb +12 -0
  1047. data/vendor/rails/activesupport/test/dependencies/check_warnings.rb +2 -0
  1048. data/vendor/rails/activesupport/test/dependencies/conflict.rb +1 -0
  1049. data/vendor/rails/activesupport/test/dependencies/cross_site_depender.rb +3 -0
  1050. data/vendor/rails/activesupport/test/dependencies/mutual_one.rb +4 -0
  1051. data/vendor/rails/activesupport/test/dependencies/mutual_two.rb +4 -0
  1052. data/vendor/rails/activesupport/test/dependencies/raises_exception.rb +3 -0
  1053. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent0.rb +1 -0
  1054. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent1.rb +1 -0
  1055. data/vendor/rails/activesupport/test/dependencies/service_one.rb +5 -0
  1056. data/vendor/rails/activesupport/test/dependencies/service_two.rb +2 -0
  1057. data/vendor/rails/activesupport/test/dependencies_test.rb +782 -0
  1058. data/vendor/rails/activesupport/test/deprecation_test.rb +167 -0
  1059. data/vendor/rails/activesupport/test/flush_cache_on_private_memoization_test.rb +43 -0
  1060. data/vendor/rails/activesupport/test/gzip_test.rb +7 -0
  1061. data/vendor/rails/activesupport/test/i18n_test.rb +98 -0
  1062. data/vendor/rails/activesupport/test/inflector_test.rb +298 -0
  1063. data/vendor/rails/activesupport/test/inflector_test_cases.rb +252 -0
  1064. data/vendor/rails/activesupport/test/json/decoding_test.rb +73 -0
  1065. data/vendor/rails/activesupport/test/json/encoding_test.rb +160 -0
  1066. data/vendor/rails/activesupport/test/memoizable_test.rb +247 -0
  1067. data/vendor/rails/activesupport/test/message_encryptor_test.rb +46 -0
  1068. data/vendor/rails/activesupport/test/message_verifier_test.rb +31 -0
  1069. data/vendor/rails/activesupport/test/multibyte_chars_test.rb +606 -0
  1070. data/vendor/rails/activesupport/test/multibyte_conformance.rb +129 -0
  1071. data/vendor/rails/activesupport/test/multibyte_test_helpers.rb +19 -0
  1072. data/vendor/rails/activesupport/test/multibyte_unicode_database_test.rb +22 -0
  1073. data/vendor/rails/activesupport/test/multibyte_utils_test.rb +137 -0
  1074. data/vendor/rails/activesupport/test/option_merger_test.rb +85 -0
  1075. data/vendor/rails/activesupport/test/ordered_hash_test.rb +201 -0
  1076. data/vendor/rails/activesupport/test/ordered_options_test.rb +53 -0
  1077. data/vendor/rails/activesupport/test/rescuable_test.rb +75 -0
  1078. data/vendor/rails/activesupport/test/secure_random_test.rb +19 -0
  1079. data/vendor/rails/activesupport/test/string_inquirer_test.rb +15 -0
  1080. data/vendor/rails/activesupport/test/test_test.rb +148 -0
  1081. data/vendor/rails/activesupport/test/time_zone_test.rb +266 -0
  1082. data/vendor/rails/activesupport/test/whiny_nil_test.rb +50 -0
  1083. data/vendor/rails/activesupport/test/xml_mini/jdom_engine_test.rb +153 -0
  1084. data/vendor/rails/activesupport/test/xml_mini/nokogiri_engine_test.rb +168 -0
  1085. data/vendor/rails/activesupport/test/xml_mini/rexml_engine_test.rb +15 -0
  1086. data/vendor/rails/ci/ci_build.rb +119 -0
  1087. data/vendor/rails/ci/ci_setup_notes.txt +131 -0
  1088. data/vendor/rails/ci/cruise_config.rb +9 -0
  1089. data/vendor/rails/ci/geminstaller.yml +24 -0
  1090. data/vendor/rails/ci/site.css +13 -0
  1091. data/vendor/rails/ci/site_config.rb +72 -0
  1092. data/vendor/rails/doc/template/horo.rb +613 -0
  1093. data/vendor/rails/pushgems.rb +14 -0
  1094. data/vendor/rails/railties/CHANGELOG +6 -0
  1095. data/vendor/rails/railties/Rakefile +6 -6
  1096. data/vendor/rails/railties/lib/commands/plugin.rb +1 -1
  1097. data/vendor/rails/railties/lib/rails/rack/debugger.rb +2 -0
  1098. data/vendor/rails/railties/lib/rails/version.rb +1 -1
  1099. data/vendor/rails/railties/lib/rails_generator/options.rb +7 -7
  1100. data/vendor/rails/railties/lib/tasks/rails.rb +2 -1
  1101. data/vendor/rails/railties/test/abstract_unit.rb +27 -0
  1102. data/vendor/rails/railties/test/backtrace_cleaner_test.rb +61 -0
  1103. data/vendor/rails/railties/test/boot_test.rb +178 -0
  1104. data/vendor/rails/railties/test/console_app_test.rb +42 -0
  1105. data/vendor/rails/railties/test/fcgi_dispatcher_test.rb +266 -0
  1106. data/vendor/rails/railties/test/fixtures/about_yml_plugins/bad_about_yml/about.yml +1 -0
  1107. data/vendor/rails/railties/test/fixtures/about_yml_plugins/bad_about_yml/init.rb +1 -0
  1108. data/vendor/rails/railties/test/fixtures/about_yml_plugins/plugin_without_about_yml/init.rb +1 -0
  1109. data/vendor/rails/railties/test/fixtures/eager/zoo.rb +3 -0
  1110. data/vendor/rails/railties/test/fixtures/eager/zoo/reptile_house.rb +2 -0
  1111. data/vendor/rails/railties/test/fixtures/environment_with_constant.rb +1 -0
  1112. data/vendor/{extensions/markdown_filter/lib/tasks/textile_filter_extension_tasks.rake → rails/railties/test/fixtures/lib/generators/missing_class/missing_class_generator.rb} +0 -0
  1113. data/vendor/rails/railties/test/fixtures/lib/generators/working/working_generator.rb +2 -0
  1114. data/vendor/rails/railties/test/fixtures/metal/multiplemetals/app/metal/metal_a.rb +5 -0
  1115. data/vendor/rails/railties/test/fixtures/metal/multiplemetals/app/metal/metal_b.rb +5 -0
  1116. data/vendor/rails/railties/test/fixtures/metal/pluralmetal/app/metal/legacy_routes.rb +5 -0
  1117. data/vendor/rails/railties/test/fixtures/metal/singlemetal/app/metal/foo_metal.rb +5 -0
  1118. data/vendor/rails/railties/test/fixtures/metal/subfolders/app/metal/Folder/metal_a.rb +7 -0
  1119. data/vendor/rails/railties/test/fixtures/metal/subfolders/app/metal/Folder/metal_b.rb +7 -0
  1120. data/vendor/rails/railties/test/fixtures/plugins/alternate/a/generators/a_generator/a_generator.rb +4 -0
  1121. data/vendor/rails/railties/test/fixtures/plugins/default/gemlike/init.rb +1 -0
  1122. data/vendor/rails/railties/test/fixtures/plugins/default/gemlike/lib/gemlike.rb +2 -0
  1123. data/vendor/rails/railties/test/fixtures/plugins/default/gemlike/rails/init.rb +7 -0
  1124. data/vendor/rails/railties/test/fixtures/plugins/default/plugin_with_no_lib_dir/init.rb +0 -0
  1125. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/about.yml +2 -0
  1126. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/generators/stubby_generator/stubby_generator.rb +4 -0
  1127. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/init.rb +7 -0
  1128. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/lib/stubby_mixin.rb +2 -0
  1129. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/app/controllers/engine_controller.rb +2 -0
  1130. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/app/metal/engine_metal.rb +10 -0
  1131. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/app/models/engine_model.rb +2 -0
  1132. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/config/locales/en.yml +2 -0
  1133. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/config/routes.rb +3 -0
  1134. data/vendor/rails/railties/test/fixtures/plugins/engines/engine/init.rb +3 -0
  1135. data/vendor/rails/railties/test/fixtures/public/foo/bar.html +1 -0
  1136. data/vendor/rails/railties/test/fixtures/public/foo/index.html +1 -0
  1137. data/vendor/rails/railties/test/fixtures/public/index.html +1 -0
  1138. data/vendor/rails/railties/test/gem_dependency_test.rb +219 -0
  1139. data/vendor/rails/railties/test/generator_lookup_test.rb +40 -0
  1140. data/vendor/rails/railties/test/generators/generator_test_helper.rb +310 -0
  1141. data/vendor/rails/railties/test/generators/rails_controller_generator_test.rb +44 -0
  1142. data/vendor/rails/railties/test/generators/rails_helper_generator_test.rb +36 -0
  1143. data/vendor/rails/railties/test/generators/rails_mailer_generator_test.rb +29 -0
  1144. data/vendor/rails/railties/test/generators/rails_model_generator_test.rb +96 -0
  1145. data/vendor/rails/railties/test/generators/rails_resource_generator_test.rb +29 -0
  1146. data/vendor/rails/railties/test/generators/rails_scaffold_generator_test.rb +151 -0
  1147. data/vendor/rails/railties/test/generators/rails_template_runner_test.rb +216 -0
  1148. data/vendor/rails/railties/test/initializer_test.rb +416 -0
  1149. data/vendor/rails/railties/test/metal_test.rb +72 -0
  1150. data/vendor/rails/railties/test/mocks/routes.rb +6 -0
  1151. data/vendor/rails/railties/test/plugin_loader_test.rb +172 -0
  1152. data/vendor/rails/railties/test/plugin_locator_test.rb +62 -0
  1153. data/vendor/rails/railties/test/plugin_test.rb +162 -0
  1154. data/vendor/rails/railties/test/plugin_test_helper.rb +29 -0
  1155. data/vendor/rails/railties/test/rack_static_test.rb +46 -0
  1156. data/vendor/rails/railties/test/rails_generator_test.rb +145 -0
  1157. data/vendor/rails/railties/test/rails_info_controller_test.rb +52 -0
  1158. data/vendor/rails/railties/test/rails_info_test.rb +99 -0
  1159. data/vendor/rails/railties/test/secret_key_generation_test.rb +38 -0
  1160. data/vendor/rails/railties/test/vendor/gems/dummy-gem-a-0.4.0/lib/dummy-gem-a.rb +1 -0
  1161. data/vendor/rails/railties/test/vendor/gems/dummy-gem-b-0.4.0/lib/dummy-gem-b.rb +1 -0
  1162. data/vendor/rails/railties/test/vendor/gems/dummy-gem-b-0.6.0/lib/dummy-gem-b.rb +1 -0
  1163. data/vendor/rails/railties/test/vendor/gems/dummy-gem-c-0.4.0/lib/dummy-gem-c.rb +1 -0
  1164. data/vendor/rails/railties/test/vendor/gems/dummy-gem-c-0.6.0/lib/dummy-gem-c.rb +1 -0
  1165. data/vendor/rails/railties/test/vendor/gems/dummy-gem-d-1.0.0/lib/dummy-gem-d.rb +1 -0
  1166. data/vendor/rails/railties/test/vendor/gems/dummy-gem-e-1.0.0/lib/dummy-gem-e.rb +1 -0
  1167. data/vendor/rails/railties/test/vendor/gems/dummy-gem-f-1.0.0/lib/dummy-gem-f.rb +1 -0
  1168. data/vendor/rails/railties/test/vendor/gems/dummy-gem-g-1.0.0/lib/dummy-gem-g.rb +1 -0
  1169. data/vendor/rails/railties/test/vendor/gems/dummy-gem-h-1.0.0/lib/dummy-gem-h.rb +1 -0
  1170. data/vendor/rails/railties/test/vendor/gems/dummy-gem-i-1.0.0/ext/dummy-gem-i/Makefile +0 -0
  1171. data/vendor/rails/railties/test/vendor/gems/dummy-gem-i-1.0.0/lib/dummy-gem-i.rb +1 -0
  1172. data/vendor/rails/railties/test/vendor/gems/dummy-gem-j-1.0.0/lib/dummy-gem-j.rb +1 -0
  1173. data/vendor/rails/railties/test/vendor/gems/dummy-gem-k-1.0.0/lib/dummy-gem-k.rb +1 -0
  1174. data/vendor/rails/release.rb +25 -0
  1175. metadata +814 -84
  1176. data/app/views/admin/pages/_edit_styles.html.haml +0 -15
  1177. data/app/views/admin/references/filters.js.erb +0 -5
  1178. data/app/views/admin/references/tags.js.erb +0 -5
  1179. data/features/step_definitions/webrat_steps.rb +0 -117
  1180. data/public/images/admin/add-child.png +0 -0
  1181. data/public/images/admin/clear-page-cache.png +0 -0
  1182. data/public/images/admin/remove-disabled.png +0 -0
  1183. data/public/images/admin/remove.png +0 -0
  1184. data/public/images/admin/view-site.gif +0 -0
  1185. data/public/images/admin/virtual-page.png +0 -0
  1186. data/public/javascripts/admin/admin.js +0 -149
  1187. data/public/javascripts/application.js +0 -2
  1188. data/public/javascripts/pngfix.js +0 -39
  1189. data/public/javascripts/string.js +0 -17
  1190. data/vendor/extensions/markdown_filter/vendor/bluecloth/CHANGES +0 -366
  1191. data/vendor/extensions/markdown_filter/vendor/bluecloth/LICENSE +0 -340
  1192. data/vendor/extensions/markdown_filter/vendor/bluecloth/README +0 -99
  1193. data/vendor/extensions/markdown_filter/vendor/bluecloth/bin/bluecloth +0 -83
  1194. data/vendor/extensions/markdown_filter/vendor/bluecloth/install.rb +0 -150
  1195. data/vendor/extensions/markdown_filter/vendor/bluecloth/lib/bluecloth.rb +0 -1144
  1196. data/vendor/extensions/markdown_filter/vendor/bluecloth/test.rb +0 -117
  1197. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/00_Class.tests.rb +0 -71
  1198. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/05_Markdown.tests.rb +0 -1527
  1199. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/10_Bug.tests.rb +0 -57
  1200. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/15_Contrib.tests.rb +0 -132
  1201. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/bctestcase.rb +0 -274
  1202. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/data/antsugar.txt +0 -34
  1203. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/data/ml-announce.txt +0 -17
  1204. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/data/re-overflow.txt +0 -67
  1205. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/data/re-overflow2.txt +0 -281
  1206. data/vendor/extensions/markdown_filter/vendor/bluecloth/utils.rb +0 -553
  1207. data/vendor/radius/ROADMAP +0 -12
  1208. data/vendor/rails/activerecord/test/fixtures/fixture_database.sqlite +0 -0
  1209. data/vendor/rails/activerecord/test/fixtures/fixture_database.sqlite3 +0 -0
  1210. data/vendor/rails/activerecord/test/fixtures/fixture_database_2.sqlite +0 -0
  1211. data/vendor/rails/activerecord/test/fixtures/fixture_database_2.sqlite3 +0 -0
  1212. data/vendor/rails/activeresource/test/debug.log +0 -7974
@@ -27,11 +27,13 @@ module ActiveRecord
27
27
  end
28
28
 
29
29
  def message
30
- generate_message(@message, options.dup)
30
+ # When type is a string, it means that we do not have to do a lookup, because
31
+ # the user already sent the "final" message.
32
+ type.is_a?(String) ? type : generate_message(default_options)
31
33
  end
32
34
 
33
35
  def full_message
34
- attribute.to_s == 'base' ? message : generate_full_message(message, options.dup)
36
+ attribute.to_s == 'base' ? message : generate_full_message(default_options)
35
37
  end
36
38
 
37
39
  alias :to_s :message
@@ -60,24 +62,19 @@ module ActiveRecord
60
62
  # <li><tt>activerecord.errors.messages.blank</tt></li>
61
63
  # <li>any default you provided through the +options+ hash (in the activerecord.errors scope)</li>
62
64
  # </ol>
63
- def generate_message(message, options = {})
65
+ def generate_message(options = {})
64
66
  keys = @base.class.self_and_descendants_from_active_record.map do |klass|
65
- [ :"models.#{klass.name.underscore}.attributes.#{attribute}.#{message}",
66
- :"models.#{klass.name.underscore}.#{message}" ]
67
+ [ :"models.#{klass.name.underscore}.attributes.#{attribute}.#{@message}",
68
+ :"models.#{klass.name.underscore}.#{@message}" ]
67
69
  end.flatten
68
70
 
69
71
  keys << options.delete(:default)
70
- keys << :"messages.#{message}"
71
- keys << message if message.is_a?(String)
72
- keys << @type unless @type == message
72
+ keys << :"messages.#{@message}"
73
+ keys << @message if @message.is_a?(String)
74
+ keys << @type unless @type == @message
73
75
  keys.compact!
74
76
 
75
- options.reverse_merge! :default => keys,
76
- :scope => [:activerecord, :errors],
77
- :model => @base.class.human_name,
78
- :attribute => @base.class.human_attribute_name(attribute.to_s),
79
- :value => value
80
-
77
+ options.merge!(:default => keys)
81
78
  I18n.translate(keys.shift, options)
82
79
  end
83
80
 
@@ -108,16 +105,24 @@ module ActiveRecord
108
105
  # full_messages:
109
106
  # title:
110
107
  # blank: This title is screwed!
111
- def generate_full_message(message, options = {})
112
- options.reverse_merge! :message => self.message,
113
- :model => @base.class.human_name,
114
- :attribute => @base.class.human_attribute_name(attribute.to_s),
115
- :value => value
116
-
117
- key = :"full_messages.#{@message}"
118
- defaults = [:'full_messages.format', '{{attribute}} {{message}}']
108
+ def generate_full_message(options = {})
109
+ keys = [
110
+ :"full_messages.#{@message}",
111
+ :'full_messages.format',
112
+ '{{attribute}} {{message}}'
113
+ ]
114
+
115
+ options.merge!(:default => keys, :message => self.message)
116
+ I18n.translate(keys.shift, options)
117
+ end
119
118
 
120
- I18n.t(key, options.merge(:default => defaults, :scope => [:activerecord, :errors]))
119
+ # Return user options with default options.
120
+ #
121
+ def default_options
122
+ options.reverse_merge :scope => [:activerecord, :errors],
123
+ :model => @base.class.human_name,
124
+ :attribute => @base.class.human_attribute_name(attribute.to_s),
125
+ :value => value
121
126
  end
122
127
  end
123
128
 
@@ -134,7 +139,8 @@ module ActiveRecord
134
139
  end
135
140
 
136
141
  def initialize(base) # :nodoc:
137
- @base, @errors = base, {}
142
+ @base = base
143
+ clear
138
144
  end
139
145
 
140
146
  # Adds an error to the base object instead of any particular attribute. This is used
@@ -150,16 +156,10 @@ module ActiveRecord
150
156
  # error can be added to the same +attribute+ in which case an array will be returned on a call to <tt>on(attribute)</tt>.
151
157
  # If no +messsage+ is supplied, :invalid is assumed.
152
158
  # If +message+ is a Symbol, it will be translated, using the appropriate scope (see translate_error).
153
- # def add(attribute, message = nil, options = {})
154
- # message ||= :invalid
155
- # message = generate_message(attribute, message, options)) if message.is_a?(Symbol)
156
- # @errors[attribute.to_s] ||= []
157
- # @errors[attribute.to_s] << message
158
- # end
159
-
160
- def add(error_or_attr, message = nil, options = {})
161
- error, attribute = error_or_attr.is_a?(Error) ? [error_or_attr, error_or_attr.attribute] : [nil, error_or_attr]
159
+ #
160
+ def add(attribute, message = nil, options = {})
162
161
  options[:message] = options.delete(:default) if options.has_key?(:default)
162
+ error, message = message, nil if message.is_a?(Error)
163
163
 
164
164
  @errors[attribute.to_s] ||= []
165
165
  @errors[attribute.to_s] << (error || Error.new(@base, attribute, message, options))
@@ -283,7 +283,7 @@ module ActiveRecord
283
283
 
284
284
  # Removes all errors that have been added.
285
285
  def clear
286
- @errors = {}
286
+ @errors = ActiveSupport::OrderedHash.new
287
287
  end
288
288
 
289
289
  # Returns the total number of errors added. Two errors added to the same attribute will be counted as such.
@@ -321,7 +321,7 @@ module ActiveRecord
321
321
  end
322
322
 
323
323
  def generate_message(attribute, message = :invalid, options = {})
324
- ActiveSupport::Deprecation.warn("ActiveRecord::Errors#generate_message has been deprecated. Please use ActiveRecord::Error#generate_message.")
324
+ ActiveSupport::Deprecation.warn("ActiveRecord::Errors#generate_message has been deprecated. Please use ActiveRecord::Error.new().to_s.")
325
325
  Error.new(@base, attribute, message, options).to_s
326
326
  end
327
327
  end
@@ -2,7 +2,7 @@ module ActiveRecord
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 2
4
4
  MINOR = 3
5
- TINY = 4
5
+ TINY = 5
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -1 +1,2 @@
1
1
  require 'active_record'
2
+ ActiveSupport::Deprecation.warn 'require "activerecord" is deprecated and will be removed in Rails 3. Use require "active_record" instead.'
@@ -651,6 +651,18 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
651
651
  assert_equal 1, Client.find_all_by_client_of(firm.id).size
652
652
  end
653
653
 
654
+ def test_delete_all_association_with_primary_key_deletes_correct_records
655
+ firm = Firm.find(:first)
656
+ # break the vanilla firm_id foreign key
657
+ assert_equal 2, firm.clients.count
658
+ firm.clients.first.update_attribute(:firm_id, nil)
659
+ assert_equal 1, firm.clients(true).count
660
+ assert_equal 1, firm.clients_using_primary_key_with_delete_all.count
661
+ old_record = firm.clients_using_primary_key_with_delete_all.first
662
+ firm = Firm.find(:first)
663
+ firm.destroy
664
+ assert Client.find_by_id(old_record.id).nil?
665
+ end
654
666
 
655
667
  def test_creation_respects_hash_condition
656
668
  ms_client = companies(:first_firm).clients_like_ms_with_hash_conditions.build
@@ -132,6 +132,28 @@ class HasManyThroughAssociationsTest < ActiveRecord::TestCase
132
132
  assert !posts(:welcome).reload.people(true).include?(people(:michael))
133
133
  end
134
134
 
135
+ def test_replace_order_is_preserved
136
+ posts(:welcome).people.clear
137
+ posts(:welcome).people = [people(:david), people(:michael)]
138
+ assert_equal [people(:david).id, people(:michael).id], posts(:welcome).readers.all(:order => 'id').map(&:person_id)
139
+
140
+ # Test the inverse order in case the first success was a coincidence
141
+ posts(:welcome).people.clear
142
+ posts(:welcome).people = [people(:michael), people(:david)]
143
+ assert_equal [people(:michael).id, people(:david).id], posts(:welcome).readers.all(:order => 'id').map(&:person_id)
144
+ end
145
+
146
+ def test_replace_by_id_order_is_preserved
147
+ posts(:welcome).people.clear
148
+ posts(:welcome).person_ids = [people(:david).id, people(:michael).id]
149
+ assert_equal [people(:david).id, people(:michael).id], posts(:welcome).readers.all(:order => 'id').map(&:person_id)
150
+
151
+ # Test the inverse order in case the first success was a coincidence
152
+ posts(:welcome).people.clear
153
+ posts(:welcome).person_ids = [people(:michael).id, people(:david).id]
154
+ assert_equal [people(:michael).id, people(:david).id], posts(:welcome).readers.all(:order => 'id').map(&:person_id)
155
+ end
156
+
135
157
  def test_associate_with_create
136
158
  assert_queries(1) { posts(:thinking) }
137
159
 
@@ -36,6 +36,15 @@ class HasOneAssociationsTest < ActiveRecord::TestCase
36
36
  assert_equal accounts(:rails_core_account), firm.account_using_primary_key
37
37
  end
38
38
 
39
+ def test_update_with_foreign_and_primary_keys
40
+ firm = companies(:first_firm)
41
+ account = firm.account_using_foreign_and_primary_keys
42
+ assert_equal Account.find_by_firm_name(firm.name), account
43
+ firm.save
44
+ firm.reload
45
+ assert_equal account, firm.account_using_foreign_and_primary_keys
46
+ end
47
+
39
48
  def test_can_marshal_has_one_association_with_nil_target
40
49
  firm = Firm.new
41
50
  assert_nothing_raised do
@@ -306,4 +315,16 @@ class HasOneAssociationsTest < ActiveRecord::TestCase
306
315
  Firm.find(@firm.id, :include => :account).save!
307
316
  end
308
317
  end
318
+
319
+ def test_build_respects_hash_condition
320
+ account = companies(:first_firm).build_account_limit_500_with_hash_conditions
321
+ assert account.save
322
+ assert_equal 500, account.credit_limit
323
+ end
324
+
325
+ def test_create_respects_hash_condition
326
+ account = companies(:first_firm).create_account_limit_500_with_hash_conditions
327
+ assert !account.new_record?
328
+ assert_equal 500, account.credit_limit
329
+ end
309
330
  end
@@ -436,6 +436,70 @@ class TestDefaultAutosaveAssociationOnAHasManyAssociation < ActiveRecord::TestCa
436
436
  end
437
437
  end
438
438
 
439
+ class TestDefaultAutosaveAssociationOnNewRecord < ActiveRecord::TestCase
440
+ def test_autosave_new_record_on_belongs_to_can_be_disabled_per_relationship
441
+ new_account = Account.new("credit_limit" => 1000)
442
+ new_firm = Firm.new("name" => "some firm")
443
+
444
+ assert new_firm.new_record?
445
+ new_account.firm = new_firm
446
+ new_account.save!
447
+
448
+ assert !new_firm.new_record?
449
+
450
+ new_account = Account.new("credit_limit" => 1000)
451
+ new_autosaved_firm = Firm.new("name" => "some firm")
452
+
453
+ assert new_autosaved_firm.new_record?
454
+ new_account.unautosaved_firm = new_autosaved_firm
455
+ new_account.save!
456
+
457
+ assert new_autosaved_firm.new_record?
458
+ end
459
+
460
+ def test_autosave_new_record_on_has_one_can_be_disabled_per_relationship
461
+ firm = Firm.new("name" => "some firm")
462
+ account = Account.new("credit_limit" => 1000)
463
+
464
+ assert account.new_record?
465
+ firm.account = account
466
+ firm.save!
467
+
468
+ assert !account.new_record?
469
+
470
+ firm = Firm.new("name" => "some firm")
471
+ account = Account.new("credit_limit" => 1000)
472
+
473
+ firm.unautosaved_account = account
474
+
475
+ assert account.new_record?
476
+ firm.unautosaved_account = account
477
+ firm.save!
478
+
479
+ assert account.new_record?
480
+ end
481
+
482
+ def test_autosave_new_record_on_has_many_can_be_disabled_per_relationship
483
+ firm = Firm.new("name" => "some firm")
484
+ account = Account.new("credit_limit" => 1000)
485
+
486
+ assert account.new_record?
487
+ firm.accounts << account
488
+
489
+ firm.save!
490
+ assert !account.new_record?
491
+
492
+ firm = Firm.new("name" => "some firm")
493
+ account = Account.new("credit_limit" => 1000)
494
+
495
+ assert account.new_record?
496
+ firm.unautosaved_accounts << account
497
+
498
+ firm.save!
499
+ assert account.new_record?
500
+ end
501
+ end
502
+
439
503
  class TestDestroyAsPartOfAutosaveAssociation < ActiveRecord::TestCase
440
504
  self.use_transactional_fixtures = false
441
505
 
@@ -473,9 +537,17 @@ class TestDestroyAsPartOfAutosaveAssociation < ActiveRecord::TestCase
473
537
  assert !@pirate.valid?
474
538
 
475
539
  @pirate.ship.mark_for_destruction
540
+ @pirate.ship.expects(:valid?).never
476
541
  assert_difference('Ship.count', -1) { @pirate.save! }
477
542
  end
478
543
 
544
+ def test_a_child_marked_for_destruction_should_not_be_destroyed_twice
545
+ @pirate.ship.mark_for_destruction
546
+ assert @pirate.save
547
+ @pirate.ship.expects(:destroy).never
548
+ assert @pirate.save
549
+ end
550
+
479
551
  def test_should_rollback_destructions_if_an_exception_occurred_while_saving_a_child
480
552
  # Stub the save method of the @pirate.ship instance to destroy and then raise an exception
481
553
  class << @pirate.ship
@@ -510,9 +582,17 @@ class TestDestroyAsPartOfAutosaveAssociation < ActiveRecord::TestCase
510
582
  assert !@ship.valid?
511
583
 
512
584
  @ship.pirate.mark_for_destruction
585
+ @ship.pirate.expects(:valid?).never
513
586
  assert_difference('Pirate.count', -1) { @ship.save! }
514
587
  end
515
588
 
589
+ def test_a_parent_marked_for_destruction_should_not_be_destroyed_twice
590
+ @ship.pirate.mark_for_destruction
591
+ assert @ship.save
592
+ @ship.pirate.expects(:destroy).never
593
+ assert @ship.save
594
+ end
595
+
516
596
  def test_should_rollback_destructions_if_an_exception_occurred_while_saving_a_parent
517
597
  # Stub the save method of the @ship.pirate instance to destroy and then raise an exception
518
598
  class << @ship.pirate
@@ -553,9 +633,33 @@ class TestDestroyAsPartOfAutosaveAssociation < ActiveRecord::TestCase
553
633
  children.each { |child| child.name = '' }
554
634
  assert !@pirate.valid?
555
635
 
556
- children.each { |child| child.mark_for_destruction }
636
+ children.each do |child|
637
+ child.mark_for_destruction
638
+ child.expects(:valid?).never
639
+ end
557
640
  assert_difference("#{association_name.classify}.count", -2) { @pirate.save! }
558
641
  end
642
+
643
+ define_method("test_should_skip_validation_on_the_#{association_name}_association_if_destroyed") do
644
+ @pirate.send(association_name).create!(:name => "#{association_name}_1")
645
+ children = @pirate.send(association_name)
646
+
647
+ children.each { |child| child.name = '' }
648
+ assert !@pirate.valid?
649
+
650
+ children.each { |child| child.destroy }
651
+ assert @pirate.valid?
652
+ end
653
+
654
+ define_method("test_a_child_marked_for_destruction_should_not_be_destroyed_twice_while_saving_#{association_name}") do
655
+ @pirate.send(association_name).create!(:name => "#{association_name}_1")
656
+ children = @pirate.send(association_name)
657
+
658
+ children.each { |child| child.mark_for_destruction }
659
+ assert @pirate.save
660
+ children.each { |child| child.expects(:destroy).never }
661
+ assert @pirate.save
662
+ end
559
663
 
560
664
  define_method("test_should_rollback_destructions_if_an_exception_occurred_while_saving_#{association_name}") do
561
665
  2.times { |i| @pirate.send(association_name).create!(:name => "#{association_name}_#{i}") }
@@ -646,15 +750,15 @@ class TestAutosaveAssociationOnAHasOneAssociation < ActiveRecord::TestCase
646
750
  def test_should_automatically_validate_the_associated_model
647
751
  @pirate.ship.name = ''
648
752
  assert !@pirate.valid?
649
- assert !@pirate.errors.on(:ship_name).blank?
753
+ assert_equal "can't be blank", @pirate.errors.on(:"ship.name")
650
754
  end
651
755
 
652
756
  def test_should_merge_errors_on_the_associated_models_onto_the_parent_even_if_it_is_not_valid
653
757
  @pirate.ship.name = nil
654
758
  @pirate.catchphrase = nil
655
759
  assert !@pirate.valid?
656
- assert !@pirate.errors.on(:ship_name).blank?
657
- assert !@pirate.errors.on(:catchphrase).blank?
760
+ assert @pirate.errors.full_messages.include?("Name can't be blank")
761
+ assert @pirate.errors.full_messages.include?("Catchphrase can't be blank")
658
762
  end
659
763
 
660
764
  def test_should_still_allow_to_bypass_validations_on_the_associated_model
@@ -736,15 +840,15 @@ class TestAutosaveAssociationOnABelongsToAssociation < ActiveRecord::TestCase
736
840
  def test_should_automatically_validate_the_associated_model
737
841
  @ship.pirate.catchphrase = ''
738
842
  assert !@ship.valid?
739
- assert !@ship.errors.on(:pirate_catchphrase).blank?
843
+ assert_equal "can't be blank", @ship.errors.on(:"pirate.catchphrase")
740
844
  end
741
845
 
742
846
  def test_should_merge_errors_on_the_associated_model_onto_the_parent_even_if_it_is_not_valid
743
847
  @ship.name = nil
744
848
  @ship.pirate.catchphrase = nil
745
849
  assert !@ship.valid?
746
- assert !@ship.errors.on(:name).blank?
747
- assert !@ship.errors.on(:pirate_catchphrase).blank?
850
+ assert @ship.errors.full_messages.include?("Name can't be blank")
851
+ assert @ship.errors.full_messages.include?("Catchphrase can't be blank")
748
852
  end
749
853
 
750
854
  def test_should_still_allow_to_bypass_validations_on_the_associated_model
@@ -806,7 +910,7 @@ module AutosaveAssociationOnACollectionAssociationTests
806
910
  @pirate.send(@association_name).each { |child| child.name = '' }
807
911
 
808
912
  assert !@pirate.valid?
809
- assert_equal "can't be blank", @pirate.errors.on("#{@association_name}_name")
913
+ assert @pirate.errors.full_messages.include?("Name can't be blank")
810
914
  assert @pirate.errors.on(@association_name).blank?
811
915
  end
812
916
 
@@ -814,7 +918,7 @@ module AutosaveAssociationOnACollectionAssociationTests
814
918
  @pirate.send(@association_name).build(:name => '')
815
919
 
816
920
  assert !@pirate.valid?
817
- assert_equal "can't be blank", @pirate.errors.on("#{@association_name}_name")
921
+ assert_equal "can't be blank", @pirate.errors.on("#{@association_name}.name")
818
922
  assert @pirate.errors.on(@association_name).blank?
819
923
  end
820
924
 
@@ -823,7 +927,7 @@ module AutosaveAssociationOnACollectionAssociationTests
823
927
  @pirate.catchphrase = nil
824
928
 
825
929
  assert !@pirate.valid?
826
- assert_equal "can't be blank", @pirate.errors.on("#{@association_name}_name")
930
+ assert_equal "can't be blank", @pirate.errors.on("#{@association_name}.name")
827
931
  assert !@pirate.errors.on(:catchphrase).blank?
828
932
  end
829
933
 
@@ -920,4 +1024,119 @@ class TestAutosaveAssociationOnAHasAndBelongsToManyAssociation < ActiveRecord::T
920
1024
  end
921
1025
 
922
1026
  include AutosaveAssociationOnACollectionAssociationTests
923
- end
1027
+ end
1028
+
1029
+ class TestAutosaveAssociationValidationsOnAHasManyAssocication < ActiveRecord::TestCase
1030
+ self.use_transactional_fixtures = false
1031
+
1032
+ def setup
1033
+ @pirate = Pirate.create(:catchphrase => "Don' botharrr talkin' like one, savvy?")
1034
+ @pirate.birds.create(:name => 'cookoo')
1035
+ end
1036
+
1037
+ test "should automatically validate associations" do
1038
+ assert @pirate.valid?
1039
+ @pirate.birds.each { |bird| bird.name = '' }
1040
+
1041
+ assert !@pirate.valid?
1042
+ end
1043
+ end
1044
+
1045
+ class TestAutosaveAssociationValidationsOnAHasOneAssocication < ActiveRecord::TestCase
1046
+ self.use_transactional_fixtures = false
1047
+
1048
+ def setup
1049
+ @pirate = Pirate.create(:catchphrase => "Don' botharrr talkin' like one, savvy?")
1050
+ @pirate.create_ship(:name => 'titanic')
1051
+ end
1052
+
1053
+ test "should automatically validate associations with :validate => true" do
1054
+ assert @pirate.valid?
1055
+ @pirate.ship.name = ''
1056
+ assert !@pirate.valid?
1057
+ end
1058
+
1059
+ test "should not automatically validate associations without :validate => true" do
1060
+ assert @pirate.valid?
1061
+ @pirate.non_validated_ship.name = ''
1062
+ assert @pirate.valid?
1063
+ end
1064
+ end
1065
+
1066
+ class TestAutosaveAssociationValidationsOnABelongsToAssocication < ActiveRecord::TestCase
1067
+ self.use_transactional_fixtures = false
1068
+
1069
+ def setup
1070
+ @pirate = Pirate.create(:catchphrase => "Don' botharrr talkin' like one, savvy?")
1071
+ end
1072
+
1073
+ test "should automatically validate associations with :validate => true" do
1074
+ assert @pirate.valid?
1075
+ @pirate.parrot = Parrot.new(:name => '')
1076
+ assert !@pirate.valid?
1077
+ end
1078
+
1079
+ test "should not automatically validate associations without :validate => true" do
1080
+ assert @pirate.valid?
1081
+ @pirate.non_validated_parrot = Parrot.new(:name => '')
1082
+ assert @pirate.valid?
1083
+ end
1084
+ end
1085
+
1086
+ class TestAutosaveAssociationValidationsOnAHABTMAssocication < ActiveRecord::TestCase
1087
+ self.use_transactional_fixtures = false
1088
+
1089
+ def setup
1090
+ @pirate = Pirate.create(:catchphrase => "Don' botharrr talkin' like one, savvy?")
1091
+ end
1092
+
1093
+ test "should automatically validate associations with :validate => true" do
1094
+ assert @pirate.valid?
1095
+ @pirate.parrots = [ Parrot.new(:name => 'popuga') ]
1096
+ @pirate.parrots.each { |parrot| parrot.name = '' }
1097
+ assert !@pirate.valid?
1098
+ end
1099
+
1100
+ test "should not automatically validate associations without :validate => true" do
1101
+ assert @pirate.valid?
1102
+ @pirate.non_validated_parrots = [ Parrot.new(:name => 'popuga') ]
1103
+ @pirate.non_validated_parrots.each { |parrot| parrot.name = '' }
1104
+ assert @pirate.valid?
1105
+ end
1106
+ end
1107
+
1108
+ class TestAutosaveAssociationValidationMethodsGeneration < ActiveRecord::TestCase
1109
+ self.use_transactional_fixtures = false
1110
+
1111
+ def setup
1112
+ @pirate = Pirate.new
1113
+ end
1114
+
1115
+ test "should generate validation methods for has_many associations" do
1116
+ assert @pirate.respond_to?(:validate_associated_records_for_birds)
1117
+ end
1118
+
1119
+ test "should generate validation methods for has_one associations with :validate => true" do
1120
+ assert @pirate.respond_to?(:validate_associated_records_for_ship)
1121
+ end
1122
+
1123
+ test "should not generate validation methods for has_one associations without :validate => true" do
1124
+ assert !@pirate.respond_to?(:validate_associated_records_for_non_validated_ship)
1125
+ end
1126
+
1127
+ test "should generate validation methods for belongs_to associations with :validate => true" do
1128
+ assert @pirate.respond_to?(:validate_associated_records_for_parrot)
1129
+ end
1130
+
1131
+ test "should not generate validation methods for belongs_to associations without :validate => true" do
1132
+ assert !@pirate.respond_to?(:validate_associated_records_for_non_validated_parrot)
1133
+ end
1134
+
1135
+ test "should generate validation methods for HABTM associations with :validate => true" do
1136
+ assert @pirate.respond_to?(:validate_associated_records_for_parrots)
1137
+ end
1138
+
1139
+ test "should not generate validation methods for HABTM associations without :validate => true" do
1140
+ assert !@pirate.respond_to?(:validate_associated_records_for_non_validated_parrots)
1141
+ end
1142
+ end