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
data/app/models/sfx_url.rb
CHANGED
@@ -14,7 +14,7 @@ class SfxUrl < ActiveRecord::Base
|
|
14
14
|
ActiveRecord::Base.connection_pool.with_connection do
|
15
15
|
# Does it match any of our supplementary configged strings or regexps?
|
16
16
|
UmlautController.umlaut_config.lookup!("sfx.additional_sfx_controlled_urls", []).each do |test|
|
17
|
-
'==='
|
17
|
+
# '===' will match a regexp or equality on a string
|
18
18
|
return true if test === url
|
19
19
|
end
|
20
20
|
|
@@ -29,7 +29,7 @@ class SfxUrl < ActiveRecord::Base
|
|
29
29
|
# If URI was malformed, just punt and say no.
|
30
30
|
return false unless host
|
31
31
|
|
32
|
-
return SfxUrl.
|
32
|
+
return SfxUrl.where(:url => host).count > 0
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
@@ -63,6 +63,8 @@
|
|
63
63
|
# ServiceTypeValue["fulltext"]
|
64
64
|
#
|
65
65
|
# * The section will be displayed with stock heading block including a title
|
66
|
+
# from Rails i18n under key `umlaut.display_sections.#{section_id}.title`,
|
67
|
+
# or if not there then
|
66
68
|
# constructed from the display_name of ServiceTypeValue["fulltext"], or
|
67
69
|
# in general the display_name of the first ServiceTypeValue included
|
68
70
|
# in this section.
|
@@ -102,10 +104,17 @@
|
|
102
104
|
#
|
103
105
|
# === Customizing heading display
|
104
106
|
#
|
105
|
-
#
|
107
|
+
# Using Rails i18n, you can supply a title for the section that's different than what would
|
106
108
|
# be guessed from it's ServiceTypeValues. You can also supply a prompt.
|
107
109
|
#
|
108
|
-
# {:div_id =>"excerpts"
|
110
|
+
# {:div_id =>"excerpts"}
|
111
|
+
#
|
112
|
+
# In your config/locales/en.yml (or other language):
|
113
|
+
# umlaut:
|
114
|
+
# display_sections:
|
115
|
+
# excerpts:
|
116
|
+
# title: "Really great Excerpts"
|
117
|
+
# prompt: "Click on them to see them, far out!"
|
109
118
|
#
|
110
119
|
# You can also suppress display of the stock section heading at all:
|
111
120
|
# {:show_heading => false, ...}
|
@@ -120,8 +129,15 @@
|
|
120
129
|
# {:show_spinner => false, ...}
|
121
130
|
#
|
122
131
|
# By default, the spinner displays what type of thing it's waiting on, guessing
|
123
|
-
# from the ServiceTypeValue configured. If you want to specify this item name
|
124
|
-
#
|
132
|
+
# from the ServiceTypeValue configured. If you want to specify this item name,
|
133
|
+
# use Rails i18n under the section_id in config/locales/en.yml, generally
|
134
|
+
# using a plural name:
|
135
|
+
#
|
136
|
+
# umlaut:
|
137
|
+
# display_sections:
|
138
|
+
# excerpts:
|
139
|
+
# load_more_item_name: "amazing excerpts"
|
140
|
+
#
|
125
141
|
#
|
126
142
|
# === Customizing visibility of section
|
127
143
|
#
|
@@ -231,15 +247,12 @@ class SectionRenderer
|
|
231
247
|
# generally as unique ID for the section.
|
232
248
|
# * [service_type_values] ServiceTypeValue's that this section contains.
|
233
249
|
# defaults to [ServiceTypeValue[div_id]]
|
234
|
-
# * [section_title] Title for the section. Defaults to
|
250
|
+
# * [section_title] (DEPRECATED, use Rails i18n) Title for the section. Defaults to
|
235
251
|
# service_type_values.first.display_name
|
236
252
|
# * [section_prompt] Prompt. Default nil.
|
237
253
|
# * [show_heading] Show the heading section at all. Default true.
|
238
254
|
# * [show_spinner] Show a stock spinner for bg action for service_type_values.
|
239
255
|
# default true.
|
240
|
-
# * [item_name_plural] Pluralized name of the objects included, used in
|
241
|
-
# spinner message. Default
|
242
|
-
# service_type_values.first.display_name_pluralize
|
243
256
|
# * [visibilty] What logic to use to decide whether to show the section at
|
244
257
|
# all. true|false|:any_services|:in_progress|:responses_exist|:complete_with_responses|(lambda object)
|
245
258
|
# * [list_visible_limit] Use list_with_limit to limit initially displayed
|
@@ -287,7 +300,7 @@ class SectionRenderer
|
|
287
300
|
@responses = {}
|
288
301
|
service_type_values.each do |st|
|
289
302
|
@responses[st.name] = @umlaut_request.get_service_type(st)
|
290
|
-
end
|
303
|
+
end
|
291
304
|
end
|
292
305
|
@responses
|
293
306
|
end
|
@@ -323,11 +336,15 @@ class SectionRenderer
|
|
323
336
|
# a spinner for this section. Called by section_display partial,
|
324
337
|
# nobody else should need to call it.
|
325
338
|
def spinner_render_hash
|
339
|
+
custom_item_name = I18n.t("load_more_item_name", :scope => "umlaut.display_sections.#{self.div_id}", :default => "")
|
340
|
+
custom_item_name = nil if custom_item_name.blank?
|
341
|
+
|
326
342
|
{ :partial => "background_progress",
|
327
343
|
:locals =>{ :svc_types => service_type_values,
|
328
344
|
:div_id => "progress_#{@section_id}",
|
329
345
|
:current_set_empty => responses_empty?,
|
330
|
-
:item_name =>
|
346
|
+
:item_name => custom_item_name
|
347
|
+
}
|
331
348
|
}
|
332
349
|
end
|
333
350
|
|
@@ -397,7 +414,7 @@ class SectionRenderer
|
|
397
414
|
# if they've completed without doing so?.
|
398
415
|
def any_services?
|
399
416
|
nil != @umlaut_request.dispatched_services.to_a.find do |ds|
|
400
|
-
! (service_type_values & ds.
|
417
|
+
! (service_type_values & ds.can_generate_service_types ).empty?
|
401
418
|
end
|
402
419
|
end
|
403
420
|
|
@@ -405,12 +422,49 @@ class SectionRenderer
|
|
405
422
|
@options[:list_visible_limit]
|
406
423
|
end
|
407
424
|
|
425
|
+
# Display title of the section can come from several places, in order
|
426
|
+
# of precedence:
|
427
|
+
# * 1. (DEPRECATED) :section_title key in config hash. Prefer i18n instead.
|
428
|
+
# * 2. Rails i18n, under key 'umlaut.display_sections.#{section_id}.title'
|
429
|
+
# * 3. If not given, as a default we use the display_name of the first ServiceTypeValue
|
430
|
+
# object included in this section's results.
|
431
|
+
# If still blank after all those lookups, then no section title. Set a section title
|
432
|
+
# to the empty string in i18n to force no section title.
|
408
433
|
def section_title
|
409
|
-
|
434
|
+
section_title = nil
|
435
|
+
|
436
|
+
if @options.has_key? :section_title
|
437
|
+
# deprecation warning? Not sure the right way to do that.
|
438
|
+
section_title = @options[:section_title]
|
439
|
+
else
|
440
|
+
section_title = I18n.t("title", :scope => "umlaut.display_sections.#{self.div_id}",
|
441
|
+
:default => Proc.new {
|
442
|
+
# Look up from service_type name if possible as default
|
443
|
+
if (service_type_values.length > 0)
|
444
|
+
service_type_values.first.display_name_pluralize.titlecase
|
445
|
+
else
|
446
|
+
""
|
447
|
+
end
|
448
|
+
})
|
449
|
+
end
|
450
|
+
|
451
|
+
section_title = nil if section_title.blank?
|
452
|
+
return section_title
|
410
453
|
end
|
411
454
|
|
455
|
+
# Optional section prompt, from Rails i18n key `umlaut.display_sections.#{section_div_id}.prompt`
|
456
|
+
# Deprecated legacy, you can force with :section_prompt key in section config hash.
|
412
457
|
def section_prompt
|
413
|
-
|
458
|
+
prompt = nil
|
459
|
+
|
460
|
+
if @options.has_key?(:section_prompt)
|
461
|
+
prompt = @options[:section_prompt]
|
462
|
+
else
|
463
|
+
prompt = I18n.t("prompt", :scope => "umlaut.display_sections.#{self.div_id}", :default => "")
|
464
|
+
end
|
465
|
+
|
466
|
+
prompt = nil if prompt.blank?
|
467
|
+
return prompt
|
414
468
|
end
|
415
469
|
|
416
470
|
# For a given resonse type section, returns a string that will change
|
@@ -450,15 +504,7 @@ class SectionRenderer
|
|
450
504
|
|
451
505
|
|
452
506
|
# service type value default to same name as section_id
|
453
|
-
@options[:service_type_values] ||= [@section_id]
|
454
|
-
|
455
|
-
|
456
|
-
# Fill in calculatable-defaults
|
457
|
-
if (service_type_values.length > 0)
|
458
|
-
@options = {:section_title =>
|
459
|
-
service_type_values.first.display_name
|
460
|
-
}.merge(@options)
|
461
|
-
end
|
507
|
+
@options[:service_type_values] ||= [@section_id]
|
462
508
|
|
463
509
|
# Partials to display. Default to _standard_response_item item partial.
|
464
510
|
if ( @options[:partial] == true)
|
@@ -239,7 +239,8 @@ class Amazon < Service
|
|
239
239
|
unless ( desc_text.blank? )
|
240
240
|
request.add_service_response(
|
241
241
|
:service=>self,
|
242
|
-
:display_text => "Description from Amazon.com",
|
242
|
+
:display_text => "Description from Amazon.com",
|
243
|
+
:display_text_i18n => "description",
|
243
244
|
:url => item_url,
|
244
245
|
:key=>'abstract',
|
245
246
|
:value_string=>asin,
|
@@ -341,6 +342,7 @@ class Amazon < Service
|
|
341
342
|
request.add_service_response(
|
342
343
|
:service => self,
|
343
344
|
:display_text=>@display_name,
|
345
|
+
:display_text_i18n => "display_name",
|
344
346
|
:url=> reader_url,
|
345
347
|
:service_type_value => :search_inside
|
346
348
|
)
|
@@ -357,7 +359,8 @@ class Amazon < Service
|
|
357
359
|
:service=>self,
|
358
360
|
:url => reader_url,
|
359
361
|
:asin=>asin,
|
360
|
-
:display_text => @display_name,
|
362
|
+
:display_text => @display_name,
|
363
|
+
:display_text_i18n => "display_name",
|
361
364
|
:service_type_value => 'excerpts')
|
362
365
|
|
363
366
|
elsif ( @service_types.include?("highlighted_link"))
|
@@ -372,7 +375,8 @@ class Amazon < Service
|
|
372
375
|
:service=>self,
|
373
376
|
:url => amazon_page,
|
374
377
|
:asin=>asin,
|
375
|
-
:display_text => @display_text,
|
378
|
+
:display_text => @display_text,
|
379
|
+
:display_text_i18n => "display_text",
|
376
380
|
:service_type_value => 'highlighted_link')
|
377
381
|
end
|
378
382
|
|
@@ -296,8 +296,6 @@ class GoogleBookSearch < Service
|
|
296
296
|
# We only create a fulltext service response if we have a full view.
|
297
297
|
# We create only as many full views as are specified in config.
|
298
298
|
def create_fulltext_service_response(request, data)
|
299
|
-
display_name = @display_name
|
300
|
-
|
301
299
|
full_views = find_entries(data, ViewFullValue)
|
302
300
|
return nil if full_views.empty?
|
303
301
|
|
@@ -308,7 +306,8 @@ class GoogleBookSearch < Service
|
|
308
306
|
|
309
307
|
request.add_service_response(
|
310
308
|
:service => self,
|
311
|
-
:display_text => display_name,
|
309
|
+
:display_text => @display_name,
|
310
|
+
:display_text_i18n => "display_name",
|
312
311
|
:url => remove_query_context(uri),
|
313
312
|
:service_type_value => :fulltext
|
314
313
|
)
|
@@ -328,6 +327,7 @@ class GoogleBookSearch < Service
|
|
328
327
|
request.add_service_response(
|
329
328
|
:service => self,
|
330
329
|
:display_text=>@display_name,
|
330
|
+
:display_text_i18n => "display_name",
|
331
331
|
:url=> remove_query_context(url),
|
332
332
|
:service_type_value => :search_inside
|
333
333
|
)
|
@@ -358,16 +358,21 @@ class GoogleBookSearch < Service
|
|
358
358
|
if (viewability == ViewPartialValue &&
|
359
359
|
url = iv["volumeInfo"]["previewLink"])
|
360
360
|
display_text = @display_name
|
361
|
+
display_text_i18n = "display_name"
|
361
362
|
type = ServiceTypeValue[:excerpts]
|
362
363
|
else
|
363
364
|
url = url = iv["volumeInfo"]["infoLink"]
|
364
365
|
display_text = "Book Information"
|
366
|
+
display_text_i18n = "book_information"
|
365
367
|
type = ServiceTypeValue[:highlighted_link]
|
366
368
|
end
|
369
|
+
|
370
|
+
|
367
371
|
request.add_service_response(
|
368
372
|
:service=>self,
|
369
373
|
:url=> remove_query_context(url),
|
370
374
|
:display_text=>display_text,
|
375
|
+
:display_text_i18n => display_text_i18n,
|
371
376
|
:service_type_value => type
|
372
377
|
)
|
373
378
|
end
|
@@ -36,11 +36,13 @@ class GoogleScholarLink < Service
|
|
36
36
|
link = "http://scholar.google.com/scholar?q=#{CGI.escape construct_query(request)}"
|
37
37
|
|
38
38
|
request.add_service_response(
|
39
|
-
:service
|
40
|
-
:display_text
|
41
|
-
:
|
39
|
+
:service => self,
|
40
|
+
:display_text => "Look for article on Google Scholar",
|
41
|
+
:display_text_i18n => "display_text",
|
42
|
+
:url => link,
|
42
43
|
:service_type_value => @service_type,
|
43
|
-
:notes
|
44
|
+
:notes => "This article <b>may</b> be available on the public web, look for links labelled <span class='gscholar_example'>[html]</span> or <span class='gscholar_example'>[pdf]</span>".html_safe,
|
45
|
+
:notes_i18n => "notes_html"
|
44
46
|
)
|
45
47
|
|
46
48
|
return request.dispatched(self, true)
|
@@ -149,7 +149,6 @@ class HathiTrust < Service
|
|
149
149
|
def create_fulltext_service_response(request, items)
|
150
150
|
return nil if items.empty?
|
151
151
|
|
152
|
-
display_name = @display_name
|
153
152
|
count = 0
|
154
153
|
|
155
154
|
items.each do |item|
|
@@ -160,9 +159,11 @@ class HathiTrust < Service
|
|
160
159
|
|
161
160
|
request.add_service_response(
|
162
161
|
:service=>self,
|
163
|
-
:display_text=>display_name,
|
162
|
+
:display_text=> @display_name,
|
163
|
+
:display_text_i18n => "display_name",
|
164
164
|
:url=> direct_url_to(item),
|
165
|
-
:
|
165
|
+
:add_i18n_notes => "single_volume", # signal for transform_view_data
|
166
|
+
:source_for_i18n => item['orig'],
|
166
167
|
:service_type_value => :fulltext
|
167
168
|
)
|
168
169
|
count += 1
|
@@ -183,12 +184,16 @@ class HathiTrust < Service
|
|
183
184
|
full_ids.each do |recordId|
|
184
185
|
record = ht_json.values.first["records"][recordId]
|
185
186
|
next unless record && record["recordURL"]
|
186
|
-
|
187
|
+
|
188
|
+
record_title = record["titles"].first if record["titles"].kind_of?(Array)
|
189
|
+
|
187
190
|
request.add_service_response(
|
188
191
|
:service=>self,
|
189
|
-
:display_text
|
192
|
+
:display_text=> @display_name,
|
193
|
+
:display_text_i18n => "display_name",
|
190
194
|
:url=> record["recordURL"],
|
191
|
-
:
|
195
|
+
:add_i18n_notes => "partial_volume", # signal for transform_view_data
|
196
|
+
:title_for_i18n => record_title,
|
192
197
|
:service_type_value => :excerpts
|
193
198
|
)
|
194
199
|
end
|
@@ -204,7 +209,8 @@ class HathiTrust < Service
|
|
204
209
|
|
205
210
|
request.add_service_response(
|
206
211
|
:service=>self,
|
207
|
-
:display_text=>"Search inside some volumes",
|
212
|
+
:display_text=> "Search inside some volumes",
|
213
|
+
:display_text_i18n => "search_inside_some_vols",
|
208
214
|
:url=> record["recordURL"],
|
209
215
|
:service_type_value => :highlighted_link
|
210
216
|
)
|
@@ -231,7 +237,8 @@ class HathiTrust < Service
|
|
231
237
|
|
232
238
|
request.add_service_response(
|
233
239
|
:service => self,
|
234
|
-
:display_text
|
240
|
+
:display_text=> @display_name,
|
241
|
+
:display_text_i18n => "display_name",
|
235
242
|
:url=> direct_url,
|
236
243
|
:service_type_value => :search_inside
|
237
244
|
)
|
@@ -248,19 +255,17 @@ class HathiTrust < Service
|
|
248
255
|
item['itemURL']
|
249
256
|
end
|
250
257
|
end
|
251
|
-
|
252
|
-
def
|
253
|
-
if
|
254
|
-
"
|
255
|
-
|
256
|
-
|
258
|
+
|
259
|
+
def transform_view_data(hash)
|
260
|
+
if hash[:add_i18n_notes] == "single_volume"
|
261
|
+
hash[:notes] = translate("note_for_single_vol", :source => (hash[:source_for_i18n] || ""))
|
262
|
+
elsif hash[:add_i18n_notes] == "partial_volume"
|
263
|
+
hash[:notes] = translate("note_for_multi_vol", :title => (hash[:title_for_i18n] || ""))
|
257
264
|
end
|
265
|
+
|
266
|
+
return hash
|
258
267
|
end
|
259
268
|
|
260
|
-
def excerpt_note_for(record)
|
261
|
-
return nil unless record["titles"].kind_of?(Array)
|
262
|
-
"Some volumes of: #{record["titles"].first}"
|
263
|
-
end
|
264
269
|
|
265
270
|
def is_serial_part?(item)
|
266
271
|
# if it's got enumCron, then it's just part of a serial,
|
@@ -31,7 +31,7 @@ class HipHoldingSearch < Hip3Service
|
|
31
31
|
def handle(request)
|
32
32
|
|
33
33
|
# Only do anything if we have no holdings results from someone else.
|
34
|
-
holdings = request.service_types.
|
34
|
+
holdings = request.service_types.where(:service_type_value_name => "holding")
|
35
35
|
|
36
36
|
if (holdings.length > 0)
|
37
37
|
return request.dispatched(self, true)
|
@@ -146,6 +146,7 @@ class InternetArchive < Service
|
|
146
146
|
request.add_service_response(
|
147
147
|
:service => self,
|
148
148
|
:display_text=> @display_name,
|
149
|
+
:display_text_i18n => "display_name",
|
149
150
|
:url => direct_url.to_s,
|
150
151
|
:service_type_value => :search_inside
|
151
152
|
)
|
@@ -170,6 +171,7 @@ class InternetArchive < Service
|
|
170
171
|
request.add_service_response(
|
171
172
|
:service=>self,
|
172
173
|
:display_text=>display_name,
|
174
|
+
:display_text_i18n => "display_name",
|
173
175
|
:url=>create_result_url(result),
|
174
176
|
:match_reliability => ServiceResponse::MatchUnsure,
|
175
177
|
:edition_str => edition_str(result),
|
data/app/service_adaptors/isi.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
# Uses ISI Web of
|
3
|
+
# Uses ISI Web of Science to generates links to "cited by" and "similar"
|
4
4
|
# articles.
|
5
5
|
#
|
6
6
|
# REQUIREMENTS: You must be an ISI customer if you want these links to actually
|
@@ -39,7 +39,7 @@ class Isi < Service
|
|
39
39
|
def initialize(config)
|
40
40
|
#defaults
|
41
41
|
@wos_app_name = "Umlaut"
|
42
|
-
@display_name = "Web of
|
42
|
+
@display_name = "Web of Science\xc2\xae" # trademark symbol
|
43
43
|
@api_url = "https://ws.isiknowledge.com/cps/xrpc"
|
44
44
|
@include_cited_by = true
|
45
45
|
@include_similar = true
|
@@ -30,7 +30,9 @@
|
|
30
30
|
# A link_out_filter service defines link_out_filter(request, url). If service
|
31
31
|
# returns a new url from filter_url, that's the url the user will be directed
|
32
32
|
# to. If service returns original url or nil, original url will still be used.
|
33
|
-
|
33
|
+
#
|
34
|
+
# See documentation at ServiceResponse regarding how a service generates
|
35
|
+
# ServiceResponses to respond to a user request.
|
34
36
|
class Service
|
35
37
|
attr_reader :priority, :service_id, :url, :task, :status, :name, :group
|
36
38
|
attr_accessor :request
|
@@ -115,43 +117,15 @@ class Service
|
|
115
117
|
raise Exception.new("#{self.class}: #link_out_filter must be implemented by Service concrete sub-class with task link_out_filter!")
|
116
118
|
end
|
117
119
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
120
|
+
# Name of this service, like "Amazon", or "OCLC Worldcat".
|
121
|
+
# First tries to look up an i18n translation using #translate, if not
|
122
|
+
# found, uses a @display_name set in this service, if still not found
|
123
|
+
# uses service_id for lack of anything else.
|
124
|
+
def display_name
|
125
|
+
self.translate("display_name", :default => @display_name || self.service_id)
|
123
126
|
end
|
124
127
|
|
125
128
|
|
126
|
-
# Pass this method a ServiceResponse object, it will return a hash-like object of
|
127
|
-
# display values, for the view. Implementation is usually in sub-class, by
|
128
|
-
# means of a set of methods "to_[service type name]" implemented in sub-class
|
129
|
-
#. parseResponse will find those. Subclasses will not generally override
|
130
|
-
# view_data_from_service_type, although they can for complete custom
|
131
|
-
# handling. Make sure to return a Hash or hash-like (duck-typed) object.
|
132
|
-
def view_data_from_service_type(service_response)
|
133
|
-
|
134
|
-
service_type_code = service_response.service_type_value.name
|
135
|
-
|
136
|
-
begin
|
137
|
-
# try to call a method named "to_#{service_type_code}", implemented by sub-class
|
138
|
-
self.send("to_#{service_type_code}", service_response)
|
139
|
-
rescue NoMethodError
|
140
|
-
# No to_#{response_type} method? How about the catch-all method?
|
141
|
-
# If not implemented in sub-class, we have a VERY basic
|
142
|
-
# default implementation in this class.
|
143
|
-
self.send("response_to_view_data", service_response)
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
# Default implementation to take a ServiceResponse and parse
|
148
|
-
# into a hash of values useful to the view. Basic implementation
|
149
|
-
# just asks ServiceResposne for it's data_values object, which
|
150
|
-
# contains all ServiceResponse data (including arbitrary keys serialized
|
151
|
-
# in the hash) in an object with the hash accessor method [] .
|
152
|
-
def response_to_view_data(service_response)
|
153
|
-
return service_response.data_values
|
154
|
-
end
|
155
129
|
|
156
130
|
# Sub-class can call class method like:
|
157
131
|
# required_config_params :symbol1, :symbol2, symbol3
|
@@ -183,6 +157,21 @@ class Service
|
|
183
157
|
return url
|
184
158
|
end
|
185
159
|
|
160
|
+
# Look up an i18n key scoped to this service, first under the unique ID of
|
161
|
+
# the service, then under the service class name:
|
162
|
+
# * First look for translation under `umlaut.services.#{service_id.underscore}.key`
|
163
|
+
# * If not found, look for translation under `umlaut.services.#{service_class_name.underscore}`
|
164
|
+
# * If still not found, pass in optional default, otherwise you'll get I18n
|
165
|
+
# configured failure behavior.
|
166
|
+
#
|
167
|
+
# second arg is options that can be passed to standard I18n.t, including defaults
|
168
|
+
# and template arguments.
|
169
|
+
def translate(key, options = {})
|
170
|
+
# Modify/add options[:default] to look up under class name too
|
171
|
+
options[:default] = [:"umlaut.services.#{self.class.name.underscore}.#{key}"].concat(Array( options[:default] ))
|
172
|
+
|
173
|
+
I18n.t("umlaut.services.#{self.service_id.underscore}.#{key}", options)
|
174
|
+
end
|
186
175
|
|
187
176
|
# Pre-emption hashes specify a combination of existing responses or
|
188
177
|
# service executions that can pre-empt this service. Can specify
|
@@ -240,12 +229,13 @@ class Service
|
|
240
229
|
end
|
241
230
|
else
|
242
231
|
# Check service responses
|
243
|
-
preemption =
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
232
|
+
preemption = Request.connection_pool.with_connection do
|
233
|
+
uml_request.service_responses.to_a.find do |response|
|
234
|
+
( other_type == "*" || other_type == "+" ||
|
235
|
+
response.service_type_value.name == other_type) &&
|
236
|
+
( service == "*" ||
|
237
|
+
response.service_id == service)
|
238
|
+
end
|
249
239
|
end
|
250
240
|
end
|
251
241
|
break if preemption
|