zizia 4.0.3.alpha.01 → 4.0.4.alpha.01

Sign up to get free protection for your applications and to get access to all the features.
Files changed (868) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +45 -0
  3. data/.gitignore +17 -0
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +80 -0
  6. data/.rubocop_todo.yml +21 -0
  7. data/.solr_wrapper +8 -0
  8. data/.travis.yml +12 -0
  9. data/Gemfile +12 -0
  10. data/Rakefile +38 -0
  11. data/app/assets/config/zizia_manifest.js +2 -0
  12. data/app/assets/images/zizia/.keep +0 -0
  13. data/app/assets/javascripts/zizia/DisplayUploadedFile.es6 +43 -0
  14. data/app/assets/javascripts/zizia/application.js +13 -0
  15. data/app/assets/javascripts/zizia/zizia.js +6 -0
  16. data/app/assets/stylesheets/zizia/_file_upload.scss +17 -0
  17. data/app/assets/stylesheets/zizia/application.css +15 -0
  18. data/app/assets/stylesheets/zizia/zizia.scss +1 -0
  19. data/app/controllers/zizia/application_controller.rb +6 -0
  20. data/app/controllers/zizia/csv_imports_controller.rb +54 -0
  21. data/app/controllers/zizia/importer_documentation_controller.rb +11 -0
  22. data/app/helpers/importer_documentation_helper.rb +13 -0
  23. data/app/helpers/zizia/application_helper.rb +14 -0
  24. data/app/importers/modular_importer.rb +52 -0
  25. data/app/jobs/zizia/application_job.rb +5 -0
  26. data/app/jobs/zizia/start_csv_import_job.rb +14 -0
  27. data/app/models/zizia/application_record.rb +6 -0
  28. data/app/models/zizia/csv_import.rb +21 -0
  29. data/app/models/zizia/csv_import_detail.rb +20 -0
  30. data/app/models/zizia/pre_ingest_file.rb +6 -0
  31. data/app/models/zizia/pre_ingest_work.rb +6 -0
  32. data/app/uploaders/zizia/csv_manifest_uploader.rb +62 -0
  33. data/app/uploaders/zizia/csv_manifest_validator.rb +163 -0
  34. data/app/views/layouts/zizia/application.html.erb +14 -0
  35. data/app/views/zizia/csv_imports/_actions.html.erb +3 -0
  36. data/app/views/zizia/csv_imports/_collection_selection.html.erb +3 -0
  37. data/app/views/zizia/csv_imports/_error.html.erb +10 -0
  38. data/app/views/zizia/csv_imports/_file_upload.html.erb +3 -0
  39. data/app/views/zizia/csv_imports/_form.html.erb +83 -0
  40. data/app/views/zizia/csv_imports/_no_collection.html.erb +7 -0
  41. data/app/views/zizia/csv_imports/_record_count.html.erb +8 -0
  42. data/app/views/zizia/csv_imports/_start_import_form.html.erb +10 -0
  43. data/app/views/zizia/csv_imports/_update_actor_stack.html.erb +5 -0
  44. data/app/views/zizia/csv_imports/index.html.erb +21 -0
  45. data/app/views/zizia/csv_imports/new.html.erb +2 -0
  46. data/app/views/zizia/csv_imports/preview.html.erb +76 -0
  47. data/app/views/zizia/csv_imports/show.html.erb +31 -0
  48. data/app/views/zizia/importer_documentation/guide.html.erb +1 -0
  49. data/bin/rails +15 -0
  50. data/config/routes.rb +9 -0
  51. data/db/migrate/201901162141281_create_zizia_csv_imports.rb +9 -0
  52. data/db/migrate/201901162203121_add_manifest_to_zizia_csv_imports.rb +6 -0
  53. data/db/migrate/201901241536541_add_fedora_collection_id_to_zizia_csv_imports.rb +5 -0
  54. data/db/migrate/201901241536542_add_update_actor_stack_to_zizia_csv_imports.rb +5 -0
  55. data/db/migrate/20190911133657_create_zizia_pre_ingest_files.rb +12 -0
  56. data/db/migrate/20190911134002_create_zizia_pre_ingest_works.rb +9 -0
  57. data/db/migrate/20190911142616_create_zizia_csv_import_details.rb +8 -0
  58. data/db/migrate/20190918214137_drop_users.rb +11 -0
  59. data/db/migrate/20190919145012_user_roles.rb +18 -0
  60. data/db/migrate/20190921153802_add_depositor_id_to_csv_import_detail.rb +5 -0
  61. data/db/migrate/20190921153851_add_collection_id_to_csv_import_detail.rb +5 -0
  62. data/db/migrate/20190921153933_add_batch_id_to_csv_import_detail.rb +5 -0
  63. data/db/migrate/20190921154009_add_success_count_to_csv_import_detail.rb +5 -0
  64. data/db/migrate/20190921154038_add_failure_count_to_csv_import_detail.rb +5 -0
  65. data/db/migrate/20190921154221_add_deduplication_field_to_csv_import_detail.rb +5 -0
  66. data/db/migrate/20190923182946_add_update_actor_stack_to_csv_import_detail.rb +5 -0
  67. data/docs/_config.yml +1 -0
  68. data/docs/customizing_metadata.md +41 -0
  69. data/docs/index.md +113 -0
  70. data/lib/zizia/always_invalid_validator.rb +17 -0
  71. data/lib/zizia/csv_template.rb +9 -0
  72. data/lib/zizia/engine.rb +32 -0
  73. data/lib/zizia/hash_mapper.rb +44 -0
  74. data/lib/zizia/hyrax/hyrax_basic_metadata_mapper.rb +149 -0
  75. data/lib/zizia/hyrax/hyrax_default_updater.rb +11 -0
  76. data/lib/zizia/hyrax/hyrax_delete_files_updater.rb +16 -0
  77. data/lib/zizia/hyrax/hyrax_metadata_only_updater.rb +58 -0
  78. data/lib/zizia/hyrax/hyrax_record_importer.rb +247 -0
  79. data/lib/zizia/hyrax/metadata_only_stack.rb +70 -0
  80. data/lib/zizia/importer.rb +58 -0
  81. data/lib/zizia/input_record.rb +65 -0
  82. data/lib/zizia/metadata_mapper.rb +83 -0
  83. data/lib/zizia/parser.rb +132 -0
  84. data/lib/zizia/parsers/csv_parser.rb +45 -0
  85. data/lib/zizia/record_importer.rb +44 -0
  86. data/lib/zizia/spec/fakes/fake_parser.rb +22 -0
  87. data/lib/zizia/spec/shared_examples/a_mapper.rb +32 -0
  88. data/lib/zizia/spec/shared_examples/a_parser.rb +73 -0
  89. data/lib/zizia/spec/shared_examples/a_validator.rb +29 -0
  90. data/lib/zizia/spec.rb +14 -0
  91. data/lib/zizia/validator.rb +106 -0
  92. data/lib/zizia/validators/csv_format_validator.rb +26 -0
  93. data/lib/zizia/validators/title_validator.rb +30 -0
  94. data/lib/zizia/version.rb +5 -0
  95. data/lib/zizia.rb +66 -0
  96. data/log/.keep +0 -0
  97. data/solr/config/_rest_managed.json +3 -0
  98. data/solr/config/admin-extra.html +31 -0
  99. data/solr/config/elevate.xml +36 -0
  100. data/solr/config/mapping-ISOLatin1Accent.txt +246 -0
  101. data/solr/config/protwords.txt +21 -0
  102. data/solr/config/routes.rb +9 -0
  103. data/solr/config/schema.xml +366 -0
  104. data/solr/config/scripts.conf +24 -0
  105. data/solr/config/solrconfig.xml +322 -0
  106. data/solr/config/spellings.txt +2 -0
  107. data/solr/config/stopwords.txt +58 -0
  108. data/solr/config/stopwords_en.txt +58 -0
  109. data/solr/config/synonyms.txt +31 -0
  110. data/solr/config/xslt/example.xsl +132 -0
  111. data/solr/config/xslt/example_atom.xsl +67 -0
  112. data/solr/config/xslt/example_rss.xsl +66 -0
  113. data/solr/config/xslt/luke.xsl +337 -0
  114. data/spec/controllers/importer_documentation_controller_spec.rb +14 -0
  115. data/spec/dummy/.fcrepo_wrapper +4 -0
  116. data/spec/dummy/.gitignore +23 -0
  117. data/spec/dummy/.rspec +1 -0
  118. data/spec/dummy/.ruby-version +1 -0
  119. data/spec/dummy/.solr_wrapper +8 -0
  120. data/spec/dummy/.solr_wrapper.yml +5 -0
  121. data/spec/dummy/Gemfile +75 -0
  122. data/spec/dummy/README.md +24 -0
  123. data/spec/dummy/Rakefile +8 -0
  124. data/spec/dummy/app/actors/hyrax/actors/work_actor.rb +8 -0
  125. data/spec/dummy/app/assets/config/manifest.js +3 -0
  126. data/spec/dummy/app/assets/images/.keep +0 -0
  127. data/spec/dummy/app/assets/images/unauthorized.png +0 -0
  128. data/spec/dummy/app/assets/images/us_404.svg +91 -0
  129. data/spec/dummy/app/assets/javascripts/application.js +25 -0
  130. data/spec/dummy/app/assets/javascripts/blacklight_gallery.js +1 -0
  131. data/spec/dummy/app/assets/javascripts/cable.js +13 -0
  132. data/spec/dummy/app/assets/javascripts/channels/.keep +0 -0
  133. data/spec/dummy/app/assets/javascripts/openseadragon.js +2 -0
  134. data/spec/dummy/app/assets/stylesheets/application.css +16 -0
  135. data/spec/dummy/app/assets/stylesheets/hyrax.scss +16 -0
  136. data/spec/dummy/app/assets/stylesheets/openseadragon.css +3 -0
  137. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  138. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  139. data/spec/dummy/app/controllers/application_controller.rb +16 -0
  140. data/spec/dummy/app/controllers/catalog_controller.rb +298 -0
  141. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  142. data/spec/dummy/app/controllers/hyrax/works_controller.rb +14 -0
  143. data/spec/dummy/app/forms/hyrax/work_form.rb +9 -0
  144. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  145. data/spec/dummy/app/helpers/hyrax_helper.rb +5 -0
  146. data/spec/dummy/app/indexers/work_indexer.rb +18 -0
  147. data/spec/dummy/app/jobs/application_job.rb +2 -0
  148. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  149. data/spec/dummy/app/models/ability.rb +23 -0
  150. data/spec/dummy/app/models/application_record.rb +3 -0
  151. data/spec/dummy/app/models/collection.rb +7 -0
  152. data/spec/dummy/app/models/concerns/.keep +0 -0
  153. data/spec/dummy/app/models/file_set.rb +4 -0
  154. data/spec/dummy/app/models/qa/local_authority.rb +2 -0
  155. data/spec/dummy/app/models/qa/local_authority_entry.rb +3 -0
  156. data/spec/dummy/app/models/qa.rb +5 -0
  157. data/spec/dummy/app/models/search_builder.rb +16 -0
  158. data/spec/dummy/app/models/solr_document.rb +28 -0
  159. data/spec/dummy/app/models/user.rb +29 -0
  160. data/spec/dummy/app/models/work.rb +14 -0
  161. data/spec/dummy/app/presenters/hyrax/work_presenter.rb +6 -0
  162. data/spec/dummy/app/views/hyrax/works/_work.html.erb +2 -0
  163. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  164. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  165. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  166. data/spec/dummy/bin/bundle +3 -0
  167. data/spec/dummy/bin/rails +9 -0
  168. data/spec/dummy/bin/rake +9 -0
  169. data/spec/dummy/bin/setup +38 -0
  170. data/spec/dummy/bin/spring +17 -0
  171. data/spec/dummy/bin/update +29 -0
  172. data/spec/dummy/bin/yarn +11 -0
  173. data/spec/dummy/config/analytics.yml +9 -0
  174. data/spec/dummy/config/application.rb +18 -0
  175. data/spec/dummy/config/authorities/licenses.yml +46 -0
  176. data/spec/dummy/config/authorities/resource_types.yml +41 -0
  177. data/spec/dummy/config/authorities/rights_statements.yml +37 -0
  178. data/spec/dummy/config/blacklight.yml +9 -0
  179. data/spec/dummy/config/boot.rb +3 -0
  180. data/spec/dummy/config/cable.yml +10 -0
  181. data/spec/dummy/config/credentials.yml.enc +1 -0
  182. data/spec/dummy/config/database.yml +25 -0
  183. data/spec/dummy/config/environment.rb +5 -0
  184. data/spec/dummy/config/environments/development.rb +54 -0
  185. data/spec/dummy/config/environments/production.rb +91 -0
  186. data/spec/dummy/config/environments/test.rb +44 -0
  187. data/spec/dummy/config/fcrepo_wrapper_test.yml +4 -0
  188. data/spec/dummy/config/fedora.yml +15 -0
  189. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  190. data/spec/dummy/config/initializers/assets.rb +14 -0
  191. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  192. data/spec/dummy/config/initializers/bundler.rb +1 -0
  193. data/spec/dummy/config/initializers/clamav.rb +1 -0
  194. data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
  195. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  196. data/spec/dummy/config/initializers/devise.rb +299 -0
  197. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  198. data/spec/dummy/config/initializers/hydra_config.rb +24 -0
  199. data/spec/dummy/config/initializers/hyrax.rb +283 -0
  200. data/spec/dummy/config/initializers/inflections.rb +16 -0
  201. data/spec/dummy/config/initializers/mailboxer.rb +22 -0
  202. data/spec/dummy/config/initializers/mime_types.rb +8 -0
  203. data/spec/dummy/config/initializers/mini_magick.rb +5 -0
  204. data/spec/dummy/config/initializers/redis_config.rb +3 -0
  205. data/spec/dummy/config/initializers/riiif.rb +26 -0
  206. data/spec/dummy/config/initializers/simple_form.rb +170 -0
  207. data/spec/dummy/config/initializers/simple_form_bootstrap.rb +150 -0
  208. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  209. data/spec/dummy/config/locales/blacklight.en.yml +3 -0
  210. data/spec/dummy/config/locales/devise.en.yml +65 -0
  211. data/spec/dummy/config/locales/en.yml +33 -0
  212. data/spec/dummy/config/locales/hyrax.de.yml +58 -0
  213. data/spec/dummy/config/locales/hyrax.en.yml +58 -0
  214. data/spec/dummy/config/locales/hyrax.es.yml +58 -0
  215. data/spec/dummy/config/locales/hyrax.fr.yml +58 -0
  216. data/spec/dummy/config/locales/hyrax.it.yml +58 -0
  217. data/spec/dummy/config/locales/hyrax.pt-BR.yml +58 -0
  218. data/spec/dummy/config/locales/hyrax.zh.yml +58 -0
  219. data/spec/dummy/config/master.key +1 -0
  220. data/spec/dummy/config/puma.rb +56 -0
  221. data/spec/dummy/config/redis.yml +9 -0
  222. data/spec/dummy/config/role_map.yml +23 -0
  223. data/spec/dummy/config/routes.rb +33 -0
  224. data/spec/dummy/config/secrets.yml +32 -0
  225. data/spec/dummy/config/solr.yml +7 -0
  226. data/spec/dummy/config/solr_wrapper_test.yml +8 -0
  227. data/spec/dummy/config/spring.rb +6 -0
  228. data/spec/dummy/config/storage.yml +34 -0
  229. data/spec/dummy/config/tinymce.yml +12 -0
  230. data/spec/dummy/config/workflows/default_workflow.json +21 -0
  231. data/spec/dummy/config/workflows/mediated_deposit_workflow.json +76 -0
  232. data/spec/dummy/config.ru +5 -0
  233. data/spec/dummy/db/migrate/20190918192626_create_searches.blacklight.rb +17 -0
  234. data/spec/dummy/db/migrate/20190918192627_create_bookmarks.blacklight.rb +19 -0
  235. data/spec/dummy/db/migrate/20190918192628_add_polymorphic_type_to_bookmarks.blacklight.rb +9 -0
  236. data/spec/dummy/db/migrate/20190918192704_devise_create_users.rb +44 -0
  237. data/spec/dummy/db/migrate/20190918192715_add_devise_guests_to_users.rb +15 -0
  238. data/spec/dummy/db/migrate/20190918192840_create_version_committers.hyrax.rb +15 -0
  239. data/spec/dummy/db/migrate/20190918192841_create_checksum_audit_logs.hyrax.rb +19 -0
  240. data/spec/dummy/db/migrate/20190918192842_create_single_use_links.hyrax.rb +12 -0
  241. data/spec/dummy/db/migrate/20190918192843_add_social_to_users.hyrax.rb +13 -0
  242. data/spec/dummy/db/migrate/20190918192844_add_ldap_attrs_to_user.hyrax.rb +27 -0
  243. data/spec/dummy/db/migrate/20190918192845_add_avatars_to_users.hyrax.rb +15 -0
  244. data/spec/dummy/db/migrate/20190918192846_create_trophies.hyrax.rb +10 -0
  245. data/spec/dummy/db/migrate/20190918192847_add_linkedin_to_users.hyrax.rb +5 -0
  246. data/spec/dummy/db/migrate/20190918192848_create_tinymce_assets.hyrax.rb +8 -0
  247. data/spec/dummy/db/migrate/20190918192849_create_content_blocks.hyrax.rb +10 -0
  248. data/spec/dummy/db/migrate/20190918192850_create_featured_works.hyrax.rb +12 -0
  249. data/spec/dummy/db/migrate/20190918192851_add_external_key_to_content_blocks.hyrax.rb +6 -0
  250. data/spec/dummy/db/migrate/20190918192852_create_proxy_deposit_rights.hyrax.rb +10 -0
  251. data/spec/dummy/db/migrate/20190918192853_create_proxy_deposit_requests.hyrax.rb +15 -0
  252. data/spec/dummy/db/migrate/20190918192854_create_file_view_stats.hyrax.rb +12 -0
  253. data/spec/dummy/db/migrate/20190918192855_create_file_download_stats.hyrax.rb +12 -0
  254. data/spec/dummy/db/migrate/20190918192856_add_orcid_to_users.hyrax.rb +5 -0
  255. data/spec/dummy/db/migrate/20190918192857_create_user_stats.hyrax.rb +19 -0
  256. data/spec/dummy/db/migrate/20190918192858_create_work_view_stats.hyrax.rb +12 -0
  257. data/spec/dummy/db/migrate/20190918192859_add_works_to_user_stats.hyrax.rb +13 -0
  258. data/spec/dummy/db/migrate/20190918192860_change_trophy_generic_file_id_to_work_id.hyrax.rb +5 -0
  259. data/spec/dummy/db/migrate/20190918192861_change_proxy_deposit_generic_file_id_to_work_id.hyrax.rb +5 -0
  260. data/spec/dummy/db/migrate/20190918192862_change_audit_log_generic_file_id_to_file_set_id.hyrax.rb +5 -0
  261. data/spec/dummy/db/migrate/20190918192863_change_proxy_deposit_request_generic_file_id_to_work_id.hyrax.rb +5 -0
  262. data/spec/dummy/db/migrate/20190918192864_create_uploaded_files.hyrax.rb +10 -0
  263. data/spec/dummy/db/migrate/20190918192865_create_features.hyrax.rb +10 -0
  264. data/spec/dummy/db/migrate/20190918192866_create_operations.hyrax.rb +23 -0
  265. data/spec/dummy/db/migrate/20190918192867_change_featured_work_generic_file_id_to_work_id.hyrax.rb +6 -0
  266. data/spec/dummy/db/migrate/20190918192868_add_arkivo_to_users.hyrax.rb +8 -0
  267. data/spec/dummy/db/migrate/20190918192869_create_sipity.hyrax.rb +163 -0
  268. data/spec/dummy/db/migrate/20190918192870_create_sipity_workflow_methods.hyrax.rb +10 -0
  269. data/spec/dummy/db/migrate/20190918192871_create_permission_template.hyrax.rb +11 -0
  270. data/spec/dummy/db/migrate/20190918192872_create_permission_template_access.hyrax.rb +11 -0
  271. data/spec/dummy/db/migrate/20190918192873_add_release_to_permission_templates.hyrax.rb +6 -0
  272. data/spec/dummy/db/migrate/20190918192874_add_permission_template_to_sipity_workflow.hyrax.rb +26 -0
  273. data/spec/dummy/db/migrate/20190918192875_tidy_up_because_of_bad_exception.hyrax.rb +13 -0
  274. data/spec/dummy/db/migrate/20190918192876_add_allows_access_grant_to_workflow.hyrax.rb +5 -0
  275. data/spec/dummy/db/migrate/20190918192877_change_checksum_audit_log.hyrax.rb +18 -0
  276. data/spec/dummy/db/migrate/20190918192878_create_job_io_wrappers.hyrax.rb +15 -0
  277. data/spec/dummy/db/migrate/20190918192879_create_collection_types.hyrax.rb +17 -0
  278. data/spec/dummy/db/migrate/20190918192880_update_collection_type_column_names.hyrax.rb +9 -0
  279. data/spec/dummy/db/migrate/20190918192881_update_collection_type_column_options.hyrax.rb +17 -0
  280. data/spec/dummy/db/migrate/20190918192882_create_collection_branding_infos.hyrax.rb +15 -0
  281. data/spec/dummy/db/migrate/20190918192883_create_collection_type_participants.hyrax.rb +11 -0
  282. data/spec/dummy/db/migrate/20190918192884_rename_admin_set_id_to_source_id.hyrax.rb +5 -0
  283. data/spec/dummy/db/migrate/20190918192885_add_preferred_locale_to_users.hyrax.rb +5 -0
  284. data/spec/dummy/db/migrate/20190918192886_add_collection_type_sharing_options.hyrax.rb +5 -0
  285. data/spec/dummy/db/migrate/20190918192887_add_unique_constraint_to_permission_template_accesses.hyrax.rb +8 -0
  286. data/spec/dummy/db/migrate/20190918192888_add_branding_to_collection_type.hyrax.rb +5 -0
  287. data/spec/dummy/db/migrate/20190918192889_add_badge_color_to_collection_types.hyrax.rb +5 -0
  288. data/spec/dummy/db/migrate/20190918192914_create_mailboxer.mailboxer_engine.rb +65 -0
  289. data/spec/dummy/db/migrate/20190918192915_add_conversation_optout.mailboxer_engine.rb +15 -0
  290. data/spec/dummy/db/migrate/20190918192916_add_missing_indices.mailboxer_engine.rb +20 -0
  291. data/spec/dummy/db/migrate/20190918192917_add_delivery_tracking_info_to_mailboxer_receipts.mailboxer_engine.rb +8 -0
  292. data/spec/dummy/db/migrate/20190918192937_create_qa_local_authorities.rb +10 -0
  293. data/spec/dummy/db/migrate/20190918192948_create_qa_local_authority_entries.rb +12 -0
  294. data/spec/dummy/db/migrate/20190918193045_create_minter_states.noid_rails_engine.rb +17 -0
  295. data/spec/dummy/db/migrate/20190918193046_rename_minter_state_random_to_rand.noid_rails_engine.rb +8 -0
  296. data/spec/dummy/db/schema.rb +608 -0
  297. data/spec/dummy/db/seeds.rb +7 -0
  298. data/spec/dummy/lib/assets/.keep +0 -0
  299. data/spec/dummy/lib/tasks/.keep +0 -0
  300. data/spec/dummy/log/.keep +0 -0
  301. data/spec/dummy/package.json +5 -0
  302. data/spec/dummy/public/404.html +67 -0
  303. data/spec/dummy/public/422.html +67 -0
  304. data/spec/dummy/public/500.html +66 -0
  305. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  306. data/spec/dummy/public/apple-touch-icon.png +0 -0
  307. data/spec/dummy/public/assets/.sprockets-manifest-6a791b26afc0064d45ad6c9c7834c971.json +1 -0
  308. data/spec/dummy/public/assets/application-19a48f32b51ff0cbcf36875591de326026d5594d66e05aa640bd3ad61cc96f9e.js +91588 -0
  309. data/spec/dummy/public/assets/application-19a48f32b51ff0cbcf36875591de326026d5594d66e05aa640bd3ad61cc96f9e.js.gz +0 -0
  310. data/spec/dummy/public/assets/application-c66e5ddf197c4624336180640f7928a84eece4ef5868c26d430e6e45c9a83ae3.css +19965 -0
  311. data/spec/dummy/public/assets/application-c66e5ddf197c4624336180640f7928a84eece4ef5868c26d430e6e45c9a83ae3.css.gz +0 -0
  312. data/spec/dummy/public/assets/audio-5133b642ee875760dbd85bfab48649d009efd4bd29db1165f891b48a90b4f37e.png +0 -0
  313. data/spec/dummy/public/assets/blacklight/gallery/view-icon-masonry-94cb2f417ca00047d6e4603644bebaa67037ef9b3efcc9c95b42229c1c571345.png +0 -0
  314. data/spec/dummy/public/assets/blacklight/gallery/view-icon-masonry@2x-da61b9e430c6b3f007aaa8073c062b147c909746c254f0adb81eaf476dc1a26d.png +0 -0
  315. data/spec/dummy/public/assets/blacklight/logo-e368f4faad4c5310352e175e1fba8220b57aab2e29cbe0f3ca1189a2ef085f9b.png +0 -0
  316. data/spec/dummy/public/assets/bootstrap/glyphicons-halflings-regular-13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407.eot +0 -0
  317. data/spec/dummy/public/assets/bootstrap/glyphicons-halflings-regular-13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407.eot.gz +0 -0
  318. data/spec/dummy/public/assets/bootstrap/glyphicons-halflings-regular-42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5.svg +288 -0
  319. data/spec/dummy/public/assets/bootstrap/glyphicons-halflings-regular-42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5.svg.gz +0 -0
  320. data/spec/dummy/public/assets/bootstrap/glyphicons-halflings-regular-a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742.woff +0 -0
  321. data/spec/dummy/public/assets/bootstrap/glyphicons-halflings-regular-e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456.ttf +0 -0
  322. data/spec/dummy/public/assets/bootstrap/glyphicons-halflings-regular-e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456.ttf.gz +0 -0
  323. data/spec/dummy/public/assets/bootstrap/glyphicons-halflings-regular-fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff2 +0 -0
  324. data/spec/dummy/public/assets/browse_everything-0bc39e0e4f7158f7de0b75f0bf1cffee0dc75901e8a0d1ab62fe57615ae92903.css +12766 -0
  325. data/spec/dummy/public/assets/browse_everything-0bc39e0e4f7158f7de0b75f0bf1cffee0dc75901e8a0d1ab62fe57615ae92903.css.gz +0 -0
  326. data/spec/dummy/public/assets/browse_everything-771abc13184782ddcdb092a916b42013516bb8d172351e1c6415c293c556118f.js +3648 -0
  327. data/spec/dummy/public/assets/browse_everything-771abc13184782ddcdb092a916b42013516bb8d172351e1c6415c293c556118f.js.gz +0 -0
  328. data/spec/dummy/public/assets/collection-a38b932554788aa578debf2319e8c4ba8a7db06b3ba57ecda1391a548a4b6e0a.png +0 -0
  329. data/spec/dummy/public/assets/dataTables/back_disabled-6950463a4f9db9435b8df01fa276eaf88aa65b8913b82e979317d741305bb5d6.png +0 -0
  330. data/spec/dummy/public/assets/dataTables/back_enabled-9fd6f47b90ca92e855bdf80a0d57178af3a59c307e5c0246bb24dc781d3ae69b.png +0 -0
  331. data/spec/dummy/public/assets/dataTables/back_enabled_hover-b3a398bdb9afa40edff875c14c972ac9329e018e2e5e175ebb8e104c59be37e1.png +0 -0
  332. data/spec/dummy/public/assets/dataTables/extras/background-c15341923393fd36f738e5240b31c86b30da3c1e13438cc65a325f58e255074a.png +0 -0
  333. data/spec/dummy/public/assets/dataTables/extras/button-4b15f6f40d20396a3a485d7f3a587138a9d68da923ce9a48ec40e25b8d2391f8.png +0 -0
  334. data/spec/dummy/public/assets/dataTables/extras/collection-bbd8b7d27060bd17a10af4143f1e716ffaee2f652af70381bf71057aefa5e0f4.png +0 -0
  335. data/spec/dummy/public/assets/dataTables/extras/collection_hover-eaab9c30ceead4610031a39b77a08d80c87f8c97bdfa6e52aa7e6e1dcaaeb4e1.png +0 -0
  336. data/spec/dummy/public/assets/dataTables/extras/copy-a0feeab39e2b27cd966f77ebac68be4b3638eae7b51b61431bf860a1bb6da929.png +0 -0
  337. data/spec/dummy/public/assets/dataTables/extras/copy_hover-cde411862f25c1f66a2f54da665968e4b5be58e5eb6ef5769fc69fde1cf8915e.png +0 -0
  338. data/spec/dummy/public/assets/dataTables/extras/csv-d1ddfd7d80b19736d956c00dbe6a9dde454e0b48e732975a89f0d9ec8ca5646c.png +0 -0
  339. data/spec/dummy/public/assets/dataTables/extras/csv_hover-671101bdd0b393cd51c28b34fb5fa24c08932e654c75b47df2d7ef8b021ce289.png +0 -0
  340. data/spec/dummy/public/assets/dataTables/extras/filler-641b9f55bbce36baf21b2611ba7a6373a8a23727b111590129d411f24b5d4559.png +0 -0
  341. data/spec/dummy/public/assets/dataTables/extras/insert-945e4b99b340f6622d545081443a10871345105c14d009cd6c4d0536d790032f.png +0 -0
  342. data/spec/dummy/public/assets/dataTables/extras/loading-background-ea6b39e733ae4ef8b41540bb3052a5715d1293bd3506582a9f001441f41445a0.png +0 -0
  343. data/spec/dummy/public/assets/dataTables/extras/pdf-178bccf4fa6246c4e983e1b45bd521c929fa197321ccafdc0c8c0dce799699b2.png +0 -0
  344. data/spec/dummy/public/assets/dataTables/extras/pdf_hover-a0c883c30bf77280618eba2ce08de7e1377bff15955ebf024deee72819f33945.png +0 -0
  345. data/spec/dummy/public/assets/dataTables/extras/print-56efc7161f8c36454f011542fd51c4c515fd8a64e4e499834daaf0415bc55bd1.png +0 -0
  346. data/spec/dummy/public/assets/dataTables/extras/print_hover-dfd041e39e9342f1706335301e65b2fe1bbed3ecce90aeed1b6880b3177dc5c9.png +0 -0
  347. data/spec/dummy/public/assets/dataTables/extras/xls-7995e42ff963255fb782c1b858e7d01be93f204befade7e7a41961e42d285d44.png +0 -0
  348. data/spec/dummy/public/assets/dataTables/extras/xls_hover-4aeef987c05055d78ff769f7ad4d871b897fced597d77fcc92ace6945d99f5bd.png +0 -0
  349. data/spec/dummy/public/assets/dataTables/favicon-6e1bbb9a62636471771c683fc0589a487f74296503c9e4b6d2d92e7fda3faff6.ico +0 -0
  350. data/spec/dummy/public/assets/dataTables/favicon-6e1bbb9a62636471771c683fc0589a487f74296503c9e4b6d2d92e7fda3faff6.ico.gz +0 -0
  351. data/spec/dummy/public/assets/dataTables/forward_disabled-ede9f1003cef25add5cc2b13f531a014ed9bea78154d4fba008b21f353030295.png +0 -0
  352. data/spec/dummy/public/assets/dataTables/forward_enabled-bcb3b13b5aaf9015767aff77d621f1f9557adcd8eb8284d06f0b51e2475556b0.png +0 -0
  353. data/spec/dummy/public/assets/dataTables/forward_enabled_hover-4fa2d689a633713d9fb8900611a646c5df0ba24deb9597ab955c62cba77ae3b4.png +0 -0
  354. data/spec/dummy/public/assets/dataTables/foundation/sort_asc-ee6010bb0a8d17e58307136a0fbf0b196d949ab6c50eb66d1ff8f0a7d2a4d48b.png +0 -0
  355. data/spec/dummy/public/assets/dataTables/foundation/sort_asc_disabled-fd53b2df2d10bac2af507450a9d89c1283acbb6be750a02b401aa3f6c38a350d.png +0 -0
  356. data/spec/dummy/public/assets/dataTables/foundation/sort_both-624f0a471a2535c4754e1f6974b0e64ee70d6907738346e2a11d0bff20258b8c.png +0 -0
  357. data/spec/dummy/public/assets/dataTables/foundation/sort_desc-26da8e7eaf746a08dec2928977be21aa67212484540a12042b86aa2d904b80e8.png +0 -0
  358. data/spec/dummy/public/assets/dataTables/foundation/sort_desc_disabled-3450cc1e5a1585690226a713a726753b3fa2d177e41338a36e0a3188e3f02663.png +0 -0
  359. data/spec/dummy/public/assets/dataTables/minus-334c4ab08c4bfdbed5a82bdeaa7fb3f240c730b04dee5206184dc8067a5d0e6b.png +0 -0
  360. data/spec/dummy/public/assets/dataTables/plus-eb27ce978b61a3763680c02c1f8c9bc92c2fc86ebb8cc3aef6a5e538e9562265.png +0 -0
  361. data/spec/dummy/public/assets/dataTables/sort_asc-ee6010bb0a8d17e58307136a0fbf0b196d949ab6c50eb66d1ff8f0a7d2a4d48b.png +0 -0
  362. data/spec/dummy/public/assets/dataTables/sort_asc_disabled-50f0e16f8289b1f09eb0d0494d0eee7ae4717e857a4ed77997bb06cefecb2528.png +0 -0
  363. data/spec/dummy/public/assets/dataTables/sort_both-624f0a471a2535c4754e1f6974b0e64ee70d6907738346e2a11d0bff20258b8c.png +0 -0
  364. data/spec/dummy/public/assets/dataTables/sort_desc-26da8e7eaf746a08dec2928977be21aa67212484540a12042b86aa2d904b80e8.png +0 -0
  365. data/spec/dummy/public/assets/dataTables/sort_desc_disabled-3450cc1e5a1585690226a713a726753b3fa2d177e41338a36e0a3188e3f02663.png +0 -0
  366. data/spec/dummy/public/assets/default-f936e9c3ea7a38e2c2092099586a71380b11258697b37fb4df376704495a849a.png +0 -0
  367. data/spec/dummy/public/assets/favicon-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.ico +0 -0
  368. data/spec/dummy/public/assets/favicon-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.ico.gz +0 -0
  369. data/spec/dummy/public/assets/font-awesome/fontawesome-webfont-1b7f3de49d68b01f415574ebb82e6110a1d09cda2071ad8451bdb5124131a292.ttf +0 -0
  370. data/spec/dummy/public/assets/font-awesome/fontawesome-webfont-1b7f3de49d68b01f415574ebb82e6110a1d09cda2071ad8451bdb5124131a292.ttf.gz +0 -0
  371. data/spec/dummy/public/assets/font-awesome/fontawesome-webfont-3c4a1bb7ce3234407184f0d80cc4dec075e4ad616b44dcc5778e1cfb1bc24019.woff2 +0 -0
  372. data/spec/dummy/public/assets/font-awesome/fontawesome-webfont-7414288c272f6cc10304aa18e89bf24fb30f40afd644623f425c2c3d71fbe06a.svg +640 -0
  373. data/spec/dummy/public/assets/font-awesome/fontawesome-webfont-7414288c272f6cc10304aa18e89bf24fb30f40afd644623f425c2c3d71fbe06a.svg.gz +0 -0
  374. data/spec/dummy/public/assets/font-awesome/fontawesome-webfont-a7c7e4930090e038a280fd61d88f0dc03dad4aeaedbd8c9be3dd9aa4c3b6f8d1.woff +0 -0
  375. data/spec/dummy/public/assets/font-awesome/fontawesome-webfont-d4f5a99224154f2a808e42a441ddc9248ffe78b7a4083684ce159270b30b912a.eot +0 -0
  376. data/spec/dummy/public/assets/font-awesome/fontawesome-webfont-d4f5a99224154f2a808e42a441ddc9248ffe78b7a4083684ce159270b30b912a.eot.gz +0 -0
  377. data/spec/dummy/public/assets/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2 +0 -0
  378. data/spec/dummy/public/assets/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot +0 -0
  379. data/spec/dummy/public/assets/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot.gz +0 -0
  380. data/spec/dummy/public/assets/fontawesome-webfont-9428f8b023ac16cd31335614569668ccc199588550d1d1f274873da8211a9fcd.ttf +0 -0
  381. data/spec/dummy/public/assets/fontawesome-webfont-9428f8b023ac16cd31335614569668ccc199588550d1d1f274873da8211a9fcd.ttf.gz +0 -0
  382. data/spec/dummy/public/assets/fontawesome-webfont-c49e830da6dd1917d752afc4947bcf0bae316b14f81a27395993d6e66b1d2853.svg +255 -0
  383. data/spec/dummy/public/assets/fontawesome-webfont-c49e830da6dd1917d752afc4947bcf0bae316b14f81a27395993d6e66b1d2853.svg.gz +0 -0
  384. data/spec/dummy/public/assets/fontawesome-webfont-d45f5fb1fb4e1a101a8ad8722af443272f6c3d409d912e8175e6268d48e0b091.woff +0 -0
  385. data/spec/dummy/public/assets/hydra/powered_by_hydra-df621100d14d209a52ec4d645e81a6c84fcbd503bfafa1c6d6d6937984d81c98.png +0 -0
  386. data/spec/dummy/public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-ae65a7ae22c4c23115948fdeb5c05c9137dbd13ca2d426b3c4c3c4183451e410.png +0 -0
  387. data/spec/dummy/public/assets/jquery-ui/ui-icons_444444_256x240-31d988765b4e6f56553c29588c500381dc3e6f0aa2980c8212202e5644aefd5d.png +0 -0
  388. data/spec/dummy/public/assets/jquery-ui/ui-icons_555555_256x240-32175261daee76c82bb0edf0eea16a56421866fbc31e94f3c1d570aa114502f5.png +0 -0
  389. data/spec/dummy/public/assets/jquery-ui/ui-icons_777620_256x240-0b020fc6e696d88d296e7bb1f61f1eb2ad827848e2c7382a4c3e0999e702dd9b.png +0 -0
  390. data/spec/dummy/public/assets/jquery-ui/ui-icons_777777_256x240-faf32007ae120c302213557626e660dd10e711c5dd4f1113d35f26dc05b78d2f.png +0 -0
  391. data/spec/dummy/public/assets/jquery-ui/ui-icons_cc0000_256x240-40985a64b4d5dd213fba27fcd862a1bd1b337a97674f6ff0b9ec20abcee4bc69.png +0 -0
  392. data/spec/dummy/public/assets/jquery-ui/ui-icons_ffffff_256x240-350df1b7131037de20e83c5c0f3a41a770d2ac48b5762ea772b3f4a8a7b9d47a.png +0 -0
  393. data/spec/dummy/public/assets/loading-b84750cc5a395288fcfd0cf42e3a60d6135e2f14db83fce05e97e5abacc2f9b4.gif +0 -0
  394. data/spec/dummy/public/assets/openseadragon/button_grouphover-2e64df18c27b1a51955c47cbe7535fa2a25548cefb7d1a2de625b59f31853cb6.png +0 -0
  395. data/spec/dummy/public/assets/openseadragon/button_hover-b1086485b0d055d468a729f5a6a79f78fc06fdfa814710dedb7021a7d6206fde.png +0 -0
  396. data/spec/dummy/public/assets/openseadragon/button_pressed-01f1c05bdee216ec417e3475552cd053ce3199bfd2c9e1660f2c7cdc60d0be11.png +0 -0
  397. data/spec/dummy/public/assets/openseadragon/button_rest-5c693c3b03e6efc5c491ab2e8e1ba81800de423a16da8c7f348c19ae8924d142.png +0 -0
  398. data/spec/dummy/public/assets/openseadragon/fullpage_grouphover-f96415fcf86eff56b664f2328ffd61972b98738874d995e077091344f59fc26b.png +0 -0
  399. data/spec/dummy/public/assets/openseadragon/fullpage_hover-3cc954037484edb4a74d97a374605301b4da04c034981af70ec0ec3e1bb509a8.png +0 -0
  400. data/spec/dummy/public/assets/openseadragon/fullpage_pressed-7b3d188695ec59993a09cf27dde280b1da93fd43360f721642b42229b9e5e817.png +0 -0
  401. data/spec/dummy/public/assets/openseadragon/fullpage_rest-1b7ae93b3fe5d0df99e196bfe22b93c7f05d2d5e0fdf97b8b8e957e5476ff586.png +0 -0
  402. data/spec/dummy/public/assets/openseadragon/home_grouphover-2f2dfd6ed6fd11c1aec5491c36f071cf51a96712ddac54b803a8fee917ce27d8.png +0 -0
  403. data/spec/dummy/public/assets/openseadragon/home_hover-170fc906037fe8707d3757775ea4ccb3ebbf883329c44473cd247d0f22c320d9.png +0 -0
  404. data/spec/dummy/public/assets/openseadragon/home_pressed-e8a08eb8d9862e63c8df96fbe508956ae031b09d85533adf83e094c5b187833c.png +0 -0
  405. data/spec/dummy/public/assets/openseadragon/home_rest-6fd27483f507bf8b4a15d6c60d43e9bb3bd14b84959973d61a622bbb4777dfc9.png +0 -0
  406. data/spec/dummy/public/assets/openseadragon/next_grouphover-e7c76fb2c8a792a63efe2ad76da276fd079f50ec0df2b03b04bfc36cfc217103.png +0 -0
  407. data/spec/dummy/public/assets/openseadragon/next_hover-67210c1194693f480cfe9935281fd447a86c46b65e67ce182632cb518dfd2bb9.png +0 -0
  408. data/spec/dummy/public/assets/openseadragon/next_pressed-95afb05783b4c599eec66a21a2b98ea09d6b0be41cce42ed512239cede37a1ab.png +0 -0
  409. data/spec/dummy/public/assets/openseadragon/next_rest-d9b1965f3bcddd3db23e63037a27152c1b7528811582c68b7b4bf25b8673fe07.png +0 -0
  410. data/spec/dummy/public/assets/openseadragon/previous_grouphover-c7e82a94049ff615a7dc6f78ae3758d7d33eab41a69093d9c1101c164c07fe8b.png +0 -0
  411. data/spec/dummy/public/assets/openseadragon/previous_hover-94126f0047e7901b3d2e408abb58b20744a7251786746d7508624db5b4c81bce.png +0 -0
  412. data/spec/dummy/public/assets/openseadragon/previous_pressed-b80145c436ff5cd94c3f672eed9f1723fcd13077870337874171e99dee9f9929.png +0 -0
  413. data/spec/dummy/public/assets/openseadragon/previous_rest-56999fcbe41a0ebb5d701fb463caea0e3850478d1f869e2e7a73b7dc363ca2e2.png +0 -0
  414. data/spec/dummy/public/assets/openseadragon/rotateleft_grouphover-35d3cf9efe958bd88ae0c532648403824df252fa6835aa586301b19c80c264e3.png +0 -0
  415. data/spec/dummy/public/assets/openseadragon/rotateleft_hover-59fee051c2aff4c8491255be664f87671c089db4863f933989b10263818cf435.png +0 -0
  416. data/spec/dummy/public/assets/openseadragon/rotateleft_pressed-97d28095eb471109d0aee65f9f4dc5ee6dba6d7fed433e3a910dcda69ca4a977.png +0 -0
  417. data/spec/dummy/public/assets/openseadragon/rotateleft_rest-ab4731e3c7d7a4b40ea07c16269e8117ce58506177dc438cc00cdf837f513f09.png +0 -0
  418. data/spec/dummy/public/assets/openseadragon/rotateright_grouphover-ebdaf54f82601db210a5ac2e0a54790c0decd8dea5bd115f7d6d0d2bf04c5e00.png +0 -0
  419. data/spec/dummy/public/assets/openseadragon/rotateright_hover-a9124016ebe30ec16f3691a16cc57997174652f480f3002d45beaf918b1230c1.png +0 -0
  420. data/spec/dummy/public/assets/openseadragon/rotateright_pressed-a75e74dab723a0587d365e4b076572d1440df9f31c424ef4a6be62f3a45d472b.png +0 -0
  421. data/spec/dummy/public/assets/openseadragon/rotateright_rest-c201ce35f6651e824eee3eb5ca3e42fc40035d2070eec9ce1261c8b7bc126526.png +0 -0
  422. data/spec/dummy/public/assets/openseadragon/zoomin_grouphover-ecd40589890cdfd81911752c4af02c691a201c21d74bbad5f3d9336463b52604.png +0 -0
  423. data/spec/dummy/public/assets/openseadragon/zoomin_hover-6a2c08cf07b12162f73e80417d6e49e7da4b219981c9929abf89fbd1a18b58a2.png +0 -0
  424. data/spec/dummy/public/assets/openseadragon/zoomin_pressed-b9eb902ca333aaabd8cf77c1184a6aa24311bcba0d836dc6ebded4c5d7146475.png +0 -0
  425. data/spec/dummy/public/assets/openseadragon/zoomin_rest-674258f78d924bfe2454a637ecf912fe7069105ab68980f69674ff5c25521ed9.png +0 -0
  426. data/spec/dummy/public/assets/openseadragon/zoomout_grouphover-b582631f7ede7c640c46a29d74728814d3b7332b14748054ae460aa9be929e77.png +0 -0
  427. data/spec/dummy/public/assets/openseadragon/zoomout_hover-b752facaf76d197e235dd789929e86577339ffa280b6a51621388f2cad9900e1.png +0 -0
  428. data/spec/dummy/public/assets/openseadragon/zoomout_pressed-99ce17d25e10d07ebe3a21642eb350bfd80c603cbb6a4b0af705fbcdf8ca57dc.png +0 -0
  429. data/spec/dummy/public/assets/openseadragon/zoomout_rest-a4ff50ab46d8de87c720cb9cbccc9b4bef1cdda1394b9c8a2b4e6fb2f63e13aa.png +0 -0
  430. data/spec/dummy/public/assets/orcid-cb273c1ff10d304ce1b6108a172bfd1660561e7fd8133b083cd66ee0f4a0a944.png +0 -0
  431. data/spec/dummy/public/assets/progressbar-a45ab53b619988cefd45f49cfacc604dd499b93f53a96927cf7b2d965f421f48.gif +0 -0
  432. data/spec/dummy/public/assets/qa/application-f9e7c1541e1b8783561468c59162bd896007380f5a3799ef2169d3a3fdf40bed.css +14 -0
  433. data/spec/dummy/public/assets/qa/application-f9e7c1541e1b8783561468c59162bd896007380f5a3799ef2169d3a3fdf40bed.css.gz +0 -0
  434. data/spec/dummy/public/assets/qa/application-fed7594354f41c527f9e8dab7f766cd780129ed1fd04e8c0646a72b825ad8e8b.js +14 -0
  435. data/spec/dummy/public/assets/qa/application-fed7594354f41c527f9e8dab7f766cd780129ed1fd04e8c0646a72b825ad8e8b.js.gz +0 -0
  436. data/spec/dummy/public/assets/select2-d6b5d8d83dbc18fb8d77c8761d331cd9e5123c9684950bab0406e98a24ac5ae8.png +0 -0
  437. data/spec/dummy/public/assets/select2-spinner-f6ecff617ec2ba7f559e6f535cad9b70a3f91120737535dab4d4548a6c83576c.gif +0 -0
  438. data/spec/dummy/public/assets/select2x2-6fe28d687dc0ed4d96016238c608ba1e7198c9c9accfa0b360b78018b9fb9bc2.png +0 -0
  439. data/spec/dummy/public/assets/tinymce/jquery.tinymce-db2bc0a724d3123cc432dc4d9d8029736b4afc8c8502967e359dce2ed3170c16.js +1 -0
  440. data/spec/dummy/public/assets/tinymce/jquery.tinymce-db2bc0a724d3123cc432dc4d9d8029736b4afc8c8502967e359dce2ed3170c16.js.gz +0 -0
  441. data/spec/dummy/public/assets/tinymce/jquery.tinymce.js +1 -0
  442. data/spec/dummy/public/assets/tinymce/jquery.tinymce.js.gz +1 -0
  443. data/spec/dummy/public/assets/tinymce/langs/readme-5a8b6a04d57b5c88e3fb7f2a870b8e2d3a48ec03ce6474206c41df78c155b2de.md +3 -0
  444. data/spec/dummy/public/assets/tinymce/langs/readme.md +1 -0
  445. data/spec/dummy/public/assets/tinymce/license-47a9dcd2574891a5a465112fd9dfcebcc7e61844edec27fa936a64642008fe66.txt +504 -0
  446. data/spec/dummy/public/assets/tinymce/license-47a9dcd2574891a5a465112fd9dfcebcc7e61844edec27fa936a64642008fe66.txt.gz +0 -0
  447. data/spec/dummy/public/assets/tinymce/license.txt +1 -0
  448. data/spec/dummy/public/assets/tinymce/license.txt.gz +1 -0
  449. data/spec/dummy/public/assets/tinymce/plugins/advlist/plugin-7b5bed8c5b41dbabee490dca68a3fc215c6c2d08ad1174d20fd4ebc27feb9b18.js +1 -0
  450. data/spec/dummy/public/assets/tinymce/plugins/advlist/plugin-7b5bed8c5b41dbabee490dca68a3fc215c6c2d08ad1174d20fd4ebc27feb9b18.js.gz +0 -0
  451. data/spec/dummy/public/assets/tinymce/plugins/advlist/plugin.js +1 -0
  452. data/spec/dummy/public/assets/tinymce/plugins/advlist/plugin.js.gz +1 -0
  453. data/spec/dummy/public/assets/tinymce/plugins/anchor/plugin-8fc6aac86dcfda2df29f3e402541e9f5ed45743f0dce76b80bc4e3c6a16be585.js +1 -0
  454. data/spec/dummy/public/assets/tinymce/plugins/anchor/plugin-8fc6aac86dcfda2df29f3e402541e9f5ed45743f0dce76b80bc4e3c6a16be585.js.gz +0 -0
  455. data/spec/dummy/public/assets/tinymce/plugins/anchor/plugin.js +1 -0
  456. data/spec/dummy/public/assets/tinymce/plugins/anchor/plugin.js.gz +1 -0
  457. data/spec/dummy/public/assets/tinymce/plugins/autolink/plugin-aacef7388395131adb8a2d04e3d130c13150b04a39ba15bfebdd8b5673e74b56.js +1 -0
  458. data/spec/dummy/public/assets/tinymce/plugins/autolink/plugin-aacef7388395131adb8a2d04e3d130c13150b04a39ba15bfebdd8b5673e74b56.js.gz +0 -0
  459. data/spec/dummy/public/assets/tinymce/plugins/autolink/plugin.js +1 -0
  460. data/spec/dummy/public/assets/tinymce/plugins/autolink/plugin.js.gz +1 -0
  461. data/spec/dummy/public/assets/tinymce/plugins/autoresize/plugin-79ff6671020ca454d50be43a8cd68e51bbbab80f6f11d3ef1afc29df593a9cc0.js +1 -0
  462. data/spec/dummy/public/assets/tinymce/plugins/autoresize/plugin-79ff6671020ca454d50be43a8cd68e51bbbab80f6f11d3ef1afc29df593a9cc0.js.gz +0 -0
  463. data/spec/dummy/public/assets/tinymce/plugins/autoresize/plugin.js +1 -0
  464. data/spec/dummy/public/assets/tinymce/plugins/autoresize/plugin.js.gz +1 -0
  465. data/spec/dummy/public/assets/tinymce/plugins/autosave/plugin-0d17bcbc8383db5d592ca5e213dd898106273274ff07ede506b8f8b6ff1f6ac0.js +1 -0
  466. data/spec/dummy/public/assets/tinymce/plugins/autosave/plugin-0d17bcbc8383db5d592ca5e213dd898106273274ff07ede506b8f8b6ff1f6ac0.js.gz +0 -0
  467. data/spec/dummy/public/assets/tinymce/plugins/autosave/plugin.js +1 -0
  468. data/spec/dummy/public/assets/tinymce/plugins/autosave/plugin.js.gz +1 -0
  469. data/spec/dummy/public/assets/tinymce/plugins/bbcode/plugin-8acda51f6565daa44af5423768602b2296eff9cbc3b2355f82a1ae4490428833.js +1 -0
  470. data/spec/dummy/public/assets/tinymce/plugins/bbcode/plugin-8acda51f6565daa44af5423768602b2296eff9cbc3b2355f82a1ae4490428833.js.gz +0 -0
  471. data/spec/dummy/public/assets/tinymce/plugins/bbcode/plugin.js +1 -0
  472. data/spec/dummy/public/assets/tinymce/plugins/bbcode/plugin.js.gz +1 -0
  473. data/spec/dummy/public/assets/tinymce/plugins/charmap/plugin-f0d451ae7fcfa1f30f73c2d9185c58173e1a8e44d893d752778b226b665f020b.js +1 -0
  474. data/spec/dummy/public/assets/tinymce/plugins/charmap/plugin-f0d451ae7fcfa1f30f73c2d9185c58173e1a8e44d893d752778b226b665f020b.js.gz +0 -0
  475. data/spec/dummy/public/assets/tinymce/plugins/charmap/plugin.js +1 -0
  476. data/spec/dummy/public/assets/tinymce/plugins/charmap/plugin.js.gz +1 -0
  477. data/spec/dummy/public/assets/tinymce/plugins/code/plugin-46957c79ea5f5757444d628fdb90bac81f078d87bc9601df76cc087d4976564b.js +1 -0
  478. data/spec/dummy/public/assets/tinymce/plugins/code/plugin-46957c79ea5f5757444d628fdb90bac81f078d87bc9601df76cc087d4976564b.js.gz +0 -0
  479. data/spec/dummy/public/assets/tinymce/plugins/code/plugin.js +1 -0
  480. data/spec/dummy/public/assets/tinymce/plugins/code/plugin.js.gz +1 -0
  481. data/spec/dummy/public/assets/tinymce/plugins/codesample/css/prism-29127f13286ec42e411a82279280ccbb6c62d70a68a388b42fa34d8929d87995.css +139 -0
  482. data/spec/dummy/public/assets/tinymce/plugins/codesample/css/prism-29127f13286ec42e411a82279280ccbb6c62d70a68a388b42fa34d8929d87995.css.gz +0 -0
  483. data/spec/dummy/public/assets/tinymce/plugins/codesample/css/prism.css +1 -0
  484. data/spec/dummy/public/assets/tinymce/plugins/codesample/css/prism.css.gz +1 -0
  485. data/spec/dummy/public/assets/tinymce/plugins/codesample/plugin-e477d85104bf7a6119ebe07bb02feb290325074ff222bf526a563151177d1b9d.js +1 -0
  486. data/spec/dummy/public/assets/tinymce/plugins/codesample/plugin-e477d85104bf7a6119ebe07bb02feb290325074ff222bf526a563151177d1b9d.js.gz +0 -0
  487. data/spec/dummy/public/assets/tinymce/plugins/codesample/plugin.js +1 -0
  488. data/spec/dummy/public/assets/tinymce/plugins/codesample/plugin.js.gz +1 -0
  489. data/spec/dummy/public/assets/tinymce/plugins/colorpicker/plugin-48d6719fa10b7bc1b3982d9d9f952d320ebba056102701e49e3945ce3bf8911d.js +1 -0
  490. data/spec/dummy/public/assets/tinymce/plugins/colorpicker/plugin-48d6719fa10b7bc1b3982d9d9f952d320ebba056102701e49e3945ce3bf8911d.js.gz +0 -0
  491. data/spec/dummy/public/assets/tinymce/plugins/colorpicker/plugin.js +1 -0
  492. data/spec/dummy/public/assets/tinymce/plugins/colorpicker/plugin.js.gz +1 -0
  493. data/spec/dummy/public/assets/tinymce/plugins/contextmenu/plugin-1b3d07a3487dbbf4eb7f0ce2252bdfc13cb849d1e8749b75c3523b22ea8f4761.js +1 -0
  494. data/spec/dummy/public/assets/tinymce/plugins/contextmenu/plugin-1b3d07a3487dbbf4eb7f0ce2252bdfc13cb849d1e8749b75c3523b22ea8f4761.js.gz +0 -0
  495. data/spec/dummy/public/assets/tinymce/plugins/contextmenu/plugin.js +1 -0
  496. data/spec/dummy/public/assets/tinymce/plugins/contextmenu/plugin.js.gz +1 -0
  497. data/spec/dummy/public/assets/tinymce/plugins/directionality/plugin-0893c42f76c330cbae77ee849d287028e03574dcf50b6a0770d4b771f7324f1c.js +1 -0
  498. data/spec/dummy/public/assets/tinymce/plugins/directionality/plugin-0893c42f76c330cbae77ee849d287028e03574dcf50b6a0770d4b771f7324f1c.js.gz +0 -0
  499. data/spec/dummy/public/assets/tinymce/plugins/directionality/plugin.js +1 -0
  500. data/spec/dummy/public/assets/tinymce/plugins/directionality/plugin.js.gz +1 -0
  501. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-cool-bb0e93a050a32df7913e4026b3c88a176998e0e3e073ba06e9b73f6c24227c9c.gif +0 -0
  502. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-cool.gif +1 -0
  503. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-cry-a0c5f3e7a682449c973c9d9f7c46342081c46920686d2353f57aff91ab907f68.gif +0 -0
  504. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-cry.gif +1 -0
  505. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-embarassed-d3cafcb50b335672cb5e9f4600ea9ea261dac7828dd28844d4927c393a25618f.gif +0 -0
  506. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-embarassed.gif +1 -0
  507. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-foot-in-mouth-03fe04d3ed533423ac81f05146584b0c451be3d4a30e76687ceef283ed07071f.gif +0 -0
  508. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +1 -0
  509. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-frown-1b984bf98931dd1debb54461eb9d83e985f2b2999fe14bcb556d6c0921bc83b0.gif +0 -0
  510. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-frown.gif +1 -0
  511. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-innocent-8db353ef102196f2c6ddf5c4666446de955d7b14fc0957c806c9dbfb48fb0c29.gif +0 -0
  512. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-innocent.gif +1 -0
  513. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-kiss-3154c3665356c13ab10fefdbac1fe187fff978a0052037c99cdc4a97103413f2.gif +0 -0
  514. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-kiss.gif +1 -0
  515. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-laughing-8f6adedcd091975ffead171867a6304d908bb6541a6ccb4919286ec6b7d4551e.gif +0 -0
  516. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-laughing.gif +1 -0
  517. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-money-mouth-f0b9f4f22e237f5dbc851f900fed8d7eca4c954ae6fbc606c0cd8be431d0ac80.gif +0 -0
  518. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +1 -0
  519. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-sealed-9933b442636b6e537df7b564e2c3f7a2873526eea6b022a98eb1e468e5204c32.gif +0 -0
  520. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-sealed.gif +1 -0
  521. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-smile-fd89cd460ffcacb7e725e00c0275ef5b3924ce468248e5ff4fb43545571cfa65.gif +0 -0
  522. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-smile.gif +1 -0
  523. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-surprised-3871f356cb41976d7ae8a5f005e8739e4d014352a8adef9b33f773d81b6e6c01.gif +0 -0
  524. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-surprised.gif +1 -0
  525. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-tongue-out-5843c85667a8226dc43be83749fd9fbbc5d20b1577de2b763915d99815d37d47.gif +0 -0
  526. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +1 -0
  527. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-undecided-d8b9bcbb433951ff3c4ca8dd959ac3844239b98e6d52218833e1485a91f67347.gif +0 -0
  528. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-undecided.gif +1 -0
  529. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-wink-2af75ad7b1c08488505513503e34b15f40005e04a2a9568f698f0945d2d8ba1f.gif +0 -0
  530. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-wink.gif +1 -0
  531. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-yell-bba903fbcb46fce8c68b9e01863fd095b3b1d0e6aa72161f3a88d762a5f90a79.gif +0 -0
  532. data/spec/dummy/public/assets/tinymce/plugins/emoticons/img/smiley-yell.gif +1 -0
  533. data/spec/dummy/public/assets/tinymce/plugins/emoticons/plugin-287cc5d2f0fba168841d0d0dab3c6f8f958fb0e80adada67cc1e64d88a69704e.js +1 -0
  534. data/spec/dummy/public/assets/tinymce/plugins/emoticons/plugin-287cc5d2f0fba168841d0d0dab3c6f8f958fb0e80adada67cc1e64d88a69704e.js.gz +0 -0
  535. data/spec/dummy/public/assets/tinymce/plugins/emoticons/plugin.js +1 -0
  536. data/spec/dummy/public/assets/tinymce/plugins/emoticons/plugin.js.gz +1 -0
  537. data/spec/dummy/public/assets/tinymce/plugins/fullpage/plugin-0bd712ddf83de5ad37a6822dc4c5832d82a5e2cd1da918d5b0e41bd09f65e1f6.js +1 -0
  538. data/spec/dummy/public/assets/tinymce/plugins/fullpage/plugin-0bd712ddf83de5ad37a6822dc4c5832d82a5e2cd1da918d5b0e41bd09f65e1f6.js.gz +0 -0
  539. data/spec/dummy/public/assets/tinymce/plugins/fullpage/plugin.js +1 -0
  540. data/spec/dummy/public/assets/tinymce/plugins/fullpage/plugin.js.gz +1 -0
  541. data/spec/dummy/public/assets/tinymce/plugins/fullscreen/plugin-715b77a6ec2a2bade5ea0cc1658f4ab9fff89bd9a00619deb3e73145d0ada00e.js +1 -0
  542. data/spec/dummy/public/assets/tinymce/plugins/fullscreen/plugin-715b77a6ec2a2bade5ea0cc1658f4ab9fff89bd9a00619deb3e73145d0ada00e.js.gz +0 -0
  543. data/spec/dummy/public/assets/tinymce/plugins/fullscreen/plugin.js +1 -0
  544. data/spec/dummy/public/assets/tinymce/plugins/fullscreen/plugin.js.gz +1 -0
  545. data/spec/dummy/public/assets/tinymce/plugins/help/img/logo-95b06f8538b11c4c30170075a09f93cf5871f74dd2541e95ad3d9da31976fcac.png +0 -0
  546. data/spec/dummy/public/assets/tinymce/plugins/help/img/logo.png +1 -0
  547. data/spec/dummy/public/assets/tinymce/plugins/help/plugin-09c06aa8a6b13eb5aef6dfc2f25abb4b86f8c27accb396cee254b116cc99b6c7.js +1 -0
  548. data/spec/dummy/public/assets/tinymce/plugins/help/plugin-09c06aa8a6b13eb5aef6dfc2f25abb4b86f8c27accb396cee254b116cc99b6c7.js.gz +0 -0
  549. data/spec/dummy/public/assets/tinymce/plugins/help/plugin.js +1 -0
  550. data/spec/dummy/public/assets/tinymce/plugins/help/plugin.js.gz +1 -0
  551. data/spec/dummy/public/assets/tinymce/plugins/hr/plugin-7efaeee8fa1f71745d5726205bbb4fd8c0f4eba1edf2baf5a31a3b59bb677622.js +1 -0
  552. data/spec/dummy/public/assets/tinymce/plugins/hr/plugin-7efaeee8fa1f71745d5726205bbb4fd8c0f4eba1edf2baf5a31a3b59bb677622.js.gz +0 -0
  553. data/spec/dummy/public/assets/tinymce/plugins/hr/plugin.js +1 -0
  554. data/spec/dummy/public/assets/tinymce/plugins/hr/plugin.js.gz +1 -0
  555. data/spec/dummy/public/assets/tinymce/plugins/image/plugin-f228bcf7f9653e4c6ff1aae2bd06faeb46fcabc598ce4bb27a77bc174ed68ff3.js +1 -0
  556. data/spec/dummy/public/assets/tinymce/plugins/image/plugin-f228bcf7f9653e4c6ff1aae2bd06faeb46fcabc598ce4bb27a77bc174ed68ff3.js.gz +0 -0
  557. data/spec/dummy/public/assets/tinymce/plugins/image/plugin.js +1 -0
  558. data/spec/dummy/public/assets/tinymce/plugins/image/plugin.js.gz +1 -0
  559. data/spec/dummy/public/assets/tinymce/plugins/imagetools/plugin-c39a78da27870681a7187f91831de204769c4b64708d167164443769c8c8fcdf.js +1 -0
  560. data/spec/dummy/public/assets/tinymce/plugins/imagetools/plugin-c39a78da27870681a7187f91831de204769c4b64708d167164443769c8c8fcdf.js.gz +0 -0
  561. data/spec/dummy/public/assets/tinymce/plugins/imagetools/plugin.js +1 -0
  562. data/spec/dummy/public/assets/tinymce/plugins/imagetools/plugin.js.gz +1 -0
  563. data/spec/dummy/public/assets/tinymce/plugins/importcss/plugin-381b078db51fcc021a6220cf9f57609ed35ee67dd932669abafa5e5837460bbc.js +1 -0
  564. data/spec/dummy/public/assets/tinymce/plugins/importcss/plugin-381b078db51fcc021a6220cf9f57609ed35ee67dd932669abafa5e5837460bbc.js.gz +0 -0
  565. data/spec/dummy/public/assets/tinymce/plugins/importcss/plugin.js +1 -0
  566. data/spec/dummy/public/assets/tinymce/plugins/importcss/plugin.js.gz +1 -0
  567. data/spec/dummy/public/assets/tinymce/plugins/insertdatetime/plugin-246b2dd91f69e2b7d268c35c6aaca0569b0366bc18e85c15eca000564683b71d.js +1 -0
  568. data/spec/dummy/public/assets/tinymce/plugins/insertdatetime/plugin-246b2dd91f69e2b7d268c35c6aaca0569b0366bc18e85c15eca000564683b71d.js.gz +0 -0
  569. data/spec/dummy/public/assets/tinymce/plugins/insertdatetime/plugin.js +1 -0
  570. data/spec/dummy/public/assets/tinymce/plugins/insertdatetime/plugin.js.gz +1 -0
  571. data/spec/dummy/public/assets/tinymce/plugins/legacyoutput/plugin-e8c2876525a55671c4ee55a2c298d3ba0eff6a8307c057893e42558eba637652.js +1 -0
  572. data/spec/dummy/public/assets/tinymce/plugins/legacyoutput/plugin-e8c2876525a55671c4ee55a2c298d3ba0eff6a8307c057893e42558eba637652.js.gz +0 -0
  573. data/spec/dummy/public/assets/tinymce/plugins/legacyoutput/plugin.js +1 -0
  574. data/spec/dummy/public/assets/tinymce/plugins/legacyoutput/plugin.js.gz +1 -0
  575. data/spec/dummy/public/assets/tinymce/plugins/link/plugin-3429067e3c88378ddedc39f2bb42ea630e7ceb9dffa5f1a07d5b0e04180f94c4.js +1 -0
  576. data/spec/dummy/public/assets/tinymce/plugins/link/plugin-3429067e3c88378ddedc39f2bb42ea630e7ceb9dffa5f1a07d5b0e04180f94c4.js.gz +0 -0
  577. data/spec/dummy/public/assets/tinymce/plugins/link/plugin.js +1 -0
  578. data/spec/dummy/public/assets/tinymce/plugins/link/plugin.js.gz +1 -0
  579. data/spec/dummy/public/assets/tinymce/plugins/lists/plugin-05b3aac526219ee583f49151d587f89a5002261d7dfb1663d5200c77894a48f9.js +1 -0
  580. data/spec/dummy/public/assets/tinymce/plugins/lists/plugin-05b3aac526219ee583f49151d587f89a5002261d7dfb1663d5200c77894a48f9.js.gz +0 -0
  581. data/spec/dummy/public/assets/tinymce/plugins/lists/plugin.js +1 -0
  582. data/spec/dummy/public/assets/tinymce/plugins/lists/plugin.js.gz +1 -0
  583. data/spec/dummy/public/assets/tinymce/plugins/media/plugin-570acbace4fda902012c1c0596a586b521dc75cc89a4742f1bb2ecb15680b809.js +1 -0
  584. data/spec/dummy/public/assets/tinymce/plugins/media/plugin-570acbace4fda902012c1c0596a586b521dc75cc89a4742f1bb2ecb15680b809.js.gz +0 -0
  585. data/spec/dummy/public/assets/tinymce/plugins/media/plugin.js +1 -0
  586. data/spec/dummy/public/assets/tinymce/plugins/media/plugin.js.gz +1 -0
  587. data/spec/dummy/public/assets/tinymce/plugins/nonbreaking/plugin-6438a2f260ffa4724f0d13e99fe8fb1a85c00f16df416468ccd0bf6f722aaee6.js +1 -0
  588. data/spec/dummy/public/assets/tinymce/plugins/nonbreaking/plugin-6438a2f260ffa4724f0d13e99fe8fb1a85c00f16df416468ccd0bf6f722aaee6.js.gz +0 -0
  589. data/spec/dummy/public/assets/tinymce/plugins/nonbreaking/plugin.js +1 -0
  590. data/spec/dummy/public/assets/tinymce/plugins/nonbreaking/plugin.js.gz +1 -0
  591. data/spec/dummy/public/assets/tinymce/plugins/noneditable/plugin-f3be489845e7a724465d7a2bcf8f033b8b91eda2c29193b354e634da697d2f27.js +1 -0
  592. data/spec/dummy/public/assets/tinymce/plugins/noneditable/plugin-f3be489845e7a724465d7a2bcf8f033b8b91eda2c29193b354e634da697d2f27.js.gz +0 -0
  593. data/spec/dummy/public/assets/tinymce/plugins/noneditable/plugin.js +1 -0
  594. data/spec/dummy/public/assets/tinymce/plugins/noneditable/plugin.js.gz +1 -0
  595. data/spec/dummy/public/assets/tinymce/plugins/pagebreak/plugin-f4c2fa4074a982fc576ea586ee09e99091bc52d14597223c533e0967188d3a2d.js +1 -0
  596. data/spec/dummy/public/assets/tinymce/plugins/pagebreak/plugin-f4c2fa4074a982fc576ea586ee09e99091bc52d14597223c533e0967188d3a2d.js.gz +0 -0
  597. data/spec/dummy/public/assets/tinymce/plugins/pagebreak/plugin.js +1 -0
  598. data/spec/dummy/public/assets/tinymce/plugins/pagebreak/plugin.js.gz +1 -0
  599. data/spec/dummy/public/assets/tinymce/plugins/paste/plugin-e5d9b3d8e7d071e74b7cfc90c3b1c85e7ed5e4245d805194f9f79fb872d39d3d.js +1 -0
  600. data/spec/dummy/public/assets/tinymce/plugins/paste/plugin-e5d9b3d8e7d071e74b7cfc90c3b1c85e7ed5e4245d805194f9f79fb872d39d3d.js.gz +0 -0
  601. data/spec/dummy/public/assets/tinymce/plugins/paste/plugin.js +1 -0
  602. data/spec/dummy/public/assets/tinymce/plugins/paste/plugin.js.gz +1 -0
  603. data/spec/dummy/public/assets/tinymce/plugins/preview/plugin-bdf1d10d1e637f00598d3f482895e276933c1e16b1b543d2120fb70c4fbf3d18.js +1 -0
  604. data/spec/dummy/public/assets/tinymce/plugins/preview/plugin-bdf1d10d1e637f00598d3f482895e276933c1e16b1b543d2120fb70c4fbf3d18.js.gz +0 -0
  605. data/spec/dummy/public/assets/tinymce/plugins/preview/plugin.js +1 -0
  606. data/spec/dummy/public/assets/tinymce/plugins/preview/plugin.js.gz +1 -0
  607. data/spec/dummy/public/assets/tinymce/plugins/print/plugin-1ba88c314fa4c0c47ab0af0aa908c03d7906a77fef6a319a302ffff44099fe26.js +1 -0
  608. data/spec/dummy/public/assets/tinymce/plugins/print/plugin-1ba88c314fa4c0c47ab0af0aa908c03d7906a77fef6a319a302ffff44099fe26.js.gz +0 -0
  609. data/spec/dummy/public/assets/tinymce/plugins/print/plugin.js +1 -0
  610. data/spec/dummy/public/assets/tinymce/plugins/print/plugin.js.gz +1 -0
  611. data/spec/dummy/public/assets/tinymce/plugins/save/plugin-a944096bba3f8519c898163008a334509d0f4efdbcd9500d752170fdbef570b3.js +1 -0
  612. data/spec/dummy/public/assets/tinymce/plugins/save/plugin-a944096bba3f8519c898163008a334509d0f4efdbcd9500d752170fdbef570b3.js.gz +0 -0
  613. data/spec/dummy/public/assets/tinymce/plugins/save/plugin.js +1 -0
  614. data/spec/dummy/public/assets/tinymce/plugins/save/plugin.js.gz +1 -0
  615. data/spec/dummy/public/assets/tinymce/plugins/searchreplace/plugin-f92c077beef380fec6358458a27442d22eaca83a81fb3c4d71d9103e2f8b9c7a.js +1 -0
  616. data/spec/dummy/public/assets/tinymce/plugins/searchreplace/plugin-f92c077beef380fec6358458a27442d22eaca83a81fb3c4d71d9103e2f8b9c7a.js.gz +0 -0
  617. data/spec/dummy/public/assets/tinymce/plugins/searchreplace/plugin.js +1 -0
  618. data/spec/dummy/public/assets/tinymce/plugins/searchreplace/plugin.js.gz +1 -0
  619. data/spec/dummy/public/assets/tinymce/plugins/spellchecker/plugin-2421bc7102c088705c6d524c402aa8091adced77d046c2e6a210a431314f9b39.js +1 -0
  620. data/spec/dummy/public/assets/tinymce/plugins/spellchecker/plugin-2421bc7102c088705c6d524c402aa8091adced77d046c2e6a210a431314f9b39.js.gz +0 -0
  621. data/spec/dummy/public/assets/tinymce/plugins/spellchecker/plugin.js +1 -0
  622. data/spec/dummy/public/assets/tinymce/plugins/spellchecker/plugin.js.gz +1 -0
  623. data/spec/dummy/public/assets/tinymce/plugins/tabfocus/plugin-8222fce64dd367dccf3262baa1b881f2664d17704cc77e7bea991f2a2ef277e5.js +1 -0
  624. data/spec/dummy/public/assets/tinymce/plugins/tabfocus/plugin-8222fce64dd367dccf3262baa1b881f2664d17704cc77e7bea991f2a2ef277e5.js.gz +0 -0
  625. data/spec/dummy/public/assets/tinymce/plugins/tabfocus/plugin.js +1 -0
  626. data/spec/dummy/public/assets/tinymce/plugins/tabfocus/plugin.js.gz +1 -0
  627. data/spec/dummy/public/assets/tinymce/plugins/table/plugin-9a47d6e1a247fa9d364bbbd3f4369c008a90b8dc3ca58dccc078d96e35c309ff.js +1 -0
  628. data/spec/dummy/public/assets/tinymce/plugins/table/plugin-9a47d6e1a247fa9d364bbbd3f4369c008a90b8dc3ca58dccc078d96e35c309ff.js.gz +0 -0
  629. data/spec/dummy/public/assets/tinymce/plugins/table/plugin.js +1 -0
  630. data/spec/dummy/public/assets/tinymce/plugins/table/plugin.js.gz +1 -0
  631. data/spec/dummy/public/assets/tinymce/plugins/template/plugin-c8d1a75d3ed920d3a8c5a1de1a154fde85dad3540521734f7226f8ab7fa9a83f.js +1 -0
  632. data/spec/dummy/public/assets/tinymce/plugins/template/plugin-c8d1a75d3ed920d3a8c5a1de1a154fde85dad3540521734f7226f8ab7fa9a83f.js.gz +0 -0
  633. data/spec/dummy/public/assets/tinymce/plugins/template/plugin.js +1 -0
  634. data/spec/dummy/public/assets/tinymce/plugins/template/plugin.js.gz +1 -0
  635. data/spec/dummy/public/assets/tinymce/plugins/textcolor/plugin-ebf778e6028f2d073e3ff9219c8d49ae5f066d4819cfe7fd72bcf6be84e0f014.js +1 -0
  636. data/spec/dummy/public/assets/tinymce/plugins/textcolor/plugin-ebf778e6028f2d073e3ff9219c8d49ae5f066d4819cfe7fd72bcf6be84e0f014.js.gz +0 -0
  637. data/spec/dummy/public/assets/tinymce/plugins/textcolor/plugin.js +1 -0
  638. data/spec/dummy/public/assets/tinymce/plugins/textcolor/plugin.js.gz +1 -0
  639. data/spec/dummy/public/assets/tinymce/plugins/textpattern/plugin-0e4e48f87210d9b6e23c4dc597d9eea97b6496c30cc5bcbddab76bb8c8bfc464.js +1 -0
  640. data/spec/dummy/public/assets/tinymce/plugins/textpattern/plugin-0e4e48f87210d9b6e23c4dc597d9eea97b6496c30cc5bcbddab76bb8c8bfc464.js.gz +0 -0
  641. data/spec/dummy/public/assets/tinymce/plugins/textpattern/plugin.js +1 -0
  642. data/spec/dummy/public/assets/tinymce/plugins/textpattern/plugin.js.gz +1 -0
  643. data/spec/dummy/public/assets/tinymce/plugins/toc/plugin-a73e6c327940360e18736b041e3345c9b678ecf553c9a1540f1c6f5275589b34.js +1 -0
  644. data/spec/dummy/public/assets/tinymce/plugins/toc/plugin-a73e6c327940360e18736b041e3345c9b678ecf553c9a1540f1c6f5275589b34.js.gz +0 -0
  645. data/spec/dummy/public/assets/tinymce/plugins/toc/plugin.js +1 -0
  646. data/spec/dummy/public/assets/tinymce/plugins/toc/plugin.js.gz +1 -0
  647. data/spec/dummy/public/assets/tinymce/plugins/visualblocks/css/visualblocks-38af77cad34b0cc4beed256e10d7f2a6dfdde074c25d27d7e147505e5fd334ba.css +154 -0
  648. data/spec/dummy/public/assets/tinymce/plugins/visualblocks/css/visualblocks-38af77cad34b0cc4beed256e10d7f2a6dfdde074c25d27d7e147505e5fd334ba.css.gz +0 -0
  649. data/spec/dummy/public/assets/tinymce/plugins/visualblocks/css/visualblocks.css +1 -0
  650. data/spec/dummy/public/assets/tinymce/plugins/visualblocks/css/visualblocks.css.gz +1 -0
  651. data/spec/dummy/public/assets/tinymce/plugins/visualblocks/plugin-0b55625bb357cb6113a43de563efa3b6142f7502534ebc705315ef785d052c44.js +1 -0
  652. data/spec/dummy/public/assets/tinymce/plugins/visualblocks/plugin-0b55625bb357cb6113a43de563efa3b6142f7502534ebc705315ef785d052c44.js.gz +0 -0
  653. data/spec/dummy/public/assets/tinymce/plugins/visualblocks/plugin.js +1 -0
  654. data/spec/dummy/public/assets/tinymce/plugins/visualblocks/plugin.js.gz +1 -0
  655. data/spec/dummy/public/assets/tinymce/plugins/visualchars/plugin-ae2a936285b3d920eb3ff184d8502811cbfb59cf6b1c06c81343a57505fd9f84.js +1 -0
  656. data/spec/dummy/public/assets/tinymce/plugins/visualchars/plugin-ae2a936285b3d920eb3ff184d8502811cbfb59cf6b1c06c81343a57505fd9f84.js.gz +0 -0
  657. data/spec/dummy/public/assets/tinymce/plugins/visualchars/plugin.js +1 -0
  658. data/spec/dummy/public/assets/tinymce/plugins/visualchars/plugin.js.gz +1 -0
  659. data/spec/dummy/public/assets/tinymce/plugins/wordcount/plugin-c1c8b0a36661e2d8ea847cefbaac2dfd95a16bea714c7dbd3d65f51e25311a65.js +1 -0
  660. data/spec/dummy/public/assets/tinymce/plugins/wordcount/plugin-c1c8b0a36661e2d8ea847cefbaac2dfd95a16bea714c7dbd3d65f51e25311a65.js.gz +0 -0
  661. data/spec/dummy/public/assets/tinymce/plugins/wordcount/plugin.js +1 -0
  662. data/spec/dummy/public/assets/tinymce/plugins/wordcount/plugin.js.gz +1 -0
  663. data/spec/dummy/public/assets/tinymce/preinit-84328a53e798df12f891eb49871773fd9f925439c8630e9e22423a82ef9e6f89.js +4 -0
  664. data/spec/dummy/public/assets/tinymce/preinit-84328a53e798df12f891eb49871773fd9f925439c8630e9e22423a82ef9e6f89.js.gz +0 -0
  665. data/spec/dummy/public/assets/tinymce/preinit.js +1 -0
  666. data/spec/dummy/public/assets/tinymce/preinit.js.gz +1 -0
  667. data/spec/dummy/public/assets/tinymce/rails-bf7fd5c952f25481010758dde6a2681498074f9509230f601b317356a6a54fca.js +52 -0
  668. data/spec/dummy/public/assets/tinymce/rails-bf7fd5c952f25481010758dde6a2681498074f9509230f601b317356a6a54fca.js.gz +0 -0
  669. data/spec/dummy/public/assets/tinymce/rails.js +1 -0
  670. data/spec/dummy/public/assets/tinymce/rails.js.gz +1 -0
  671. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.inline.min-b62ea4e65ad6c87cbfedf3897b59eb30ec3972c410070d8ee2c0f5bececc4cce.css +1 -0
  672. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.inline.min-b62ea4e65ad6c87cbfedf3897b59eb30ec3972c410070d8ee2c0f5bececc4cce.css.gz +0 -0
  673. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.inline.min.css +1 -0
  674. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.inline.min.css.gz +1 -0
  675. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.min-d72493ca5cc1caca93db665b284fd12fe396a245c3e82cc2d6cf4fca83702cb9.css +1 -0
  676. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.min-d72493ca5cc1caca93db665b284fd12fe396a245c3e82cc2d6cf4fca83702cb9.css.gz +0 -0
  677. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.min.css +1 -0
  678. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.min.css.gz +1 -0
  679. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.mobile.min-230c31f65356c7cb1799244a34f7a722c92a6d614e06e59d48db0ebccd7f2346.css +1 -0
  680. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.mobile.min-230c31f65356c7cb1799244a34f7a722c92a6d614e06e59d48db0ebccd7f2346.css.gz +0 -0
  681. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.mobile.min.css +1 -0
  682. data/spec/dummy/public/assets/tinymce/skins/lightgray/content.mobile.min.css.gz +1 -0
  683. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-84d35201689d08969a92a8ccdc5a0002da01eac30651fef23e79e1993ace2ebf.woff +0 -0
  684. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-8c8effbf1b373e7bd3f8f291264eaefeed933fea8fe91637d81f3fc9574c3592.ttf +0 -0
  685. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-8c8effbf1b373e7bd3f8f291264eaefeed933fea8fe91637d81f3fc9574c3592.ttf.gz +0 -0
  686. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-d7d36b21dc4b2dd2e4252b2b71f7b57d2d828359f2936af6e3fe8e2f913a0498.eot +0 -0
  687. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-d7d36b21dc4b2dd2e4252b2b71f7b57d2d828359f2936af6e3fe8e2f913a0498.eot.gz +0 -0
  688. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-e17f0683d5785645d10307971450b94e62b86f062e92fcea6a055c2443bdef5f.svg +132 -0
  689. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-e17f0683d5785645d10307971450b94e62b86f062e92fcea6a055c2443bdef5f.svg.gz +0 -0
  690. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-mobile-e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213.woff +0 -0
  691. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-mobile.woff +1 -0
  692. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small-2f657502906d6f5c3fc8df3a82969114ebe030addfdc061c60c974b0f515fd09.ttf +0 -0
  693. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small-2f657502906d6f5c3fc8df3a82969114ebe030addfdc061c60c974b0f515fd09.ttf.gz +0 -0
  694. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small-a10fc4343d95b716c16d77463d475be5c079599ea67e1cd2bd3a94d5e7f508f9.eot +0 -0
  695. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small-a10fc4343d95b716c16d77463d475be5c079599ea67e1cd2bd3a94d5e7f508f9.eot.gz +0 -0
  696. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small-d3efbb678ca6de5632902bd93772746ba2f8e4e2322b953936e12694a183aa31.woff +0 -0
  697. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small-e7773001446ab937e1d8d4bd5e8dbd9b31d112037353a14b319e36dd010ed8ee.svg +63 -0
  698. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small-e7773001446ab937e1d8d4bd5e8dbd9b31d112037353a14b319e36dd010ed8ee.svg.gz +0 -0
  699. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.eot +1 -0
  700. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.eot.gz +1 -0
  701. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.svg +1 -0
  702. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.svg.gz +1 -0
  703. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.ttf +1 -0
  704. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.ttf.gz +1 -0
  705. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.woff +1 -0
  706. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce.eot +1 -0
  707. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce.eot.gz +1 -0
  708. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce.svg +1 -0
  709. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce.svg.gz +1 -0
  710. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce.ttf +1 -0
  711. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce.ttf.gz +1 -0
  712. data/spec/dummy/public/assets/tinymce/skins/lightgray/fonts/tinymce.woff +1 -0
  713. data/spec/dummy/public/assets/tinymce/skins/lightgray/img/anchor-2861666fd107d278d4449970615136d06d7f746be9bb19072cf9c8f30e565e1e.gif +0 -0
  714. data/spec/dummy/public/assets/tinymce/skins/lightgray/img/anchor.gif +1 -0
  715. data/spec/dummy/public/assets/tinymce/skins/lightgray/img/loader-eb7cfd3d959b2e09c170f532e29f8b825f9bc770b2279fde58e595617753e244.gif +0 -0
  716. data/spec/dummy/public/assets/tinymce/skins/lightgray/img/loader.gif +1 -0
  717. data/spec/dummy/public/assets/tinymce/skins/lightgray/img/object-e6a15e52bc4a17b085073ba8debd4708ead6ae3d4cbeb3880c65cb7afc489777.gif +0 -0
  718. data/spec/dummy/public/assets/tinymce/skins/lightgray/img/object.gif +1 -0
  719. data/spec/dummy/public/assets/tinymce/skins/lightgray/img/trans-9cf020d7c3bba7f5ab10cda54aabef934f906d4f9a3acf99e9e7dc6c98579635.gif +0 -0
  720. data/spec/dummy/public/assets/tinymce/skins/lightgray/img/trans.gif +1 -0
  721. data/spec/dummy/public/assets/tinymce/skins/lightgray/skin.min-a79be2481d2a4ff94eb1149ead0747a75242ac8aaea9fb04511983009979e999.css +1 -0
  722. data/spec/dummy/public/assets/tinymce/skins/lightgray/skin.min-a79be2481d2a4ff94eb1149ead0747a75242ac8aaea9fb04511983009979e999.css.gz +0 -0
  723. data/spec/dummy/public/assets/tinymce/skins/lightgray/skin.min.css +1 -0
  724. data/spec/dummy/public/assets/tinymce/skins/lightgray/skin.min.css.gz +1 -0
  725. data/spec/dummy/public/assets/tinymce/skins/lightgray/skin.mobile.min-3bad5bf37eeca619d0f3250813b5489d7095b88f0cfe28bd1dc31b27f49b7d1c.css +2 -0
  726. data/spec/dummy/public/assets/tinymce/skins/lightgray/skin.mobile.min-3bad5bf37eeca619d0f3250813b5489d7095b88f0cfe28bd1dc31b27f49b7d1c.css.gz +0 -0
  727. data/spec/dummy/public/assets/tinymce/skins/lightgray/skin.mobile.min.css +1 -0
  728. data/spec/dummy/public/assets/tinymce/skins/lightgray/skin.mobile.min.css.gz +1 -0
  729. data/spec/dummy/public/assets/tinymce/themes/inlite/theme-9b7dacf28bd56f89d0484dc1026baf70b99b19ae6e6b73e05508617cab4ce9fd.js +1 -0
  730. data/spec/dummy/public/assets/tinymce/themes/inlite/theme-9b7dacf28bd56f89d0484dc1026baf70b99b19ae6e6b73e05508617cab4ce9fd.js.gz +0 -0
  731. data/spec/dummy/public/assets/tinymce/themes/inlite/theme.js +1 -0
  732. data/spec/dummy/public/assets/tinymce/themes/inlite/theme.js.gz +1 -0
  733. data/spec/dummy/public/assets/tinymce/themes/mobile/theme-b2dd6f36e4d9b3e1c7db2e6eeca066fafe23c83d4edcb864435e8db5c75693a2.js +1 -0
  734. data/spec/dummy/public/assets/tinymce/themes/mobile/theme-b2dd6f36e4d9b3e1c7db2e6eeca066fafe23c83d4edcb864435e8db5c75693a2.js.gz +0 -0
  735. data/spec/dummy/public/assets/tinymce/themes/mobile/theme.js +1 -0
  736. data/spec/dummy/public/assets/tinymce/themes/mobile/theme.js.gz +1 -0
  737. data/spec/dummy/public/assets/tinymce/themes/modern/theme-902ab1a0d92d3c98813a758b5f2f1fa256c1d0f4d272071db3dd25f198e726e1.js +1 -0
  738. data/spec/dummy/public/assets/tinymce/themes/modern/theme-902ab1a0d92d3c98813a758b5f2f1fa256c1d0f4d272071db3dd25f198e726e1.js.gz +0 -0
  739. data/spec/dummy/public/assets/tinymce/themes/modern/theme.js +1 -0
  740. data/spec/dummy/public/assets/tinymce/themes/modern/theme.js.gz +1 -0
  741. data/spec/dummy/public/assets/tinymce/tinymce-4bbe7bdb1002044cd23496cc97b23a2fe25aefe0f130c9d6508877ffb9fd862e.js +26829 -0
  742. data/spec/dummy/public/assets/tinymce/tinymce-4bbe7bdb1002044cd23496cc97b23a2fe25aefe0f130c9d6508877ffb9fd862e.js.gz +0 -0
  743. data/spec/dummy/public/assets/tinymce/tinymce.js +1 -0
  744. data/spec/dummy/public/assets/tinymce/tinymce.js.gz +1 -0
  745. data/spec/dummy/public/assets/tinymce-18aa7e0c99c3802cce9257c706c337e2bc8f998d1f8ebfd00309592dffdade05.js +26888 -0
  746. data/spec/dummy/public/assets/tinymce-18aa7e0c99c3802cce9257c706c337e2bc8f998d1f8ebfd00309592dffdade05.js.gz +0 -0
  747. data/spec/dummy/public/assets/unauthorized-f936e9c3ea7a38e2c2092099586a71380b11258697b37fb4df376704495a849a.png +0 -0
  748. data/spec/dummy/public/assets/us_404-97e5b45f27bdb92b864434b6bfe96c248456caea17e9a18b4b671c803ea7db4d.svg +91 -0
  749. data/spec/dummy/public/assets/us_404-97e5b45f27bdb92b864434b6bfe96c248456caea17e9a18b4b671c803ea7db4d.svg.gz +0 -0
  750. data/spec/dummy/public/assets/work-ff055336041c3f7d310ad69109eda4a887b16ec501f35afc0a547c4adb97ee72.png +0 -0
  751. data/spec/dummy/public/assets/zizia/application-506279a2a8261b6dfdd8753ef894af0a53a1a04c7a71036110ed2ba9f437da99.js +71 -0
  752. data/spec/dummy/public/assets/zizia/application-506279a2a8261b6dfdd8753ef894af0a53a1a04c7a71036110ed2ba9f437da99.js.gz +0 -0
  753. data/spec/dummy/public/assets/zizia/application-a61ffbc929539843842d2e6e212160fa843847f8ae69f706ca83535eddc24737.css +36 -0
  754. data/spec/dummy/public/assets/zizia/application-a61ffbc929539843842d2e6e212160fa843847f8ae69f706ca83535eddc24737.css.gz +0 -0
  755. data/spec/dummy/public/assets/zotero-d6a884dbda40a61ac3a10f27c39592de33ec305bdb035859db6fd5dd2f47fc73.png +0 -0
  756. data/spec/dummy/public/favicon.ico +0 -0
  757. data/spec/dummy/public/robots.txt +1 -0
  758. data/spec/dummy/solr/conf/_rest_managed.json +3 -0
  759. data/spec/dummy/solr/conf/admin-extra.html +31 -0
  760. data/spec/dummy/solr/conf/elevate.xml +36 -0
  761. data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  762. data/spec/dummy/solr/conf/protwords.txt +21 -0
  763. data/spec/dummy/solr/conf/schema.xml +629 -0
  764. data/spec/dummy/solr/conf/scripts.conf +24 -0
  765. data/spec/dummy/solr/conf/solrconfig.xml +411 -0
  766. data/spec/dummy/solr/conf/spellings.txt +2 -0
  767. data/spec/dummy/solr/conf/stopwords.txt +58 -0
  768. data/spec/dummy/solr/conf/stopwords_en.txt +58 -0
  769. data/spec/dummy/solr/conf/synonyms.txt +31 -0
  770. data/spec/dummy/solr/conf/xslt/example.xsl +132 -0
  771. data/spec/dummy/solr/conf/xslt/example_atom.xsl +67 -0
  772. data/spec/dummy/solr/conf/xslt/example_rss.xsl +66 -0
  773. data/spec/dummy/solr/conf/xslt/luke.xsl +337 -0
  774. data/spec/dummy/solr/config/_rest_managed.json +3 -0
  775. data/spec/dummy/solr/config/admin-extra.html +31 -0
  776. data/spec/dummy/solr/config/elevate.xml +36 -0
  777. data/spec/dummy/solr/config/mapping-ISOLatin1Accent.txt +246 -0
  778. data/spec/dummy/solr/config/protwords.txt +21 -0
  779. data/spec/dummy/solr/config/schema.xml +366 -0
  780. data/spec/dummy/solr/config/scripts.conf +24 -0
  781. data/spec/dummy/solr/config/solrconfig.xml +322 -0
  782. data/spec/dummy/solr/config/spellings.txt +2 -0
  783. data/spec/dummy/solr/config/stopwords.txt +58 -0
  784. data/spec/dummy/solr/config/stopwords_en.txt +58 -0
  785. data/spec/dummy/solr/config/synonyms.txt +31 -0
  786. data/spec/dummy/solr/config/xslt/example.xsl +132 -0
  787. data/spec/dummy/solr/config/xslt/example_atom.xsl +67 -0
  788. data/spec/dummy/solr/config/xslt/example_rss.xsl +66 -0
  789. data/spec/dummy/solr/config/xslt/luke.xsl +337 -0
  790. data/spec/dummy/solr/sample_solr_documents.yml +2692 -0
  791. data/spec/dummy/spec/fixtures/csv_import/csv_files_with_problems/extra - headers.csv +4 -0
  792. data/spec/dummy/spec/fixtures/csv_import/csv_files_with_problems/missing_headers.csv +2 -0
  793. data/spec/dummy/spec/fixtures/csv_import/good/all_fields.csv +2 -0
  794. data/spec/dummy/spec/fixtures/csv_import/good/all_fields_complete_update.csv +2 -0
  795. data/spec/dummy/spec/fixtures/csv_import/good/all_fields_metadata_update.csv +2 -0
  796. data/spec/dummy/spec/fixtures/csv_import/good/all_fields_only_new.csv +3 -0
  797. data/spec/dummy/spec/fixtures/images/animals/cat.png +0 -0
  798. data/spec/dummy/spec/fixtures/images/birds.jpg +0 -0
  799. data/spec/dummy/spec/fixtures/images/cat.jpg +0 -0
  800. data/spec/dummy/spec/fixtures/images/dog.jpg +0 -0
  801. data/spec/dummy/spec/fixtures/images/zizia.png +0 -0
  802. data/spec/dummy/spec/integration/import_csv_spec.rb +24 -0
  803. data/spec/dummy/spec/models/collection_spec.rb +7 -0
  804. data/spec/dummy/spec/models/file_set_spec.rb +7 -0
  805. data/spec/dummy/spec/models/qa/local_authority_entry_spec.rb +5 -0
  806. data/spec/dummy/spec/models/qa/local_authority_spec.rb +5 -0
  807. data/spec/dummy/spec/rails_helper.rb +62 -0
  808. data/spec/dummy/spec/spec_helper.rb +96 -0
  809. data/spec/dummy/spec/system/import_csv_with_warnings_spec.rb +51 -0
  810. data/spec/dummy/spec/system/import_from_csv_spec.rb +242 -0
  811. data/spec/dummy/spec/system/import_from_csv_with_errors_spec.rb +35 -0
  812. data/spec/dummy/spec/system/import_with_no_collection_spec.rb +18 -0
  813. data/spec/dummy/spec/system/importer_documentation_spec.rb +17 -0
  814. data/spec/dummy/spec/system/view_hyrax_home_page_spec.rb +9 -0
  815. data/spec/dummy/storage/.keep +0 -0
  816. data/spec/dummy/test/application_system_test_case.rb +5 -0
  817. data/spec/dummy/test/controllers/.keep +0 -0
  818. data/spec/dummy/test/fixtures/.keep +0 -0
  819. data/spec/dummy/test/fixtures/files/.keep +0 -0
  820. data/spec/dummy/test/fixtures/users.yml +11 -0
  821. data/spec/dummy/test/helpers/.keep +0 -0
  822. data/spec/dummy/test/integration/.keep +0 -0
  823. data/spec/dummy/test/mailers/.keep +0 -0
  824. data/spec/dummy/test/models/.keep +0 -0
  825. data/spec/dummy/test/models/user_test.rb +7 -0
  826. data/spec/dummy/test/system/.keep +0 -0
  827. data/spec/dummy/test/test_helper.rb +9 -0
  828. data/spec/dummy/vendor/.keep +0 -0
  829. data/spec/factories/collection.rb +13 -0
  830. data/spec/factories/user.rb +34 -0
  831. data/spec/fixtures/bad_example.csv +2 -0
  832. data/spec/fixtures/csv_import/csv_files_with_problems/extra - headers.csv +4 -0
  833. data/spec/fixtures/csv_import/csv_files_with_problems/missing_headers.csv +2 -0
  834. data/spec/fixtures/csv_import/good/all_fields.csv +2 -0
  835. data/spec/fixtures/dog.jpg +0 -0
  836. data/spec/fixtures/example.csv +4 -0
  837. data/spec/fixtures/hyrax/example.csv +3 -0
  838. data/spec/fixtures/images/animals/cat.png +0 -0
  839. data/spec/fixtures/images/birds.jpg +0 -0
  840. data/spec/fixtures/images/cat.jpg +0 -0
  841. data/spec/fixtures/images/dog.jpg +0 -0
  842. data/spec/fixtures/images/zizia.png +0 -0
  843. data/spec/fixtures/zizia.png +0 -0
  844. data/spec/integration/csv_import_detail_spec.rb +48 -0
  845. data/spec/integration/import_hyrax_csv.rb +71 -0
  846. data/spec/models/csv_import_spec.rb +18 -0
  847. data/spec/rails_helper.rb +80 -0
  848. data/spec/spec_helper.rb +28 -0
  849. data/spec/support/capybara.rb +28 -0
  850. data/spec/support/hyrax/basic_metadata.rb +30 -0
  851. data/spec/support/hyrax/core_metadata.rb +15 -0
  852. data/spec/support/shared_contexts/with_work_type.rb +109 -0
  853. data/spec/uploaders/csv_manifest_uploader_spec.rb +30 -0
  854. data/spec/views/zizia/importer_documentation/guide.html.erb_spec.rb +13 -0
  855. data/spec/zizia/csv_format_validator_spec.rb +38 -0
  856. data/spec/zizia/csv_parser_spec.rb +73 -0
  857. data/spec/zizia/csv_template_spec.rb +15 -0
  858. data/spec/zizia/hash_mapper_spec.rb +8 -0
  859. data/spec/zizia/hyrax/hyrax_basic_metadata_mapper_spec.rb +191 -0
  860. data/spec/zizia/importer_spec.rb +46 -0
  861. data/spec/zizia/input_record_spec.rb +71 -0
  862. data/spec/zizia/record_importer_spec.rb +53 -0
  863. data/spec/zizia/title_validator_spec.rb +23 -0
  864. data/spec/zizia/validator_spec.rb +9 -0
  865. data/spec/zizia/version_spec.rb +7 -0
  866. data/spec/zizia_spec.rb +20 -0
  867. data/zizia.gemspec +62 -0
  868. metadata +868 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a3b63826827c01a64976c80bff369266b9006772d6bf9c6de4cdcfc8b5ee2d6
