typo 5.1.3 → 5.1.98

Sign up to get free protection for your applications and to get access to all the features.
Files changed (938) hide show
  1. data/CHANGELOG +1 -0
  2. data/MAINTAINERS +5 -1
  3. data/README +3 -10
  4. data/app/apis/meta_weblog_service.rb +1 -1
  5. data/app/controllers/accounts_controller.rb +20 -9
  6. data/app/controllers/admin/base_controller.rb +21 -1
  7. data/app/controllers/admin/blacklist_controller.rb +6 -15
  8. data/app/controllers/admin/cache_controller.rb +2 -6
  9. data/app/controllers/admin/categories_controller.rb +32 -26
  10. data/app/controllers/admin/content_controller.rb +40 -54
  11. data/app/controllers/admin/dashboard_controller.rb +58 -5
  12. data/app/controllers/admin/feedback_controller.rb +88 -17
  13. data/app/controllers/admin/pages_controller.rb +9 -30
  14. data/app/controllers/admin/profiles_controller.rb +7 -10
  15. data/app/controllers/admin/resources_controller.rb +13 -12
  16. data/app/controllers/admin/settings_controller.rb +9 -42
  17. data/app/controllers/admin/sidebar_controller.rb +21 -8
  18. data/app/controllers/admin/tags_controller.rb +7 -13
  19. data/app/controllers/admin/textfilters_controller.rb +1 -99
  20. data/app/controllers/admin/themes_controller.rb +8 -5
  21. data/app/controllers/admin/users_controller.rb +13 -11
  22. data/app/controllers/application.rb +1 -0
  23. data/app/controllers/articles_controller.rb +64 -16
  24. data/app/controllers/backend_controller.rb +8 -2
  25. data/app/controllers/grouping_controller.rb +16 -10
  26. data/app/controllers/redirect_controller.rb +2 -2
  27. data/app/controllers/users_controller.rb +4 -0
  28. data/app/controllers/xml_controller.rb +3 -1
  29. data/app/helpers/admin/base_helper.rb +60 -113
  30. data/app/helpers/admin/content_helper.rb +19 -1
  31. data/app/helpers/admin/feedback_helper.rb +0 -31
  32. data/app/helpers/admin/pages_helper.rb +0 -20
  33. data/app/helpers/admin/settings_helper.rb +5 -0
  34. data/app/helpers/application_helper.rb +43 -27
  35. data/app/helpers/authors_helper.rb +1 -3
  36. data/app/helpers/content_helper.rb +1 -18
  37. data/app/helpers/sidebar_helper.rb +12 -0
  38. data/app/helpers/theme_helper.rb +0 -20
  39. data/app/helpers/xml_helper.rb +1 -9
  40. data/app/models/article.rb +73 -9
  41. data/app/models/blog.rb +24 -3
  42. data/app/models/blog_sweeper.rb +4 -13
  43. data/app/models/category.rb +1 -0
  44. data/app/models/content.rb +45 -4
  45. data/app/models/feedback/states.rb +21 -2
  46. data/app/models/feedback.rb +2 -0
  47. data/app/models/page.rb +7 -0
  48. data/app/models/page_cache.rb +1 -1
  49. data/app/models/profile.rb +2 -0
  50. data/app/models/tag.rb +3 -1
  51. data/app/models/theme.rb +1 -1
  52. data/app/models/user.rb +35 -6
  53. data/app/views/accounts/login.html.erb +7 -9
  54. data/app/views/accounts/signup.html.erb +1 -1
  55. data/app/views/admin/base/_recent_comments.html.erb +3 -3
  56. data/app/views/admin/base/_recent_trackbacks.html.erb +3 -3
  57. data/app/views/admin/blacklist/_blacklist_patterns.html.erb +2 -5
  58. data/app/views/admin/blacklist/_quick_post.html.erb +1 -1
  59. data/app/views/admin/blacklist/edit.html.erb +2 -3
  60. data/app/views/admin/blacklist/index.html.erb +2 -2
  61. data/app/views/admin/categories/_categories.html.erb +8 -10
  62. data/app/views/admin/categories/_form.html.erb +12 -3
  63. data/app/views/admin/categories/index.html.erb +1 -5
  64. data/app/views/admin/categories/new.html.erb +9 -0
  65. data/app/views/admin/content/_article_list.html.erb +16 -0
  66. data/app/views/admin/content/_drafts.html.erb +3 -3
  67. data/app/views/admin/content/_form.html.erb +29 -53
  68. data/app/views/admin/content/index.html.erb +49 -9
  69. data/app/views/admin/content/new.html.erb +1 -1
  70. data/app/views/admin/dashboard/_comments.html.erb +1 -3
  71. data/app/views/admin/dashboard/_inbound.html.erb +19 -0
  72. data/app/views/admin/dashboard/_overview.html.erb +7 -2
  73. data/app/views/admin/dashboard/_sysinfo.html.erb +5 -5
  74. data/app/views/admin/dashboard/_typo_dev.html.erb +21 -0
  75. data/app/views/admin/dashboard/_welcome.html.erb +1 -1
  76. data/app/views/admin/dashboard/index.html.erb +14 -17
  77. data/app/views/admin/feedback/_button.html.erb +5 -4
  78. data/app/views/admin/{comments → feedback}/_form.html.erb +1 -0
  79. data/app/views/admin/feedback/_item.html.erb +3 -5
  80. data/app/views/admin/feedback/article.html.erb +33 -0
  81. data/app/views/admin/feedback/edit.html.erb +10 -0
  82. data/app/views/admin/feedback/index.html.erb +21 -24
  83. data/app/views/admin/pages/_form.html.erb +20 -28
  84. data/app/views/admin/pages/_pages.html.erb +14 -25
  85. data/app/views/admin/resources/_metadata_edit.html.erb +1 -1
  86. data/app/views/admin/resources/_resources.html.erb +8 -5
  87. data/app/views/admin/resources/index.html.erb +1 -3
  88. data/app/views/admin/settings/_submit.html.erb +2 -2
  89. data/app/views/admin/settings/feedback.html.erb +86 -49
  90. data/app/views/admin/settings/index.html.erb +54 -58
  91. data/app/views/admin/settings/read.html.erb +2 -1
  92. data/app/views/admin/settings/seo.html.erb +46 -0
  93. data/app/views/admin/settings/update_database.html.erb +27 -29
  94. data/app/views/admin/settings/write.html.erb +41 -11
  95. data/app/views/admin/shared/_edit.html.erb +2 -1
  96. data/app/views/admin/sidebar/index.html.erb +4 -4
  97. data/app/views/admin/sidebar/set_active.rjs +1 -1
  98. data/app/views/admin/tags/_tags.html.erb +7 -8
  99. data/app/views/admin/tags/edit.html.erb +2 -2
  100. data/app/views/admin/tags/index.html.erb +1 -3
  101. data/app/views/admin/users/_form.html.erb +14 -3
  102. data/app/views/admin/users/edit.html.erb +1 -1
  103. data/app/views/admin/users/index.html.erb +16 -16
  104. data/app/views/admin/users/new.html.erb +1 -1
  105. data/app/views/articles/_comment_failed.html.erb +1 -0
  106. data/app/views/articles/_rss20_feed.rss.builder +1 -1
  107. data/app/views/articles/groupings.html.erb +4 -3
  108. data/app/views/articles/index.html.erb +1 -3
  109. data/app/views/articles/search.html.erb +8 -0
  110. data/app/views/layouts/accounts.html.erb +2 -3
  111. data/app/views/layouts/administration.html.erb +44 -40
  112. data/app/views/shared/_loginform.html.erb +9 -3
  113. data/app/views/shared/_search.html.erb +3 -8
  114. data/config/boot.rb +96 -32
  115. data/config/environment.rb +14 -7
  116. data/config/environments/development.rb +2 -0
  117. data/config/initializers/access_rules.rb +41 -48
  118. data/config/initializers/inflector.rb +1 -0
  119. data/config/routes.rb +11 -21
  120. data/db/migrate/001_initial_schema.rb +0 -1
  121. data/db/migrate/003_add_article_user_id.rb +11 -0
  122. data/db/migrate/020_superclass_articles.rb +4 -3
  123. data/db/migrate/021_superclass_comments.rb +2 -2
  124. data/db/migrate/022_superclass_trackbacks.rb +2 -1
  125. data/db/migrate/028_rename_redirect_to.rb +5 -1
  126. data/db/migrate/057_add_categorization_model.rb +12 -6
  127. data/db/migrate/072_add_remember_token.rb +9 -0
  128. data/db/migrate/073_add_meta_and_subcategories.rb +13 -0
  129. data/db/migrate/074_add_remember_token_expires_at.rb +9 -0
  130. data/db/migrate/075_move_editor_to_user.rb +20 -0
  131. data/db/migrate/076_fix_users_empty_email.rb +15 -0
  132. data/db/migrate/077_fix_userless_articles.rb +20 -0
  133. data/db/schema.rb +38 -38
  134. data/doc/typo-5.2-release-notes.txt +52 -0
  135. data/lang/fr_FR.rb +35 -15
  136. data/lang/he_IL.rb +715 -0
  137. data/lib/tasks/release.rake +7 -7
  138. data/lib/tasks/rspec.rake +142 -0
  139. data/lib/text_filter_plugin.rb +5 -0
  140. data/lib/typo_version.rb +1 -1
  141. data/public/images/admin/typologo.gif +0 -0
  142. data/public/javascripts/administration.js +12 -0
  143. data/public/javascripts/controls.js +1 -3
  144. data/public/javascripts/dragdrop.js +1 -3
  145. data/public/javascripts/effects.js +5 -7
  146. data/public/javascripts/fckcustom.js +9 -8
  147. data/public/javascripts/fckeditor/fckconfig.js +2 -2
  148. data/public/javascripts/fckeditor/fckeditor.js +1 -1
  149. data/public/javascripts/prototype.js +317 -167
  150. data/public/javascripts/quicktags.js +511 -0
  151. data/public/robots.txt +16 -1
  152. data/public/sources/javascripts/administration.js +12 -0
  153. data/public/sources/javascripts/application.js +2 -0
  154. data/public/sources/javascripts/codecollapse.js +8 -0
  155. data/public/sources/javascripts/controls.js +963 -0
  156. data/public/sources/javascripts/cookies.js +60 -0
  157. data/public/sources/javascripts/dragdrop.js +972 -0
  158. data/public/sources/javascripts/effects.js +1120 -0
  159. data/public/sources/javascripts/fckcustom.js +28 -0
  160. data/public/sources/javascripts/lang/default.js +21 -0
  161. data/public/sources/javascripts/lang/en_US.js +21 -0
  162. data/public/sources/javascripts/lang/fr_FR.js +21 -0
  163. data/public/sources/javascripts/lightbox.js +202 -0
  164. data/public/sources/javascripts/prototype.js +4320 -0
  165. data/public/sources/javascripts/quicktags.js +511 -0
  166. data/public/sources/javascripts/scriptaculous.js +58 -0
  167. data/public/sources/javascripts/slider.js +258 -0
  168. data/public/sources/javascripts/typo.js +136 -0
  169. data/public/sources/stylesheets/administration.css +955 -0
  170. data/public/sources/stylesheets/administration_rtl.css +1026 -0
  171. data/public/sources/stylesheets/codecollapse.css +3 -0
  172. data/public/sources/stylesheets/coderay.css +126 -0
  173. data/public/sources/stylesheets/lightbox.css +62 -0
  174. data/public/sources/stylesheets/rss.css +54 -0
  175. data/public/sources/stylesheets/textmate/dawn.css +209 -0
  176. data/public/sources/stylesheets/textmate/iplastic.css +142 -0
  177. data/public/sources/stylesheets/textmate/space_cadet.css +99 -0
  178. data/public/sources/stylesheets/textmate/textmate.css +48 -0
  179. data/public/sources/stylesheets/textmate/twilight.css +227 -0
  180. data/public/sources/stylesheets/user-styles.css +22 -0
  181. data/public/stylesheets/administration.css +146 -214
  182. data/public/stylesheets/administration_rtl.css +1026 -0
  183. data/public/stylesheets/coderay.css +128 -0
  184. data/script/autospec +5 -0
  185. data/script/dbconsole +3 -0
  186. data/script/performance/request +3 -0
  187. data/script/spec_server +18 -4
  188. data/spec/controllers/accounts_controller_spec.rb +24 -11
  189. data/spec/controllers/admin/blacklist_controller_spec.rb +4 -4
  190. data/spec/controllers/admin/cache_controller_spec.rb +32 -0
  191. data/spec/controllers/admin/categories_controller_spec.rb +8 -16
  192. data/spec/controllers/admin/content_controller_spec.rb +327 -171
  193. data/spec/controllers/admin/feedback_controller_spec.rb +278 -26
  194. data/spec/controllers/admin/pages_controller_spec.rb +0 -6
  195. data/spec/controllers/admin/resources_controller_spec.rb +3 -6
  196. data/spec/controllers/admin/settings_controller_spec.rb +21 -1
  197. data/spec/controllers/admin/tags_controller_spec.rb +35 -0
  198. data/spec/controllers/admin/textfilters_controller_spec.rb +10 -9
  199. data/spec/controllers/admin/users_controller_spec.rb +17 -18
  200. data/spec/controllers/articles_controller_spec.rb +4 -1
  201. data/spec/controllers/authors_controller_spec.rb +3 -6
  202. data/spec/controllers/backend_controller_spec.rb +26 -3
  203. data/spec/controllers/categories_controller_spec.rb +3 -6
  204. data/spec/controllers/comments_controller_spec.rb +4 -3
  205. data/spec/controllers/redirect_controller_spec.rb +5 -5
  206. data/spec/controllers/routes/articles_routing_spec.rb +31 -0
  207. data/spec/controllers/tags_controller_spec.rb +3 -6
  208. data/spec/controllers/textfilter_controller_spec.rb +37 -21
  209. data/spec/controllers/xml_controller_spec.rb +4 -1
  210. data/spec/helpers/application_helper_spec.rb +25 -0
  211. data/spec/helpers/content_helper_spec.rb +2 -0
  212. data/spec/lib/text_filter_plugin_spec.rb +15 -0
  213. data/spec/models/article_closing_spec.rb +4 -0
  214. data/spec/models/article_spec.rb +72 -3
  215. data/spec/models/blog_spec.rb +12 -0
  216. data/spec/models/comment_spec.rb +155 -127
  217. data/spec/models/metafragment_spec.rb +12 -0
  218. data/spec/models/resource_spec.rb +1 -0
  219. data/spec/models/tag_spec.rb +2 -2
  220. data/spec/models/theme_spec.rb +2 -2
  221. data/spec/models/user_spec.rb +14 -0
  222. data/spec/spec_helper.rb +1 -0
  223. data/spec/views/articles/index_spec.rb +57 -0
  224. data/test/fixtures/contents.yml +18 -0
  225. data/test/fixtures/feedback.yml +27 -0
  226. data/test/fixtures/profiles.yml +4 -0
  227. data/test/mocks/themes/typographic/views/articles/_article.html.erb +1 -1
  228. data/test/mocks/themes/typographic/views/articles/index.html.erb +1 -1
  229. data/themes/dirtylicious/layouts/default.html.erb +1 -1
  230. data/themes/dirtylicious/views/articles/index.html.erb +1 -3
  231. data/themes/scribbish/views/articles/index.html.erb +1 -3
  232. data/themes/standard_issue/views/articles/_article.html.erb +1 -1
  233. data/themes/standard_issue/views/articles/index.html.erb +1 -3
  234. data/themes/typographic/views/articles/_article.html.erb +1 -1
  235. data/themes/typographic/views/articles/index.html.erb +1 -3
  236. data/vendor/actionwebservice/CHANGELOG +63 -8
  237. data/vendor/actionwebservice/README +17 -0
  238. data/vendor/actionwebservice/Rakefile +12 -11
  239. data/vendor/actionwebservice/actionwebservice.gemspec +26 -0
  240. data/vendor/actionwebservice/generators/web_service/USAGE +28 -0
  241. data/vendor/actionwebservice/generators/web_service/templates/api_definition.rb +5 -0
  242. data/vendor/actionwebservice/generators/web_service/templates/controller.rb +8 -0
  243. data/vendor/actionwebservice/generators/web_service/templates/functional_test.rb +19 -0
  244. data/vendor/actionwebservice/generators/web_service/web_service_generator.rb +29 -0
  245. data/vendor/actionwebservice/install.rb +1 -1
  246. data/vendor/actionwebservice/lib/action_web_service/api.rb +1 -1
  247. data/vendor/actionwebservice/lib/action_web_service/casting.rb +7 -1
  248. data/vendor/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb +2 -2
  249. data/vendor/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb +7 -0
  250. data/vendor/actionwebservice/lib/action_web_service/scaffolding.rb +8 -8
  251. data/vendor/actionwebservice/lib/action_web_service/templates/scaffolds/{layout.erb → layout.html.erb} +0 -0
  252. data/vendor/actionwebservice/lib/action_web_service/templates/scaffolds/{methods.erb → methods.html.erb} +0 -0
  253. data/vendor/actionwebservice/lib/action_web_service/templates/scaffolds/{parameters.erb → parameters.html.erb} +0 -0
  254. data/vendor/actionwebservice/lib/action_web_service/templates/scaffolds/{result.erb → result.html.erb} +0 -0
  255. data/vendor/actionwebservice/lib/action_web_service/version.rb +3 -3
  256. data/vendor/actionwebservice/lib/action_web_service.rb +3 -3
  257. data/vendor/actionwebservice/test/abstract_client.rb +1 -1
  258. data/vendor/actionwebservice/test/abstract_dispatcher.rb +0 -4
  259. data/vendor/actionwebservice/test/abstract_unit.rb +6 -18
  260. data/vendor/actionwebservice/test/client_xmlrpc_test.rb +0 -1
  261. data/vendor/actionwebservice/test/gencov +0 -0
  262. data/vendor/actionwebservice/test/run +0 -0
  263. data/vendor/actionwebservice/test/scaffolded_controller_test.rb +5 -5
  264. data/vendor/gems/coderay-0.8.260/.specification +114 -0
  265. data/vendor/gems/coderay-0.8.260/FOLDERS +53 -0
  266. data/vendor/gems/coderay-0.8.260/LICENSE +504 -0
  267. data/vendor/gems/coderay-0.8.260/README +128 -0
  268. data/vendor/gems/coderay-0.8.260/bin/coderay +82 -0
  269. data/vendor/gems/coderay-0.8.260/bin/coderay_stylesheet +4 -0
  270. data/vendor/gems/coderay-0.8.260/lib/coderay/duo.rb +87 -0
  271. data/vendor/gems/coderay-0.8.260/lib/coderay/encoder.rb +182 -0
  272. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/_map.rb +9 -0
  273. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/count.rb +21 -0
  274. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/debug.rb +49 -0
  275. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/div.rb +20 -0
  276. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/html/css.rb +70 -0
  277. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/html/numerization.rb +124 -0
  278. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/html/output.rb +197 -0
  279. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/html.rb +287 -0
  280. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/null.rb +26 -0
  281. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/page.rb +21 -0
  282. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/span.rb +20 -0
  283. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/statistic.rb +77 -0
  284. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/text.rb +32 -0
  285. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/tokens.rb +44 -0
  286. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/xml.rb +70 -0
  287. data/vendor/gems/coderay-0.8.260/lib/coderay/encoders/yaml.rb +22 -0
  288. data/vendor/gems/coderay-0.8.260/lib/coderay/for_redcloth.rb +72 -0
  289. data/vendor/gems/coderay-0.8.260/lib/coderay/helpers/file_type.rb +211 -0
  290. data/vendor/gems/coderay-0.8.260/lib/coderay/helpers/gzip_simple.rb +123 -0
  291. data/vendor/gems/coderay-0.8.260/lib/coderay/helpers/plugin.rb +333 -0
  292. data/vendor/gems/coderay-0.8.260/lib/coderay/helpers/word_list.rb +123 -0
  293. data/vendor/gems/coderay-0.8.260/lib/coderay/scanner.rb +255 -0
  294. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/_map.rb +15 -0
  295. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/c.rb +165 -0
  296. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/css.rb +181 -0
  297. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/debug.rb +61 -0
  298. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/delphi.rb +150 -0
  299. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/diff.rb +104 -0
  300. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/html.rb +177 -0
  301. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/java/builtin_types.rb +419 -0
  302. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/java.rb +179 -0
  303. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/java_script.rb +187 -0
  304. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/json.rb +106 -0
  305. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/nitro_xhtml.rb +134 -0
  306. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/plaintext.rb +18 -0
  307. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/rhtml.rb +73 -0
  308. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/ruby/patterns.rb +226 -0
  309. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/ruby.rb +381 -0
  310. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/scheme.rb +142 -0
  311. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/sql.Keith.rb +143 -0
  312. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/sql.rb +154 -0
  313. data/vendor/gems/coderay-0.8.260/lib/coderay/scanners/xml.rb +19 -0
  314. data/vendor/gems/coderay-0.8.260/lib/coderay/style.rb +20 -0
  315. data/vendor/gems/coderay-0.8.260/lib/coderay/styles/_map.rb +7 -0
  316. data/vendor/gems/coderay-0.8.260/lib/coderay/styles/cycnus.rb +146 -0
  317. data/vendor/gems/coderay-0.8.260/lib/coderay/styles/murphy.rb +132 -0
  318. data/vendor/gems/coderay-0.8.260/lib/coderay/token_classes.rb +82 -0
  319. data/vendor/gems/coderay-0.8.260/lib/coderay/tokens.rb +387 -0
  320. data/vendor/gems/coderay-0.8.260/lib/coderay.rb +321 -0
  321. data/vendor/gems/coderay-0.8.260/lib/term/ansicolor.rb +220 -0
  322. data/vendor/plugins/acts_as_tree/README +26 -0
  323. data/vendor/plugins/{classic_pagination → acts_as_tree}/Rakefile +3 -3
  324. data/vendor/plugins/acts_as_tree/init.rb +1 -0
  325. data/vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb +96 -0
  326. data/vendor/{actionwebservice/lib/action_web_service/templates/scaffolds/layout.rhtml → plugins/acts_as_tree/test/abstract_unit.rb} +0 -0
  327. data/vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb +219 -0
  328. data/vendor/{actionwebservice/lib/action_web_service/templates/scaffolds/methods.rhtml → plugins/acts_as_tree/test/database.yml} +0 -0
  329. data/vendor/{actionwebservice/lib/action_web_service/templates/scaffolds/parameters.rhtml → plugins/acts_as_tree/test/fixtures/mixin.rb} +0 -0
  330. data/vendor/{actionwebservice/lib/action_web_service/templates/scaffolds/result.rhtml → plugins/acts_as_tree/test/fixtures/mixins.yml} +0 -0
  331. data/vendor/plugins/{rspec_on_rails/generators/rspec/templates/previous_failures.txt → acts_as_tree/test/schema.rb} +0 -0
  332. data/vendor/plugins/expiring_action_cache/lib/metafragment.rb +1 -1
  333. data/vendor/plugins/fckeditor/lib/fckeditor.rb +1 -1
  334. data/vendor/plugins/livesearch_sidebar/init.rb +4 -0
  335. data/vendor/plugins/livesearch_sidebar/lib/livesearch_sidebar.rb +5 -0
  336. data/vendor/plugins/livesearch_sidebar/views/content.rhtml +15 -0
  337. data/vendor/plugins/localization/bin/make_language.rb +78 -0
  338. data/vendor/plugins/localization/lib/localization.rb +14 -0
  339. data/vendor/plugins/rspec/.autotest +1 -0
  340. data/vendor/plugins/rspec/{CHANGES → History.txt} +215 -62
  341. data/vendor/plugins/rspec/{MIT-LICENSE → License.txt} +3 -1
  342. data/vendor/plugins/rspec/Manifest.txt +403 -0
  343. data/vendor/plugins/rspec/README.txt +39 -0
  344. data/vendor/plugins/rspec/Rakefile +39 -229
  345. data/vendor/plugins/rspec/TODO.txt +10 -0
  346. data/vendor/plugins/rspec/bin/autospec +4 -0
  347. data/vendor/plugins/rspec/bin/spec +1 -1
  348. data/vendor/plugins/rspec/examples/pure/autogenerated_docstrings_example.rb +4 -4
  349. data/vendor/plugins/rspec/examples/pure/partial_mock_example.rb +1 -0
  350. data/vendor/plugins/rspec/examples/pure/shared_example_group_example.rb +2 -2
  351. data/vendor/plugins/rspec/examples/pure/yielding_example.rb +33 -0
  352. data/vendor/plugins/rspec/examples/stories/calculator.rb +1 -1
  353. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/everything.rb +1 -1
  354. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +17 -17
  355. data/vendor/plugins/rspec/lib/autotest/discover.rb +1 -1
  356. data/vendor/plugins/rspec/lib/autotest/rspec.rb +10 -38
  357. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/mri.rb +8 -0
  358. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/rubinius.rb +8 -0
  359. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine.rb +26 -0
  360. data/vendor/plugins/rspec/lib/spec/adapters.rb +1 -0
  361. data/vendor/plugins/rspec/lib/spec/example/before_and_after_hooks.rb +93 -0
  362. data/vendor/plugins/rspec/lib/spec/example/configuration.rb +40 -17
  363. data/vendor/plugins/rspec/lib/spec/example/errors.rb +23 -2
  364. data/vendor/plugins/rspec/lib/spec/example/example_group.rb +12 -3
  365. data/vendor/plugins/rspec/lib/spec/example/example_group_factory.rb +41 -22
  366. data/vendor/plugins/rspec/lib/spec/example/example_group_methods.rb +88 -144
  367. data/vendor/plugins/rspec/lib/spec/example/example_matcher.rb +2 -0
  368. data/vendor/plugins/rspec/lib/spec/example/example_methods.rb +19 -20
  369. data/vendor/plugins/rspec/lib/spec/example/shared_example_group.rb +6 -12
  370. data/vendor/plugins/rspec/lib/spec/example.rb +1 -1
  371. data/vendor/plugins/rspec/lib/spec/expectations/differs/default.rb +1 -1
  372. data/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +4 -12
  373. data/vendor/plugins/rspec/lib/spec/expectations/handler.rb +10 -10
  374. data/vendor/plugins/rspec/lib/spec/extensions/main.rb +3 -18
  375. data/vendor/plugins/rspec/lib/spec/extensions/metaclass.rb +7 -0
  376. data/vendor/plugins/rspec/lib/spec/extensions/object.rb +0 -4
  377. data/vendor/plugins/rspec/lib/spec/extensions.rb +1 -0
  378. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testcase.rb +12 -2
  379. data/vendor/plugins/rspec/lib/spec/matchers/be.rb +18 -21
  380. data/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +5 -5
  381. data/vendor/plugins/rspec/lib/spec/matchers/change.rb +45 -41
  382. data/vendor/plugins/rspec/lib/spec/matchers/eql.rb +6 -6
  383. data/vendor/plugins/rspec/lib/spec/matchers/equal.rb +6 -6
  384. data/vendor/plugins/rspec/lib/spec/matchers/exist.rb +10 -5
  385. data/vendor/plugins/rspec/lib/spec/matchers/has.rb +2 -12
  386. data/vendor/plugins/rspec/lib/spec/matchers/have.rb +25 -20
  387. data/vendor/plugins/rspec/lib/spec/matchers/include.rb +12 -5
  388. data/vendor/plugins/rspec/lib/spec/matchers/match.rb +9 -9
  389. data/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +25 -19
  390. data/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +60 -37
  391. data/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +5 -4
  392. data/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +5 -5
  393. data/vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb +115 -12
  394. data/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +3 -3
  395. data/vendor/plugins/rspec/lib/spec/matchers.rb +8 -2
  396. data/vendor/plugins/rspec/lib/spec/mocks/argument_constraints.rb +165 -0
  397. data/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +24 -158
  398. data/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +1 -1
  399. data/vendor/plugins/rspec/lib/spec/mocks/extensions.rb +1 -0
  400. data/vendor/plugins/rspec/lib/spec/mocks/framework.rb +15 -0
  401. data/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +74 -10
  402. data/vendor/plugins/rspec/lib/spec/mocks/methods.rb +15 -3
  403. data/vendor/plugins/rspec/lib/spec/mocks/mock.rb +13 -7
  404. data/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +71 -17
  405. data/vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb +9 -1
  406. data/vendor/plugins/rspec/lib/spec/mocks.rb +1 -12
  407. data/vendor/plugins/rspec/lib/spec/rake/spectask.rb +19 -27
  408. data/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +3 -3
  409. data/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +7 -8
  410. data/vendor/plugins/rspec/lib/spec/runner/command_line.rb +6 -17
  411. data/vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb +1 -1
  412. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +4 -3
  413. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +5 -9
  414. data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +4 -8
  415. data/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +18 -14
  416. data/vendor/plugins/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +65 -0
  417. data/vendor/plugins/rspec/lib/spec/runner/formatter/profile_formatter.rb +4 -0
  418. data/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +6 -2
  419. data/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +1 -1
  420. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/html_formatter.rb +62 -16
  421. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/plain_text_formatter.rb +81 -18
  422. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/progress_bar_formatter.rb +42 -0
  423. data/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +2 -2
  424. data/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +49 -45
  425. data/vendor/plugins/rspec/lib/spec/runner/options.rb +54 -20
  426. data/vendor/plugins/rspec/lib/spec/runner/reporter.rb +36 -12
  427. data/vendor/plugins/rspec/lib/spec/runner/spec_parser.rb +1 -1
  428. data/vendor/plugins/rspec/lib/spec/runner.rb +17 -6
  429. data/vendor/plugins/rspec/lib/spec/story/extensions/regexp.rb +2 -2
  430. data/vendor/plugins/rspec/lib/spec/story/extensions/string.rb +2 -2
  431. data/vendor/plugins/rspec/lib/spec/story/runner/plain_text_story_runner.rb +2 -2
  432. data/vendor/plugins/rspec/lib/spec/story/runner/scenario_runner.rb +8 -0
  433. data/vendor/plugins/rspec/lib/spec/story/runner/story_mediator.rb +15 -1
  434. data/vendor/plugins/rspec/lib/spec/story/runner/story_parser.rb +20 -0
  435. data/vendor/plugins/rspec/lib/spec/story/runner/story_runner.rb +3 -1
  436. data/vendor/plugins/rspec/lib/spec/story/runner.rb +8 -5
  437. data/vendor/plugins/rspec/lib/spec/story/step.rb +43 -31
  438. data/vendor/plugins/rspec/lib/spec/story/step_mother.rb +2 -1
  439. data/vendor/plugins/rspec/lib/spec/story/story.rb +8 -11
  440. data/vendor/plugins/rspec/lib/spec/story/world.rb +6 -3
  441. data/vendor/plugins/rspec/lib/spec/version.rb +13 -22
  442. data/vendor/plugins/rspec/lib/spec.rb +15 -13
  443. data/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +2 -0
  444. data/vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake +1 -1
  445. data/vendor/plugins/rspec/rake_tasks/verify_rcov.rake +2 -2
  446. data/vendor/plugins/rspec/rspec.gemspec +22 -0
  447. data/vendor/plugins/rspec/spec/{autotest_helper.rb → autotest/autotest_helper.rb} +2 -2
  448. data/vendor/plugins/rspec/spec/{autotest_matchers.rb → autotest/autotest_matchers.rb} +0 -0
  449. data/vendor/plugins/rspec/spec/autotest/discover_spec.rb +1 -1
  450. data/vendor/plugins/rspec/spec/autotest/rspec_spec.rb +94 -139
  451. data/vendor/plugins/rspec/spec/rspec_suite.rb +0 -1
  452. data/vendor/plugins/rspec/spec/spec/adapters/ruby_engine_spec.rb +16 -0
  453. data/vendor/plugins/rspec/spec/spec/example/configuration_spec.rb +229 -215
  454. data/vendor/plugins/rspec/spec/spec/example/example_group_class_definition_spec.rb +9 -9
  455. data/vendor/plugins/rspec/spec/spec/example/example_group_factory_spec.rb +137 -101
  456. data/vendor/plugins/rspec/spec/spec/example/example_group_methods_spec.rb +456 -361
  457. data/vendor/plugins/rspec/spec/spec/example/example_group_spec.rb +460 -488
  458. data/vendor/plugins/rspec/spec/spec/example/example_methods_spec.rb +117 -52
  459. data/vendor/plugins/rspec/spec/spec/example/nested_example_group_spec.rb +12 -0
  460. data/vendor/plugins/rspec/spec/spec/example/pending_module_spec.rb +114 -0
  461. data/vendor/plugins/rspec/spec/spec/example/shared_example_group_spec.rb +219 -203
  462. data/vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb +27 -9
  463. data/vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +0 -12
  464. data/vendor/plugins/rspec/spec/spec/extensions/main_spec.rb +23 -28
  465. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  466. data/vendor/plugins/rspec/spec/spec/interop/test/unit/spec_spec.rb +15 -8
  467. data/vendor/plugins/rspec/spec/spec/interop/test/unit/testcase_spec.rb +4 -0
  468. data/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +24 -0
  469. data/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +16 -6
  470. data/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +58 -37
  471. data/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +26 -0
  472. data/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +105 -2
  473. data/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +19 -0
  474. data/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +35 -2
  475. data/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +124 -0
  476. data/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +6 -6
  477. data/vendor/plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb +64 -2
  478. data/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +7 -0
  479. data/vendor/plugins/rspec/spec/spec/mocks/{bug_report_10263.rb → bug_report_10263_spec.rb} +0 -0
  480. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +2 -0
  481. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_496.rb +17 -0
  482. data/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +10 -30
  483. data/vendor/plugins/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +53 -0
  484. data/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +123 -43
  485. data/vendor/plugins/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  486. data/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +14 -0
  487. data/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +18 -28
  488. data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +50 -7
  489. data/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +26 -50
  490. data/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +7 -0
  491. data/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +8 -0
  492. data/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +102 -108
  493. data/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +11 -6
  494. data/vendor/plugins/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +112 -0
  495. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +3 -2
  496. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +30 -25
  497. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +1 -6
  498. data/vendor/plugins/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +318 -0
  499. data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +30 -2
  500. data/vendor/plugins/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +4 -4
  501. data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +133 -100
  502. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/html_formatter_spec.rb +76 -2
  503. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +266 -1
  504. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb +82 -0
  505. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +33 -28
  506. data/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +8 -8
  507. data/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +104 -61
  508. data/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +103 -17
  509. data/vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +1 -1
  510. data/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +6 -0
  511. data/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +59 -10
  512. data/vendor/plugins/rspec/spec/spec/runner/spec_drb.opts +1 -0
  513. data/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +10 -4
  514. data/vendor/plugins/rspec/spec/spec/story/runner/plain_text_story_runner_spec.rb +15 -17
  515. data/vendor/plugins/rspec/spec/spec/story/runner/scenario_runner_spec.rb +124 -52
  516. data/vendor/plugins/rspec/spec/spec/story/runner/story_mediator_spec.rb +12 -2
  517. data/vendor/plugins/rspec/spec/spec/story/runner/story_parser_spec.rb +23 -6
  518. data/vendor/plugins/rspec/spec/spec/story/runner/story_runner_spec.rb +43 -5
  519. data/vendor/plugins/rspec/spec/spec/story/runner_spec.rb +59 -72
  520. data/vendor/plugins/rspec/spec/spec/story/scenario_spec.rb +1 -3
  521. data/vendor/plugins/rspec/spec/spec/story/step_mother_spec.rb +12 -0
  522. data/vendor/plugins/rspec/spec/spec/story/step_spec.rb +76 -4
  523. data/vendor/plugins/rspec/spec/spec/story/story_spec.rb +3 -5
  524. data/vendor/plugins/rspec/spec/spec/story/world_spec.rb +8 -8
  525. data/vendor/plugins/rspec/spec/spec_helper.rb +40 -66
  526. data/vendor/plugins/rspec/stories/all.rb +1 -1
  527. data/vendor/plugins/rspec/stories/configuration/before_blocks.story +21 -0
  528. data/vendor/plugins/rspec/stories/configuration/stories.rb +7 -0
  529. data/vendor/plugins/rspec/stories/mock_framework_integration/stories.rb +7 -0
  530. data/vendor/plugins/rspec/stories/mock_framework_integration/use_flexmock.story +9 -0
  531. data/vendor/plugins/rspec/stories/resources/spec/before_blocks_example.rb +32 -0
  532. data/vendor/plugins/rspec/stories/resources/spec/spec_with_flexmock.rb +18 -0
  533. data/vendor/plugins/rspec/stories/stories/multiline_steps.story +23 -0
  534. data/vendor/plugins/rspec/stories/stories/steps/multiline_steps.rb +13 -0
  535. data/vendor/plugins/rspec/stories/stories/stories.rb +6 -0
  536. data/vendor/plugins/rspec-rails/History.txt +93 -0
  537. data/vendor/plugins/{rspec_on_rails/MIT-LICENSE → rspec-rails/License.txt} +7 -5
  538. data/vendor/plugins/rspec-rails/Manifest.txt +161 -0
  539. data/vendor/plugins/rspec-rails/README.txt +46 -0
  540. data/vendor/plugins/rspec-rails/Rakefile +39 -0
  541. data/vendor/plugins/rspec-rails/UPGRADE +7 -0
  542. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/CHANGES +0 -0
  543. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/rspec_generator.rb +9 -4
  544. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/all_stories.rb +0 -0
  545. data/vendor/plugins/{rspec_on_rails/spec_resources/views/controller_spec/_partial.rhtml → rspec-rails/generators/rspec/templates/previous_failures.txt} +0 -0
  546. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/rcov.opts +0 -0
  547. data/vendor/plugins/{rspec_on_rails/tasks → rspec-rails/generators/rspec/templates}/rspec.rake +6 -11
  548. data/vendor/plugins/rspec-rails/generators/rspec/templates/script/autospec +5 -0
  549. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/script/spec +1 -0
  550. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/script/spec_server +18 -4
  551. data/vendor/plugins/rspec-rails/generators/rspec/templates/spec.opts +4 -0
  552. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/spec_helper.rb +8 -0
  553. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/stories_helper.rb +0 -0
  554. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_controller/USAGE +0 -0
  555. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_controller/rspec_controller_generator.rb +0 -0
  556. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_controller/templates/controller_spec.rb +1 -1
  557. data/vendor/plugins/rspec-rails/generators/rspec_controller/templates/helper_spec.rb +11 -0
  558. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_controller/templates/view_spec.rb +2 -2
  559. data/vendor/plugins/rspec-rails/generators/rspec_default_values.rb +19 -0
  560. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_model/USAGE +0 -0
  561. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_model/rspec_model_generator.rb +7 -2
  562. data/vendor/plugins/rspec-rails/generators/rspec_model/templates/model_spec.rb +15 -0
  563. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_scaffold/rspec_scaffold_generator.rb +2 -15
  564. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/controller_spec.rb +173 -0
  565. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_scaffold/templates/edit_erb_spec.rb +8 -7
  566. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/helper_spec.rb +11 -0
  567. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/index_erb_spec.rb +27 -0
  568. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_scaffold/templates/new_erb_spec.rb +7 -7
  569. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_scaffold/templates/routing_spec.rb +15 -17
  570. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb +23 -0
  571. data/vendor/plugins/{rspec_on_rails → rspec-rails}/init.rb +0 -0
  572. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/autotest/discover.rb +0 -0
  573. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/autotest/rails_rspec.rb +1 -6
  574. data/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb +40 -0
  575. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/example/controller_example_group.rb +56 -55
  576. data/vendor/plugins/rspec-rails/lib/spec/rails/example/cookies_proxy.rb +25 -0
  577. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/example/functional_example_group.rb +31 -10
  578. data/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb +170 -0
  579. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/example/model_example_group.rb +0 -0
  580. data/vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb +33 -0
  581. data/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb +93 -0
  582. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/example/view_example_group.rb +18 -6
  583. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/example.rb +1 -1
  584. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/action_controller/base.rb +0 -0
  585. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/action_controller/rescue.rb +0 -0
  586. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/action_controller/test_response.rb +0 -0
  587. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/action_view/base.rb +8 -4
  588. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/active_record/base.rb +0 -0
  589. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/object.rb +0 -0
  590. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/spec/example/configuration.rb +6 -1
  591. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/spec/matchers/have.rb +2 -2
  592. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions.rb +0 -0
  593. data/vendor/plugins/rspec-rails/lib/spec/rails/interop/testcase.rb +14 -0
  594. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/matchers/assert_select.rb +1 -0
  595. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/change.rb +11 -0
  596. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/matchers/have_text.rb +4 -2
  597. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/include_text.rb +54 -0
  598. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/matchers/redirect_to.rb +1 -1
  599. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/matchers/render_template.rb +26 -6
  600. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/matchers.rb +2 -0
  601. data/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb +132 -0
  602. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/story_adapter.rb +11 -3
  603. data/vendor/plugins/rspec-rails/lib/spec/rails/version.rb +15 -0
  604. data/vendor/plugins/rspec-rails/lib/spec/rails.rb +15 -0
  605. data/vendor/plugins/rspec-rails/rspec-rails.gemspec +28 -0
  606. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/autotest/mappings_spec.rb +1 -1
  607. data/vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb +96 -0
  608. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/configuration_spec.rb +0 -0
  609. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/controller_isolation_spec.rb +20 -1
  610. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/controller_spec_spec.rb +119 -27
  611. data/vendor/plugins/rspec-rails/spec/rails/example/cookies_proxy_spec.rb +74 -0
  612. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/example_group_factory_spec.rb +0 -0
  613. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/helper_spec_spec.rb +60 -4
  614. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/model_spec_spec.rb +0 -0
  615. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/shared_behaviour_spec.rb +0 -0
  616. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/test_unit_assertion_accessibility_spec.rb +0 -0
  617. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/view_spec_spec.rb +75 -51
  618. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/extensions/action_controller_rescue_action_spec.rb +0 -0
  619. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/extensions/action_view_base_spec.rb +10 -10
  620. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/extensions/active_record_spec.rb +0 -0
  621. data/vendor/plugins/rspec-rails/spec/rails/interop/testcase_spec.rb +66 -0
  622. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/matchers/assert_select_spec.rb +34 -3
  623. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/matchers/description_generation_spec.rb +0 -0
  624. data/vendor/plugins/rspec-rails/spec/rails/matchers/errors_on_spec.rb +25 -0
  625. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/matchers/have_text_spec.rb +0 -0
  626. data/vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb +64 -0
  627. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/matchers/redirect_to_spec.rb +7 -1
  628. data/vendor/plugins/{rspec_on_rails/spec/rails/matchers/render_spec.rb → rspec-rails/spec/rails/matchers/render_template_spec.rb} +21 -14
  629. data/vendor/plugins/rspec-rails/spec/rails/matchers/should_change_spec.rb +15 -0
  630. data/vendor/plugins/rspec-rails/spec/rails/mocks/ar_classes.rb +10 -0
  631. data/vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb +106 -0
  632. data/vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb +80 -0
  633. data/vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb +8 -0
  634. data/vendor/plugins/rspec-rails/spec/rails/sample_spec.rb +8 -0
  635. data/vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb +96 -0
  636. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/spec_spec.rb +0 -0
  637. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails_suite.rb +0 -0
  638. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/spec_helper.rb +13 -1
  639. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/controllers/action_view_base_spec_controller.rb +0 -0
  640. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/controllers/controller_spec_controller.rb +46 -3
  641. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/controllers/redirect_spec_controller.rb +0 -0
  642. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/controllers/render_spec_controller.rb +4 -0
  643. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/controllers/rjs_spec_controller.rb +0 -0
  644. data/vendor/plugins/rspec-rails/spec_resources/helpers/addition_helper.rb +5 -0
  645. data/vendor/plugins/rspec-rails/spec_resources/helpers/explicit_helper.rb +38 -0
  646. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/helpers/more_explicit_helper.rb +0 -0
  647. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/helpers/plugin_application_helper.rb +0 -0
  648. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/helpers/view_spec_helper.rb +0 -0
  649. data/vendor/plugins/{rspec_on_rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml → rspec-rails/spec_resources/views/controller_spec/_partial.rhtml} +0 -0
  650. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +0 -0
  651. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +0 -0
  652. data/vendor/plugins/{rspec_on_rails/spec_resources/views/render_spec/_a_partial.rhtml → rspec-rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml} +0 -0
  653. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +0 -0
  654. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/action_with_template.rhtml +0 -0
  655. data/vendor/plugins/{rspec_on_rails/spec_resources/views/render_spec/some_action.rhtml → rspec-rails/spec_resources/views/layouts/application.rhtml} +0 -0
  656. data/vendor/plugins/{rspec_on_rails/spec_resources/views/view_spec/_partial_used_twice.rhtml → rspec-rails/spec_resources/views/layouts/simple.rhtml} +0 -0
  657. data/vendor/plugins/rspec-rails/spec_resources/views/objects/_object.html.erb +1 -0
  658. data/vendor/plugins/rspec-rails/spec_resources/views/render_spec/_a_partial.rhtml +0 -0
  659. data/vendor/plugins/rspec-rails/spec_resources/views/render_spec/action_with_alternate_layout.rhtml +0 -0
  660. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/render_spec/some_action.js.rjs +0 -0
  661. data/vendor/plugins/rspec-rails/spec_resources/views/render_spec/some_action.rhtml +0 -0
  662. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/render_spec/some_action.rjs +0 -0
  663. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/_replacement_partial.rhtml +0 -0
  664. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/hide_div.rjs +0 -0
  665. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/hide_page_element.rjs +0 -0
  666. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/insert_html.rjs +0 -0
  667. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/replace.rjs +0 -0
  668. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/replace_html.rjs +0 -0
  669. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +0 -0
  670. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/visual_effect.rjs +0 -0
  671. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +0 -0
  672. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/tag_spec/no_tags.rhtml +0 -0
  673. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +0 -0
  674. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +0 -0
  675. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/_partial.rhtml +0 -0
  676. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/_partial_used_twice.rhtml +0 -0
  677. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +0 -0
  678. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/_partial_with_sub_partial.rhtml +0 -0
  679. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/_spacer.rhtml +0 -0
  680. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/accessor.rhtml +5 -0
  681. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/block_helper.rhtml +3 -0
  682. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/entry_form.rhtml +0 -0
  683. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/explicit_helper.rhtml +0 -0
  684. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/foo/show.rhtml +0 -0
  685. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/implicit_helper.rhtml +0 -0
  686. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/multiple_helpers.rhtml +0 -0
  687. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/should_not_receive.rhtml +3 -0
  688. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/template_with_partial.rhtml +0 -0
  689. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/template_with_partial_using_collection.rhtml +0 -0
  690. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/template_with_partial_with_array.rhtml +0 -0
  691. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/all.rb +0 -0
  692. data/vendor/plugins/rspec-rails/stories/configuration/stories.rb +5 -0
  693. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/helper.rb +1 -0
  694. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/steps/people.rb +0 -0
  695. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/transactions_should_rollback +0 -0
  696. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/transactions_should_rollback.rb +0 -0
  697. data/vendor/plugins/typo_textfilter_code/lib/typo_textfilter_code.rb +25 -20
  698. data/vendor/plugins/typo_textfilter_flickr/lib/typo_textfilter_flickr.rb +1 -1
  699. data/vendor/plugins/typo_textfilter_lightbox/lib/typo_textfilter_lightbox.rb +1 -1
  700. data/vendor/plugins/will_paginate/.manifest +49 -0
  701. data/vendor/plugins/will_paginate/CHANGELOG.rdoc +110 -0
  702. data/vendor/plugins/will_paginate/LICENSE +18 -0
  703. data/vendor/plugins/will_paginate/README.rdoc +107 -0
  704. data/vendor/plugins/will_paginate/Rakefile +62 -0
  705. data/vendor/plugins/will_paginate/examples/apple-circle.gif +0 -0
  706. data/vendor/plugins/will_paginate/examples/index.haml +69 -0
  707. data/vendor/plugins/will_paginate/examples/index.html +92 -0
  708. data/vendor/plugins/will_paginate/examples/pagination.css +90 -0
  709. data/vendor/plugins/will_paginate/examples/pagination.sass +91 -0
  710. data/vendor/plugins/will_paginate/init.rb +1 -0
  711. data/vendor/plugins/will_paginate/lib/will_paginate/array.rb +16 -0
  712. data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +146 -0
  713. data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +32 -0
  714. data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +260 -0
  715. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope.rb +170 -0
  716. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +37 -0
  717. data/vendor/plugins/will_paginate/lib/will_paginate/version.rb +9 -0
  718. data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +383 -0
  719. data/vendor/plugins/will_paginate/lib/will_paginate.rb +82 -0
  720. data/vendor/plugins/will_paginate/test/boot.rb +21 -0
  721. data/vendor/plugins/will_paginate/test/collection_test.rb +143 -0
  722. data/vendor/plugins/will_paginate/test/console +8 -0
  723. data/vendor/plugins/will_paginate/test/database.yml +22 -0
  724. data/vendor/plugins/will_paginate/test/finder_test.rb +476 -0
  725. data/vendor/plugins/will_paginate/test/fixtures/admin.rb +3 -0
  726. data/vendor/plugins/will_paginate/test/fixtures/developer.rb +14 -0
  727. data/vendor/plugins/{classic_pagination → will_paginate}/test/fixtures/developers_projects.yml +0 -0
  728. data/vendor/plugins/will_paginate/test/fixtures/project.rb +15 -0
  729. data/vendor/plugins/{classic_pagination → will_paginate}/test/fixtures/projects.yml +3 -4
  730. data/vendor/plugins/will_paginate/test/fixtures/replies.yml +29 -0
  731. data/vendor/plugins/{classic_pagination → will_paginate}/test/fixtures/reply.rb +2 -0
  732. data/vendor/plugins/will_paginate/test/fixtures/schema.rb +38 -0
  733. data/vendor/plugins/will_paginate/test/fixtures/topic.rb +10 -0
  734. data/vendor/plugins/{classic_pagination → will_paginate}/test/fixtures/topics.yml +9 -1
  735. data/vendor/plugins/will_paginate/test/fixtures/user.rb +2 -0
  736. data/vendor/plugins/{classic_pagination/test/fixtures/developers.yml → will_paginate/test/fixtures/users.yml} +15 -1
  737. data/vendor/plugins/will_paginate/test/helper.rb +37 -0
  738. data/vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb +36 -0
  739. data/vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb +73 -0
  740. data/vendor/plugins/will_paginate/test/lib/load_fixtures.rb +11 -0
  741. data/vendor/plugins/will_paginate/test/lib/view_test_process.rb +165 -0
  742. data/vendor/plugins/will_paginate/test/tasks.rake +59 -0
  743. data/vendor/plugins/will_paginate/test/view_test.rb +363 -0
  744. data/vendor/plugins/will_paginate/will_paginate.gemspec +22 -0
  745. data/vendor/plugins/xml_sidebar/views/content.rhtml +3 -3
  746. metadata +614 -542
  747. data/CHANGES-5.1.3 +0 -21
  748. data/app/controllers/admin/comments_controller.rb +0 -57
  749. data/app/controllers/admin/trackbacks_controller.rb +0 -45
  750. data/app/views/accounts/logout.html.erb +0 -12
  751. data/app/views/accounts/welcome.html.erb +0 -13
  752. data/app/views/admin/categories/_quick_post.html.erb +0 -11
  753. data/app/views/admin/categories/edit.html.erb +0 -11
  754. data/app/views/admin/comments/destroy.html.erb +0 -11
  755. data/app/views/admin/comments/edit.html.erb +0 -14
  756. data/app/views/admin/comments/index.html.erb +0 -30
  757. data/app/views/admin/comments/show.html.erb +0 -28
  758. data/app/views/admin/content/_articles.html.erb +0 -47
  759. data/app/views/admin/content/_pages.html.erb +0 -3
  760. data/app/views/admin/content/edit.html.erb +0 -3
  761. data/app/views/admin/pages/_quick_post.html.erb +0 -21
  762. data/app/views/admin/settings/podcast.html.erb +0 -44
  763. data/app/views/admin/settings/spam.html.erb +0 -42
  764. data/app/views/admin/textfilters/_form.html.erb +0 -60
  765. data/app/views/admin/textfilters/_macros.html.erb +0 -16
  766. data/app/views/admin/textfilters/_textfilters.html.erb +0 -20
  767. data/app/views/admin/textfilters/destroy.html.erb +0 -10
  768. data/app/views/admin/textfilters/edit.html.erb +0 -14
  769. data/app/views/admin/textfilters/index.html.erb +0 -12
  770. data/app/views/admin/textfilters/macro_help.html.erb +0 -3
  771. data/app/views/admin/textfilters/new.html.erb +0 -12
  772. data/app/views/admin/textfilters/preview.html.erb +0 -3
  773. data/app/views/admin/textfilters/show.html.erb +0 -29
  774. data/app/views/admin/textfilters/show_help.html.erb +0 -4
  775. data/app/views/admin/trackbacks/_form.html.erb +0 -19
  776. data/app/views/admin/trackbacks/destroy.html.erb +0 -6
  777. data/app/views/admin/trackbacks/edit.html.erb +0 -11
  778. data/app/views/admin/trackbacks/index.html.erb +0 -22
  779. data/app/views/admin/trackbacks/show.html.erb +0 -14
  780. data/app/views/admin/users/_user.html.erb +0 -20
  781. data/doc/typo-4.0-release-notes.txt +0 -135
  782. data/public/images/admin/arrow_comment_group.gif +0 -0
  783. data/public/images/admin/bc-bg.gif +0 -0
  784. data/public/images/admin/bgdivider.png +0 -0
  785. data/public/images/admin/bgoff.png +0 -0
  786. data/public/images/admin/bgover.png +0 -0
  787. data/public/images/admin/bgselected.png +0 -0
  788. data/public/images/admin/cancel.png +0 -0
  789. data/public/images/admin/checked.png +0 -0
  790. data/public/images/admin/delete.png +0 -0
  791. data/public/images/admin/edit.png +0 -0
  792. data/public/images/admin/help.png +0 -0
  793. data/public/images/admin/loginformbg.png +0 -0
  794. data/public/images/admin/show.png +0 -0
  795. data/public/images/admin/table-header-first.png +0 -0
  796. data/public/stylesheets/typo_code.css +0 -62
  797. data/spec/controllers/admin/comments_controller_spec.rb +0 -74
  798. data/spec/controllers/admin/trackbacks_controller_spec.rb +0 -57
  799. data/spec/helpers/admin_base_helper_spec.rb +0 -13
  800. data/themes/dirtylicious/views/shared/_search.html.erb +0 -16
  801. data/themes/scribbish/views/shared/_search.html.erb +0 -16
  802. data/themes/standard_issue/views/shared/_search.html.erb +0 -17
  803. data/themes/typographic/views/shared/_search.html.erb +0 -17
  804. data/vendor/plugins/classic_pagination/CHANGELOG +0 -152
  805. data/vendor/plugins/classic_pagination/README +0 -18
  806. data/vendor/plugins/classic_pagination/init.rb +0 -33
  807. data/vendor/plugins/classic_pagination/install.rb +0 -1
  808. data/vendor/plugins/classic_pagination/lib/pagination.rb +0 -405
  809. data/vendor/plugins/classic_pagination/lib/pagination_helper.rb +0 -135
  810. data/vendor/plugins/classic_pagination/test/fixtures/companies.yml +0 -24
  811. data/vendor/plugins/classic_pagination/test/fixtures/company.rb +0 -9
  812. data/vendor/plugins/classic_pagination/test/fixtures/developer.rb +0 -7
  813. data/vendor/plugins/classic_pagination/test/fixtures/project.rb +0 -3
  814. data/vendor/plugins/classic_pagination/test/fixtures/replies.yml +0 -13
  815. data/vendor/plugins/classic_pagination/test/fixtures/schema.sql +0 -42
  816. data/vendor/plugins/classic_pagination/test/fixtures/topic.rb +0 -3
  817. data/vendor/plugins/classic_pagination/test/helper.rb +0 -117
  818. data/vendor/plugins/classic_pagination/test/pagination_helper_test.rb +0 -38
  819. data/vendor/plugins/classic_pagination/test/pagination_test.rb +0 -177
  820. data/vendor/plugins/rspec/README +0 -71
  821. data/vendor/plugins/rspec/TODO +0 -2
  822. data/vendor/plugins/rspec/UPGRADE +0 -31
  823. data/vendor/plugins/rspec/autotest/discover.rb +0 -6
  824. data/vendor/plugins/rspec/autotest/rspec.rb +0 -1
  825. data/vendor/plugins/rspec/bin/spec_translator +0 -8
  826. data/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +0 -27
  827. data/vendor/plugins/rspec/lib/spec/translator.rb +0 -114
  828. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/core.rb +0 -50
  829. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/pre_commit.rb +0 -54
  830. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/rspec.rb +0 -111
  831. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/rspec_on_rails.rb +0 -313
  832. data/vendor/plugins/rspec/pre_commit/lib/pre_commit.rb +0 -4
  833. data/vendor/plugins/rspec/pre_commit/spec/pre_commit/pre_commit_spec.rb +0 -15
  834. data/vendor/plugins/rspec/pre_commit/spec/pre_commit/rspec_on_rails_spec.rb +0 -36
  835. data/vendor/plugins/rspec/pre_commit/spec/spec_helper.rb +0 -3
  836. data/vendor/plugins/rspec/pre_commit/spec/spec_suite.rb +0 -11
  837. data/vendor/plugins/rspec/report.html +0 -4358
  838. data/vendor/plugins/rspec/spec/spec/example/example_spec.rb +0 -53
  839. data/vendor/plugins/rspec/spec/spec/runner/execution_context_spec.rb +0 -31
  840. data/vendor/plugins/rspec/spec/spec/translator_spec.rb +0 -265
  841. data/vendor/plugins/rspec_on_rails/README +0 -3
  842. data/vendor/plugins/rspec_on_rails/Rakefile +0 -9
  843. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec.opts +0 -6
  844. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +0 -11
  845. data/vendor/plugins/rspec_on_rails/generators/rspec_model/templates/model_spec.rb +0 -11
  846. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +0 -313
  847. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +0 -11
  848. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +0 -22
  849. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +0 -22
  850. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/assigns_hash_proxy.rb +0 -42
  851. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/helper_example_group.rb +0 -82
  852. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/ivar_proxy.rb +0 -62
  853. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/rails_example_group.rb +0 -68
  854. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/render_observer.rb +0 -90
  855. data/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb +0 -23
  856. data/vendor/plugins/rspec_on_rails/lib/spec/rails.rb +0 -51
  857. data/vendor/plugins/rspec_on_rails/spec/rails/autotest/rails_rspec_spec.rb +0 -8
  858. data/vendor/plugins/rspec_on_rails/spec/rails/example/assigns_hash_proxy_spec.rb +0 -55
  859. data/vendor/plugins/rspec_on_rails/spec/rails/example/ivar_proxy_spec.rb +0 -64
  860. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/errors_on_spec.rb +0 -13
  861. data/vendor/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb +0 -65
  862. data/vendor/plugins/rspec_on_rails/spec/rails/sample_spec.rb +0 -7
  863. data/vendor/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb +0 -89
  864. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +0 -10
  865. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/accessor.rhtml +0 -3
  866. data/vendor/syntax/LICENSE +0 -27
  867. data/vendor/syntax/NEWS +0 -16
  868. data/vendor/syntax/README +0 -38
  869. data/vendor/syntax/Rakefile +0 -194
  870. data/vendor/syntax/api/classes/Syntax/Convertors/Abstract.html +0 -159
  871. data/vendor/syntax/api/classes/Syntax/Convertors/HTML.html +0 -149
  872. data/vendor/syntax/api/classes/Syntax/Convertors.html +0 -91
  873. data/vendor/syntax/api/classes/Syntax/Default.html +0 -123
  874. data/vendor/syntax/api/classes/Syntax/Ruby.html +0 -319
  875. data/vendor/syntax/api/classes/Syntax/Token.html +0 -151
  876. data/vendor/syntax/api/classes/Syntax/Tokenizer.html +0 -324
  877. data/vendor/syntax/api/classes/Syntax/Version.html +0 -109
  878. data/vendor/syntax/api/classes/Syntax/XML.html +0 -205
  879. data/vendor/syntax/api/classes/Syntax/YAML.html +0 -189
  880. data/vendor/syntax/api/classes/Syntax.html +0 -173
  881. data/vendor/syntax/api/created.rid +0 -1
  882. data/vendor/syntax/api/files/README.html +0 -155
  883. data/vendor/syntax/api/files/lib/syntax/common_rb.html +0 -96
  884. data/vendor/syntax/api/files/lib/syntax/convertors/abstract_rb.html +0 -96
  885. data/vendor/syntax/api/files/lib/syntax/convertors/html_rb.html +0 -96
  886. data/vendor/syntax/api/files/lib/syntax/lang/ruby_rb.html +0 -96
  887. data/vendor/syntax/api/files/lib/syntax/lang/xml_rb.html +0 -96
  888. data/vendor/syntax/api/files/lib/syntax/lang/yaml_rb.html +0 -96
  889. data/vendor/syntax/api/files/lib/syntax/version_rb.html +0 -92
  890. data/vendor/syntax/api/files/lib/syntax_rb.html +0 -96
  891. data/vendor/syntax/api/fr_class_index.html +0 -56
  892. data/vendor/syntax/api/fr_file_index.html +0 -54
  893. data/vendor/syntax/api/fr_method_index.html +0 -65
  894. data/vendor/syntax/api/index.html +0 -26
  895. data/vendor/syntax/api/rdoc-style.css +0 -175
  896. data/vendor/syntax/doc/manual/chapter.erb +0 -38
  897. data/vendor/syntax/doc/manual/example.erb +0 -18
  898. data/vendor/syntax/doc/manual/index.erb +0 -29
  899. data/vendor/syntax/doc/manual/manual.rb +0 -311
  900. data/vendor/syntax/doc/manual/manual.yml +0 -43
  901. data/vendor/syntax/doc/manual/page.erb +0 -87
  902. data/vendor/syntax/doc/manual/parts/0000.txt +0 -5
  903. data/vendor/syntax/doc/manual/parts/0001.txt +0 -16
  904. data/vendor/syntax/doc/manual/parts/0002.txt +0 -24
  905. data/vendor/syntax/doc/manual/parts/0003.txt +0 -6
  906. data/vendor/syntax/doc/manual/parts/0004.txt +0 -32
  907. data/vendor/syntax/doc/manual/parts/0005.txt +0 -18
  908. data/vendor/syntax/doc/manual/parts/0006.txt +0 -62
  909. data/vendor/syntax/doc/manual/parts/0007.txt +0 -3
  910. data/vendor/syntax/doc/manual/parts/0008.txt +0 -5
  911. data/vendor/syntax/doc/manual/parts/0009.txt +0 -29
  912. data/vendor/syntax/doc/manual/parts/0010.txt +0 -21
  913. data/vendor/syntax/doc/manual/stylesheets/manual.css +0 -270
  914. data/vendor/syntax/doc/manual/stylesheets/ruby.css +0 -17
  915. data/vendor/syntax/doc/manual/tutorial.erb +0 -30
  916. data/vendor/syntax/doc/manual-html/chapter-1.html +0 -198
  917. data/vendor/syntax/doc/manual-html/chapter-2.html +0 -262
  918. data/vendor/syntax/doc/manual-html/chapter-3.html +0 -266
  919. data/vendor/syntax/doc/manual-html/chapter-4.html +0 -267
  920. data/vendor/syntax/doc/manual-html/index.html +0 -152
  921. data/vendor/syntax/doc/manual-html/stylesheets/manual.css +0 -270
  922. data/vendor/syntax/doc/manual-html/stylesheets/ruby.css +0 -17
  923. data/vendor/syntax/lib/syntax/common.rb +0 -163
  924. data/vendor/syntax/lib/syntax/convertors/abstract.rb +0 -27
  925. data/vendor/syntax/lib/syntax/convertors/html.rb +0 -51
  926. data/vendor/syntax/lib/syntax/lang/ruby.rb +0 -317
  927. data/vendor/syntax/lib/syntax/lang/xml.rb +0 -108
  928. data/vendor/syntax/lib/syntax/lang/yaml.rb +0 -105
  929. data/vendor/syntax/lib/syntax/version.rb +0 -9
  930. data/vendor/syntax/lib/syntax.rb +0 -38
  931. data/vendor/syntax/setup.rb +0 -1331
  932. data/vendor/syntax/syntax.gemspec +0 -24
  933. data/vendor/syntax/test/ALL-TESTS.rb +0 -5
  934. data/vendor/syntax/test/syntax/tc_ruby.rb +0 -871
  935. data/vendor/syntax/test/syntax/tc_xml.rb +0 -202
  936. data/vendor/syntax/test/syntax/tc_yaml.rb +0 -228
  937. data/vendor/syntax/test/syntax/tokenizer_testcase.rb +0 -40
  938. data/vendor/syntax/test/tc_syntax.rb +0 -22
