atrium 0.0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (382) hide show
  1. data/.gitignore +9 -1
  2. data/.rspec +2 -0
  3. data/.rvmrc +1 -1
  4. data/CONTRIBUTING.md +73 -0
  5. data/Gemfile +27 -2
  6. data/Gemfile.lock +122 -246
  7. data/Guardfile +40 -10
  8. data/LICENSE +14 -0
  9. data/README.mkd +23 -39
  10. data/ROADMAP.mkd +41 -9
  11. data/Rakefile +39 -4
  12. data/app/assets/images/atrium/remove.png +0 -0
  13. data/app/assets/images/atrium/white-arrow.png +0 -0
  14. data/app/assets/javascripts/{atrium/atrium.js → atrium.js} +8 -153
  15. data/app/assets/stylesheets/{atrium/atrium.css → atrium.css} +110 -37
  16. data/app/assets/stylesheets/atrium/collections.css +4 -0
  17. data/app/assets/stylesheets/atrium/descriptions.css +4 -0
  18. data/app/assets/stylesheets/atrium/exhibits.css +4 -0
  19. data/app/assets/stylesheets/atrium/reset.css +69 -0
  20. data/app/assets/stylesheets/atrium/showcases.css +4 -0
  21. data/app/assets/stylesheets/atrium/theme.css +248 -0
  22. data/app/controllers/atrium/application_controller.rb +12 -0
  23. data/app/controllers/atrium/browse_levels_controller.rb +22 -0
  24. data/app/controllers/atrium/collections_controller.rb +42 -138
  25. data/app/controllers/atrium/descriptions_controller.rb +27 -146
  26. data/app/controllers/atrium/exhibits_controller.rb +51 -77
  27. data/app/controllers/atrium/order_controller.rb +74 -0
  28. data/app/controllers/atrium/showcases_controller.rb +96 -117
  29. data/app/helpers/atrium/application_helper.rb +8 -0
  30. data/app/helpers/atrium/collections_helper.rb +44 -0
  31. data/app/helpers/atrium/descriptions_helper.rb +4 -0
  32. data/app/helpers/atrium/exhibits_helper.rb +4 -0
  33. data/app/helpers/atrium/showcases_helper.rb +34 -0
  34. data/app/models/atrium/browse_level.rb +21 -11
  35. data/app/models/atrium/collection.rb +70 -36
  36. data/app/models/atrium/configuration.rb +66 -0
  37. data/app/models/atrium/description.rb +39 -88
  38. data/app/models/atrium/essay.rb +4 -5
  39. data/app/models/atrium/exhibit.rb +28 -19
  40. data/app/models/atrium/is_showcased_mixin.rb +34 -0
  41. data/app/models/atrium/query_param_mixin.rb +105 -0
  42. data/app/models/atrium/search/facet.rb +14 -25
  43. data/app/models/atrium/search/facet_selection.rb +10 -12
  44. data/app/models/atrium/showcase.rb +105 -95
  45. data/app/models/atrium/showcase/facet_selection.rb +18 -18
  46. data/app/models/atrium/showcase/featured_selection.rb +15 -0
  47. data/app/services/browse_level_evaluation_service.rb +131 -0
  48. data/app/services/current_filter_query_params_extraction_service.rb +91 -0
  49. data/app/services/navigation_tree.rb +13 -0
  50. data/app/services/params_adaptor_for_filter.rb +18 -0
  51. data/app/views/atrium/collections/_form.html.erb +149 -72
  52. data/app/views/atrium/collections/_head.html.erb +3 -0
  53. data/app/views/atrium/collections/edit.html.erb +1 -4
  54. data/app/views/atrium/collections/index.html.erb +14 -0
  55. data/app/views/atrium/collections/new.html.erb +2 -5
  56. data/app/views/atrium/collections/show.html.erb +11 -29
  57. data/app/views/atrium/descriptions/_form.html.erb +47 -49
  58. data/app/views/atrium/descriptions/edit.html.erb +1 -2
  59. data/app/views/atrium/descriptions/index.html.erb +2 -8
  60. data/app/views/atrium/descriptions/new.html.erb +2 -1
  61. data/app/views/atrium/descriptions/show.html.erb +2 -20
  62. data/app/views/atrium/exhibits/_exhibit.html.erb +1 -0
  63. data/app/views/atrium/exhibits/_form.html.erb +143 -96
  64. data/app/views/atrium/exhibits/edit.html.erb +1 -8
  65. data/app/views/atrium/exhibits/index.html.erb +2 -0
  66. data/app/views/atrium/exhibits/new.html.erb +0 -5
  67. data/app/views/atrium/exhibits/show.html.erb +2 -34
  68. data/app/views/atrium/showcases/_configure_menu.html.erb +55 -0
  69. data/app/views/atrium/showcases/_form.html.erb +40 -0
  70. data/app/views/atrium/showcases/edit.html.erb +3 -0
  71. data/app/views/atrium/showcases/index.html.erb +32 -0
  72. data/app/views/atrium/showcases/new.html.erb +3 -0
  73. data/app/views/atrium/showcases/show.html.erb +2 -1
  74. data/app/views/layouts/atrium.html.erb +16 -24
  75. data/app/views/layouts/atrium/application.html.erb +49 -0
  76. data/app/views/layouts/atrium/themes/default.html.erb +15 -0
  77. data/app/views/shared/_list_searchs.html.erb +4 -0
  78. data/app/views/shared/_navigation.html.erb +19 -0
  79. data/atrium.gemspec +31 -64
  80. data/config/routes.rb +40 -10
  81. data/{lib/generators/atrium/templates/migrations/create_atrium_collections.rb → db/migrate/20120730170406_create_atrium_collections.rb} +2 -1
  82. data/{lib/generators/atrium/templates/migrations/create_atrium_showcases.rb → db/migrate/20120731134846_create_atrium_showcases.rb} +3 -4
  83. data/{lib/generators/atrium/templates/migrations/create_atrium_exhibits.rb → db/migrate/20120731134856_create_atrium_exhibits.rb} +2 -1
  84. data/{lib/generators/atrium/templates/migrations/create_atrium_descriptions.rb → db/migrate/20120731134904_create_atrium_descriptions.rb} +2 -1
  85. data/{lib/generators/atrium/templates/migrations/create_atrium_essays.rb → db/migrate/20120731135534_create_atrium_essays.rb} +3 -2
  86. data/{lib/generators/atrium/templates/migrations/create_atrium_search_facets.rb → db/migrate/20120731135721_create_atrium_search_facets.rb} +1 -1
  87. data/{lib/generators/atrium/templates/migrations/create_atrium_showcase_facet_selections.rb → db/migrate/20120731140621_create_atrium_showcase_facet_selections.rb} +6 -2
  88. data/{lib/generators/atrium/templates/migrations/create_atrium_browse_levels.rb → db/migrate/20120801145241_create_atrium_browse_levels.rb} +1 -1
  89. data/db/migrate/20120820183808_create_selected_items.rb +16 -0
  90. data/db/migrate/20120823135716_update_atrium_collection_indices.rb +13 -0
  91. data/db/migrate/20120823143315_add_lookup_indices_as_required.rb +11 -0
  92. data/lib/atrium.rb +40 -36
  93. data/lib/atrium/engine.rb +4 -8
  94. data/lib/atrium/exceptions.rb +10 -0
  95. data/lib/atrium/version.rb +2 -2
  96. data/lib/generators/atrium/install/USAGE +8 -0
  97. data/lib/generators/atrium/install/install_generator.rb +86 -0
  98. data/lib/generators/atrium/install/templates/atrium_initializer.rb +21 -0
  99. data/lib/generators/atrium/install/templates/controllers/atrium_base_controller.rb +18 -0
  100. data/lib/generators/atrium/install/templates/controllers/collections_controller.rb +40 -0
  101. data/lib/generators/atrium/install/templates/controllers/descriptions_controller.rb +36 -0
  102. data/lib/generators/atrium/install/templates/controllers/exhibits_controller.rb +47 -0
  103. data/lib/generators/atrium/install/templates/controllers/selected_items_controller.rb +26 -0
  104. data/lib/generators/atrium/install/templates/helpers/application_helper.rb +42 -0
  105. data/lib/generators/atrium/install/templates/helpers/collections_helper.rb +15 -0
  106. data/lib/generators/atrium/install/templates/helpers/navigation_helper.rb +62 -0
  107. data/lib/generators/atrium/install/templates/helpers/solr_helper.rb +138 -0
  108. data/lib/generators/atrium/install/templates/models/selected_item.rb +7 -0
  109. data/lib/generators/atrium/install/templates/views/collections/_document.html.erb +19 -0
  110. data/lib/generators/atrium/install/templates/views/collections/_exhibits.html.erb +3 -0
  111. data/lib/generators/atrium/install/templates/views/collections/_pagination.html.erb +6 -0
  112. data/lib/generators/atrium/install/templates/views/collections/browse.html.erb +16 -0
  113. data/lib/generators/atrium/install/templates/views/collections/show.html.erb +19 -0
  114. data/lib/generators/atrium/install/templates/views/descriptions/show.html.erb +8 -0
  115. data/lib/generators/atrium/install/templates/views/exhibits/_document.html.erb +19 -0
  116. data/lib/generators/atrium/install/templates/views/exhibits/_pagination.html.erb +6 -0
  117. data/lib/generators/atrium/install/templates/views/exhibits/show.html.erb +28 -0
  118. data/lib/generators/atrium/install/templates/views/folder/_selected_items_form.html.erb +8 -0
  119. data/lib/generators/atrium/install/templates/views/folder/index.html.erb +45 -0
  120. data/lib/generators/atrium/install/templates/views/shared/_document_list.html.erb +14 -0
  121. data/lib/generators/atrium/install/templates/views/shared/_featured_sources.html.erb +19 -0
  122. data/lib/generators/atrium/install/templates/views/shared/_list_descriptions.html.erb +25 -0
  123. data/lib/generators/atrium/install/templates/views/shared/_masthead.html.erb +19 -0
  124. data/lib/generators/atrium/install/templates/views/shared/_navigation_browse_level.html.erb +34 -0
  125. data/lib/generators/atrium/install/templates/views/shared/_showcases.html.erb +12 -0
  126. data/lib/generators/atrium/install/templates/views/shared/_side_bar_navigation.html.erb +20 -0
  127. data/lib/generators/atrium/service/USAGE +9 -0
  128. data/lib/generators/atrium/service/service_generator.rb +16 -0
  129. data/lib/generators/atrium/service/templates/service.rb.erb +2 -0
  130. data/lib/generators/atrium/service/templates/service_spec.rb.erb +4 -0
  131. data/lib/generators/atrium/theme/USAGE +8 -0
  132. data/lib/generators/atrium/theme/templates/theme.html.erb +14 -0
  133. data/lib/generators/atrium/theme/theme_generator.rb +11 -0
  134. data/lib/tasks/atrium_tasks.rake +4 -0
  135. data/script/rails +10 -0
  136. data/spec/atrium_spec.rb +10 -0
  137. data/spec/controllers/atrium/application_controller_spec.rb +7 -0
  138. data/spec/controllers/atrium/collections_controller_spec.rb +125 -0
  139. data/spec/controllers/atrium/descriptions_controller_spec.rb +142 -0
  140. data/spec/controllers/atrium/exhibits_controller_spec.rb +102 -0
  141. data/spec/controllers/atrium/order_controller_spec.rb +100 -0
  142. data/spec/controllers/atrium/showcases_controller_spec.rb +217 -0
  143. data/spec/dummy/README.rdoc +261 -0
  144. data/spec/dummy/Rakefile +7 -0
  145. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  146. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  147. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  148. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  149. data/spec/dummy/app/mailers/.gitkeep +0 -0
  150. data/spec/dummy/app/models/.gitkeep +0 -0
  151. data/spec/dummy/app/models/collection.rb +3 -0
  152. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  153. data/spec/dummy/config.ru +4 -0
  154. data/spec/dummy/config/application.rb +59 -0
  155. data/spec/dummy/config/boot.rb +10 -0
  156. data/spec/dummy/config/database.yml +25 -0
  157. data/spec/dummy/config/environment.rb +5 -0
  158. data/spec/dummy/config/environments/development.rb +37 -0
  159. data/spec/dummy/config/environments/production.rb +67 -0
  160. data/spec/dummy/config/environments/test.rb +37 -0
  161. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  162. data/spec/dummy/config/initializers/inflections.rb +15 -0
  163. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  164. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  165. data/spec/dummy/config/initializers/session_store.rb +8 -0
  166. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  167. data/spec/dummy/config/locales/en.yml +5 -0
  168. data/spec/dummy/config/routes.rb +4 -0
  169. data/spec/dummy/db/schema.rb +124 -0
  170. data/spec/dummy/lib/assets/.gitkeep +0 -0
  171. data/spec/dummy/log/.gitkeep +0 -0
  172. data/spec/dummy/public/404.html +26 -0
  173. data/spec/dummy/public/422.html +26 -0
  174. data/spec/dummy/public/500.html +25 -0
  175. data/spec/dummy/public/favicon.ico +0 -0
  176. data/spec/dummy/script/rails +6 -0
  177. data/spec/dummy/test/fixtures/collections.yml +11 -0
  178. data/spec/dummy/test/unit/collection_test.rb +7 -0
  179. data/spec/factories/atrium_collections.rb +8 -0
  180. data/spec/factories/atrium_exhibits.rb +9 -0
  181. data/spec/factories/atrium_search_facets.rb +8 -0
  182. data/spec/factories/atrium_showcases.rb +25 -0
  183. data/spec/helpers/atrium/collections_helper_spec.rb +57 -0
  184. data/spec/helpers/atrium/showcases_helper_spec.rb +56 -0
  185. data/spec/models/atrium/browse_level_spec.rb +56 -0
  186. data/spec/models/atrium/collection_spec.rb +76 -0
  187. data/spec/models/atrium/configuration_spec.rb +114 -0
  188. data/spec/models/atrium/description_spec.rb +56 -0
  189. data/spec/models/atrium/essay_spec.rb +16 -0
  190. data/spec/models/atrium/exhibit_spec.rb +90 -0
  191. data/spec/models/atrium/search/facet_selection_spec.rb +23 -0
  192. data/{test_support/spec → spec}/models/atrium/search/facet_spec.rb +2 -4
  193. data/{test_support/spec → spec}/models/atrium/showcase/facet_selection_spec.rb +5 -5
  194. data/spec/models/atrium/showcase/featured_selection_spec.rb +18 -0
  195. data/spec/models/atrium/showcase_spec.rb +97 -0
  196. data/spec/services/browse_level_evaluation_service_spec.rb +33 -0
  197. data/spec/services/current_filter_query_params_extraction_service_spec.rb +34 -0
  198. data/spec/services/navigation_tree_spec.rb +18 -0
  199. data/spec/services/params_adaptor_for_filter_spec.rb +8 -0
  200. data/spec/spec_helper.rb +39 -0
  201. data/spec/support/accept_nested_attributes_for.rb +39 -0
  202. data/{test_support/spec → spec}/support/be_accessible_matcher.rb +0 -0
  203. data/{test_support/spec → spec}/support/be_routed_mixin.rb +0 -0
  204. data/spec/support/controller_hacks.rb +35 -0
  205. data/spec/support/routes.rb +5 -0
  206. data/spec/support/shared_examples/is_showcased_mixin.rb +20 -0
  207. data/spec/support/shared_examples/query_param_mixin.rb +179 -0
  208. data/{app/assets/stylesheets/atrium → vendor/assets/images}/chosen-sprite.png +0 -0
  209. data/{app → vendor}/assets/javascripts/chosen.jquery.js +0 -0
  210. data/{app → vendor}/assets/javascripts/ckeditor.warning.js +0 -0
  211. data/{app → vendor}/assets/javascripts/ckeditor/config.js.coffee +0 -0
  212. data/{app → vendor}/assets/javascripts/ckeditor/jquery.generateId.js +0 -0
  213. data/{app → vendor}/assets/javascripts/ckeditor/jquery.jeditable.ckeditor.js +0 -0
  214. data/{app → vendor}/assets/javascripts/ckeditor/plugins/linkItem/application_link.png +0 -0
  215. data/{app → vendor}/assets/javascripts/ckeditor/plugins/linkItem/dialogs/linkItem.js +0 -0
  216. data/{app → vendor}/assets/javascripts/ckeditor/plugins/linkItem/plugin.js +0 -0
  217. data/{app → vendor}/assets/javascripts/ckeditor/plugins/linkItem/ui_toolbar_pencil.png +0 -0
  218. data/vendor/assets/javascripts/jquery-ui-1.8.23.custom.min.js +41 -0
  219. data/vendor/assets/javascripts/jquery-ui-build.txt +8 -0
  220. data/{app → vendor}/assets/javascripts/jquery.jeditable.js +0 -0
  221. data/{app/assets/stylesheets/atrium → vendor/assets/stylesheets}/chosen.css +4 -4
  222. data/vendor/assets/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  223. data/vendor/assets/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  224. data/vendor/assets/stylesheets/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  225. data/vendor/assets/stylesheets/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  226. data/vendor/assets/stylesheets/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  227. data/vendor/assets/stylesheets/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  228. data/vendor/assets/stylesheets/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  229. data/vendor/assets/stylesheets/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  230. data/vendor/assets/stylesheets/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  231. data/vendor/assets/stylesheets/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  232. data/vendor/assets/stylesheets/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  233. data/vendor/assets/stylesheets/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  234. data/vendor/assets/stylesheets/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  235. data/vendor/assets/stylesheets/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  236. data/vendor/assets/stylesheets/ui-lightness/jquery-ui-1.8.23.custom.css +334 -0
  237. metadata +431 -949
  238. data/GETTING_STARTED.textile +0 -102
  239. data/app/assets/images/atrium/ajax-loader.gif +0 -0
  240. data/app/assets/images/atrium/lightbox-ico-loading.gif +0 -0
  241. data/app/assets/images/atrium/logo.png +0 -0
  242. data/app/assets/javascripts/jquery.colorbox.js +0 -864
  243. data/app/assets/stylesheets/colorbox.css +0 -42
  244. data/app/assets/stylesheets/controls.png +0 -0
  245. data/app/assets/stylesheets/loading.gif +0 -0
  246. data/app/controllers/atrium/base_controller.rb +0 -25
  247. data/app/controllers/atrium/collection_exhibit_order_controller.rb +0 -21
  248. data/app/controllers/atrium/customization_controller.rb +0 -41
  249. data/app/controllers/atrium/exhibit_facet_order_controller.rb +0 -19
  250. data/app/helpers/atrium/base_helper.rb +0 -6
  251. data/app/models/ability.rb +0 -14
  252. data/app/models/atrium/showcase/item.rb +0 -19
  253. data/app/models/role_mapper.rb +0 -23
  254. data/app/views/_user_util_links.html.erb +0 -25
  255. data/app/views/atrium/collections/_bookmark_control.html.erb +0 -25
  256. data/app/views/atrium/collections/_browse_index.html.erb +0 -20
  257. data/app/views/atrium/collections/_collection_items_index.html.erb +0 -10
  258. data/app/views/atrium/collections/_document.html.erb +0 -24
  259. data/app/views/atrium/collections/_document_list.html.erb +0 -6
  260. data/app/views/atrium/collections/_edit_navigation.html.erb +0 -20
  261. data/app/views/atrium/collections/_folder_control.html.erb +0 -12
  262. data/app/views/atrium/collections/_listing.html.erb +0 -18
  263. data/app/views/atrium/collections/_navigation.html.erb +0 -50
  264. data/app/views/atrium/collections/_results_pagination.html.erb +0 -9
  265. data/app/views/atrium/collections/_sort_and_per_page.html.erb +0 -23
  266. data/app/views/atrium/exhibits/_bookmark_control.html.erb +0 -25
  267. data/app/views/atrium/exhibits/_folder_control.html.erb +0 -12
  268. data/app/views/atrium/exhibits/_navigation.html.erb +0 -30
  269. data/app/views/atrium/showcases/_showcase_navigation.html.erb +0 -23
  270. data/app/views/catalog/_collection_home_text.html.erb +0 -6
  271. data/app/views/catalog/_constraints.html.erb +0 -9
  272. data/app/views/catalog/_default_collection_text.html.erb +0 -18
  273. data/app/views/catalog/_default_home_text.html.erb +0 -6
  274. data/app/views/catalog/_home_text.html.erb +0 -6
  275. data/app/views/catalog/_index_partials/_description.html.erb +0 -8
  276. data/app/views/catalog/_search_form.html.erb +0 -66
  277. data/app/views/catalog/_show_partials/_description.html.erb +0 -15
  278. data/app/views/catalog/browse_show.html.erb +0 -18
  279. data/app/views/catalog/index.html.erb +0 -41
  280. data/app/views/catalog/list_description.html.erb +0 -24
  281. data/app/views/catalog/list_item.html.erb +0 -3
  282. data/app/views/layouts/atrium_themes/default.html.erb +0 -4
  283. data/app/views/layouts/item_listing.html.erb +0 -36
  284. data/app/views/listing/_document.html.erb +0 -27
  285. data/app/views/listing/_document_list.html.erb +0 -3
  286. data/app/views/listing/_item_search.html.erb +0 -27
  287. data/app/views/shared/_banner.html.erb +0 -5
  288. data/app/views/shared/_collection_complete_list.html.erb +0 -33
  289. data/app/views/shared/_collection_search_form.html.erb +0 -12
  290. data/app/views/shared/_collection_title_header.html.erb +0 -3
  291. data/app/views/shared/_featured_sources.html.erb +0 -23
  292. data/app/views/shared/_list_descriptions.html.erb +0 -39
  293. data/app/views/shared/_navigation_browse_levels.html.erb +0 -34
  294. data/app/views/shared/_showcase_configure_menu.html.erb +0 -22
  295. data/app/views/shared/_top_navigation.html.erb +0 -9
  296. data/init.rb +0 -3
  297. data/lib/application_controller.rb +0 -24
  298. data/lib/atrium/application_helper.rb +0 -24
  299. data/lib/atrium/atrium_helper_behavior.rb +0 -159
  300. data/lib/atrium/catalog.rb +0 -203
  301. data/lib/atrium/collections_helper.rb +0 -172
  302. data/lib/atrium/controller.rb +0 -10
  303. data/lib/atrium/descriptions_helper.rb +0 -27
  304. data/lib/atrium/layout_helper.rb +0 -13
  305. data/lib/atrium/routes.rb +0 -100
  306. data/lib/atrium/solr_helper.rb +0 -440
  307. data/lib/generators/atrium/assets_generator.rb +0 -44
  308. data/lib/generators/atrium/atrium_generator.rb +0 -149
  309. data/lib/generators/atrium/cucumber_support_generator.rb +0 -29
  310. data/lib/generators/atrium/templates/config/role_map_cucumber.yml +0 -2
  311. data/lib/generators/atrium/templates/config/role_map_development.yml +0 -2
  312. data/lib/generators/atrium/templates/config/role_map_production.yml +0 -2
  313. data/lib/generators/atrium/templates/config/role_map_test.yml +0 -2
  314. data/lib/generators/atrium/templates/config/solr.yml +0 -10
  315. data/lib/generators/atrium/templates/db/seeds.rb +0 -87
  316. data/lib/generators/atrium/templates/migrations/create_atrium_showcase_items.rb +0 -17
  317. data/lib/generators/atrium/templates/themes/example.html.erb +0 -21
  318. data/lib/railties/all_tests.rake +0 -23
  319. data/lib/railties/atrium_cucumber.rake +0 -121
  320. data/lib/railties/index.rake +0 -37
  321. data/tasks/atrium.rake +0 -268
  322. data/tasks/atrium_rspec.rake +0 -91
  323. data/test_support/etc/Gemfile +0 -33
  324. data/test_support/etc/bundle_config +0 -3
  325. data/test_support/etc/rvmrc +0 -32
  326. data/test_support/features/atrium_collections.feature +0 -162
  327. data/test_support/features/atrium_exhibits.feature +0 -164
  328. data/test_support/features/step_definitions/atrium_collection_steps.rb +0 -102
  329. data/test_support/features/step_definitions/atrium_exhibit_steps.rb +0 -53
  330. data/test_support/features/step_definitions/bookmarks_steps.rb +0 -6
  331. data/test_support/features/step_definitions/error_steps.rb +0 -5
  332. data/test_support/features/step_definitions/folder_steps.rb +0 -27
  333. data/test_support/features/step_definitions/general_steps.rb +0 -50
  334. data/test_support/features/step_definitions/record_view_steps.rb +0 -12
  335. data/test_support/features/step_definitions/saved_searches_steps.rb +0 -22
  336. data/test_support/features/step_definitions/search_facets_steps.rb +0 -29
  337. data/test_support/features/step_definitions/search_history_steps.rb +0 -9
  338. data/test_support/features/step_definitions/search_result_steps.rb +0 -114
  339. data/test_support/features/step_definitions/search_steps.rb +0 -103
  340. data/test_support/features/step_definitions/user_steps.rb +0 -5
  341. data/test_support/features/step_definitions/web_steps.rb +0 -213
  342. data/test_support/features/support/env.rb +0 -67
  343. data/test_support/features/support/paths.rb +0 -76
  344. data/test_support/features/support/selectors.rb +0 -40
  345. data/test_support/fixtures/atrium_exhibits.yml +0 -3
  346. data/test_support/spec/controllers/atrium/base_controller_spec.rb +0 -13
  347. data/test_support/spec/controllers/atrium/collection_exhibit_order_controller_spec.rb +0 -29
  348. data/test_support/spec/controllers/atrium/collections_controller_spec.rb +0 -185
  349. data/test_support/spec/controllers/atrium/customization_controller_spec.rb +0 -38
  350. data/test_support/spec/controllers/atrium/descriptions_controller_spec.rb +0 -150
  351. data/test_support/spec/controllers/atrium/exhibit_facet_order_controller_spec.rb +0 -36
  352. data/test_support/spec/controllers/atrium/exhibits_controller_spec.rb +0 -192
  353. data/test_support/spec/controllers/atrium/showcases_controller_spec.rb +0 -219
  354. data/test_support/spec/helpers/atrium_collections_helper_spec.rb +0 -147
  355. data/test_support/spec/helpers/atrium_description_helper_spec.rb +0 -47
  356. data/test_support/spec/helpers/atrium_solr_helper_spec.rb +0 -522
  357. data/test_support/spec/models/atrium/browse_level_spec.rb +0 -31
  358. data/test_support/spec/models/atrium/collection_spec.rb +0 -30
  359. data/test_support/spec/models/atrium/description_spec.rb +0 -67
  360. data/test_support/spec/models/atrium/essay_spec.rb +0 -12
  361. data/test_support/spec/models/atrium/exhibit_spec.rb +0 -76
  362. data/test_support/spec/models/atrium/search/facet_selection_spec.rb +0 -24
  363. data/test_support/spec/models/atrium/search_facet_spec.rb +0 -54
  364. data/test_support/spec/models/atrium/showcase/item_spec.rb +0 -12
  365. data/test_support/spec/models/atrium/showcase_facet_selection_spec.rb +0 -65
  366. data/test_support/spec/models/atrium/showcase_spec.rb +0 -134
  367. data/test_support/spec/rcov.opts +0 -3
  368. data/test_support/spec/routing/atrium/collections_routing_spec.rb +0 -33
  369. data/test_support/spec/spec.opts +0 -4
  370. data/test_support/spec/spec_helper.rb +0 -47
  371. data/test_support/tmp/step_definitions/catalog_index_steps.rb +0 -14
  372. data/test_support/tmp/step_definitions/edit_document_steps.rb +0 -67
  373. data/test_support/tmp/step_definitions/hydra_metadata_steps.rb +0 -3
  374. data/test_support/tmp/step_definitions/hydra_steps.rb +0 -8
  375. data/test_support/tmp/step_definitions/search_steps.rb +0 -86
  376. data/test_support/tmp/step_definitions/searching_steps.rb +0 -22
  377. data/test_support/tmp/step_definitions/select_steps.rb +0 -8
  378. data/test_support/tmp/step_definitions/show_document_steps.rb +0 -73
  379. data/test_support/tmp/step_definitions/user_steps.rb +0 -15
  380. data/test_support/tmp/step_definitions/web_steps.rb +0 -273
  381. data/test_support/tmp/support/env.rb +0 -54
  382. data/test_support/tmp/support/paths.rb +0 -57
