umlaut 3.3.1 → 4.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +13 -12
- data/active_record_patch/connection_pool.rb +41 -449
- data/app/assets/javascripts/bootstrap3-typeahead.js +415 -0
- data/app/assets/javascripts/umlaut.js +8 -4
- data/app/assets/javascripts/umlaut/ajax_windows.js +15 -21
- data/app/assets/javascripts/umlaut/search_autocomplete.js +95 -90
- data/app/assets/javascripts/umlaut/update_html.js +12 -4
- data/app/assets/stylesheets/umlaut.css.scss +2 -4
- data/app/assets/stylesheets/umlaut/_az.scss +6 -6
- data/app/assets/stylesheets/umlaut/_forms.scss +21 -15
- data/app/assets/stylesheets/umlaut/_layout.scss +4 -5
- data/app/assets/stylesheets/umlaut/_misc.scss +12 -9
- data/app/assets/stylesheets/umlaut/_mixins.scss +2 -3
- data/app/assets/stylesheets/umlaut/_resolve.scss +45 -24
- data/app/assets/stylesheets/umlaut/_results.scss +7 -7
- data/app/assets/stylesheets/umlaut/_search.scss +16 -5
- data/app/assets/stylesheets/umlaut/_spinner.scss +1 -1
- data/app/assets/stylesheets/umlaut/_variables.scss +2 -2
- data/app/controllers/export_email_controller.rb +11 -4
- data/app/controllers/resolve_controller.rb +14 -30
- data/app/controllers/search_controller.rb +3 -8
- data/app/controllers/umlaut/controller_behavior.rb +30 -1
- data/app/controllers/umlaut/error_handling.rb +1 -1
- data/app/controllers/umlaut_configurable.rb +13 -10
- data/app/controllers/umlaut_controller.rb +4 -0
- data/app/helpers/emailer_helper.rb +10 -10
- data/app/helpers/export_email_helper.rb +1 -1
- data/app/helpers/resolve_helper.rb +3 -2
- data/app/helpers/search_helper.rb +26 -29
- data/app/helpers/umlaut/footer_helper.rb +4 -6
- data/app/helpers/umlaut/helper.rb +41 -7
- data/app/helpers/umlaut/url_generation.rb +10 -29
- data/app/mixin_logic/umlaut_http.rb +5 -2
- data/app/models/collection.rb +21 -6
- data/app/models/dispatched_service.rb +13 -0
- data/app/models/referent.rb +66 -88
- data/app/models/referent_value.rb +6 -5
- data/app/models/request.rb +35 -22
- data/app/models/service_response.rb +132 -66
- data/app/models/service_type_value.rb +22 -5
- data/app/models/service_wave.rb +30 -9
- data/app/models/sfx4/local/base.rb +0 -2
- data/app/models/sfx_url.rb +2 -2
- data/app/presentation/section_renderer.rb +68 -22
- data/app/service_adaptors/ajax_export.rb +1 -0
- data/app/service_adaptors/amazon.rb +7 -3
- data/app/service_adaptors/email_export.rb +1 -0
- data/app/service_adaptors/google_book_search.rb +8 -3
- data/app/service_adaptors/google_scholar_link.rb +6 -4
- data/app/service_adaptors/hathi_trust.rb +23 -18
- data/app/service_adaptors/hip_holding_search.rb +1 -1
- data/app/service_adaptors/internet_archive.rb +2 -0
- data/app/service_adaptors/isi.rb +2 -2
- data/app/service_adaptors/service.rb +31 -41
- data/app/service_adaptors/txt_holding_export.rb +3 -2
- data/app/service_adaptors/ulrichs_link.rb +5 -5
- data/app/service_adaptors/worldcat.rb +3 -1
- data/app/views/export_email/email.html.erb +10 -9
- data/app/views/export_email/send_txt.html.erb +4 -2
- data/app/views/export_email/txt.html.erb +44 -22
- data/app/views/feedback/new.html.erb +5 -5
- data/app/views/resolve/_background_progress.html.erb +23 -4
- data/app/views/resolve/_background_updater.html.erb +8 -8
- data/app/views/resolve/_citation.html.erb +11 -10
- data/app/views/resolve/_compact_citation.html.erb +3 -3
- data/app/views/resolve/_cover_image.html.erb +4 -4
- data/app/views/resolve/_fulltext.html.erb +1 -1
- data/app/views/resolve/_holding.html.erb +13 -13
- data/app/views/resolve/_manually_entered_warning.html.erb +9 -5
- data/app/views/resolve/_modal.html.erb +19 -15
- data/app/views/resolve/_search_inside.html.erb +20 -17
- data/app/views/resolve/_service_errors.html.erb +6 -6
- data/app/views/resolve/_standard_response_item.html.erb +7 -7
- data/app/views/resolve/get_permalink.html.erb +2 -2
- data/app/views/resolve/index.html.erb +13 -11
- data/app/views/search/_citation.html.erb +16 -16
- data/app/views/search/_pager.html.erb +6 -6
- data/app/views/search/books.html.erb +59 -19
- data/app/views/search/journal_search.html.erb +11 -11
- data/app/views/search/journals.html.erb +33 -33
- data/app/views/umlaut/_header.html.erb +7 -1
- data/app/views/umlaut/error.html.erb +13 -14
- data/bin/umlaut +141 -0
- data/config/locales/da.yml +122 -0
- data/config/locales/en.yml +227 -4
- data/db/orig_fixed_data/service_type_values.yml +18 -7
- data/lib/generators/templates/umlaut_services.yml +1 -1
- data/lib/generators/umlaut/install_generator.rb +0 -12
- data/lib/generators/umlaut/remove_turbolinks_generator.rb +14 -0
- data/lib/generators/umlaut_app_template.rb +37 -0
- data/lib/umlaut.rb +29 -0
- data/lib/umlaut/routes.rb +34 -38
- data/lib/umlaut/version.rb +6 -1
- data/test/dummy/app/assets/javascripts/application.js +1 -1
- data/test/dummy/app/controllers/umlaut_controller.rb +4 -2
- data/test/dummy/config/application.rb +2 -1
- data/test/dummy/config/environments/development.rb +1 -3
- data/test/dummy/config/environments/test.rb +2 -2
- data/test/dummy/config/travis_database.yml +0 -14
- data/test/dummy/config/umlaut_services.yml +9 -0
- data/test/dummy/config/umlaut_services.yml-JH +289 -0
- data/test/dummy/config/umlaut_services.yml-TEST +250 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_badges.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_carousel.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_close.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_code.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_component-animations.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_dropdowns.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_glyphicons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_input-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_jumbotron.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_media.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_modals.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_navbar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_navs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_normalize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_pager.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_popovers.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_print.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_responsive-embed.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_responsive-utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_scaffolding.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_thumbnails.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_tooltip.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_type.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_wells.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_admin.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_az.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_icons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_layout.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_misc.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_modal.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_resolve.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_results.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_search.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_spinner.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/524eaf90d4782546823a37b80882f8b66bf73010/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/6e589d45ad6dae7b9687fd7eac1156e517932854/_bootstrap-sprockets.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/6e589d45ad6dae7b9687fd7eac1156e517932854/bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/dc1017bdbb6af49581dc35eda2911a13c557c111/umlaut.css.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_background-variant.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_border-radius.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_center-block.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_clearfix.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_gradients.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_grid-framework.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_hide-text.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_image.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_nav-divider.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_nav-vertical-align.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_opacity.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_progress-bar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_reset-filter.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_resize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_responsive-visibility.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_size.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_tab-focus.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_table-row.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_text-emphasis.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_text-overflow.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_vendor-prefixes.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/00fe8b9f2a1f7a1c312f627c379f5a50 +0 -0
- data/test/dummy/tmp/cache/assets/{DCB/620/sprockets%2F2332a294ceeab3ab9b5ee643989dc0eb → development/sprockets/04757b33bf029a112819cf86c6e899db} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0bdc06801d1626641264f7c81f0bb383 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1365f0b692ced0628311ee4566e1b707 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/{C99/040/sprockets%2F84d95490d4855608b8dd8602192f4f9c → development/sprockets/19f5d7a61a156ff3b78882b11cc679dc} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1b2d587ae29ea4eaabb3bab0f022f3d3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1d9ea1c7ecfa0067960ac916ce4b65ca +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1e127abfd1414d0de67e3d78570c8195 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/22a2e14590ab60250be8e55802e0416b +0 -0
- data/test/dummy/tmp/cache/assets/{D72/1E0/sprockets%2Fdee77a9fb00d0a6229fd6b54a8f14197 → development/sprockets/29512f3dcf5161d055eb24ebcaaf8613} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2b31649bad46580f69b4c7283d75d7da +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2b6799917cb806635bb25ceb87199288 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2dcbebcad08aa99d46c19c8dceebc0e8 +0 -0
- data/test/dummy/tmp/cache/assets/{DD1/120/sprockets%2Fbee5967b8282dab9fce5c242bcc14c55 → development/sprockets/2e10962ed25d5e106895b21500eed819} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2e7a2009e7fa93a461d747b153241335 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2edf520c0d6a5e6fe31a96ff6249deb3 +0 -0
- data/test/dummy/tmp/cache/assets/{DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 → development/sprockets/2f5173deea6c795b8fdde723bb4b63af} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/33effed14152fbf68a290dc9bfdacc49 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/362ddf5dec149d8860307be28f1b6aba +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3bb0e2c4964797a92ce18c9265d7c35d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3de79b672a2a13cc1a0ecdb4f14087b6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4059619b2636e7c20d35170dfe625a63 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/43cc6f487d302bad3c176fb117bc8790 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4c4d82da23f69029b0c8346855f2effe +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4e00e47769496546d5560ba11077191e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4ed3382d5f8738e189d0fb787a29e487 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/50e6046f30d33ebf382887de6500721f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5488b82c680f30f6fd6e237c86e7887a +0 -0
- data/test/dummy/tmp/cache/assets/{C9D/060/sprockets%2F5c8956a1666824a1d214531abd22e2a2 → development/sprockets/56381d00a030c7822e9a88c9ddae434f} +0 -0
- data/test/dummy/tmp/cache/assets/{D17/BC0/sprockets%2F1ae6578a93a7a3d848319dea314f592d → development/sprockets/5bdde916a6e5824d9c695657aaada893} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5d7a36094a81c5e13f8603581fdcd0a0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/62df0d3ba0011b6ebf283e9e4fd33a59 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/685077a71b34728322a6a3df7a818f16 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/74007643206dfef480fe67a4ee6a5af9 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/747ce3a1a163cd0edc663342abb508c8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7752e1fdfeb11e34353bb24822e8eddc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7ab84c0db002136373ac7278f78e4d69 +0 -0
- data/test/dummy/tmp/cache/assets/{D65/820/sprockets%2Fae5318865ebb4a2b74e84c0e13fb921a → development/sprockets/80f1a2af00dac454055d31d97fa9ea16} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/827f39ace148dd5b450c5b5c4f7b7407 +0 -0
- data/test/dummy/tmp/cache/assets/{DEF/A60/sprockets%2F3fddcee3e5dbd24f28de1001e5f3a009 → development/sprockets/84bda1ce77f140dbe330abbb9654a389} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/91cf221e4f31c9b0e394d61e76e383a6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/91fc9ce33c0477ac8e5c38f43ace64f3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/984eb5d6325666ea28ac61b8f00bbf96 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a5ca1b208ac1648c9233a4f82231cc9d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b0644dc48561692b74e67cfa49f1fccc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b45832a1ef97f445005b6a5ed08ad4e1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b57b9a3152cba1d2ce51c8890cd2c069 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/bf432dfd03a3577b6fecab95f67d3e10 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c10ba9d7ca59eade850d472f4620e679 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c127c56dd327b8471950e4e4eb774d58 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c4883e8efaaa0dd40101433793d62dd0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ccb8dacf69b5ea6e8638d5659f87e93b +0 -0
- data/test/dummy/tmp/cache/assets/{E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af → development/sprockets/cffd775d018f68ce5dba1ee0d951a994} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d06b36a24841048e094f62c017a0e23c +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d40077dd950a280248a90c9cd9bf1171 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d49649ea0360b8433251241f77ab88c1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d6a0c8ca3c8a8f1bde4550db740138b8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d81f215f779ce2609d4dfa76b02df41c +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/de3f87130aaf9847386d1f5e5c9893f1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/dea953187fcf46b6d47f7653acc099c6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e1bf78affc4ede54eac4249af8f16e82 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/eaff4713f011dd8b1946264e8f120fb6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ef4a528b7df4e9417e42bc5aaf40ef9b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f6be26089ea600503193ac4a8119a33b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_badges.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_carousel.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_close.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_code.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_component-animations.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_dropdowns.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_glyphicons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_input-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_jumbotron.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_media.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_modals.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_navbar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_navs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_normalize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_pager.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_popovers.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_print.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_responsive-embed.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_responsive-utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_scaffolding.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_thumbnails.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_tooltip.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_type.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/05e2dc436ff96d50f418a3e756bafafe98e914ae/_wells.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_badges.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_carousel.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_close.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_code.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_component-animations.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_dropdowns.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_glyphicons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_input-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_jumbotron.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_media.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_modals.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_navbar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_navs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_normalize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_pager.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_popovers.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_print.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_responsive-embed.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_responsive-utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_scaffolding.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_thumbnails.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_tooltip.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_type.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/17fd8969872067ebc37af75de84fcc03527156bc/_wells.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_admin.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_az.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_icons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_layout.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_misc.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_modal.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_resolve.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_results.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_search.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_spinner.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/524eaf90d4782546823a37b80882f8b66bf73010/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/6e589d45ad6dae7b9687fd7eac1156e517932854/_bootstrap-sprockets.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/6e589d45ad6dae7b9687fd7eac1156e517932854/bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_background-variant.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_border-radius.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_center-block.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_clearfix.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_gradients.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_grid-framework.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_hide-text.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_image.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_nav-divider.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_nav-vertical-align.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_opacity.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_progress-bar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_reset-filter.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_resize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_responsive-visibility.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_size.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_tab-focus.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_table-row.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_text-emphasis.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_text-overflow.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/881c1ba03280ae14123609245e8314b2ba917406/_vendor-prefixes.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/d66be29359c981abd965733fad9a31a018759486/_bootstrap-sprockets.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/d66be29359c981abd965733fad9a31a018759486/_bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/dc1017bdbb6af49581dc35eda2911a13c557c111/umlaut.css.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_background-variant.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_border-radius.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_center-block.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_clearfix.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_gradients.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_grid-framework.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_hide-text.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_image.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_nav-divider.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_nav-vertical-align.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_opacity.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_progress-bar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_reset-filter.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_resize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_responsive-visibility.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_size.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_tab-focus.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_table-row.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_text-emphasis.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_text-overflow.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/f8ee09d7b9a6023c8ba1b1569df57c6a072dd36e/_vendor-prefixes.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/00fe8b9f2a1f7a1c312f627c379f5a50 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/04757b33bf029a112819cf86c6e899db +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/1a72ab0727d6b1c53a2425bce68ccd29 +0 -0
- data/test/dummy/tmp/cache/assets/{D02/B30/sprockets%2Fb9332ebd1d306cc9120a386ca986034d → test/sprockets/1b2d587ae29ea4eaabb3bab0f022f3d3} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/1d9ea1c7ecfa0067960ac916ce4b65ca +0 -0
- data/test/dummy/tmp/cache/assets/{D65/0D0/sprockets%2F9fd0b369f009be410bdb0b6e5458b3a6 → test/sprockets/1e127abfd1414d0de67e3d78570c8195} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/204c5ef815c91ad1dba36952ada84453 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/29512f3dcf5161d055eb24ebcaaf8613 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2b31649bad46580f69b4c7283d75d7da +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2b6799917cb806635bb25ceb87199288 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2dcbebcad08aa99d46c19c8dceebc0e8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2e10962ed25d5e106895b21500eed819 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2e7a2009e7fa93a461d747b153241335 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/300b3cf1812a5e2ba89266b8198caf8c +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/3bb0e2c4964797a92ce18c9265d7c35d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/3de79b672a2a13cc1a0ecdb4f14087b6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/4059619b2636e7c20d35170dfe625a63 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/42d8221eac1dc91b1c055df56147f009 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/43bdfbe7d60eec9cab5eda9af30fae29 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/43cc6f487d302bad3c176fb117bc8790 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/4403ea9870ef12ff2940eb16ee72aefd +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/4c4d82da23f69029b0c8346855f2effe +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/4e00e47769496546d5560ba11077191e +0 -0
- data/test/dummy/tmp/cache/assets/{DAB/C70/sprockets%2Ff8ac0db14f84bce083a7c58f965e806f → test/sprockets/4ed3382d5f8738e189d0fb787a29e487} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/50e6046f30d33ebf382887de6500721f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/5488b82c680f30f6fd6e237c86e7887a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/58901a70c4225a06a7b7402515a9b987 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/5bdde916a6e5824d9c695657aaada893 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/5d7a36094a81c5e13f8603581fdcd0a0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/62df0d3ba0011b6ebf283e9e4fd33a59 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/641d193a017d5c7220a38ee54b714fa3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/65c94ad4022a7bb639254a1716375313 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/661a6079c9ca1cbcf6215e9113867d30 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/685077a71b34728322a6a3df7a818f16 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/74007643206dfef480fe67a4ee6a5af9 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/747ce3a1a163cd0edc663342abb508c8 +0 -0
- data/test/dummy/tmp/cache/assets/{D47/690/sprockets%2Fd92186d33469ff2bd01ba096f33dfd78 → test/sprockets/7752e1fdfeb11e34353bb24822e8eddc} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7ab84c0db002136373ac7278f78e4d69 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/80f1a2af00dac454055d31d97fa9ea16 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/84bda1ce77f140dbe330abbb9654a389 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/91cf221e4f31c9b0e394d61e76e383a6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/91fc9ce33c0477ac8e5c38f43ace64f3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/9424bf97ebe97817bf589d5409eb1b49 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/97197c94037eb886f290e1db6db71839 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/984eb5d6325666ea28ac61b8f00bbf96 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/9e9540a6ef6178fdc44134b8170b9104 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a4605dfa1ec12c0c0a5fa6149836e146 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a5ca1b208ac1648c9233a4f82231cc9d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a8ae1c833918295d04a2921439ec6dda +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b0644dc48561692b74e67cfa49f1fccc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b45832a1ef97f445005b6a5ed08ad4e1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b530e8eed86f8a06c34ebfba012ced9f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/bbff1f14224b48e4d838bcfb3ed8a610 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c10ba9d7ca59eade850d472f4620e679 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c127c56dd327b8471950e4e4eb774d58 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c4883e8efaaa0dd40101433793d62dd0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c696c2db7d8317ca35a7243d8bd4f3b2 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/ccb8dacf69b5ea6e8638d5659f87e93b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d40077dd950a280248a90c9cd9bf1171 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d49649ea0360b8433251241f77ab88c1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d6a0c8ca3c8a8f1bde4550db740138b8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/db71108aa3843a309c5247dd6481dd12 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/dd484b056ce971aa93a7b69c6ec28fb3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/de3f87130aaf9847386d1f5e5c9893f1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/dea953187fcf46b6d47f7653acc099c6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/df2a44cb5db91d63eb01e3d4a1673b75 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e1bf78affc4ede54eac4249af8f16e82 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e776d52f6ae606355fa1070b2eb7825b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/eaff4713f011dd8b1946264e8f120fb6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f6be26089ea600503193ac4a8119a33b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/functional/feedback_controller_test.rb +1 -1
- data/test/functional/resolve_controller_test-NOFIXTURES.rb +227 -0
- data/test/functional/resolve_controller_test.rb +155 -14
- data/test/functional/search_controller_test.rb +1 -1
- data/test/helper/list_with_limit_test.rb +11 -0
- data/test/test_helper.rb +63 -26
- data/test/unit/active_record_connection_pool_test.rb +43 -25
- data/test/unit/aws_product_sign_test.rb +3 -3
- data/test/unit/collection_test.rb +39 -3
- data/test/unit/determine_services_test.rb +11 -11
- data/test/unit/dispatched_service_test.rb +16 -0
- data/test/unit/dissertation_catch_test.rb +1 -2
- data/test/unit/google_book_search_test.rb +6 -8
- data/test/unit/internet_archive_test.rb +6 -5
- data/test/unit/permalink_test.rb +4 -2
- data/test/unit/referent_test.rb +60 -0
- data/test/unit/referent_to_citation_test.rb +29 -2
- data/test/unit/request_test.rb +48 -0
- data/test/unit/service_response_test.rb +63 -4
- data/test/unit/service_test.rb +35 -5
- data/test/unit/service_type_value_test.rb +25 -0
- data/test/unit/sfx4_search_test.rb +1 -1
- data/test/unit/sfx_test.rb +4 -2
- data/test/unit/worldcat_test.rb +1 -3
- data/test/vcr_cassettes/collection/live_dispatch.yml +311 -0
- data/test/vcr_cassettes/sfx/nytimes_by_issn.yml +1 -1
- metadata +831 -145
- data/app/controllers/search_methods/sfx4_solr/README.md +0 -57
- data/app/controllers/search_methods/sfx4_solr/local.rb +0 -40
- data/app/controllers/search_methods/sfx4_solr/searcher.rb +0 -118
- data/app/models/sfx4/global/base.rb +0 -24
- data/app/models/sfx4/global/kb_objects.rb +0 -34
- data/app/views/search/opensearch_description.rxml +0 -10
- data/lib/service_adaptors/README.md +0 -0
- data/test/dummy/db/migrate/20120927163304_sfx4_global.rb +0 -26
- data/test/dummy/tmp/cache/assets/BFF/760/sprockets%2Fe00969069e468419c393709f042b4527 +0 -0
- data/test/dummy/tmp/cache/assets/CC7/D80/sprockets%2F62a4c21a1d5bac4064e25082f523f238 +0 -0
- data/test/dummy/tmp/cache/assets/CC8/C70/sprockets%2F397590f867a06c2d0595c75ed4269e9b +0 -0
- data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/CE3/1F0/sprockets%2F9a3b0380fe964d77f0013845d3d355fd +0 -0
- data/test/dummy/tmp/cache/assets/CE7/FA0/sprockets%2F98df08987c1b5c0f643a21538a7182ec +0 -0
- data/test/dummy/tmp/cache/assets/CEA/930/sprockets%2F42ebf67295336dfb5725a8bb12881a98 +0 -0
- data/test/dummy/tmp/cache/assets/D15/FC0/sprockets%2F8cbf3a8b7acb7fc27a42168846226385 +0 -0
- data/test/dummy/tmp/cache/assets/D2D/240/sprockets%2F6610ec2488ff4a57d54efb798f1a9994 +0 -0
- data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/D33/2C0/sprockets%2F790e9527eead8b020b92b34dc6a600d2 +0 -0
- data/test/dummy/tmp/cache/assets/D38/930/sprockets%2F45cee52fe11df0057793a6751aa65a4c +0 -0
- data/test/dummy/tmp/cache/assets/D39/B30/sprockets%2Fcb7b9f6963b829c678ff9267c63577ce +0 -0
- data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/D5F/690/sprockets%2Febe18c52ead548a955a1f2be191130b3 +0 -0
- data/test/dummy/tmp/cache/assets/D6A/A80/sprockets%2F22d5d4e74a9a3f3deb5a92704ae750f3 +0 -0
- data/test/dummy/tmp/cache/assets/D6B/020/sprockets%2Ffba640f8143fc0c24e3e6616e2eb93a9 +0 -0
- data/test/dummy/tmp/cache/assets/D6B/8C0/sprockets%2Fa0dc07225af433e77fd6a9028a8e3c6e +0 -0
- data/test/dummy/tmp/cache/assets/D98/990/sprockets%2F710ede3e7f5ebab14e9772fa88c00c02 +0 -0
- data/test/dummy/tmp/cache/assets/DAD/BA0/sprockets%2F193f81f7e4eae26eaaa7d909c0c8e956 +0 -0
- data/test/dummy/tmp/cache/assets/DD6/010/sprockets%2F15a8fcbaccc97804fce2ee514e371f79 +0 -0
- data/test/dummy/tmp/cache/assets/E2E/350/sprockets%2Fbea81b7c4fdf19664eff44b21ea53dbe +0 -0
- data/test/dummy/tmp/cache/assets/EF1/680/sprockets%2Fed8ede7dea4bd22aacb9584fbe7d6cad +0 -0
- data/test/fixtures/sfx4/global/KB_OBJECTS.yml +0 -46
- data/test/integration/request_test.rb +0 -25
- data/test/performance/browsing_test.rb +0 -9
- data/test/unit/sfx4_solr_search_test.rb +0 -81
- data/test/vcr_cassettes/resolve/fulltext_with_edition_warning.yml +0 -44
- data/test/vcr_cassettes/resolve/manually_entered.yml +0 -84
- data/test/vcr_cassettes/resolve/no_holdings.yml +0 -649
- data/test/vcr_cassettes/resolve/nytimes_by_issn.yml +0 -224
- data/test/vcr_cassettes/sfx4_solr/find_by_group.yml +0 -125
- data/test/vcr_cassettes/sfx4_solr/find_by_title_begins_with.yml +0 -71
- data/test/vcr_cassettes/sfx4_solr/find_by_title_contains.yml +0 -72
- data/test/vcr_cassettes/sfx4_solr/find_by_title_exact.yml +0 -36
@@ -175,6 +175,7 @@ module ResolveHelper
|
|
175
175
|
# for limit.
|
176
176
|
options = {:limit => options} unless options.kind_of?(Hash)
|
177
177
|
options[:limit] ||= 5
|
178
|
+
options[:ul_class] ||= "list-unstyled"
|
178
179
|
return "" if list.empty?
|
179
180
|
visible_list = (list.length > options[:limit]) ? list.slice(0, options[:limit]-1) : list
|
180
181
|
hidden_list = (list.length > options[:limit]) ? list.slice((options[:limit]-1)..list.length-1) : []
|
@@ -261,8 +262,8 @@ module ResolveHelper
|
|
261
262
|
return nil
|
262
263
|
end
|
263
264
|
|
264
|
-
start = response[:coverage_begin_date].try(:year) || I18n.t("umlaut.coverage_summary.open_start"
|
265
|
-
finish = response[:coverage_end_date].try(:year) || I18n.t("umlaut.coverage_summary.open_end"
|
265
|
+
start = response[:coverage_begin_date].try(:year) || I18n.t("umlaut.citation.coverage_summary.open_start")
|
266
|
+
finish = response[:coverage_end_date].try(:year) || I18n.t("umlaut.citation.coverage_summary.open_end")
|
266
267
|
|
267
268
|
content_tag("span", :class=>"coverage_summary") do
|
268
269
|
"#{start} – #{finish}:"
|
@@ -7,56 +7,53 @@ module SearchHelper
|
|
7
7
|
end
|
8
8
|
|
9
9
|
# pass in an openurl context obj.
|
10
|
-
# return an OpenStruct with
|
10
|
+
# return an OpenStruct with :atitle and :title labels
|
11
|
+
#
|
12
|
+
# Uses i18n
|
13
|
+
#
|
14
|
+
# Much of this duplicates Referent.type_thing_name and container_type_of_thing,
|
15
|
+
# although we don't have a Referent here, that logic should be combined. TODO
|
11
16
|
def referent_labels(context_obj = @current_context_object)
|
12
17
|
ref_meta = context_obj.referent.metadata
|
13
18
|
result = OpenStruct.new
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
else
|
23
|
-
case ref_meta["genre"]
|
24
|
-
when /article|journal|issue/
|
25
|
-
result.atitle = 'Article Title'
|
26
|
-
result.title = 'Journal Title'
|
27
|
-
when /bookitem|book/
|
28
|
-
result.atitle = 'Chapter/Part Title'
|
29
|
-
result.title = 'Book Title'
|
30
|
-
when /proceeding|conference/
|
31
|
-
result.atitle = 'Proceeding Title'
|
32
|
-
result.title = 'Conference Name'
|
33
|
-
when 'report'
|
34
|
-
result.atitle = 'Report Title'
|
35
|
-
result.title = 'Report'
|
36
|
-
end
|
19
|
+
|
20
|
+
type_of_thing_key = ref_meta['genre']
|
21
|
+
type_of_thing_key = context_obj.referent.format if type_of_thing_key.blank?
|
22
|
+
type_of_thing_key = type_of_thing_key.downcase
|
23
|
+
|
24
|
+
a_key = type_of_thing_key
|
25
|
+
if a_key == "journal" && ref_meta['atitle'].present?
|
26
|
+
a_key = "article"
|
37
27
|
end
|
28
|
+
result.atitle = I18n.t(a_key, :scope => "umlaut.citation.genre", :default => "")
|
29
|
+
|
30
|
+
c_key = type_of_thing_key
|
31
|
+
c_key = 'journal' if c_key == "article"
|
32
|
+
c_key = 'book' if c_key == "bookitem"
|
33
|
+
result.title = I18n.t(c_key, :scope => "umlaut.citation.genre", :default => "")
|
34
|
+
|
38
35
|
return result
|
39
36
|
end
|
40
37
|
|
41
38
|
# A-Z buttons in search page
|
42
39
|
def group_list
|
43
|
-
group_list ||= ('A'..'Z').to_a.push('0-9').push('
|
40
|
+
group_list ||= ('A'..'Z').to_a.push('0-9').push(t('umlaut.search.browse_other'))
|
44
41
|
end
|
45
42
|
|
46
43
|
# Date dropdowns in search page
|
47
|
-
def
|
44
|
+
def search_date_select
|
48
45
|
years + months + days
|
49
46
|
end
|
50
47
|
|
51
48
|
def years
|
52
|
-
select_year(nil, {:prompt => true, :start_year => Date.today.year, :end_year => 1950}, {:name => "__year", :class=>"year
|
49
|
+
select_year(nil, {:prompt => true, :start_year => Date.today.year, :end_year => 1950}, {:name => "__year", :class=>"year form-control"})
|
53
50
|
end
|
54
51
|
|
55
52
|
def months
|
56
|
-
select_month(nil, {:prompt => true, :use_short_month => true}, {:name => "__month", :class=>"month
|
53
|
+
select_month(nil, {:prompt => true, :use_short_month => true}, {:name => "__month", :class=>"month form-control"})
|
57
54
|
end
|
58
55
|
|
59
56
|
def days
|
60
|
-
select_day(nil, {:prompt => true}, {:name => "__day", :class=>"day
|
57
|
+
select_day(nil, {:prompt => true}, {:name => "__day", :class=>"day form-control"})
|
61
58
|
end
|
62
59
|
end
|
@@ -11,7 +11,7 @@ module Umlaut::FooterHelper
|
|
11
11
|
if @collection
|
12
12
|
content = "".html_safe
|
13
13
|
|
14
|
-
content <<
|
14
|
+
content << t('umlaut.misc.powered_by_umlaut').html_safe + " " + link_to("Umlaut", "https://github.com/team-umlaut/umlaut") + ". ".html_safe
|
15
15
|
|
16
16
|
credit_segments = []
|
17
17
|
|
@@ -31,9 +31,7 @@ module Umlaut::FooterHelper
|
|
31
31
|
|
32
32
|
|
33
33
|
if credit_segments.length > 0
|
34
|
-
content << "
|
35
|
-
content << credit_segments.join(", ").html_safe
|
36
|
-
content << " and others.".html_safe
|
34
|
+
content << t("umlaut.misc.credits_html", :credits => safe_join(credit_segments, ", "))
|
37
35
|
end
|
38
36
|
|
39
37
|
return content
|
@@ -65,9 +63,9 @@ module Umlaut::FooterHelper
|
|
65
63
|
options = {:text => "[D]", :title => "Toggle on-screen debug info"}.merge(options)
|
66
64
|
|
67
65
|
text = options.delete(:text)
|
68
|
-
|
66
|
+
options[:onclick] ||= " jQuery('.debug_info').toggle();"
|
69
67
|
|
70
|
-
return
|
68
|
+
return link_to(text, "#", options)
|
71
69
|
end
|
72
70
|
|
73
71
|
end
|
@@ -7,8 +7,6 @@ module Umlaut::Helper
|
|
7
7
|
include Umlaut::FooterHelper
|
8
8
|
include Umlaut::HtmlHeadHelper
|
9
9
|
|
10
|
-
|
11
|
-
|
12
10
|
# pass in an OpenURL::ContextObject, outputs a link.
|
13
11
|
def resolver_link(context_object, params={})
|
14
12
|
|
@@ -72,11 +70,12 @@ module Umlaut::Helper
|
|
72
70
|
end
|
73
71
|
|
74
72
|
def render_umlaut_permalink_toggle
|
75
|
-
|
76
|
-
|
77
|
-
:
|
73
|
+
link_to({:controller => "resolve",
|
74
|
+
:action => "get_permalink",
|
75
|
+
:"umlaut.request_id" => @user_request.id},
|
76
|
+
:class => "umlaut-load-permalink btn btn-default btn-xs",
|
78
77
|
:data => {"umlaut-toggle-permalink"=>"true"}) do
|
79
|
-
content_tag("i") + "
|
78
|
+
content_tag("i") + " #{t('umlaut.permalink.name')}"
|
80
79
|
end
|
81
80
|
end
|
82
81
|
|
@@ -94,5 +93,40 @@ module Umlaut::Helper
|
|
94
93
|
end
|
95
94
|
end
|
96
95
|
|
97
|
-
|
96
|
+
# Create dropdown if we have multiple locales, link if just two
|
97
|
+
def render_locale_selector
|
98
|
+
num_locales = I18n.config.available_locales.size
|
99
|
+
if num_locales > 2
|
100
|
+
render_locale_dropdown
|
101
|
+
elsif num_locales == 2
|
102
|
+
render_locale_link
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
# create a link for the non-active locale
|
107
|
+
def render_locale_link
|
108
|
+
locales = I18n.config.available_locales
|
109
|
+
other_locale = (locales - [I18n.locale]).pop
|
110
|
+
link_to t(:language_name, :locale => other_locale), params.merge(:'umlaut.locale' => other_locale)
|
111
|
+
end
|
112
|
+
|
113
|
+
# Create a dropdown with the current language at the top
|
114
|
+
def render_locale_dropdown
|
115
|
+
locale_options = Array.new
|
116
|
+
#make sure the locales display with their titles
|
117
|
+
I18n.config.available_locales.each do |loc|
|
118
|
+
locale_options.push([t('language_name', :locale => loc), loc])
|
119
|
+
end
|
120
|
+
form_tag({controller: params[:controller], action: params[:action]}, {method: "get"} ) do
|
121
|
+
#output select tag with language options, current language set to selected
|
122
|
+
concat(select_tag('umlaut.locale'.to_sym, options_for_select(locale_options, I18n.locale), onchange: 'this.form.submit()'))
|
123
|
+
# send the url params as hidden fields
|
124
|
+
params.each do |param|
|
125
|
+
unless param[0] == 'controller' || param[0] == 'action' || param[0] == 'umlaut.locale'
|
126
|
+
concat(hidden_field_tag("#{param[0]}", "#{param[1]}"))
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
98
132
|
end
|
@@ -11,33 +11,14 @@ module Umlaut::UrlGeneration
|
|
11
11
|
# This is neccesary for our partial_html_sections service
|
12
12
|
# to work properly. Just set @generate_url_with_host = true
|
13
13
|
# in your controller, and urls will be generated with hostnames
|
14
|
-
# for the remainder of that action.
|
15
|
-
def url_for(
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
when String
|
23
|
-
# We already have a straight string, if it looks relative,
|
24
|
-
# absolutize it.
|
25
|
-
if argument.starts_with?("/")
|
26
|
-
return root_url.chomp("/") + argument
|
27
|
-
else
|
28
|
-
return super(argument)
|
29
|
-
end
|
30
|
-
when :back
|
31
|
-
return super(argument)
|
32
|
-
else
|
33
|
-
# polymorphic, we want to force polymorphic_url instead
|
34
|
-
# of default polymorphic_path
|
35
|
-
return polymorphic_url(argument)
|
36
|
-
end
|
37
|
-
else
|
38
|
-
# @generate_urls_with_host not set, just super
|
39
|
-
super(argument)
|
40
|
-
end
|
14
|
+
# for the remainder of that action.
|
15
|
+
def url_for(*arguments)
|
16
|
+
url = super
|
17
|
+
if @generate_urls_with_host && url.starts_with?("/")
|
18
|
+
#regex replace trailing slashes or trailing locale if present
|
19
|
+
url = root_url.gsub(/(\/$)?(\/\?.*)?/, '') + url
|
20
|
+
end
|
21
|
+
return url
|
41
22
|
end
|
42
23
|
|
43
24
|
# over-ride path_to_image to generate complete urls with hostname and everything
|
@@ -58,7 +39,7 @@ module Umlaut::UrlGeneration
|
|
58
39
|
|
59
40
|
# We want stylesheets and javascripts to do the exact same thing,
|
60
41
|
# magic of polymorphous super() makes it work:
|
61
|
-
def path_to_stylesheet(
|
42
|
+
def path_to_stylesheet(*args)
|
62
43
|
path = super
|
63
44
|
if @generate_urls_with_host
|
64
45
|
path = request.protocol() + request.host_with_port() + path
|
@@ -66,7 +47,7 @@ module Umlaut::UrlGeneration
|
|
66
47
|
return path
|
67
48
|
end
|
68
49
|
|
69
|
-
def path_to_javascript(
|
50
|
+
def path_to_javascript(*args)
|
70
51
|
path = super
|
71
52
|
if @generate_urls_with_host
|
72
53
|
path = request.protocol() + request.host_with_port() + path
|
@@ -35,11 +35,14 @@ module UmlautHttp
|
|
35
35
|
|
36
36
|
# Bunch of headers we proxy as-is from the original client request,
|
37
37
|
# supplying reasonable defaults.
|
38
|
-
|
39
38
|
header["User-Agent"] = orig_env['HTTP_USER_AGENT'] || 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0'
|
40
39
|
header['Accept'] = orig_env['HTTP_ACCEPT'] || 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
|
41
40
|
header['Accept-Language'] = orig_env['HTTP_ACCEPT_LANGUAGE'] || 'en-us,en;q=0.5'
|
42
|
-
|
41
|
+
|
42
|
+
# Do NOT pass on accept-encoding, we don't want gzip or compressed response.
|
43
|
+
#header['Accept-Encoding'] = orig_env['HTTP_ACCEPT_ENCODING'] || ''
|
44
|
+
header['Accept-Encoding'] = "identity"
|
45
|
+
|
43
46
|
header["Accept-Charset"] = orig_env['HTTP_ACCEPT_CHARSET'] || 'UTF-8,*'
|
44
47
|
|
45
48
|
# Set referrer to be, well, an Umlaut page, like the one we are
|
data/app/models/collection.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'cron_tab' # for understanding CronTab format for expiring responses.
|
2
|
+
require 'confstruct'
|
2
3
|
|
3
4
|
# A Collection object encapsulates a given UmlautRequest, and a given
|
4
5
|
# list of Umlaut services that should be run off that request.
|
@@ -12,13 +13,15 @@ require 'cron_tab' # for understanding CronTab format for expiring responses.
|
|
12
13
|
# foreground and background, making sure no service is run twice if it's
|
13
14
|
# already in progress, timing out expired services, etc.
|
14
15
|
class Collection
|
15
|
-
|
16
16
|
attr_accessor :umlaut_request
|
17
17
|
attr_accessor :logger
|
18
18
|
# configs
|
19
19
|
attr_accessor :response_expire_interval, :response_expire_crontab_format, :background_service_timeout, :requeue_failedtemporary_services
|
20
20
|
|
21
|
-
|
21
|
+
# generally only set to true in testing, can be set for the whole class
|
22
|
+
# or for particular Collection instances.
|
23
|
+
class_attribute :forward_background_exceptions
|
24
|
+
self.forward_background_exceptions = true
|
22
25
|
|
23
26
|
# a_umlaut_request is an UmlautRequest, representing a request for services for a context
|
24
27
|
# object.
|
@@ -60,12 +63,15 @@ class Collection
|
|
60
63
|
#
|
61
64
|
# Sets all services in collection to have a 'queued' status if appropriate.
|
62
65
|
# Then actually executes the services that are dispatchable (queued).
|
66
|
+
#
|
67
|
+
# Returns the Thread object used for dispatching background services
|
63
68
|
def dispatch_services!
|
64
69
|
queued_service_ids = prepare_for_dispatch!
|
65
70
|
|
66
71
|
dispatch_foreground!(queued_service_ids)
|
67
72
|
|
68
|
-
|
73
|
+
# return main thread for background services.
|
74
|
+
return dispatch_background!(queued_service_ids)
|
69
75
|
end
|
70
76
|
|
71
77
|
# Call prepare_for_dispatch! first, the return value from that call
|
@@ -96,6 +102,8 @@ class Collection
|
|
96
102
|
# marked queued in the DispatchedService table.
|
97
103
|
#
|
98
104
|
# Will run such services in background priority waves.
|
105
|
+
#
|
106
|
+
# Returns the Thread object used for dispatching background services.
|
99
107
|
def dispatch_background!(queued_service_ids)
|
100
108
|
# Now we do some crazy magic, start a Thread to run our background
|
101
109
|
# services. We are NOT going to wait for this thread to join,
|
@@ -134,7 +142,14 @@ class Collection
|
|
134
142
|
# and logged to db as well as logfile if possible, only bugs in ServiceWave
|
135
143
|
# itself should wind up caught here.
|
136
144
|
Thread.current[:exception] = e
|
137
|
-
logger.error("Background Service execution exception: #{e}\n\n " +
|
145
|
+
logger.error("Background Service execution exception: #{e}\n\n " + Rails.backtrace_cleaner.clean(e.backtrace).join("\n"))
|
146
|
+
|
147
|
+
# One exception is in test environment, when we may be intentionally
|
148
|
+
# trying to get exceptions to propagate up from ServiceWave to here,
|
149
|
+
# and then onward, in order to be caught by tests.
|
150
|
+
if self.forward_background_exceptions
|
151
|
+
raise e
|
152
|
+
end
|
138
153
|
end
|
139
154
|
end
|
140
155
|
end
|
@@ -155,6 +170,7 @@ class Collection
|
|
155
170
|
# Go through currently dispatched services, looking for timed out
|
156
171
|
# services -- services still in progress that have taken too long,
|
157
172
|
# as well as service responses that are too old to be used.
|
173
|
+
|
158
174
|
queued_service_ids = []
|
159
175
|
DispatchedService.transaction do
|
160
176
|
umlaut_request.dispatched_services.each do | ds |
|
@@ -193,8 +209,7 @@ class Collection
|
|
193
209
|
end
|
194
210
|
end
|
195
211
|
|
196
|
-
umlaut_request.dispatched_services.
|
197
|
-
ds.destroy
|
212
|
+
umlaut_request.dispatched_services.destroy(ds)
|
198
213
|
end
|
199
214
|
end
|
200
215
|
|
@@ -27,6 +27,19 @@ class DispatchedService < ActiveRecord::Base
|
|
27
27
|
@service ||= ServiceStore.instantiate_service!( self.service_id, request )
|
28
28
|
end
|
29
29
|
|
30
|
+
# Calls service.service_type_generated, but cautious of service_id
|
31
|
+
# that is no longer in the ServiceStore
|
32
|
+
#
|
33
|
+
# Note, this means all service types that could possibly be generated
|
34
|
+
# by this service, not those that actually have been
|
35
|
+
def can_generate_service_types
|
36
|
+
if ServiceStore.service_definition_for( self.service_id )
|
37
|
+
service.service_types_generated
|
38
|
+
else
|
39
|
+
[]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
30
43
|
# For old-time's sake, true can be used for Succesful
|
31
44
|
# and false can be used for FailedTemporary (that keeps
|
32
45
|
# previous semantics for false intact).
|
data/app/models/referent.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'i18n'
|
2
|
+
|
1
3
|
# Note: There are a few actual attributes stored as Columns in referent --
|
2
4
|
# these were originally used for identifying a Referent identifying the
|
3
5
|
# 'same thing' as an incoming OpenURL, to re-use it. But we don't re-use
|
@@ -15,9 +17,9 @@ class Referent < ActiveRecord::Base
|
|
15
17
|
has_many :referent_values
|
16
18
|
has_many :permalinks
|
17
19
|
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
20
|
+
# Pass in :permalink => :force to force creation of a permalink, otherwise
|
21
|
+
# no permalink is created by this method, one can be lazily created when
|
22
|
+
# needed.
|
21
23
|
def self.create_by_context_object(co, options = {})
|
22
24
|
self.clean_up_context_object(co)
|
23
25
|
|
@@ -40,10 +42,10 @@ class Referent < ActiveRecord::Base
|
|
40
42
|
rft.referent_values.each do | val |
|
41
43
|
rft.atitle = val.normalized_value if val.key_name == 'atitle' and val.metadata?
|
42
44
|
rft.title = val.normalized_value if val.key_name.match(/^[bj]?title$/) and val.metadata?
|
43
|
-
rft.issn = val.normalized_value if val.key_name == 'issn' and val.metadata?
|
44
|
-
rft.isbn = val.normalized_value if val.key_name == 'isbn' and val.metadata?
|
45
|
+
rft.issn = val.normalized_value.gsub(/[^\d]/, '')[0,8] if val.key_name == 'issn' and val.metadata?
|
46
|
+
rft.isbn = val.normalized_value.gsub(/[^\d]/, '')[0,13] if val.key_name == 'isbn' and val.metadata?
|
45
47
|
rft.volume = val.normalized_value if val.key_name == 'volume' and val.metadata?
|
46
|
-
rft.year = val.normalized_value if val.key_name == 'date' and val.metadata?
|
48
|
+
rft.year = val.normalized_value.gsub(/[^\d]/, '')[0,4] if val.key_name == 'date' and val.metadata?
|
47
49
|
end
|
48
50
|
rft.save!
|
49
51
|
|
@@ -107,61 +109,44 @@ class Referent < ActiveRecord::Base
|
|
107
109
|
end
|
108
110
|
|
109
111
|
|
110
|
-
#
|
111
|
-
#
|
112
|
-
# be
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
rv.referent = self
|
123
|
-
|
124
|
-
rv.key_name = key_name
|
125
|
-
rv.value = value
|
126
|
-
rv.normalized_value = normalized_value
|
127
|
-
|
128
|
-
if key_name == "private_data"
|
129
|
-
rv.private_data = true
|
130
|
-
elsif key_name != "identifier" && key_name != "format"
|
131
|
-
rv.metadata = true
|
132
|
-
end
|
133
|
-
|
134
|
-
rv.save!
|
135
|
-
end
|
136
|
-
return rv
|
112
|
+
# private use. Adds a referent_value and returns it, does NOT persist
|
113
|
+
# it to db. referent_value is constructed with ActiveRecord build, and
|
114
|
+
# will be saved when Referent (self) is saved, works on persisted or
|
115
|
+
# unpersisted Referent.
|
116
|
+
def build_referent_value(key_name, value)
|
117
|
+
return self.referent_values.build(
|
118
|
+
:key_name => key_name,
|
119
|
+
:value => value,
|
120
|
+
:normalized_value => ReferentValue.normalize(value),
|
121
|
+
:private_data => (key_name == "private_data"),
|
122
|
+
:metadata => (key_name != "identifier" && key_name != "format")
|
123
|
+
)
|
137
124
|
end
|
125
|
+
|
138
126
|
|
139
127
|
# Populate the referent_values table with a ropenurl contextobject object
|
128
|
+
# Note, does NOT save self, self may still be unsaved.
|
140
129
|
def set_values_from_context_object(co)
|
141
|
-
|
142
130
|
rft = co.referent
|
143
|
-
|
144
131
|
|
145
132
|
# Multiple identifiers are possible!
|
146
133
|
rft.identifiers.each do |id_string|
|
147
|
-
|
134
|
+
build_referent_value('identifier', id_string)
|
148
135
|
end
|
149
136
|
if rft.format
|
150
|
-
|
137
|
+
build_referent_value('format', rft.format)
|
151
138
|
end
|
152
139
|
if rft.private_data
|
153
140
|
# this comes in as "pid" or "rft_dat", we store it in
|
154
141
|
# our database as "private_data", sorry, easiest way to
|
155
142
|
# fit this in at the moment.
|
156
|
-
|
143
|
+
build_referent_value("private_data", rft.private_data)
|
157
144
|
end
|
158
145
|
|
159
146
|
rft.metadata.each { | key, value |
|
160
|
-
next unless value
|
161
|
-
|
162
|
-
}
|
163
|
-
|
164
|
-
|
147
|
+
next unless value.present?
|
148
|
+
build_referent_value( key, value)
|
149
|
+
}
|
165
150
|
end
|
166
151
|
|
167
152
|
# pass in a Referent, or a ropenurl ContextObjectEntity that has a metadata
|
@@ -219,17 +204,14 @@ class Referent < ActiveRecord::Base
|
|
219
204
|
|
220
205
|
def add_identifier(id)
|
221
206
|
unless ( identifiers.find{|i| i == id} )
|
222
|
-
|
207
|
+
Referent.with_connection do
|
208
|
+
self.referent_values.create(:key_name => 'identifier', :value => id, :normalized_value => ReferentValue.normalize(id), :metadata => false, :private_data => false).save!
|
209
|
+
end
|
223
210
|
end
|
224
211
|
end
|
225
212
|
|
226
213
|
def format
|
227
|
-
self.referent_values
|
228
|
-
self.referent_values.each { | val |
|
229
|
-
if val.key_name == 'format'
|
230
|
-
return val.value
|
231
|
-
end
|
232
|
-
}
|
214
|
+
self.referent_values.to_a.find { | val | val.key_name == 'format'}.try(:value)
|
233
215
|
end
|
234
216
|
|
235
217
|
# Some shortcuts for pulling out/manipulating specific especially
|
@@ -281,7 +263,8 @@ class Referent < ActiveRecord::Base
|
|
281
263
|
|
282
264
|
# Creates a hash for use in View code to display a citation
|
283
265
|
#
|
284
|
-
#
|
266
|
+
# TODO, move to_citation, type_of_thing, and container_type_of_thing OUT
|
267
|
+
# of Refernet, to helper module or own class.
|
285
268
|
def to_citation
|
286
269
|
citation = {}
|
287
270
|
# call self.metadata once and use the array for efficiency, don't
|
@@ -290,43 +273,24 @@ class Referent < ActiveRecord::Base
|
|
290
273
|
|
291
274
|
if my_metadata['atitle'].present?
|
292
275
|
citation[:title] = my_metadata['atitle']
|
293
|
-
citation[:title_label], citation[:container_label] =
|
294
|
-
case my_metadata['genre']
|
295
|
-
when /article|journal|issue/ then ['Article Title', 'Journal']
|
296
|
-
when /bookitem|book/ then ['Chapter/Part Title', 'book']
|
297
|
-
when /proceeding|conference/ then ['Proceeding Title', 'conference']
|
298
|
-
when 'report' then ['Report Title','report']
|
299
|
-
else
|
300
|
-
if self.format == 'book'
|
301
|
-
['Chapter/Part Title', 'book']
|
302
|
-
elsif self.format == 'journal'
|
303
|
-
['Article Title', 'Journal']
|
304
|
-
else # default fall through, use much what SFX uses.
|
305
|
-
['Title', '']
|
306
|
-
end
|
307
|
-
end
|
308
276
|
['title','btitle','jtitle'].each do | t_type |
|
309
|
-
if
|
310
|
-
citation[:
|
311
|
-
citation[:container_title] = my_metadata[t_type]
|
277
|
+
if my_metadata[t_type].present?
|
278
|
+
citation[:container_title] = my_metadata[t_type]
|
312
279
|
break
|
313
280
|
end
|
314
281
|
end
|
315
|
-
else
|
316
|
-
citation[:title_label] = case my_metadata["genre"]
|
317
|
-
when /article|journal|issue/i then 'Journal'
|
318
|
-
when /bookitem|book/i then 'Book'
|
319
|
-
when /proceeding|conference/i then 'Conference'
|
320
|
-
when 'report' then 'Report'
|
321
|
-
else nil
|
322
|
-
end
|
282
|
+
else # only top-level thing, no sub-thing
|
323
283
|
['title','btitle','jtitle'].each do | t_type |
|
324
|
-
if
|
284
|
+
if my_metadata[t_type].present?
|
325
285
|
citation[:title] = my_metadata[t_type]
|
326
286
|
break
|
327
287
|
end
|
328
288
|
end
|
329
289
|
end
|
290
|
+
|
291
|
+
citation[:title_label] = I18n.t("umlaut.citation.title_of_x", :x => self.type_of_thing, :default => "umlaut.citation.title_label")
|
292
|
+
citation[:container_label] = self.container_type_of_thing
|
293
|
+
|
330
294
|
# add publisher for books
|
331
295
|
if (my_metadata['genre'] =~ /book/i)
|
332
296
|
citation[:pub] = my_metadata['pub'] unless my_metadata['pub'].blank?
|
@@ -372,26 +336,40 @@ class Referent < ActiveRecord::Base
|
|
372
336
|
end
|
373
337
|
|
374
338
|
def type_of_thing
|
375
|
-
|
376
|
-
genre = nil if genre =~ /^unknown$/i
|
377
|
-
genre = "book section" if genre =~ /^bookitem$/i
|
339
|
+
metadata = self.metadata
|
378
340
|
|
379
|
-
|
341
|
+
key = metadata["genre"]
|
342
|
+
key = self.format if key.blank?
|
343
|
+
key = key.downcase
|
344
|
+
|
345
|
+
if key == "journal" && metadata['atitle'].present?
|
346
|
+
key = 'article'
|
347
|
+
end
|
348
|
+
|
349
|
+
label = I18n.t(key, :scope => "umlaut.citation.genre", :default => "")
|
350
|
+
label = nil if label.blank?
|
351
|
+
|
352
|
+
return label
|
380
353
|
end
|
381
354
|
|
382
355
|
# Like type_of_thing, but if it's a contained item, give container name instead.
|
383
|
-
# TODO: All of this should be I18n'd.
|
384
356
|
def container_type_of_thing
|
385
|
-
case self.metadata[
|
386
|
-
|
387
|
-
|
388
|
-
|
357
|
+
i18n_key = case self.metadata['genre']
|
358
|
+
when 'article' then 'journal'
|
359
|
+
when 'bookitem' then 'book'
|
360
|
+
else self.metadata['genre'] || self.format
|
389
361
|
end
|
362
|
+
|
363
|
+
label = I18n.t(i18n_key, :scope => "umlaut.citation.genre", :default => "")
|
364
|
+
label = nil if label.blank?
|
365
|
+
|
366
|
+
return label
|
390
367
|
end
|
391
368
|
|
392
369
|
|
393
370
|
def remove_value(key)
|
394
|
-
referent_values.
|
371
|
+
referent_values.where(:key_name => key).to_a.each do |rv|
|
372
|
+
rv.delete
|
395
373
|
referent_values.delete(rv)
|
396
374
|
end
|
397
375
|
end
|