@@ -0,0 +1,383 @@
1
+ require 'will_paginate/core_ext'
2
+
3
+ module WillPaginate
4
+ # = Will Paginate view helpers
5
+ #
6
+ # The main view helper, #will_paginate, renders
7
+ # pagination links for the given collection. The helper itself is lightweight
8
+ # and serves only as a wrapper around LinkRenderer instantiation; the
9
+ # renderer then does all the hard work of generating the HTML.
10
+ #
11
+ # == Global options for helpers
12
+ #
13
+ # Options for pagination helpers are optional and get their default values from the
14
+ # <tt>WillPaginate::ViewHelpers.pagination_options</tt> hash. You can write to this hash to
15
+ # override default options on the global level:
16
+ #
17
+ # WillPaginate::ViewHelpers.pagination_options[:previous_label] = 'Previous page'
18
+ #
19
+ # By putting this into "config/initializers/will_paginate.rb" (or simply environment.rb in
20
+ # older versions of Rails) you can easily translate link texts to previous
21
+ # and next pages, as well as override some other defaults to your liking.
22
+ module ViewHelpers
23
+ # default options that can be overridden on the global level
24
+ @@pagination_options = {
25
+ :class => 'pagination',
26
+ :previous_label => '&laquo; Previous',
27
+ :next_label => 'Next &raquo;',
28
+ :inner_window => 4, # links around the current page
29
+ :outer_window => 1, # links around beginning and end
30
+ :separator => ' ', # single space is friendly to spiders and non-graphic browsers
31
+ :param_name => :page,
32
+ :params => nil,
33
+ :renderer => 'WillPaginate::LinkRenderer',
34
+ :page_links => true,
35
+ :container => true
36
+ }
37
+ mattr_reader :pagination_options
38
+
39
+ # Renders Digg/Flickr-style pagination for a WillPaginate::Collection
40
+ # object. Nil is returned if there is only one page in total; no point in
41
+ # rendering the pagination in that case...
42
+ #
43
+ # ==== Options
44
+ # Display options:
45
+ # * <tt>:previous_label</tt> -- default: "« Previous" (this parameter is called <tt>:prev_label</tt> in versions <b>2.3.2</b> and older!)
46
+ # * <tt>:next_label</tt> -- default: "Next »"
47
+ # * <tt>:page_links</tt> -- when false, only previous/next links are rendered (default: true)
48
+ # * <tt>:inner_window</tt> -- how many links are shown around the current page (default: 4)
49
+ # * <tt>:outer_window</tt> -- how many links are around the first and the last page (default: 1)
50
+ # * <tt>:separator</tt> -- string separator for page HTML elements (default: single space)
51
+ #
52
+ # HTML options:
53
+ # * <tt>:class</tt> -- CSS class name for the generated DIV (default: "pagination")
54
+ # * <tt>:container</tt> -- toggles rendering of the DIV container for pagination links, set to
55
+ # false only when you are rendering your own pagination markup (default: true)
56
+ # * <tt>:id</tt> -- HTML ID for the container (default: nil). Pass +true+ to have the ID
57
+ # automatically generated from the class name of objects in collection: for example, paginating
58
+ # ArticleComment models would yield an ID of "article_comments_pagination".
59
+ #
60
+ # Advanced options:
61
+ # * <tt>:param_name</tt> -- parameter name for page number in URLs (default: <tt>:page</tt>)
62
+ # * <tt>:params</tt> -- additional parameters when generating pagination links
63
+ # (eg. <tt>:controller => "foo", :action => nil</tt>)
64
+ # * <tt>:renderer</tt> -- class name, class or instance of a link renderer (default:
65
+ # <tt>WillPaginate::LinkRenderer</tt>)
66
+ #
67
+ # All options not recognized by will_paginate will become HTML attributes on the container
68
+ # element for pagination links (the DIV). For example:
69
+ #
70
+ # <%= will_paginate @posts, :style => 'font-size: small' %>
71
+ #
72
+ # ... will result in:
73
+ #
74
+ # <div class="pagination" style="font-size: small"> ... </div>
75
+ #
76
+ # ==== Using the helper without arguments
77
+ # If the helper is called without passing in the collection object, it will
78
+ # try to read from the instance variable inferred by the controller name.
79
+ # For example, calling +will_paginate+ while the current controller is
80
+ # PostsController will result in trying to read from the <tt>@posts</tt>
81
+ # variable. Example:
82
+ #
83
+ # <%= will_paginate :id => true %>
84
+ #
85
+ # ... will result in <tt>@post</tt> collection getting paginated:
86
+ #
87
+ # <div class="pagination" id="posts_pagination"> ... </div>
88
+ #
89
+ def will_paginate(collection = nil, options = {})
90
+ options, collection = collection, nil if collection.is_a? Hash
91
+ unless collection or !controller
92
+ collection_name = "@#{controller.controller_name}"
93
+ collection = instance_variable_get(collection_name)
94
+ raise ArgumentError, "The #{collection_name} variable appears to be empty. Did you " +
95
+ "forget to pass the collection object for will_paginate?" unless collection
96
+ end
97
+ # early exit if there is nothing to render
98
+ return nil unless WillPaginate::ViewHelpers.total_pages_for_collection(collection) > 1
99
+
100
+ options = options.symbolize_keys.reverse_merge WillPaginate::ViewHelpers.pagination_options
101
+ if options[:prev_label]
102
+ WillPaginate::Deprecation::warn(":prev_label view parameter is now :previous_label; the old name has been deprecated.")
103
+ options[:previous_label] = options.delete(:prev_label)
104
+ end
105
+
106
+ # get the renderer instance
107
+ renderer = case options[:renderer]
108
+ when String
109
+ options[:renderer].to_s.constantize.new
110
+ when Class
111
+ options[:renderer].new
112
+ else
113
+ options[:renderer]
114
+ end
115
+ # render HTML for pagination
116
+ renderer.prepare collection, options, self
117
+ renderer.to_html
118
+ end
119
+
120
+ # Wrapper for rendering pagination links at both top and bottom of a block
121
+ # of content.
122
+ #
123
+ # <% paginated_section @posts do %>
124
+ # <ol id="posts">
125
+ # <% for post in @posts %>
126
+ # <li> ... </li>
127
+ # <% end %>
128
+ # </ol>
129
+ # <% end %>
130
+ #
131
+ # will result in:
132
+ #
133
+ # <div class="pagination"> ... </div>
134
+ # <ol id="posts">
135
+ # ...
136
+ # </ol>
137
+ # <div class="pagination"> ... </div>
138
+ #
139
+ # Arguments are passed to a <tt>will_paginate</tt> call, so the same options
140
+ # apply. Don't use the <tt>:id</tt> option; otherwise you'll finish with two
141
+ # blocks of pagination links sharing the same ID (which is invalid HTML).
142
+ def paginated_section(*args, &block)
143
+ pagination = will_paginate(*args).to_s
144
+ content = pagination + capture(&block) + pagination
145
+ concat content, block.binding
146
+ end
147
+
148
+ # Renders a helpful message with numbers of displayed vs. total entries.
149
+ # You can use this as a blueprint for your own, similar helpers.
150
+ #
151
+ # <%= page_entries_info @posts %>
152
+ # #-> Displaying posts 6 - 10 of 26 in total
153
+ #
154
+ # By default, the message will use the humanized class name of objects
155
+ # in collection: for instance, "project types" for ProjectType models.
156
+ # Override this with the <tt>:entry_name</tt> parameter:
157
+ #
158
+ # <%= page_entries_info @posts, :entry_name => 'item' %>
159
+ # #-> Displaying items 6 - 10 of 26 in total
160
+ def page_entries_info(collection, options = {})
161
+ entry_name = options[:entry_name] ||
162
+ (collection.empty?? 'entry' : collection.first.class.name.underscore.sub('_', ' '))
163
+
164
+ if collection.total_pages < 2
165
+ case collection.size
166
+ when 0; "No #{entry_name.pluralize} found"
167
+ when 1; "Displaying <b>1</b> #{entry_name}"
168
+ else; "Displaying <b>all #{collection.size}</b> #{entry_name.pluralize}"
169
+ end
170
+ else
171
+ %{Displaying #{entry_name.pluralize} <b>%d&nbsp;-&nbsp;%d</b> of <b>%d</b> in total} % [
172
+ collection.offset + 1,
173
+ collection.offset + collection.length,
174
+ collection.total_entries
175
+ ]
176
+ end
177
+ end
178
+
179
+ def self.total_pages_for_collection(collection) #:nodoc:
180
+ if collection.respond_to?('page_count') and !collection.respond_to?('total_pages')
181
+ WillPaginate::Deprecation.warn <<-MSG
182
+ You are using a paginated collection of class #{collection.class.name}
183
+ which conforms to the old API of WillPaginate::Collection by using
184
+ `page_count`, while the current method name is `total_pages`. Please
185
+ upgrade yours or 3rd-party code that provides the paginated collection.
186
+ MSG
187
+ class << collection
188
+ def total_pages; page_count; end
189
+ end
190
+ end
191
+ collection.total_pages
192
+ end
193
+ end
194
+
195
+ # This class does the heavy lifting of actually building the pagination
196
+ # links. It is used by the <tt>will_paginate</tt> helper internally.
197
+ class LinkRenderer
198
+
199
+ # The gap in page links is represented by:
200
+ #
201
+ # <span class="gap">&hellip;</span>
202
+ attr_accessor :gap_marker
203
+
204
+ def initialize
205
+ @gap_marker = '<span class="gap">&hellip;</span>'
206
+ end
207
+
208
+ # * +collection+ is a WillPaginate::Collection instance or any other object
209
+ # that conforms to that API
210
+ # * +options+ are forwarded from +will_paginate+ view helper
211
+ # * +template+ is the reference to the template being rendered
212
+ def prepare(collection, options, template)
213
+ @collection = collection
214
+ @options = options
215
+ @template = template
216
+
217
+ # reset values in case we're re-using this instance
218
+ @total_pages = @param_name = @url_string = nil
219
+ end
220
+
221
+ # Process it! This method returns the complete HTML string which contains
222
+ # pagination links. Feel free to subclass LinkRenderer and change this
223
+ # method as you see fit.
224
+ def to_html
225
+ links = @options[:page_links] ? windowed_links : []
226
+ # previous/next buttons
227
+ links.unshift page_link_or_span(@collection.previous_page, 'disabled prev_page', @options[:previous_label])
228
+ links.push page_link_or_span(@collection.next_page, 'disabled next_page', @options[:next_label])
229
+
230
+ html = links.join(@options[:separator])
231
+ @options[:container] ? @template.content_tag(:div, html, html_attributes) : html
232
+ end
233
+
234
+ # Returns the subset of +options+ this instance was initialized with that
235
+ # represent HTML attributes for the container element of pagination links.
236
+ def html_attributes
237
+ return @html_attributes if @html_attributes
238
+ @html_attributes = @options.except *(WillPaginate::ViewHelpers.pagination_options.keys - [:class])
239
+ # pagination of Post models will have the ID of "posts_pagination"
240
+ if @options[:container] and @options[:id] === true
241
+ @html_attributes[:id] = @collection.first.class.name.underscore.pluralize + '_pagination'
242
+ end
243
+ @html_attributes
244
+ end
245
+
246
+ protected
247
+
248
+ # Collects link items for visible page numbers.
249
+ def windowed_links
250
+ prev = nil
251
+
252
+ visible_page_numbers.inject [] do |links, n|
253
+ # detect gaps:
254
+ links << gap_marker if prev and n > prev + 1
255
+ links << page_link_or_span(n, 'current')
256
+ prev = n
257
+ links
258
+ end
259
+ end
260
+
261
+ # Calculates visible page numbers using the <tt>:inner_window</tt> and
262
+ # <tt>:outer_window</tt> options.
263
+ def visible_page_numbers
264
+ inner_window, outer_window = @options[:inner_window].to_i, @options[:outer_window].to_i
265
+ window_from = current_page - inner_window
266
+ window_to = current_page + inner_window
267
+
268
+ # adjust lower or upper limit if other is out of bounds
269
+ if window_to > total_pages
270
+ window_from -= window_to - total_pages
271
+ window_to = total_pages
272
+ end
273
+ if window_from < 1
274
+ window_to += 1 - window_from
275
+ window_from = 1
276
+ window_to = total_pages if window_to > total_pages
277
+ end
278
+
279
+ visible = (1..total_pages).to_a
280
+ left_gap = (2 + outer_window)...window_from
281
+ right_gap = (window_to + 1)...(total_pages - outer_window)
282
+ visible -= left_gap.to_a if left_gap.last - left_gap.first > 1
283
+ visible -= right_gap.to_a if right_gap.last - right_gap.first > 1
284
+
285
+ visible
286
+ end
287
+
288
+ def page_link_or_span(page, span_class, text = nil)
289
+ text ||= page.to_s
290
+
291
+ if page and page != current_page
292
+ classnames = span_class && span_class.index(' ') && span_class.split(' ', 2).last
293
+ page_link page, text, :rel => rel_value(page), :class => classnames
294
+ else
295
+ page_span page, text, :class => span_class
296
+ end
297
+ end
298
+
299
+ def page_link(page, text, attributes = {})
300
+ @template.link_to text, url_for(page), attributes
301
+ end
302
+
303
+ def page_span(page, text, attributes = {})
304
+ @template.content_tag :span, text, attributes
305
+ end
306
+
307
+ # Returns URL params for +page_link_or_span+, taking the current GET params
308
+ # and <tt>:params</tt> option into account.
309
+ def url_for(page)
310
+ page_one = page == 1
311
+ unless @url_string and !page_one
312
+ @url_params = {}
313
+ # page links should preserve GET parameters
314
+ stringified_merge @url_params, @template.params if @template.request.get?
315
+ stringified_merge @url_params, @options[:params] if @options[:params]
316
+
317
+ if complex = param_name.index(/[^\w-]/)
318
+ page_param = (defined?(CGIMethods) ? CGIMethods : ActionController::AbstractRequest).
319
+ parse_query_parameters("#{param_name}=#{page}")
320
+
321
+ stringified_merge @url_params, page_param
322
+ else
323
+ @url_params[param_name] = page_one ? 1 : 2
324
+ end
325
+
326
+ url = @template.url_for(@url_params)
327
+ return url if page_one
328
+
329
+ if complex
330
+ @url_string = url.sub(%r!((?:\?|&amp;)#{CGI.escape param_name}=)#{page}!, '\1@')
331
+ return url
332
+ else
333
+ @url_string = url
334
+ @url_params[param_name] = 3
335
+ @template.url_for(@url_params).split(//).each_with_index do |char, i|
336
+ if char == '3' and url[i, 1] == '2'
337
+ @url_string[i] = '@'
338
+ break
339
+ end
340
+ end
341
+ end
342
+ end
343
+ # finally!
344
+ @url_string.sub '@', page.to_s
345
+ end
346
+
347
+ private
348
+
349
+ def rel_value(page)
350
+ case page
351
+ when @collection.previous_page; 'prev' + (page == 1 ? ' start' : '')
352
+ when @collection.next_page; 'next'
353
+ when 1; 'start'
354
+ end
355
+ end
356
+
357
+ def current_page
358
+ @collection.current_page
359
+ end
360
+
361
+ def total_pages
362
+ @total_pages ||= WillPaginate::ViewHelpers.total_pages_for_collection(@collection)
363
+ end
364
+
365
+ def param_name
366
+ @param_name ||= @options[:param_name].to_s
367
+ end
368
+
369
+ # Recursively merge into target hash by using stringified keys from the other one
370
+ def stringified_merge(target, other)
371
+ other.each do |key, value|
372
+ key = key.to_s # this line is what it's all about!
373
+ existing = target[key]
374
+
375
+ if value.is_a?(Hash) and (existing.is_a?(Hash) or existing.nil?)
376
+ stringified_merge(existing || (target[key] = {}), value)
377
+ else
378
+ target[key] = value
379
+ end
380
+ end
381
+ end
382
+ end
383
+ end
@@ -0,0 +1,82 @@
1
+ require 'active_support'
2
+
3
+ # = You *will* paginate!
4
+ #
5
+ # First read about WillPaginate::Finder::ClassMethods, then see
6
+ # WillPaginate::ViewHelpers. The magical array you're handling in-between is
7
+ # WillPaginate::Collection.
8
+ #
9
+ # Happy paginating!
10
+ module WillPaginate
11
+ class << self
12
+ # shortcut for <tt>enable_actionpack</tt> and <tt>enable_activerecord</tt> combined
13
+ def enable
14
+ enable_actionpack
15
+ enable_activerecord
16
+ end
17
+
18
+ # hooks WillPaginate::ViewHelpers into ActionView::Base
19
+ def enable_actionpack
20
+ return if ActionView::Base.instance_methods.include? 'will_paginate'
21
+ require 'will_paginate/view_helpers'
22
+ ActionView::Base.send :include, ViewHelpers
23
+
24
+ if defined?(ActionController::Base) and ActionController::Base.respond_to? :rescue_responses
25
+ ActionController::Base.rescue_responses['WillPaginate::InvalidPage'] = :not_found
26
+ end
27
+ end
28
+
29
+ # hooks WillPaginate::Finder into ActiveRecord::Base and classes that deal
30
+ # with associations
31
+ def enable_activerecord
32
+ return if ActiveRecord::Base.respond_to? :paginate
33
+ require 'will_paginate/finder'
34
+ ActiveRecord::Base.send :include, Finder
35
+
36
+ # support pagination on associations
37
+ a = ActiveRecord::Associations
38
+ returning([ a::AssociationCollection ]) { |classes|
39
+ # detect http://dev.rubyonrails.org/changeset/9230
40
+ unless a::HasManyThroughAssociation.superclass == a::HasManyAssociation
41
+ classes << a::HasManyThroughAssociation
42
+ end
43
+ }.each do |klass|
44
+ klass.send :include, Finder::ClassMethods
45
+ klass.class_eval { alias_method_chain :method_missing, :paginate }
46
+ end
47
+ end
48
+
49
+ # Enable named_scope, a feature of Rails 2.1, even if you have older Rails
50
+ # (tested on Rails 2.0.2 and 1.2.6).
51
+ #
52
+ # You can pass +false+ for +patch+ parameter to skip monkeypatching
53
+ # *associations*. Use this if you feel that <tt>named_scope</tt> broke
54
+ # has_many, has_many :through or has_and_belongs_to_many associations in
55
+ # your app. By passing +false+, you can still use <tt>named_scope</tt> in
56
+ # your models, but not through associations.
57
+ def enable_named_scope(patch = true)
58
+ return if defined? ActiveRecord::NamedScope
59
+ require 'will_paginate/named_scope'
60
+ require 'will_paginate/named_scope_patch' if patch
61
+
62
+ ActiveRecord::Base.send :include, WillPaginate::NamedScope
63
+ end
64
+ end
65
+
66
+ module Deprecation # :nodoc:
67
+ extend ActiveSupport::Deprecation
68
+
69
+ def self.warn(message, callstack = caller)
70
+ message = 'WillPaginate: ' + message.strip.gsub(/\s+/, ' ')
71
+ behavior.call(message, callstack) if behavior && !silenced?
72
+ end
73
+
74
+ def self.silenced?
75
+ ActiveSupport::Deprecation.silenced?
76
+ end
77
+ end
78
+ end
79
+
80
+ if defined?(Rails) and defined?(ActiveRecord) and defined?(ActionController)
81
+ WillPaginate.enable
82
+ end
@@ -0,0 +1,21 @@
1
+ plugin_root = File.join(File.dirname(__FILE__), '..')
2
+ version = ENV['RAILS_VERSION']
3
+ version = nil if version and version == ""
4
+
5
+ # first look for a symlink to a copy of the framework
6
+ if !version and framework_root = ["#{plugin_root}/rails", "#{plugin_root}/../../rails"].find { |p| File.directory? p }
7
+ puts "found framework root: #{framework_root}"
8
+ # this allows for a plugin to be tested outside of an app and without Rails gems
9
+ $:.unshift "#{framework_root}/activesupport/lib", "#{framework_root}/activerecord/lib", "#{framework_root}/actionpack/lib"
10
+ else
11
+ # simply use installed gems if available
12
+ puts "using Rails#{version ? ' ' + version : nil} gems"
13
+ require 'rubygems'
14
+
15
+ if version
16
+ gem 'rails', version
17
+ else
18
+ gem 'actionpack'
19
+ gem 'activerecord'
20
+ end
21
+ end
@@ -0,0 +1,143 @@
1
+ require 'helper'
2
+ require 'will_paginate/array'
3
+
4
+ class ArrayPaginationTest < Test::Unit::TestCase
5
+
6
+ def setup ; end
7
+
8
+ def test_simple
9
+ collection = ('a'..'e').to_a
10
+
11
+ [{ :page => 1, :per_page => 3, :expected => %w( a b c ) },
12
+ { :page => 2, :per_page => 3, :expected => %w( d e ) },
13
+ { :page => 1, :per_page => 5, :expected => %w( a b c d e ) },
14
+ { :page => 3, :per_page => 5, :expected => [] },
15
+ ].
16
+ each do |conditions|
17
+ expected = conditions.delete :expected
18
+ assert_equal expected, collection.paginate(conditions)
19
+ end
20
+ end
21
+
22
+ def test_defaults
23
+ result = (1..50).to_a.paginate
24
+ assert_equal 1, result.current_page
25
+ assert_equal 30, result.size
26
+ end
27
+
28
+ def test_deprecated_api
29
+ assert_raise(ArgumentError) { [].paginate(2) }
30
+ assert_raise(ArgumentError) { [].paginate(2, 10) }
31
+ end
32
+
33
+ def test_total_entries_has_precedence
34
+ result = %w(a b c).paginate :total_entries => 5
35
+ assert_equal 5, result.total_entries
36
+ end
37
+
38
+ def test_argument_error_with_params_and_another_argument
39
+ assert_raise ArgumentError do
40
+ [].paginate({}, 5)
41
+ end
42
+ end
43
+
44
+ def test_paginated_collection
45
+ entries = %w(a b c)
46
+ collection = create(2, 3, 10) do |pager|
47
+ assert_equal entries, pager.replace(entries)
48
+ end
49
+
50
+ assert_equal entries, collection
51
+ assert_respond_to_all collection, %w(total_pages each offset size current_page per_page total_entries)
52
+ assert_kind_of Array, collection
53
+ assert_instance_of Array, collection.entries
54
+ assert_equal 3, collection.offset
55
+ assert_equal 4, collection.total_pages
56
+ assert !collection.out_of_bounds?
57
+ end
58
+
59
+ def test_previous_next_pages
60
+ collection = create(1, 1, 3)
61
+ assert_nil collection.previous_page
62
+ assert_equal 2, collection.next_page
63
+
64
+ collection = create(2, 1, 3)
65
+ assert_equal 1, collection.previous_page
66
+ assert_equal 3, collection.next_page
67
+
68
+ collection = create(3, 1, 3)
69
+ assert_equal 2, collection.previous_page
70
+ assert_nil collection.next_page
71
+ end
72
+
73
+ def test_out_of_bounds
74
+ entries = create(2, 3, 2){}
75
+ assert entries.out_of_bounds?
76
+
77
+ entries = create(1, 3, 2){}
78
+ assert !entries.out_of_bounds?
79
+ end
80
+
81
+ def test_guessing_total_count
82
+ entries = create do |pager|
83
+ # collection is shorter than limit
84
+ pager.replace array
85
+ end
86
+ assert_equal 8, entries.total_entries
87
+
88
+ entries = create(2, 5, 10) do |pager|
89
+ # collection is shorter than limit, but we have an explicit count
90
+ pager.replace array
91
+ end
92
+ assert_equal 10, entries.total_entries
93
+
94
+ entries = create do |pager|
95
+ # collection is the same as limit; we can't guess
96
+ pager.replace array(5)
97
+ end
98
+ assert_equal nil, entries.total_entries
99
+
100
+ entries = create do |pager|
101
+ # collection is empty; we can't guess
102
+ pager.replace array(0)
103
+ end
104
+ assert_equal nil, entries.total_entries
105
+
106
+ entries = create(1) do |pager|
107
+ # collection is empty and we're on page 1,
108
+ # so the whole thing must be empty, too
109
+ pager.replace array(0)
110
+ end
111
+ assert_equal 0, entries.total_entries
112
+ end
113
+
114
+ def test_invalid_page
115
+ bad_inputs = [0, -1, nil, '', 'Schnitzel']
116
+
117
+ bad_inputs.each do |bad|
118
+ assert_raise(WillPaginate::InvalidPage) { create bad }
119
+ end
120
+ end
121
+
122
+ def test_invalid_per_page_setting
123
+ assert_raise(ArgumentError) { create(1, -1) }
124
+ end
125
+
126
+ def test_page_count_was_removed
127
+ assert_raise(NoMethodError) { create.page_count }
128
+ # It's `total_pages` now.
129
+ end
130
+
131
+ private
132
+ def create(page = 2, limit = 5, total = nil, &block)
133
+ if block_given?
134
+ WillPaginate::Collection.create(page, limit, total, &block)
135
+ else
136
+ WillPaginate::Collection.new(page, limit, total)
137
+ end
138
+ end
139
+
140
+ def array(size = 3)
141
+ Array.new(size)
142
+ end
143
+ end
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
3
+ libs = []
4
+
5
+ libs << 'irb/completion'
6
+ libs << File.join('lib', 'load_fixtures')
7
+
8
+ exec "#{irb} -Ilib:test#{libs.map{ |l| " -r #{l}" }.join} --simple-prompt"
@@ -0,0 +1,22 @@
1
+ sqlite3:
2
+ database: ":memory:"
3
+ adapter: sqlite3
4
+ timeout: 500
5
+
6
+ sqlite2:
7
+ database: ":memory:"
8
+ adapter: sqlite2
9
+
10
+ mysql:
11
+ adapter: mysql
12
+ username: root
13
+ password:
14
+ encoding: utf8
15
+ database: will_paginate_unittest
16
+
17
+ postgres:
18
+ adapter: postgresql
19
+ username: mislav
20
+ password:
21
+ database: will_paginate_unittest
22
+ min_messages: warning