@@ -1,37 +0,0 @@
1
- namespace :solr do
2
- namespace :index do
3
-
4
- desc "Index all description records WITHOUT commiting changes to the index."
5
- task :description => :environment do
6
- puts "Desc: #{Atrium::Description.find(:all).inspect}"
7
- Atrium::Description.all.each do |desc|
8
- puts "Indexing Description ID:#{desc.id}"
9
- Blacklight.solr.add desc.as_solr
10
- end
11
- end
12
-
13
- desc "Index all description records AND commit changes to the index"
14
- task :all => :environment do
15
- Rake::Task['solr:index:description'].execute
16
- Rake::Task['solr:index:commit'].execute
17
- Rake::Task['solr:index:optimize'].execute
18
- end
19
-
20
- desc "Commit changes to solr index"
21
- task :commit => :environment do
22
- puts "Commiting Solr index."
23
- start = Time.now
24
- Blacklight.solr.commit
25
- puts "Commiting took #{Time.now - start}s"
26
- end
27
-
28
- desc "Optimize solr index"
29
- task :optimize => :environment do
30
- puts "Optimizing Solr index."
31
- start = Time.now
32
- Blacklight.solr.optimize
33
- puts "Optimization took #{Time.now - start}s"
34
- end
35
-
36
- end
37
- end
@@ -1,268 +0,0 @@
1
- require 'rspec/core'
2
- require 'rspec/core/rake_task'
3
- require 'thor/core_ext/file_binary_read'
4
- require 'jettywrapper'
5
-
6
- namespace :atrium do
7
-
8
- desc "Execute Continuous Integration build (docs, tests with coverage)"
9
- task :ci do
10
- Rake::Task["atrium:doc"].invoke
11
-
12
- jetty_params = {
13
- :jetty_home => File.expand_path(File.dirname(__FILE__) + '/../jetty'),
14
- :quiet => false,
15
- :jetty_port => 8983,
16
- :solr_home => File.expand_path(File.dirname(__FILE__) + '/../jetty/solr'),
17
- :startup_wait => 30
18
- }
19
- error = Jettywrapper.wrap(jetty_params) do
20
- Rake::Task['atrium:setup_test_app'].invoke
21
- Rake::Task['atrium:test'].invoke
22
- end
23
- raise "test failures: #{error}" if error
24
- end
25
-
26
-
27
- desc "Easiest way to run rspec tests. Copies code to host plugins dir, loads fixtures, then runs specs - need to have jetty running."
28
- #task :spec => "rspec:setup_and_run"
29
-
30
- namespace :rspec do
31
-
32
- desc "Run the atrium specs - need to have jetty running, test host set up and fixtures loaded."
33
- task :run => :use_test_app do
34
- puts "Running rspec tests"
35
- puts Rake::Task["atrium:spec"].invoke
36
- FileUtils.cd('../../')
37
- end
38
-
39
- desc "Sets up test host, loads fixtures, then runs specs - need to have jetty running."
40
- task :setup_and_run => ["atrium:setup_test_app"] do
41
- puts "Reloading fixtures"
42
- Rake::Task["atrium:rspec:run"].invoke
43
-
44
- end
45
-
46
- end
47
-
48
-
49
- # The following is a task named :doc which generates documentation using yard
50
- begin
51
- require 'yard'
52
- require 'yard/rake/yardoc_task'
53
- project_root = File.expand_path("#{File.dirname(__FILE__)}/../")
54
- doc_destination = File.join(project_root, 'doc')
55
- if !File.exists?(doc_destination)
56
- FileUtils.mkdir_p(doc_destination)
57
- end
58
-
59
- YARD::Rake::YardocTask.new(:doc) do |yt|
60
- readme_filename = 'README.textile'
61
- textile_docs = []
62
- Dir[File.join(project_root, "*.textile")].each_with_index do |f, index|
63
- unless f.include?("/#{readme_filename}") # Skip readme, which is already built by the --readme option
64
- textile_docs << '-'
65
- textile_docs << f
66
- end
67
- end
68
- yt.files = Dir.glob(File.join(project_root, '*.rb')) +
69
- Dir.glob(File.join(project_root, 'app', '**', '*.rb')) +
70
- Dir.glob(File.join(project_root, 'lib', '**', '*.rb')) +
71
- textile_docs
72
- yt.options = ['--output-dir', doc_destination, '--readme', readme_filename]
73
- end
74
- rescue LoadError
75
- desc "Generate YARD Documentation"
76
- task :doc do
77
- abort "Please install the YARD gem to generate rdoc."
78
- end
79
- end
80
-
81
- #
82
- # Cucumber
83
- #
84
-
85
-
86
- desc "Run cucumber tests for atrium - need to have jetty running, test host set up and fixtures loaded."
87
- task :cucumber => ['test:prepare'] do
88
- within_test_app do
89
- puts "Running cucumber features in test host app #{Dir.pwd}"
90
- puts Rake::Task["atrium:cucumber:cmd"].invoke
91
- end
92
- end
93
-
94
-
95
- namespace :cucumber do
96
- # atrium_features, where to find features inside atrium source?
97
- atrium_features = File.expand_path("../test_support/features",File.dirname(__FILE__))
98
- vendored_cucumber_bin = Dir[File.expand_path("../vendor/{gems,plugins}/cucumber*/bin/cucumber",File.dirname(__FILE__))].first
99
- $LOAD_PATH.unshift(File.dirname(vendored_cucumber_bin) + '/../lib') unless vendored_cucumber_bin.nil?
100
- require 'cucumber/rake/task'
101
- ### Don't call this directly, use atrium:cucumber
102
- #Cucumber::Rake::Task.new(:cmd => 'atrium:db:seed') do |t|
103
- Cucumber::Rake::Task.new(:cmd => 'atrium:db:seed') do |t|
104
- t.cucumber_opts = atrium_features
105
- t.binary = vendored_cucumber_bin # If nil, the gem's binary is used.
106
- end
107
- end
108
-
109
- #
110
- # Misc Tasks
111
- #
112
-
113
- desc "Creates a new test app"
114
- task :setup_test_app => [:set_test_host_path] do
115
- path = TEST_HOST_PATH
116
- errors = []
117
- puts "Cleaning out test app path #{path}"
118
- puts %x[rm -fr #{path}]
119
- errors << 'Error removing test app' unless $?.success?
120
-
121
- ###puts "Freezing gems to project vendor/cache"
122
- ###puts %x[bundle package]
123
- ###errors << 'Bundle package failed' unless $?.success?
124
-
125
- puts "Creating test app directory"
126
- FileUtils.mkdir_p(path)
127
-
128
- puts "Installing rails, bundler and devise"
129
- %x[gem install --no-rdoc --no-ri 'rails' -v "<4"]
130
- %x[gem install --no-rdoc --no-ri 'bundler']
131
-
132
- #puts "Copying over .rvmrc file"
133
- #FileUtils.cp("./test_support/etc/rvmrc",File.join(path,".rvmrc"))
134
- FileUtils.cd("tmp")
135
- #system("source ./test_app/.rvmrc")
136
-
137
- puts "Generating new rails app"
138
- %x[bundle exec rails new test_app]
139
- errors << 'Error generating new rails test app' unless $?.success?
140
- FileUtils.cd('test_app')
141
- FileUtils.rm('public/index.html')
142
-
143
- puts "Copying Gemfile from test_support/etc"
144
- FileUtils.cp('../../test_support/etc/Gemfile','./Gemfile')
145
-
146
- #puts "Creating local vendor/cache dir and copying gems from atrium gemset"
147
- #FileUtils.cp_r(File.join('..','..','vendor','cache'), './vendor')
148
-
149
- #puts "Configure bundler to only look at the local vendor/cache"
150
- #FileUtils.mkdir_p( File.expand_path('./.bundle') )
151
- #FileUtils.cp_r(File.expand_path('../../test_support/etc/bundle_config'), File.expand_path('./.bundle/config'))
152
-
153
- puts "Copying fixtures into test app spec/fixtures directory"
154
- FileUtils.mkdir_p( File.join('.','test_support') )
155
- FileUtils.cp_r(File.join('..','..','test_support','fixtures'), File.join('.','test_support','fixtures'))
156
-
157
- puts "Executing bundle install"
158
- puts %x[bundle install]
159
- errors << 'Error running bundle install in test app' unless $?.success?
160
-
161
- puts "Installing jQuery UJS in test app"
162
- puts %x[bundle exec rails g jquery:install]
163
- errors << 'Error installing jquery-rails in test app' unless $?.success?
164
-
165
- puts "Installing cucumber in test app"
166
- puts %x[bundle exec rails g cucumber:install]
167
- errors << 'Error installing cucumber in test app' unless $?.success?
168
-
169
- puts "Generating default blacklight install"
170
- puts %x[bundle exec rails g blacklight --devise]
171
- errors << 'Error generating default blacklight install' unless $?.success?
172
-
173
- puts "Generating default atrium install"
174
- puts %x[bundle exec rails g atrium -df] # using -f to force overwriting of solr.yml
175
- errors << 'Error generating default atrium install' unless $?.success?
176
-
177
- after = 'TestApp::Application.configure do'
178
- replace!( "#{path}/config/environments/test.rb", /#{after}/, "#{after}\n config.log_level = :warn\n")
179
-
180
- puts FileUtils.cp('../../lib/generators/atrium/templates/db/seeds.rb','db/seeds.rb')
181
-
182
- #puts "Loading blacklight marc test data into Solr"
183
- #%x[bundle exec rake solr:marc:index_test_data]
184
-
185
- puts "Running rake db:migrate"
186
- puts %x[bundle exec rake db:migrate]
187
- errors << 'Error running db:migrate in test app' unless $?.success?
188
-
189
- puts %x[bundle exec rake db:migrate RAILS_ENV=test]
190
- errors << 'Error running db:migrate RAILS_ENV=test in test app' unless $?.success?
191
-
192
- #raise "Errors: #{errors.join("; ")}" unless errors.empty?
193
-
194
- FileUtils.cd('../../')
195
- end
196
-
197
-
198
- task :set_test_host_path do
199
- TEST_HOST_PATH = File.join(File.expand_path(File.dirname(__FILE__)),'..','tmp','test_app')
200
- puts "Test app path:\n#{TEST_HOST_PATH}"
201
- end
202
-
203
- #
204
- # Test
205
- #
206
-
207
- desc "Run tests against test app"
208
- task :test => [:use_test_app] do
209
-
210
- puts "Running rspec tests"
211
- puts %x[bundle exec rake atrium:spec:rcov]
212
- puts %x[bundle exec rake atrium:rspec:run]
213
-
214
- puts "Running cucumber tests"
215
- puts %x[bundle exec rake atrium:cucumber]
216
-
217
- FileUtils.cd(File.expand_path(File.dirname(__FILE__)))
218
- puts "Completed test suite"
219
- end
220
-
221
- namespace :test do
222
-
223
- desc "run db:test:prepare in the test app"
224
- task :prepare => :test_app_exists do
225
- within_test_app do
226
- %x[rake db:test:prepare]
227
- end
228
- end
229
-
230
- desc "Make sure the test app is installed"
231
- task :test_app_exists => [:set_test_host_path] do
232
- Rake::Task['atrium:setup_test_app'].invoke unless File.exist?(TEST_HOST_PATH)
233
- end
234
-
235
- end
236
-
237
- namespace :db do
238
- desc "Seed the database with once/ and always/ fixtures."
239
- task :seed => ["atrium:test:test_app_exists"] do
240
- within_test_app do
241
- puts %x[bundle exec rake db:seed RAILS_ENV=test]
242
- end
243
- end
244
- end
245
-
246
- desc "Make sure the test app is installed, then run the tasks from its root directory"
247
- task :use_test_app => [:set_test_host_path] do
248
- Rake::Task['atrium:setup_test_app'].invoke unless File.exist?(TEST_HOST_PATH)
249
- FileUtils.cd(TEST_HOST_PATH)
250
- end
251
- end
252
-
253
-
254
-
255
-
256
- # Adds the content to the file.
257
- #
258
- def replace!(destination, regexp, string)
259
- content = File.binread(destination)
260
- content.gsub!(regexp, string)
261
- File.open(destination, 'wb') { |file| file.write(content) }
262
- end
263
-
264
- def within_test_app
265
- FileUtils.cd(TEST_HOST_PATH)
266
- yield
267
- FileUtils.cd('../../')
268
- end
@@ -1,91 +0,0 @@
1
- # Atrium customization of the Rake tasks that come with rspec-2, to run
2
- # specs located in alternate location (inside the Atrium plugin), and to provide
3
- # rake tasks for jetty/solr wrapping.
4
- #
5
- # Same tasks as in ordinary rspec, but prefixed with atrium:.
6
- #
7
- # rspec2 keeps it's rake tasks inside it's own code, it doesn't generate them.
8
- # We had to copy them from there and modify, may have to be done again
9
- # if rspec2 changes a lot, but this code looks relatively cleanish.
10
- begin
11
- require 'rspec/core'
12
- require 'rspec/core/rake_task'
13
- if default = Rake.application.instance_variable_get('@tasks')['default']
14
- default.prerequisites.delete('test')
15
- end
16
-
17
- spec_prereq = "atrium:test:prepare"
18
- atrium_spec = File.expand_path("../test_support/spec",File.dirname(__FILE__))
19
- directories_to_test = [
20
- :controllers,
21
- # :generators,
22
- :helpers,
23
- # :integration,
24
- # :lib,
25
- # :mailers,
26
- :models,
27
- # :requests,
28
- :routing,
29
- # :unit,
30
- # :utilities,
31
- # :views
32
- ]
33
-
34
- # Set env variable to tell our spec/spec_helper.rb where we really are,
35
- # so it doesn't have to guess with relative path, which will be wrong
36
- # since we allow spec_dir to be in a remote location. spec_helper.rb
37
- # needs it before Rails.root is defined there, even though we can
38
- # oddly get it here, i dunno.
39
- #ENV['RAILS_ROOT'] = Rails.root.to_s
40
-
41
- namespace :atrium do
42
- desc "Run all specs in spec directory (excluding plugin specs)"
43
- RSpec::Core::RakeTask.new(:spec => spec_prereq) do |t|
44
- # the user might not have run rspec generator because they don't
45
- # actually need it, but without an ./.rspec they won't get color,
46
- # let's insist.
47
- t.rspec_opts = "--colour"
48
-
49
- # pattern directory name defaults to ./**/*_spec.rb, but has a more concise command line echo
50
- t.pattern = "#{atrium_spec}"
51
- end
52
-
53
- # Don't understand what this does or how to make it use our remote stats_directory
54
- #task :stats => "spec:statsetup"
55
- namespace :spec do
56
- directories_to_test.each do |sub|
57
- desc "Run the code examples in spec/#{sub}"
58
- RSpec::Core::RakeTask.new(sub => spec_prereq) do |t|
59
- #RSpec::Core::RakeTask.new(sub) do |t|
60
- # the user might not have run rspec generator because they don't
61
- # actually need it, but without an ./.rspec they won't get color,
62
- # let's insist.
63
- t.rspec_opts = "--colour"
64
-
65
- # pattern directory name defaults to ./**/*_spec.rb, but has a more concise command line echo
66
- t.pattern = "#{atrium_spec}/#{sub}"
67
- end
68
- end
69
- end
70
-
71
- desc "Run all atrium:spec:* tasks"
72
- task :spec => directories_to_test.collect{|sym| "atrium:spec:#{sym}"}
73
-
74
- desc "Generate code coverage via rcov"
75
- RSpec::Core::RakeTask.new('rcov' => [spec_prereq, 'atrium:setup_test_app'].flatten.compact) do |t|
76
- t.rcov = true
77
- t.rcov_opts = %w{--rails --exclude osx\/objc,gems\/,spec\/}
78
- t.pattern = "#{atrium_spec}/**/*spec.rb"
79
- end
80
-
81
- end
82
- rescue LoadError
83
- # This rescue pattern stolen from cucumber; rspec didn't need it before since
84
- # tasks only lived in rspec gem itself, but for Atrium since we're copying
85
- # these tasks into Atrium, we use the rescue so you can still run Atrium (without
86
- # these tasks) even if you don't have rspec installed.
87
- desc 'rspec rake tasks not available (rspec not installed)'
88
- task :spec do
89
- abort 'Rspec rake tasks not available. Be sure to install rspec gems. '
90
- end
91
- end
@@ -1,33 +0,0 @@
1
- # This Gemfile comes from hydra-head/test_support/etc/Gemfile
2
- # It's copied into the atrium test app by the rake atrium:setup_test_app task
3
-
4
- source 'http://rubygems.org'
5
-
6
- gem 'rails', '~> 3.2'
7
- gem 'blacklight', '~> 3.3'
8
- gem 'atrium', :path => '../../'
9
-
10
- gem 'cancan'
11
- gem 'jquery-rails'
12
- gem 'json'
13
-
14
- group :assets do
15
- gem 'coffee-rails', '~> 3.2.1'
16
- gem 'sass-rails', '~> 3.2.3'
17
- gem 'therubyracer', :platforms => :ruby
18
- gem 'uglifier', '>= 1.0.3'
19
- end
20
-
21
- # For testing
22
- group :development, :test do
23
- gem 'bcrypt-ruby'
24
- gem 'capybara'
25
- gem 'cucumber-rails'
26
- gem 'database_cleaner'
27
- gem 'factory_girl', '~> 1.1'
28
- gem 'mocha'
29
- gem 'rspec'
30
- gem 'rspec-rails', '>=2.5.0'
31
- gem 'ruby-debug'
32
- gem 'sqlite3'
33
- end
@@ -1,3 +0,0 @@
1
- ---
2
- BUNDLE_DISABLE_SHARED_GEMS: "1"
3
- BUNDLE_PATH: ../../vendor/cache/
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
- # development environment upon cd'ing into the directory
5
-
6
- ruby_string="ree-1.8.7"
7
- gemset_name="atrium-testapp"
8
-
9
- # Install rubies when used instead of only displaying a warning and exiting
10
- rvm_install_on_use_flag=1
11
-
12
- # Specify our desired <ruby>[@<gemset>], the @gemset name is optional.
13
- environment_id="${ruby_string}@${gemset_name}"
14
-
15
- # First, attempt to load the desired environment directly from the environment
16
- # file. This is very fast and efficient compared to running through the entire
17
- # CLI and selector. If you want feedback on which environment was used then
18
- # insert the word 'use' after --create as this triggers verbose mode.
19
- #
20
- if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
21
- && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] ; then
22
- \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
23
- else
24
- # If the environment file has not yet been created, use the RVM CLI to select.
25
- rvm --create "$environment_id"
26
- fi
27
-
28
- # Ensure that Bundler is installed, install it if it is not.
29
- if ! (command -v bundle > /dev/null) ; then
30
- printf "The rubygem 'bundler' is not installed, installing it now.\n"
31
- gem install bundler
32
- fi