muck-raker 0.1.13 → 0.1.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. data/Rakefile +27 -8
  2. data/VERSION +1 -1
  3. data/app/controllers/recommender/entries_controller.rb +13 -12
  4. data/app/controllers/recommender/feeds_controller.rb +64 -0
  5. data/app/controllers/recommender/recommendations_controller.rb +1 -1
  6. data/app/helpers/muck_raker_feeds_helper.rb +3 -0
  7. data/app/helpers/muck_raker_helper.rb +27 -4
  8. data/app/models/entry.rb +5 -4
  9. data/app/models/feed.rb +1 -0
  10. data/app/models/tag_cloud.rb +3 -3
  11. data/app/views/entries/_result_status.html.erb +8 -1
  12. data/app/views/entries/_tag_cloud.html.erb +2 -2
  13. data/app/views/entries/browse_by_tags.html.erb +1 -1
  14. data/app/views/entries/details.html.erb +4 -4
  15. data/app/views/entries/search.html.erb +1 -1
  16. data/app/views/recommendations/index.xml.builder +5 -3
  17. data/config/muck_raker_routes.rb +1 -0
  18. data/db/migrate/20090716035935_change_tag_cloud_grain_sizes.rb +9 -0
  19. data/db/migrate/20090717173900_add_contributor_to_feeds.rb +9 -0
  20. data/db/migrate/20090717175825_normalize_entries_subjects.rb +17 -0
  21. data/lib/muck_raker/tasks.rb +21 -3
  22. data/locales/en.yml +11 -4
  23. data/muck-raker.gemspec +320 -10
  24. data/raker/lib/aggregatord.jar +0 -0
  25. data/raker/lib/recommenderd.jar +0 -0
  26. data/test/rails_root/.gitignore +8 -0
  27. data/test/rails_root/.rake_tasks +103 -0
  28. data/test/rails_root/Capfile +3 -0
  29. data/test/rails_root/Rakefile +15 -0
  30. data/test/rails_root/app/controllers/application_controller.rb +21 -0
  31. data/test/rails_root/app/controllers/default_controller.rb +7 -0
  32. data/test/rails_root/app/helpers/application_helper.rb +3 -0
  33. data/test/rails_root/app/models/.keep +0 -0
  34. data/test/rails_root/app/models/user.rb +6 -0
  35. data/test/rails_root/app/models/user_session.rb +2 -0
  36. data/test/rails_root/app/views/default/index.html.erb +0 -0
  37. data/test/rails_root/app/views/layouts/default.html.erb +26 -0
  38. data/test/rails_root/config/amazon_s3.yml +14 -0
  39. data/test/rails_root/config/boot.rb +109 -0
  40. data/test/rails_root/config/database.yml +14 -0
  41. data/test/rails_root/config/environment.rb +29 -0
  42. data/test/rails_root/config/environments/development.rb +19 -0
  43. data/test/rails_root/config/environments/production.rb +1 -0
  44. data/test/rails_root/config/environments/test.rb +34 -0
  45. data/test/rails_root/config/global_config.yml +77 -0
  46. data/test/rails_root/config/initializers/inflections.rb +10 -0
  47. data/test/rails_root/config/initializers/mime_types.rb +5 -0
  48. data/test/rails_root/config/initializers/requires.rb +13 -0
  49. data/test/rails_root/config/initializers/session_store.rb +8 -0
  50. data/test/rails_root/config/routes.rb +3 -0
  51. data/test/rails_root/config/solr/README.txt +0 -0
  52. data/test/rails_root/config/solr/cores/de/conf/protwords.txt +21 -0
  53. data/test/rails_root/config/solr/cores/de/conf/schema.xml +81 -0
  54. data/test/rails_root/config/solr/cores/de/conf/solrconfig.xml +304 -0
  55. data/test/rails_root/config/solr/cores/de/conf/stopwords.txt +341 -0
  56. data/test/rails_root/config/solr/cores/de/conf/synonyms.txt +31 -0
  57. data/test/rails_root/config/solr/cores/en/conf/protwords.txt +21 -0
  58. data/test/rails_root/config/solr/cores/en/conf/schema.xml +83 -0
  59. data/test/rails_root/config/solr/cores/en/conf/solrconfig.xml +304 -0
  60. data/test/rails_root/config/solr/cores/en/conf/stopwords.txt +341 -0
  61. data/test/rails_root/config/solr/cores/en/conf/synonyms.txt +31 -0
  62. data/test/rails_root/config/solr/cores/es/conf/protwords.txt +21 -0
  63. data/test/rails_root/config/solr/cores/es/conf/schema.xml +81 -0
  64. data/test/rails_root/config/solr/cores/es/conf/solrconfig.xml +304 -0
  65. data/test/rails_root/config/solr/cores/es/conf/stopwords.txt +206 -0
  66. data/test/rails_root/config/solr/cores/es/conf/synonyms.txt +31 -0
  67. data/test/rails_root/config/solr/cores/fr/conf/protwords.txt +21 -0
  68. data/test/rails_root/config/solr/cores/fr/conf/schema.xml +82 -0
  69. data/test/rails_root/config/solr/cores/fr/conf/solrconfig.xml +304 -0
  70. data/test/rails_root/config/solr/cores/fr/conf/stopwords.txt +57 -0
  71. data/test/rails_root/config/solr/cores/fr/conf/synonyms.txt +31 -0
  72. data/test/rails_root/config/solr/cores/ja/conf/protwords.txt +21 -0
  73. data/test/rails_root/config/solr/cores/ja/conf/schema.xml +69 -0
  74. data/test/rails_root/config/solr/cores/ja/conf/solrconfig.xml +304 -0
  75. data/test/rails_root/config/solr/cores/ja/conf/stopwords.txt +341 -0
  76. data/test/rails_root/config/solr/cores/ja/conf/synonyms.txt +31 -0
  77. data/test/rails_root/config/solr/cores/nl/conf/protwords.txt +21 -0
  78. data/test/rails_root/config/solr/cores/nl/conf/schema.xml +78 -0
  79. data/test/rails_root/config/solr/cores/nl/conf/solrconfig.xml +304 -0
  80. data/test/rails_root/config/solr/cores/nl/conf/stopwords.txt +45691 -0
  81. data/test/rails_root/config/solr/cores/nl/conf/synonyms.txt +31 -0
  82. data/test/rails_root/config/solr/cores/ru/conf/protwords.txt +21 -0
  83. data/test/rails_root/config/solr/cores/ru/conf/schema.xml +78 -0
  84. data/test/rails_root/config/solr/cores/ru/conf/solrconfig.xml +304 -0
  85. data/test/rails_root/config/solr/cores/ru/conf/stopwords.txt +341 -0
  86. data/test/rails_root/config/solr/cores/ru/conf/synonyms.txt +31 -0
  87. data/test/rails_root/config/solr/cores/zh/conf/protwords.txt +21 -0
  88. data/test/rails_root/config/solr/cores/zh/conf/schema.xml +72 -0
  89. data/test/rails_root/config/solr/cores/zh/conf/solrconfig.xml +304 -0
  90. data/test/rails_root/config/solr/cores/zh/conf/stopwords.txt +341 -0
  91. data/test/rails_root/config/solr/cores/zh/conf/synonyms.txt +31 -0
  92. data/test/rails_root/config/solr/solr.xml +50 -0
  93. data/test/rails_root/db/.keep +0 -0
  94. data/test/rails_root/db/migrate/20090320174818_create_muck_permissions_and_roles.rb +16 -0
  95. data/test/rails_root/db/migrate/20090602041838_create_users.rb +39 -0
  96. data/test/rails_root/db/migrate/20090704220055_create_slugs.rb +18 -0
  97. data/test/rails_root/db/migrate/20090704220120_acts_as_taggable_on_migration.rb +29 -0
  98. data/test/rails_root/db/migrate/20090717173900_add_contributor_to_feeds.rb +9 -0
  99. data/test/rails_root/db/schema.rb +166 -0
  100. data/test/rails_root/features/step_definitions/webrat_steps.rb +99 -0
  101. data/test/rails_root/features/support/env.rb +14 -0
  102. data/test/rails_root/migrate/20090602191243_create_muck_raker.rb +307 -0
  103. data/test/rails_root/migrate/20090619211125_create_tag_clouds.rb +19 -0
  104. data/test/rails_root/migrate/20090623181458_add_grain_size_to_entries.rb +16 -0
  105. data/test/rails_root/migrate/20090703175825_denormalize_entries_subjects.rb +16 -0
  106. data/test/rails_root/public/.htaccess +40 -0
  107. data/test/rails_root/public/404.html +30 -0
  108. data/test/rails_root/public/422.html +30 -0
  109. data/test/rails_root/public/500.html +30 -0
  110. data/test/rails_root/public/dispatch.rb +10 -0
  111. data/test/rails_root/public/favicon.ico +0 -0
  112. data/test/rails_root/public/images/arrow_left.gif +0 -0
  113. data/test/rails_root/public/images/arrow_right.gif +0 -0
  114. data/test/rails_root/public/images/blue/preview.gif +0 -0
  115. data/test/rails_root/public/images/icons/accept.png +0 -0
  116. data/test/rails_root/public/images/icons/add.png +0 -0
  117. data/test/rails_root/public/images/icons/delete.png +0 -0
  118. data/test/rails_root/public/images/icons/vote.png +0 -0
  119. data/test/rails_root/public/images/loading.gif +0 -0
  120. data/test/rails_root/public/images/profile_default.jpg +0 -0
  121. data/test/rails_root/public/images/rails.png +0 -0
  122. data/test/rails_root/public/images/red/preview.gif +0 -0
  123. data/test/rails_root/public/images/spinner.gif +0 -0
  124. data/test/rails_root/public/images/sprites.png +0 -0
  125. data/test/rails_root/public/javascripts/application.js +2 -0
  126. data/test/rails_root/public/javascripts/builder.js +136 -0
  127. data/test/rails_root/public/javascripts/controls.js +963 -0
  128. data/test/rails_root/public/javascripts/dragdrop.js +972 -0
  129. data/test/rails_root/public/javascripts/effects.js +1120 -0
  130. data/test/rails_root/public/javascripts/fancyzoom.min.js +1 -0
  131. data/test/rails_root/public/javascripts/jquery/jquery-ui.js +273 -0
  132. data/test/rails_root/public/javascripts/jquery/jquery.form.js +637 -0
  133. data/test/rails_root/public/javascripts/jquery/jquery.jgrowl.js +2 -0
  134. data/test/rails_root/public/javascripts/jquery/jquery.js +19 -0
  135. data/test/rails_root/public/javascripts/jquery/jquery.tips.js +69 -0
  136. data/test/rails_root/public/javascripts/muck.js +76 -0
  137. data/test/rails_root/public/javascripts/muck_activities.js +108 -0
  138. data/test/rails_root/public/javascripts/prototype.js +4225 -0
  139. data/test/rails_root/public/javascripts/scriptaculous.js +58 -0
  140. data/test/rails_root/public/javascripts/slider.js +277 -0
  141. data/test/rails_root/public/javascripts/sound.js +60 -0
  142. data/test/rails_root/public/robots.txt +1 -0
  143. data/test/rails_root/public/stylesheets/.keep +0 -0
  144. data/test/rails_root/public/stylesheets/admin.css +12 -0
  145. data/test/rails_root/public/stylesheets/blueprint/ie.css +26 -0
  146. data/test/rails_root/public/stylesheets/blueprint/liquid_screen.css +203 -0
  147. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/cross.png +0 -0
  148. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/key.png +0 -0
  149. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/tick.png +0 -0
  150. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/readme.txt +32 -0
  151. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/screen.css +97 -0
  152. data/test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/readme.txt +14 -0
  153. data/test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/screen.css +71 -0
  154. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/doc.png +0 -0
  155. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/email.png +0 -0
  156. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/external.png +0 -0
  157. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/feed.png +0 -0
  158. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/im.png +0 -0
  159. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  160. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/visited.png +0 -0
  161. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/xls.png +0 -0
  162. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/readme.txt +18 -0
  163. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/screen.css +40 -0
  164. data/test/rails_root/public/stylesheets/blueprint/plugins/liquid/liquid.css +134 -0
  165. data/test/rails_root/public/stylesheets/blueprint/plugins/liquid/src/liquid.css +197 -0
  166. data/test/rails_root/public/stylesheets/blueprint/plugins/rtl/readme.txt +10 -0
  167. data/test/rails_root/public/stylesheets/blueprint/plugins/rtl/screen.css +109 -0
  168. data/test/rails_root/public/stylesheets/blueprint/print.css +30 -0
  169. data/test/rails_root/public/stylesheets/blueprint/screen.css +251 -0
  170. data/test/rails_root/public/stylesheets/blueprint/sprite.css +1 -0
  171. data/test/rails_root/public/stylesheets/blueprint/src/forms.css +49 -0
  172. data/test/rails_root/public/stylesheets/blueprint/src/grid.css +213 -0
  173. data/test/rails_root/public/stylesheets/blueprint/src/grid.png +0 -0
  174. data/test/rails_root/public/stylesheets/blueprint/src/ie.css +59 -0
  175. data/test/rails_root/public/stylesheets/blueprint/src/print.css +85 -0
  176. data/test/rails_root/public/stylesheets/blueprint/src/reset.css +38 -0
  177. data/test/rails_root/public/stylesheets/blueprint/src/typography.css +105 -0
  178. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png +0 -0
  179. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-thick_15_444444_40x40.png +0 -0
  180. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_100_f0f0f0_1x400.png +0 -0
  181. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_50_99c2ff_1x400.png +0 -0
  182. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_55_fbf5d0_1x400.png +0 -0
  183. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_80_e6e6e6_1x400.png +0 -0
  184. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  185. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png +0 -0
  186. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-soft_100_e7eef3_1x100.png +0 -0
  187. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_222222_256x240.png +0 -0
  188. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2694e8_256x240.png +0 -0
  189. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2e83ff_256x240.png +0 -0
  190. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_72a7cf_256x240.png +0 -0
  191. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_888888_256x240.png +0 -0
  192. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_cd0a0a_256x240.png +0 -0
  193. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_ffffff_256x240.png +0 -0
  194. data/test/rails_root/public/stylesheets/jquery/cupertino/jquery-ui-1.7.1.custom.css +404 -0
  195. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  196. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  197. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  198. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  199. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  200. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  201. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  202. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  203. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_217bc0_256x240.png +0 -0
  204. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
  205. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_469bdd_256x240.png +0 -0
  206. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  207. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  208. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
  209. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  210. data/test/rails_root/public/stylesheets/jquery/redmond/jquery-ui-1.7.1.custom.css +404 -0
  211. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  212. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  213. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  214. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  215. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  216. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  217. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  218. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  219. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_222222_256x240.png +0 -0
  220. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  221. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_454545_256x240.png +0 -0
  222. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_888888_256x240.png +0 -0
  223. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  224. data/test/rails_root/public/stylesheets/jquery/smoothness/jquery-ui-1.7.1.custom.css +404 -0
  225. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  226. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  227. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  228. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  229. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  230. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  231. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  232. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  233. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  234. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  235. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  236. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  237. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  238. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  239. data/test/rails_root/public/stylesheets/jquery/ui-lightness/jquery-ui-1.7.1.custom.css +404 -0
  240. data/test/rails_root/public/stylesheets/reset.css +0 -0
  241. data/test/rails_root/public/stylesheets/styles.css +79 -0
  242. data/test/rails_root/public/stylesheets/themes/blue/styles.css +1 -0
  243. data/test/rails_root/public/stylesheets/themes/red/styles.css +1 -0
  244. data/test/rails_root/script/about +3 -0
  245. data/test/rails_root/script/breakpointer +3 -0
  246. data/test/rails_root/script/console +3 -0
  247. data/test/rails_root/script/create_project.rb +52 -0
  248. data/test/rails_root/script/cucumber +7 -0
  249. data/test/rails_root/script/dbconsole +3 -0
  250. data/test/rails_root/script/destroy +3 -0
  251. data/test/rails_root/script/generate +3 -0
  252. data/test/rails_root/script/performance/benchmarker +3 -0
  253. data/test/rails_root/script/performance/profiler +3 -0
  254. data/test/rails_root/script/performance/request +3 -0
  255. data/test/rails_root/script/plugin +3 -0
  256. data/test/rails_root/script/process/inspector +3 -0
  257. data/test/rails_root/script/process/reaper +3 -0
  258. data/test/rails_root/script/process/spawner +3 -0
  259. data/test/rails_root/script/runner +3 -0
  260. data/test/rails_root/script/server +3 -0
  261. data/test/rails_root/test/factories.rb +96 -0
  262. data/test/rails_root/test/functional/.keep +0 -0
  263. data/test/rails_root/test/functional/feeds_controller_test.rb +14 -0
  264. data/test/rails_root/test/integration/.keep +0 -0
  265. data/test/rails_root/test/mocks/development/.keep +0 -0
  266. data/test/rails_root/test/mocks/test/.keep +0 -0
  267. data/test/rails_root/test/shoulda_macros/controller.rb +45 -0
  268. data/test/rails_root/test/shoulda_macros/forms.rb +32 -0
  269. data/test/rails_root/test/shoulda_macros/models.rb +50 -0
  270. data/test/rails_root/test/shoulda_macros/pagination.rb +53 -0
  271. data/test/rails_root/test/shoulda_macros/plugins.rb +34 -0
  272. data/test/rails_root/test/test_helper.rb +46 -0
  273. data/test/rails_root/test/unit/.keep +0 -0
  274. data/test/rails_root/test/unit/entry_test.rb +13 -0
  275. data/test/rails_root/test/unit/feed_test.rb +16 -0
  276. data/test/rails_root/test/unit/tag_cloud_test.rb +35 -0
  277. data/test/rails_root/vendor/plugins/ssl_requirement/README +43 -0
  278. data/test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb +62 -0
  279. data/test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb +132 -0
  280. data/test/rails_root/vendor/plugins/validation_reflection/CHANGELOG +24 -0
  281. data/test/rails_root/vendor/plugins/validation_reflection/LICENSE +20 -0
  282. data/test/rails_root/vendor/plugins/validation_reflection/README +64 -0
  283. data/test/rails_root/vendor/plugins/validation_reflection/Rakefile +22 -0
  284. data/test/rails_root/vendor/plugins/validation_reflection/about.yml +7 -0
  285. data/test/rails_root/vendor/plugins/validation_reflection/init.rb +8 -0
  286. data/test/rails_root/vendor/plugins/validation_reflection/lib/boiler_plate/validation_reflection.rb +129 -0
  287. data/test/rails_root/vendor/plugins/validation_reflection/test/test_helper.rb +36 -0
  288. data/test/rails_root/vendor/plugins/validation_reflection/test/validation_reflection_test.rb +126 -0
  289. metadata +315 -7
  290. data/app/models/user.rb +0 -36
  291. data/test/recommender_test.rb +0 -8
  292. data/test/test_helper.rb +0 -20