4
- data.tar.gz: a1fb2e5d4e00db022d50e9637d9369e999a3b4e39c7c03d5f1fc4f294213c715
3
+ metadata.gz: bece199128061310a649b7d80477b923a8502a9f9efe7df6f17e9d37f6e9949b
4
+ data.tar.gz: db6340fe00181947086763792e93cf3d8fca56a5991328b019628e3bf24ea794
5
5
  SHA512:
6
- metadata.gz: 9dc28d1191c9b15d12432facf356ae659b842fb912c16b5bc9d3dd3f929d353c916b22b6a53269953ec75702ef90e8b36674062fcb4ec382d87617630c787a87
7
- data.tar.gz: d125f72d2bb4fd2b6154cd5e5ffa0c76da6afdb1c8e8786d6d61d853ba9890246edb0db3dd5f41e6b743dbb2610c1a37fe9dc935f0cf6e9c6400e7ca95eebd4e
6
+ metadata.gz: c06e3fbeffd55dfb00ffcf6e3178bbedfc51cfca7f0537e9b00cb8e50e14f73b3bab386636b0dba1c245098f34509fbdaa0c2151b7001c963b65bf369610bb1c
7
+ data.tar.gz: 3e07a46b1045f3d686ec889431194198e7ce5efe85f078b0b787e81ea1d54726aba49b4334eb85aab973e667eafdbbe9d54e6dc3617fafa4e6680701abdf7550
@@ -0,0 +1,45 @@
1
+ version: 2.1
2
+ orbs:
3
+ samvera: samvera/circleci-orb@0.3.1
4
+ jobs:
5
+ build:
6
+ parameters:
7
+ ruby_version:
8
+ type: string
9
+ default: 2.5.3
10
+ bundler_version:
11
+ type: string
12
+ default: 2.0.1
13
+ executor:
14
+ name: samvera/ruby_fcrepo_solr_redis
15
+ ruby_version: << parameters.ruby_version >>
16
+ working_directory: ~/project
17
+ parallelism: 1
18
+ environment:
19
+ COVERALLS_PARALLEL: true
20
+ steps:
21
+ - checkout
22
+
23
+ - run:
24
+ name: install sqlite3
25
+ command: sudo apt-get update && sudo apt-get install -y libsqlite3-dev
26
+
27
+ - samvera/bundle:
28
+ ruby_version: << parameters.ruby_version >>
29
+ bundler_version: << parameters.bundler_version >>
30
+
31
+ - samvera/rubocop
32
+
33
+ - samvera/install_solr_core
34
+
35
+ - run:
36
+ name: install sqlite3
37
+ command: bundle exec rake db:migrate
38
+
39
+ - samvera/parallel_rspec
40
+ workflows:
41
+ version: 2
42
+ ci:
43
+ jobs:
44
+ - build:
45
+ name: ruby2-5-3
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ pkg
2
+ tmp
3
+ Gemfile.lock
4
+ .byebug_history
5
+ .fcrepo_wrapper_test.yml
6
+ .solr_wrapper_test.yml
7
+ zizia_import.log
8
+ *~
9
+ \#*\#
10
+ /.emacs.desktop
11
+ /.emacs.desktop.lock
12
+ *.elc
13
+ auto-save-list
14
+ tramp
15
+ .\#*
16
+ coverage/
17
+ *.gem
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,80 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ inherit_gem:
4
+ bixby: bixby_default.yml
5
+
6
+ AllCops:
7
+ TargetRubyVersion: 2.3
8
+ Exclude:
9
+ - 'db/**/*'
10
+ - 'config/**/*'
11
+ - 'script/**/*'
12
+ - 'vendor/**/*'
13
+ - 'bin/{rails,rake}'
14
+ - 'spec/dummy/**/*'
15
+
16
+ Lint/HandleExceptions:
17
+ Exclude:
18
+ - 'spec/**/*'
19
+ - 'lib/zizia/spec/**/*'
20
+
21
+ Metrics/AbcSize:
22
+ Exclude:
23
+ - 'spec/support/hyrax/basic_metadata.rb'
24
+ - 'lib/zizia/hyrax/hyrax_record_importer.rb'
25
+ - lib/zizia/importer.rb
26
+ - lib/zizia/hyrax/hyrax_metadata_only_updater.rb
27
+ - 'app/importers/modular_importer.rb'
28
+
29
+ Metrics/BlockLength:
30
+ Exclude:
31
+ - 'spec/**/*'
32
+ - 'lib/zizia/spec/**/*'
33
+ - 'zizia.gemspec'
34
+
35
+ Metrics/ClassLength:
36
+ Enabled: false
37
+
38
+ Metrics/CyclomaticComplexity:
39
+ Exclude:
40
+ - lib/zizia/hyrax/hyrax_basic_metadata_mapper.rb
41
+ - lib/zizia/hyrax/hyrax_record_importer.rb
42
+
43
+ Metrics/LineLength:
44
+ Enabled: false
45
+
46
+ Metrics/MethodLength:
47
+ Exclude:
48
+ - 'spec/support/hyrax/basic_metadata.rb'
49
+ - 'lib/zizia/hyrax/hyrax_basic_metadata_mapper.rb'
50
+ - lib/zizia/hyrax/hyrax_record_importer.rb
51
+ - 'app/importers/modular_importer.rb'
52
+
53
+ Metrics/PerceivedComplexity:
54
+ Exclude:
55
+ - lib/zizia/hyrax_record_importer.rb
56
+
57
+ RSpec/DescribeClass:
58
+ Exclude:
59
+ - 'spec/integration/**/*'
60
+ - 'spec/*_spec.rb'
61
+
62
+ RSpec/ExampleLength:
63
+ Exclude:
64
+ - 'spec/zizia/hyrax/hyrax_basic_metadata_mapper_spec.rb'
65
+ - 'spec/integration/import_hyrax_csv.rb'
66
+ - 'spec/integration/csv_import_detail_spec.rb'
67
+
68
+ RSpec/MessageSpies:
69
+ Exclude:
70
+ - spec/integration/import_csv_spec.rb
71
+
72
+ RSpec/MultipleExpectations:
73
+ Exclude:
74
+ - 'spec/zizia/hyrax/hyrax_basic_metadata_mapper_spec.rb'
75
+ - 'spec/integration/import_hyrax_csv.rb'
76
+ - 'spec/controllers/importer_documentation_controller_spec.rb'
77
+ - 'spec/integration/csv_import_detail_spec.rb'
78
+
79
+ Style/StructInheritance:
80
+ Enabled: false
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,21 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2019-02-21 09:32:03 -0500 using RuboCop version 0.52.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ Metrics/CyclomaticComplexity:
11
+ Max: 7
12
+
13
+ # Offense count: 1
14
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
15
+ # URISchemes: http, https
16
+ Metrics/LineLength:
17
+ Max: 228
18
+
19
+ # Offense count: 1
20
+ Metrics/PerceivedComplexity:
21
+ Max: 8
data/.solr_wrapper ADDED
@@ -0,0 +1,8 @@
1
+ version: 6.6.5
2
+ port: 8985
3
+ instance_dir: tmp/solr-test
4
+ download_dir: tmp/solr_downloads
5
+ collection:
6
+ persist: false
7
+ dir: solr/config
8
+ name: hydra-test
data/.travis.yml ADDED
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ sudo: false
3
+ cache: bundler
4
+ dist: trusty
5
+
6
+ rvm:
7
+ - 2.3.8
8
+ - 2.4.5
9
+ - 2.5.3
10
+ script:
11
+ - RAILS_ENV='test' bundle exec rake db:migrate
12
+ - bundle exec rake
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
+
7
+ gemspec
8
+
9
+ unless ENV['CI']
10
+ gem 'guard'
11
+ gem 'pry'
12
+ end
data/Rakefile ADDED
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ begin
4
+ require 'bundler/setup'
5
+ rescue LoadError
6
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
7
+ end
8
+
9
+ require 'fcrepo_wrapper'
10
+ require 'solr_wrapper'
11
+ require 'active_fedora/rake_support'
12
+
13
+ require 'rspec/core/rake_task'
14
+ require 'rubocop/rake_task'
15
+
16
+ Bundler::GemHelper.install_tasks
17
+
18
+ desc 'Run style checker'
19
+ RuboCop::RakeTask.new(:rubocop) do |task|
20
+ task.fail_on_error = true
21
+ end
22
+
23
+ desc 'Run specs'
24
+ RSpec::Core::RakeTask.new(:spec)
25
+
26
+ desc 'Run specs with Fedora & Solr servers'
27
+ task :spec_with_server do
28
+ with_test_server { Rake::Task['spec'].invoke }
29
+ end
30
+
31
+ desc 'Check style and run specs'
32
+ task ci: %w[rubocop spec_with_server]
33
+
34
+ task default: :ci
35
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
36
+ load 'rails/tasks/engine.rake'
37
+
38
+ load 'rails/tasks/statistics.rake'
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/zizia .js
2
+ //= link_directory ../stylesheets/zizia .css
File without changes
@@ -0,0 +1,43 @@
1
+ export default class DisplayUploadedFile {
2
+ constructor() {
3
+ this.regexp = /[^a-zA-Z0-9\.\-\+_]/g
4
+ }
5
+ replaceWhitespace(input) {
6
+ return input.replace(this.regexp, '_')
7
+ }
8
+
9
+ requiresEscape(input) {
10
+ return this.regexp.test(input)
11
+ }
12
+
13
+ displayReplaceMessage(input) {
14
+ if (this.requiresEscape(input)) {
15
+ return `<b> Note: </b> Your file name contained spaces, which have been replaced by underscores.
16
+ This will have no effect on your import.`
17
+ } else {
18
+ return ''
19
+ }
20
+ }
21
+
22
+ display() {
23
+ var fileInput = document.querySelector('#file-upload')
24
+ var files = fileInput.files
25
+ for (var i = 0; i < files.length; i++) {
26
+ var file = files[i]
27
+ document.querySelector('#file-upload-display').innerHTML = `
28
+ <div class="row">
29
+ <div class="col-md-12">
30
+ <div class="well style="
31
+ background-color: #dff0d8;
32
+ border-color: #d6e9c6;
33
+ color: #3c763d;">
34
+ <p>You sucessfully uploaded this CSV: <b> ${this.replaceWhitespace(file.name)} </b>
35
+ </p>
36
+ ${this.displayReplaceMessage(file.name)}
37
+ <p>
38
+ </div>
39
+ </div>
40
+ </div>`
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,6 @@
1
+ var Zizia = {
2
+ displayUploadedFile: function() {
3
+ var DisplayUploadedFile = require('zizia/DisplayUploadedFile')
4
+ new DisplayUploadedFile().display()
5
+ }
6
+ }
@@ -0,0 +1,17 @@
1
+ .file-upload {
2
+ width: 0.1px;
3
+ height: 0.1px;
4
+ opacity: 0;
5
+ overflow: hidden;
6
+ position: absolute;
7
+ z-index: -1;
8
+ }
9
+
10
+ .file-upload + label {
11
+ margin-bottom: 1em;
12
+ }
13
+
14
+ .file-upload:focus + label {
15
+ outline: 1px dotted #000;
16
+ outline: -webkit-focus-ring-color auto 5px;
17
+ }
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require zizia/zizia
14
+ *= require_self
15
+ */
@@ -0,0 +1 @@
1
+ @import 'file_upload';
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ module Zizia
3
+ class ApplicationController < ActionController::Base
4
+ protect_from_forgery with: :exception
5
+ end
6
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ module Zizia
3
+ class CsvImportsController < ::ApplicationController
4
+ load_and_authorize_resource
5
+ before_action :load_and_authorize_preview, only: [:preview]
6
+
7
+ with_themed_layout 'dashboard'
8
+
9
+ def index; end
10
+
11
+ def show; end
12
+
13
+ def new; end
14
+
15
+ # Validate the CSV file and display errors or
16
+ # warnings to the user.
17
+ def preview; end
18
+
19
+ def create
20
+ @csv_import.user = current_user
21
+ preserve_cache
22
+
23
+ if @csv_import.save
24
+ @csv_import.queue_start_job
25
+ redirect_to @csv_import
26
+ else
27
+ render :new
28
+ end
29
+ end
30
+
31
+ private
32
+
33
+ def load_and_authorize_preview
34
+ @csv_import = CsvImport.new(create_params)
35
+ authorize! :create, @csv_import
36
+ end
37
+
38
+ def create_params
39
+ params.fetch(:csv_import, {}).permit(:manifest, :fedora_collection_id, :update_actor_stack)
40
+ end
41
+
42
+ # Since we are re-rendering the form (once for
43
+ # :new and again for :preview), we need to
44
+ # manually set the cache, otherwise the record
45
+ # will lose the manifest file between the preview
46
+ # and the record save.
47
+ def preserve_cache
48
+ return unless params['csv_import']
49
+ @csv_import.manifest_cache = params['csv_import']['manifest_cache']
50
+ @csv_import.fedora_collection_id = params['csv_import']['fedora_collection_id']
51
+ @csv_import.update_actor_stack = params['csv_import']['update_actor_stack']
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zizia
4
+ class ImporterDocumentationController < ApplicationController
5
+ def guide; end
6
+
7
+ def csv
8
+ send_data Zizia::CsvTemplate.new.to_s, type: 'text/csv; charset=utf-8', disposition: 'attachment', filename: 'import_manifest.csv'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ImporterDocumentationHelper
4
+ def render_guide
5
+ renderer = Redcarpet::Render::HTML.new(autolink: true, with_toc_data: true)
6
+ markdown = Redcarpet::Markdown.new(renderer)
7
+ if File.exist?(Rails.root.join('app', 'assets', 'markdown', 'importer_guide.md'))
8
+ markdown.render(File.open(Rails.root.join('app', 'assets', 'markdown', 'importer_guide.md')).read)
9
+ else
10
+ 'There is currently no documentation.'
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+ module Zizia
3
+ module ApplicationHelper
4
+ def collections_for_select
5
+ ActiveFedora::SolrService.query('has_model_ssim:Collection').map do |c|
6
+ [c['title_tesim'][0], c['id']]
7
+ end
8
+ end
9
+
10
+ def collections?
11
+ !ActiveFedora::SolrService.query('has_model_ssim:Collection').empty?
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'zizia'
4
+
5
+ class ModularImporter
6
+ DEDUPLICATION_FIELD = 'identifier'
7
+
8
+ def initialize(csv_import)
9
+ @csv_import = csv_import
10
+ @csv_file = csv_import.manifest.to_s
11
+ @collection_id = csv_import.fedora_collection_id
12
+ @user_id = csv_import.user_id
13
+ @user_email = User.find(csv_import.user_id).email
14
+ @row = 0 # Row number doesn't seem to be recorded in the mappper -- there is an attribute for it. record.mapper.row_number is always nil
15
+ end
16
+
17
+ def import
18
+ raise "Cannot find expected input file #{@csv_file}" unless File.exist?(@csv_file)
19
+ file = File.open(@csv_file)
20
+
21
+ @csv_import.save
22
+ csv_import_detail = Zizia::CsvImportDetail.find_or_create_by(csv_import_id: @csv_import.id)
23
+ csv_import_detail.collection_id = @collection_id
24
+ csv_import_detail.depositor_id = @user_id
25
+ csv_import_detail.batch_id = @csv_import.id
26
+ csv_import_detail.deduplication_field = DEDUPLICATION_FIELD
27
+ csv_import_detail.update_actor_stack = @csv_import.update_actor_stack
28
+ csv_import_detail.save!
29
+
30
+ attrs = {
31
+ csv_import_detail: csv_import_detail
32
+ }
33
+
34
+ Rails.logger.info "[zizia] event: start_import, batch_id: #{@csv_import.id}, collection_id: #{@collection_id}, user: #{@user_email}"
35
+ importer = Zizia::Importer.new(parser: Zizia::CsvParser.new(file: file), record_importer: Zizia::HyraxRecordImporter.new(attributes: attrs))
36
+
37
+ importer.records.each do |record|
38
+ pre_ingest_work = Zizia::PreIngestWork.new(csv_import_detail_id: csv_import_detail.id)
39
+ @row += 1
40
+
41
+ pre_ingest_file = Zizia::PreIngestFile.new(row_number: @row,
42
+ pre_ingest_work: pre_ingest_work,
43
+ filename: record.mapper.files.first,
44
+ size: File.join(ENV['IMPORT_PATH'], record.mapper.files.first).size)
45
+ pre_ingest_work.save!
46
+ pre_ingest_file.save!
47
+ end
48
+ csv_import_detail.save!
49
+ importer.import
50
+ file.close
51
+ end
52
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ module Zizia
3
+ class ApplicationJob < ActiveJob::Base
4
+ end
5
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zizia
4
+ class StartCsvImportJob < ApplicationJob
5
+ queue_as :default
6
+
7
+ def perform(csv_import_id)
8
+ csv_import = CsvImport.find csv_import_id
9
+ Rails.logger.info "[zizia] Starting import with batch ID: #{csv_import_id}"
10
+ importer = ModularImporter.new(csv_import)
11
+ importer.import
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ module Zizia
3
+ class ApplicationRecord < ActiveRecord::Base
4
+ self.abstract_class = true
5
+ end
6
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zizia
4
+ class CsvImport < ApplicationRecord
5
+ belongs_to :user
6
+
7
+ # This is where the CSV file is stored:
8
+ mount_uploader :manifest, CsvManifestUploader
9
+
10
+ delegate :warnings, to: :manifest, prefix: true
11
+
12
+ delegate :errors, to: :manifest, prefix: true
13
+
14
+ delegate :records, to: :manifest, prefix: true
15
+
16
+ def queue_start_job
17
+ StartCsvImportJob.perform_later(id)
18
+ # TODO: We'll probably need to store job_id on this record.
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+ module Zizia
3
+ class CsvImportDetail < ApplicationRecord
4
+ after_initialize :set_defaults, unless: :persisted?
5
+
6
+ belongs_to :csv_import
7
+ has_many :pre_ingest_works
8
+ has_many :pre_ingest_files, through: :pre_ingest_works
9
+
10
+ def total_size
11
+ return 0 if pre_ingest_files.empty?
12
+ pre_ingest_files.map(&:size).sum
13
+ end
14
+
15
+ def set_defaults
16
+ self.success_count = 0
17
+ self.failure_count = 0
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ module Zizia
3
+ class PreIngestFile < ApplicationRecord
4
+ belongs_to :pre_ingest_work
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ module Zizia
3
+ class PreIngestWork < ApplicationRecord
4
+ has_many :pre_ingest_files
5
+ end
6
+ end