@@ -0,0 +1,78 @@
1
+ <?xml version="1.0" ?>
2
+ <!--
3
+ Licensed to the Apache Software Foundation (ASF) under one or more
4
+ contributor license agreements. See the NOTICE file distributed with
5
+ this work for additional information regarding copyright ownership.
6
+ The ASF licenses this file to You under the Apache License, Version 2.0
7
+ (the "License"); you may not use this file except in compliance with
8
+ the License. You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ -->
18
+
19
+ <schema name="nl" version="1.1">
20
+ <types>
21
+ <fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
22
+ <fieldType name="integer" class="solr.IntField" omitNorms="false"/>
23
+ <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
24
+ <analyzer type="index">
25
+ <tokenizer class="solr.HTMLStripWhitespaceTokenizerFactory"/>
26
+ <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
27
+ <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
28
+ <filter class="solr.LowerCaseFilterFactory"/>
29
+ <filter class="solr.DutchStemFilterFactory" protected="protwords.txt"/>
30
+ </analyzer>
31
+ <analyzer type="query">
32
+ <tokenizer class="solr.WhitespaceTokenizerFactory"/>
33
+ <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
34
+ <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
35
+ <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
36
+ <filter class="solr.LowerCaseFilterFactory"/>
37
+ <filter class="solr.DutchStemFilterFactory" protected="protwords.txt"/>
38
+ <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
39
+ </analyzer>
40
+ </fieldType>
41
+ <fieldType name="tag" class="solr.TextField" positionIncrementGap="100">
42
+ <analyzer type="index">
43
+ <tokenizer class="solr.HTMLStripWhitespaceTokenizerFactory"/>
44
+ <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
45
+ <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
46
+ <filter class="solr.LowerCaseFilterFactory"/>
47
+ </analyzer>
48
+ </fieldType>
49
+ </types>
50
+
51
+ <fields>
52
+ <!-- general -->
53
+ <field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
54
+
55
+ <field name="pk_i" type="integer" indexed="true" stored="true"/>
56
+ <field name="pk_s" type="string" indexed="true" stored="true"/>
57
+ <field name="text" type="text" indexed="true" stored="true" termVectors="true" multiValued="true"/>
58
+ <field name="tag" type="tag" indexed="true" stored="true" termVectors="true" multiValued="true"/>
59
+ <dynamicField name="*_i" type="integer" indexed="true" stored="false"/>
60
+ <dynamicField name="*_t" type="text" indexed="true" stored="true"/>
61
+ <dynamicField name="*_s" type="string" indexed="true" stored="true"/>
62
+ <dynamicField name="*_facet" type="string" indexed="true" stored="false"/>
63
+ <dynamicField name="*_s_mv" type="string" indexed="true" stored="false" multiValued="true"/>
64
+ </fields>
65
+
66
+ <!-- field to use to determine and enforce document uniqueness. -->
67
+ <uniqueKey>id</uniqueKey>
68
+
69
+ <copyField source="*_t" dest="text"/>
70
+ <copyField source="*_facet" dest="text"/>
71
+
72
+ <!-- field for the QueryParser to use when an explicit fieldname is absent -->
73
+ <defaultSearchField>text</defaultSearchField>
74
+
75
+ <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
76
+ <solrQueryParser defaultOperator="OR"/>
77
+ </schema>
78
+
@@ -0,0 +1,304 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!--
3
+ Licensed to the Apache Software Foundation (ASF) under one or more
4
+ contributor license agreements. See the NOTICE file distributed with
5
+ this work for additional information regarding copyright ownership.
6
+ The ASF licenses this file to You under the Apache License, Version 2.0
7
+ (the "License"); you may not use this file except in compliance with
8
+ the License. You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ -->
18
+
19
+ <config>
20
+ <!-- Set this to 'false' if you want solr to continue working after it has
21
+ encountered an severe configuration error. In a production environment,
22
+ you may want solr to keep working even if one handler is mis-configured.
23
+
24
+ You may also set this to false using by setting the system property:
25
+ -Dsolr.abortOnConfigurationError=false
26
+ -->
27
+ <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
28
+
29
+ <!-- Used to specify an alternate directory to hold all index data
30
+ other than the default ./data under the Solr home.
31
+ If replication is in use, this should match the replication configuration. -->
32
+ <dataDir>${solr.data.dir:../../../../../solr_indexes}/nl</dataDir>
33
+
34
+ <!-- Values here affect all index writers and act as a default unless overridden. -->
35
+ <indexDefaults>
36
+ <useCompoundFile>false</useCompoundFile>
37
+ <mergeFactor>10</mergeFactor>
38
+ <maxBufferedDocs>1000</maxBufferedDocs>
39
+ <maxMergeDocs>2147483647</maxMergeDocs>
40
+ <maxFieldLength>10000</maxFieldLength>
41
+ <writeLockTimeout>1000</writeLockTimeout>
42
+ <commitLockTimeout>10000</commitLockTimeout>
43
+ </indexDefaults>
44
+ <!-- options specific to the main on-disk lucene index -->
45
+ <!--
46
+ <mainIndex>
47
+ <useCompoundFile>false</useCompoundFile>
48
+ <mergeFactor>10</mergeFactor>
49
+ <maxBufferedDocs>1000</maxBufferedDocs>
50
+ <maxMergeDocs>2147483647</maxMergeDocs>
51
+ <maxFieldLength>10000</maxFieldLength>
52
+
53
+ <unlockOnStartup>false</unlockOnStartup>
54
+ </mainIndex>
55
+ -->
56
+ <!-- If true, unlock any held write or commit locks on startup.
57
+ This defeats the locking mechanism that allows multiple
58
+ processes to safely access a lucene index, and should be
59
+ used with care. -->
60
+
61
+ <!-- the default high-performance update handler -->
62
+
63
+ <updateHandler class="solr.DirectUpdateHandler2">
64
+
65
+ <!-- A prefix of "solr." for class names is an alias that
66
+ causes solr to search appropriate packages, including
67
+ org.apache.solr.(search|update|request|core|analysis)
68
+ -->
69
+
70
+ <!-- autocommit pending docs if certain criteria are met
71
+ <autoCommit>
72
+ <maxDocs>10000</maxDocs>
73
+ <maxTime>1000</maxTime>
74
+ </autoCommit>
75
+ -->
76
+
77
+ <!-- The RunExecutableListener executes an external command.
78
+ exe - the name of the executable to run
79
+ dir - dir to use as the current working directory. default="."
80
+ wait - the calling thread waits until the executable returns. default="true"
81
+ args - the arguments to pass to the program. default=nothing
82
+ env - environment variables to set. default=nothing
83
+ -->
84
+ <!-- A postCommit event is fired after every commit or optimize command
85
+ <listener event="postCommit" class="solr.RunExecutableListener">
86
+ <str name="exe">snapshooter</str>
87
+ <str name="dir">solr/bin</str>
88
+ <bool name="wait">true</bool>
89
+ <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
90
+ <arr name="env"> <str>MYVAR=val1</str> </arr>
91
+ </listener>
92
+ -->
93
+ <!-- A postOptimize event is fired only after every optimize command, useful
94
+ in conjunction with index distribution to only distribute optimized indicies
95
+ <listener event="postOptimize" class="solr.RunExecutableListener">
96
+ <str name="exe">snapshooter</str>
97
+ <str name="dir">solr/bin</str>
98
+ <bool name="wait">true</bool>
99
+ </listener>
100
+ -->
101
+
102
+ </updateHandler>
103
+
104
+
105
+ <query>
106
+ <!-- Maximum number of clauses in a boolean query... can affect
107
+ range or prefix queries that expand to big boolean
108
+ queries. An exception is thrown if exceeded. -->
109
+ <maxBooleanClauses>1024</maxBooleanClauses>
110
+
111
+
112
+ <!-- Cache used by SolrIndexSearcher for filters (DocSets),
113
+ unordered sets of *all* documents that match a query.
114
+ When a new searcher is opened, its caches may be prepopulated
115
+ or "autowarmed" using data from caches in the old searcher.
116
+ autowarmCount is the number of items to prepopulate. For LRUCache,
117
+ the autowarmed items will be the most recently accessed items.
118
+ Parameters:
119
+ class - the SolrCache implementation (currently only LRUCache)
120
+ size - the maximum number of entries in the cache
121
+ initialSize - the initial capacity (number of entries) of
122
+ the cache. (seel java.util.HashMap)
123
+ autowarmCount - the number of entries to prepopulate from
124
+ and old cache.
125
+ -->
126
+ <filterCache
127
+ class="solr.LRUCache"
128
+ size="512"
129
+ initialSize="512"
130
+ autowarmCount="256"/>
131
+
132
+ <!-- queryResultCache caches results of searches - ordered lists of
133
+ document ids (DocList) based on a query, a sort, and the range
134
+ of documents requested. -->
135
+ <queryResultCache
136
+ class="solr.LRUCache"
137
+ size="512"
138
+ initialSize="512"
139
+ autowarmCount="256"/>
140
+
141
+ <!-- documentCache caches Lucene Document objects (the stored fields for each document).
142
+ Since Lucene internal document ids are transient, this cache will not be autowarmed. -->
143
+ <documentCache
144
+ class="solr.LRUCache"
145
+ size="512"
146
+ initialSize="512"
147
+ autowarmCount="0"/>
148
+
149
+ <!-- If true, stored fields that are not requested will be loaded lazily.
150
+
151
+ This can result in a significant speed improvement if the usual case is to
152
+ not load all stored fields, especially if the skipped fields are large compressed
153
+ text fields.
154
+ -->
155
+ <enableLazyFieldLoading>true</enableLazyFieldLoading>
156
+
157
+ <!-- Example of a generic cache. These caches may be accessed by name
158
+ through SolrIndexSearcher.getCache(),cacheLookup(), and cacheInsert().
159
+ The purpose is to enable easy caching of user/application level data.
160
+ The regenerator argument should be specified as an implementation
161
+ of solr.search.CacheRegenerator if autowarming is desired. -->
162
+ <!--
163
+ <cache name="myUserCache"
164
+ class="solr.LRUCache"
165
+ size="4096"
166
+ initialSize="1024"
167
+ autowarmCount="1024"
168
+ regenerator="org.mycompany.mypackage.MyRegenerator"
169
+ />
170
+ -->
171
+
172
+ <!-- An optimization that attempts to use a filter to satisfy a search.
173
+ If the requested sort does not include score, then the filterCache
174
+ will be checked for a filter matching the query. If found, the filter
175
+ will be used as the source of document ids, and then the sort will be
176
+ applied to that.
177
+ <useFilterForSortedQuery>true</useFilterForSortedQuery>
178
+ -->
179
+
180
+ <!-- An optimization for use with the queryResultCache. When a search
181
+ is requested, a superset of the requested number of document ids
182
+ are collected. For example, if a search for a particular query
183
+ requests matching documents 10 through 19, and queryWindowSize is 50,
184
+ then documents 0 through 50 will be collected and cached. Any further
185
+ requests in that range can be satisfied via the cache. -->
186
+ <queryResultWindowSize>10</queryResultWindowSize>
187
+
188
+ <!-- This entry enables an int hash representation for filters (DocSets)
189
+ when the number of items in the set is less than maxSize. For smaller
190
+ sets, this representation is more memory efficient, more efficient to
191
+ iterate over, and faster to take intersections. -->
192
+ <HashDocSet maxSize="3000" loadFactor="0.75"/>
193
+
194
+
195
+ <!-- boolToFilterOptimizer converts boolean clauses with zero boost
196
+ into cached filters if the number of docs selected by the clause exceeds
197
+ the threshold (represented as a fraction of the total index) -->
198
+ <boolTofilterOptimizer enabled="true" cacheSize="32" threshold=".05"/>
199
+
200
+
201
+ <!-- a newSearcher event is fired whenever a new searcher is being prepared
202
+ and there is a current searcher handling requests (aka registered). -->
203
+ <!-- QuerySenderListener takes an array of NamedList and executes a
204
+ local query request for each NamedList in sequence. -->
205
+ <!--
206
+ <listener event="newSearcher" class="solr.QuerySenderListener">
207
+ <arr name="queries">
208
+ <lst> <str name="q">solr</str> <str name="start">0</str> <str name="rows">10</str> </lst>
209
+ <lst> <str name="q">rocks</str> <str name="start">0</str> <str name="rows">10</str> </lst>
210
+ </arr>
211
+ </listener>
212
+ -->
213
+
214
+ <!-- a firstSearcher event is fired whenever a new searcher is being
215
+ prepared but there is no current registered searcher to handle
216
+ requests or to gain autowarming data from. -->
217
+ <!--
218
+ <listener event="firstSearcher" class="solr.QuerySenderListener">
219
+ <arr name="queries">
220
+ <lst> <str name="q">fast_warm</str> <str name="start">0</str> <str name="rows">10</str> </lst>
221
+ </arr>
222
+ </listener>
223
+ -->
224
+
225
+ <!-- If a search request comes in and there is no current registered searcher,
226
+ then immediately register the still warming searcher and use it. If
227
+ "false" then all requests will block until the first searcher is done
228
+ warming. -->
229
+ <useColdSearcher>false</useColdSearcher>
230
+
231
+ <!-- Maximum number of searchers that may be warming in the background
232
+ concurrently. An error is returned if this limit is exceeded. Recommend
233
+ 1-2 for read-only slaves, higher for masters w/o cache warming. -->
234
+ <maxWarmingSearchers>4</maxWarmingSearchers>
235
+
236
+ </query>
237
+
238
+ <!--
239
+ Let the dispatch filter handler /select?qt=XXX
240
+ handleSelect=true will use consistent error handling for /select and /update
241
+ handleSelect=false will use solr1.1 style error formatting
242
+ -->
243
+ <requestDispatcher handleSelect="true" >
244
+ <!--Make sure your system has some authentication before enabling remote streaming! -->
245
+ <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />
246
+ </requestDispatcher>
247
+
248
+
249
+ <!-- requestHandler plugins... incoming queries will be dispatched to the
250
+ correct handler based on the qt (query type) param matching the
251
+ name of registered handlers.
252
+ The "standard" request handler is the default and will be used if qt
253
+ is not specified in the request.
254
+ -->
255
+ <requestHandler name="standard" class="solr.StandardRequestHandler" default="true">
256
+ <!-- default values for query parameters -->
257
+ <lst name="defaults">
258
+ <str name="echoParams">explicit</str>
259
+ <str name="json.nl">map</str>
260
+ <!--
261
+ <int name="rows">10</int>
262
+ <str name="fl">*</str>
263
+ <str name="version">2.1</str>
264
+ -->
265
+ </lst>
266
+ </requestHandler>
267
+
268
+ <!-- Note how you can register the same handler multiple times with
269
+ different names (and different init parameters)
270
+ -->
271
+ <!-- Update request handler.
272
+
273
+ Note: Since solr1.1 requestHandlers requires a valid content type header if posted in
274
+ the body. For example, curl now requires: -H 'Content-type:text/xml; charset=utf-8'
275
+ The response format differs from solr1.1 formatting and returns a standard error code.
276
+
277
+ To enable solr1.1 behavior, remove the /update handler or change its path
278
+ <requestHandler name="/update" class="solr.XmlUpdateRequestHandler" />
279
+ -->
280
+
281
+ <!-- queryResponseWriter plugins... query responses will be written using the
282
+ writer specified by the 'wt' request parameter matching the name of a registered
283
+ writer.
284
+ The "standard" writer is the default and will be used if 'wt' is not specified
285
+ in the request. XMLResponseWriter will be used if nothing is specified here.
286
+ The json, python, and ruby writers are also available by default.
287
+
288
+ <queryResponseWriter name="standard" class="org.apache.solr.request.XMLResponseWriter"/>
289
+ <queryResponseWriter name="json" class="org.apache.solr.request.JSONResponseWriter"/>
290
+ <queryResponseWriter name="python" class="org.apache.solr.request.PythonResponseWriter"/>
291
+ <queryResponseWriter name="ruby" class="org.apache.solr.request.RubyResponseWriter"/>
292
+
293
+ <queryResponseWriter name="custom" class="com.example.MyResponseWriter"/>
294
+ -->
295
+
296
+ <!-- XSLT response writer transforms the XML output by any xslt file found
297
+ in Solr's conf/xslt directory. Changes to xslt files are checked for
298
+ every xsltCacheLifetimeSeconds.
299
+ -->
300
+ <queryResponseWriter name="xslt" class="org.apache.solr.request.XSLTResponseWriter">
301
+ <int name="xsltCacheLifetimeSeconds">5</int>
302
+ </queryResponseWriter>
303
+
304
+ </config>