umlaut 3.1.0 → 3.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/resolve_controller.rb +15 -1
- data/app/controllers/search_methods/sfx4.rb +6 -2
- data/app/controllers/search_methods/sfx4_solr/searcher.rb +31 -3
- data/app/service_adaptors/bx.rb +1 -3
- data/app/service_adaptors/sfx.rb +175 -175
- data/lib/umlaut/version.rb +1 -1
- data/test/dummy/tmp/cache/assets/BFF/760/sprockets%2Fe00969069e468419c393709f042b4527 +0 -0
- data/test/dummy/tmp/cache/assets/C99/040/sprockets%2F84d95490d4855608b8dd8602192f4f9c +0 -0
- data/test/dummy/tmp/cache/assets/{DE8/790/sprockets%2Fd1333bde2b9aafcc712d11dd09ab35d8 → C9D/060/sprockets%2F5c8956a1666824a1d214531abd22e2a2} +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/{D9A/2F0/sprockets%2Fbba0f4b972dc53c15ce6c8c1993b82a4 → CE3/1F0/sprockets%2F9a3b0380fe964d77f0013845d3d355fd} +0 -0
- data/test/dummy/tmp/cache/assets/{CC7/F10/sprockets%2F939637f806eef3f0f21584659458ab2e → CE7/FA0/sprockets%2F98df08987c1b5c0f643a21538a7182ec} +0 -0
- data/test/dummy/tmp/cache/assets/CEA/930/sprockets%2F42ebf67295336dfb5725a8bb12881a98 +0 -0
- data/test/dummy/tmp/cache/assets/{C49/730/sprockets%2F212d35831188417b5131e3e693aa69a6 → D02/B30/sprockets%2Fb9332ebd1d306cc9120a386ca986034d} +0 -0
- data/test/dummy/tmp/cache/assets/D15/FC0/sprockets%2F8cbf3a8b7acb7fc27a42168846226385 +0 -0
- data/test/dummy/tmp/cache/assets/{DF7/960/sprockets%2F99ac6db10b44a64fbba4ee847b35ba8b → D17/BC0/sprockets%2F1ae6578a93a7a3d848319dea314f592d} +0 -0
- data/test/dummy/tmp/cache/assets/{E02/C10/sprockets%2F1463cadfce3fc70e61d482f9fcb75ac7 → 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/{BBA/6A0/sprockets%2F2a335471966f33256b321f8324041981 → D38/930/sprockets%2F45cee52fe11df0057793a6751aa65a4c} +0 -0
- data/test/dummy/tmp/cache/assets/D39/B30/sprockets%2Fcb7b9f6963b829c678ff9267c63577ce +0 -0
- data/test/dummy/tmp/cache/assets/D47/690/sprockets%2Fd92186d33469ff2bd01ba096f33dfd78 +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/{C5A/A80/sprockets%2F2328c7370b56b4151776981a5f6d394e → D5F/690/sprockets%2Febe18c52ead548a955a1f2be191130b3} +0 -0
- data/test/dummy/tmp/cache/assets/{C70/4D0/sprockets%2F034ad2036e623081bd352800786dfe80 → D65/0D0/sprockets%2F9fd0b369f009be410bdb0b6e5458b3a6} +0 -0
- data/test/dummy/tmp/cache/assets/{E5E/5F0/sprockets%2Feffaeb4d7f9bf4c0cc840ff320fde046 → D65/820/sprockets%2Fae5318865ebb4a2b74e84c0e13fb921a} +0 -0
- data/test/dummy/tmp/cache/assets/D6A/A80/sprockets%2F22d5d4e74a9a3f3deb5a92704ae750f3 +0 -0
- data/test/dummy/tmp/cache/assets/{D9C/860/sprockets%2Fec2d9f20b270d70e698ff33e53c21fca → D6B/020/sprockets%2Ffba640f8143fc0c24e3e6616e2eb93a9} +0 -0
- data/test/dummy/tmp/cache/assets/D6B/8C0/sprockets%2Fa0dc07225af433e77fd6a9028a8e3c6e +0 -0
- data/test/dummy/tmp/cache/assets/D72/1E0/sprockets%2Fdee77a9fb00d0a6229fd6b54a8f14197 +0 -0
- data/test/dummy/tmp/cache/assets/D98/990/sprockets%2F710ede3e7f5ebab14e9772fa88c00c02 +0 -0
- data/test/dummy/tmp/cache/assets/{D6E/CF0/sprockets%2F5661c6e4f0cea86fe4523f27261aade5 → DAB/C70/sprockets%2Ff8ac0db14f84bce083a7c58f965e806f} +0 -0
- data/test/dummy/tmp/cache/assets/DAD/BA0/sprockets%2F193f81f7e4eae26eaaa7d909c0c8e956 +0 -0
- data/test/dummy/tmp/cache/assets/{D37/2B0/sprockets%2F40834fb07d7318c1fddd5003bd9e04f6 → DCB/620/sprockets%2F2332a294ceeab3ab9b5ee643989dc0eb} +0 -0
- data/test/dummy/tmp/cache/assets/{DB6/ED0/sprockets%2Ff4482d9b9f76fb65eef16430bde2f8e6 → DD1/120/sprockets%2Fbee5967b8282dab9fce5c242bcc14c55} +0 -0
- data/test/dummy/tmp/cache/assets/DD6/010/sprockets%2F15a8fcbaccc97804fce2ee514e371f79 +0 -0
- data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/DEF/A60/sprockets%2F3fddcee3e5dbd24f28de1001e5f3a009 +0 -0
- data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/{E50/F00/sprockets%2Fec61afdbb1cc4df075e3dad46f0af571 → E2E/350/sprockets%2Fbea81b7c4fdf19664eff44b21ea53dbe} +0 -0
- data/test/dummy/tmp/cache/assets/{DA9/BC0/sprockets%2Fcb9062b73291befe5e5bf2a70978dec8 → EF1/680/sprockets%2Fed8ede7dea4bd22aacb9584fbe7d6cad} +0 -0
- data/test/dummy/tmp/cache/sass/b43409235ed55124ccf6a0235156711682d0fe98/umlaut.css.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{93d65682d6bddb0b2e6788c1232f4849af20a35e → d2b87393a9fcb33d01e765e1c09b76db7f14f647}/bootstrap-responsive.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{93d65682d6bddb0b2e6788c1232f4849af20a35e → d2b87393a9fcb33d01e765e1c09b76db7f14f647}/bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_accordion.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_carousel.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_close.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_code.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_component-animations.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_dropdowns.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_hero-unit.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_labels-badges.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_layouts.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_media.scssc +0 -0
- data/test/dummy/tmp/cache/sass/db21ae7b0d8da2224e8e1d588985ee0507dc926a/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_modals.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_navbar.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_navs.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_pager.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_popovers.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_reset.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_responsive-1200px-min.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_responsive-767px-max.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_responsive-768px-979px.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_responsive-navbar.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_responsive-utilities.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_scaffolding.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_sprites.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_thumbnails.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_tooltip.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_type.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_utilities.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/_wells.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{310d901c169042855feb8cf3903e1e2821d27f13 → db21ae7b0d8da2224e8e1d588985ee0507dc926a}/responsive.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{3af72421a0fbed39d3047687ca0ad6e6e5545041 → fc140da5c32e19b5c3f84a23bb2383ebc83fcc20}/_admin.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{3af72421a0fbed39d3047687ca0ad6e6e5545041 → fc140da5c32e19b5c3f84a23bb2383ebc83fcc20}/_az.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{3af72421a0fbed39d3047687ca0ad6e6e5545041 → fc140da5c32e19b5c3f84a23bb2383ebc83fcc20}/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/sass/fc140da5c32e19b5c3f84a23bb2383ebc83fcc20/_icons.scssc +0 -0
- data/test/dummy/tmp/cache/sass/fc140da5c32e19b5c3f84a23bb2383ebc83fcc20/_layout.scssc +0 -0
- data/test/dummy/tmp/cache/sass/fc140da5c32e19b5c3f84a23bb2383ebc83fcc20/_misc.scssc +0 -0
- data/test/dummy/tmp/cache/sass/fc140da5c32e19b5c3f84a23bb2383ebc83fcc20/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{3af72421a0fbed39d3047687ca0ad6e6e5545041 → fc140da5c32e19b5c3f84a23bb2383ebc83fcc20}/_modal.scssc +0 -0
- data/test/dummy/tmp/cache/sass/fc140da5c32e19b5c3f84a23bb2383ebc83fcc20/_resolve.scssc +0 -0
- data/test/dummy/tmp/cache/sass/fc140da5c32e19b5c3f84a23bb2383ebc83fcc20/_results.scssc +0 -0
- data/test/dummy/tmp/cache/sass/fc140da5c32e19b5c3f84a23bb2383ebc83fcc20/_search.scssc +0 -0
- data/test/dummy/tmp/cache/sass/{3af72421a0fbed39d3047687ca0ad6e6e5545041 → fc140da5c32e19b5c3f84a23bb2383ebc83fcc20}/_spinner.scssc +0 -0
- data/test/dummy/tmp/cache/sass/fc140da5c32e19b5c3f84a23bb2383ebc83fcc20/_variables.scssc +0 -0
- data/test/fixtures/permalinks.yml +1 -1
- data/test/fixtures/referent_values.yml +107 -85
- data/test/fixtures/referents.yml +10 -9
- data/test/fixtures/requests.yml +10 -14
- data/test/fixtures/service_responses.yml +12 -12
- data/test/functional/resolve_controller_test.rb +23 -1
- data/test/test_helper.rb +1 -0
- data/test/unit/README.md +126 -0
- data/test/unit/bx_test.rb +39 -0
- data/test/unit/collection_test.rb +1 -1
- data/test/unit/service_test.rb +1 -1
- data/test/unit/sfx4_solr_search_test.rb +9 -5
- data/test/unit/sfx_test.rb +1 -0
- data/test/vcr_cassettes/bx/article_that_has_recommendations.yml +65 -0
- data/test/vcr_cassettes/sfx4_solr/find_by_group.yml +108 -92
- data/test/vcr_cassettes/sfx4_solr/find_by_title_begins_with.yml +52 -14
- data/test/vcr_cassettes/sfx4_solr/find_by_title_contains.yml +53 -15
- data/test/vcr_cassettes/sfx4_solr/find_by_title_exact.yml +17 -13
- metadata +536 -566
- checksums.yaml +0 -15
- data/app/assets/stylesheets/umlaut/_expand_contract.scss +0 -10
- data/app/controllers/journal_tocs_controller +0 -90
- data/app/models/service_store.rb-NEW +0 -73
- data/app/service_adaptors/tr_link.rb +0 -267
- data/app/service_adaptors/tr_links.rb +0 -278
- data/lib/tasks/Untitled-1 +0 -8
- data/test/dummy/config/umlaut_services-JH.yml +0 -223
- data/test/dummy/config/umlaut_services-TEST.yml +0 -37
- data/test/dummy/tmp/cache/assets/C2A/410/sprockets%2Fd654b74912b4773a2534616863fb6565 +0 -0
- data/test/dummy/tmp/cache/assets/C45/A30/sprockets%2F39494895e462697b478d3d0c79298a26 +0 -0
- data/test/dummy/tmp/cache/assets/C55/1D0/sprockets%2F5af2f2a3403040f736981863fd278529 +0 -0
- data/test/dummy/tmp/cache/assets/C5F/340/sprockets%2F99692920160b7a279b86a80415b79db7 +0 -0
- data/test/dummy/tmp/cache/assets/C80/980/sprockets%2Fc94807409c1523d43e18d25f35d93c41 +0 -0
- data/test/dummy/tmp/cache/assets/C94/E20/sprockets%2F19579abc248373f419b1c3e287d74598 +0 -0
- data/test/dummy/tmp/cache/assets/C98/330/sprockets%2F0c81574ba94abc10657315d4190c201f +0 -0
- data/test/dummy/tmp/cache/assets/CA4/440/sprockets%2F0feb4425db6319d7d0582192a503671b +0 -0
- data/test/dummy/tmp/cache/assets/CA7/E80/sprockets%2F33310f455a870eaedd6d938e30620714 +0 -0
- data/test/dummy/tmp/cache/assets/CB8/3C0/sprockets%2F697cd846490fda9f0e20c558320610f8 +0 -0
- data/test/dummy/tmp/cache/assets/CBD/730/sprockets%2F034c1086748b981c36672d5a56e7fed6 +0 -0
- data/test/dummy/tmp/cache/assets/CBF/B60/sprockets%2F08ca89671549936265dcb673bf02e36f +0 -0
- data/test/dummy/tmp/cache/assets/CC9/9F0/sprockets%2F306166316e2cafd13c15e62b51a2339d +0 -0
- data/test/dummy/tmp/cache/assets/CD1/F20/sprockets%2F385e5fb31cf27e262480d1174be1d500 +0 -0
- data/test/dummy/tmp/cache/assets/CF7/2B0/sprockets%2F25a7c73655bd3598173b39d9f98bcd46 +0 -0
- data/test/dummy/tmp/cache/assets/CF8/DA0/sprockets%2Ff5b8c8499d3da954d392fa57739503c5 +0 -0
- data/test/dummy/tmp/cache/assets/CF9/590/sprockets%2F096bcc45cd31b3796fa2121cd203215f +0 -0
- data/test/dummy/tmp/cache/assets/CFE/080/sprockets%2F37fe9f4255baddbd549a659914929398 +0 -0
- data/test/dummy/tmp/cache/assets/D04/CC0/sprockets%2Fe9c1b92f2e437e1bbbe020d718739220 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/090/sprockets%2F58009091c95e3ac328c91c68fca30e0e +0 -0
- data/test/dummy/tmp/cache/assets/D16/F90/sprockets%2F5fe3c021048c6f9a6086bed7736d87b1 +0 -0
- data/test/dummy/tmp/cache/assets/D1A/B50/sprockets%2F2db5892438129fe94da8429b8be114ec +0 -0
- data/test/dummy/tmp/cache/assets/D24/360/sprockets%2F6987b047a96dc685ba3cf39b31477f6d +0 -0
- data/test/dummy/tmp/cache/assets/D2D/1A0/sprockets%2F376426b4896a3cff7969ce6c7b387e0e +0 -0
- data/test/dummy/tmp/cache/assets/D43/0D0/sprockets%2F682843a8d0795a5fbcfeb2f0c81727d0 +0 -0
- data/test/dummy/tmp/cache/assets/D46/F80/sprockets%2Fb15c08e749067d7aad9baf5e9388221c +0 -0
- data/test/dummy/tmp/cache/assets/D6C/7D0/sprockets%2F8a05d6981ec0d38c51739bef0b3a9c2b +0 -0
- data/test/dummy/tmp/cache/assets/D94/FF0/sprockets%2F3b56a1aa77de0d570c38a4a9d5f4b1d6 +0 -0
- data/test/dummy/tmp/cache/assets/D97/6B0/sprockets%2Fb070e8c799d1a4ad5e62e0a1ae3b83e6 +0 -0
- data/test/dummy/tmp/cache/assets/DA6/A80/sprockets%2F92e26d8e58d5bcc8b8f6c25d1b05b9c1 +0 -0
- data/test/dummy/tmp/cache/assets/DA8/BB0/sprockets%2F0cf1c7e9f966dce425517c0e2a844efe +0 -0
- data/test/dummy/tmp/cache/assets/DC0/D20/sprockets%2F1ccf7405cd252dcec4bf23af82e2563a +0 -0
- data/test/dummy/tmp/cache/assets/DCF/7B0/sprockets%2Ffaa6a4d1af3261fca7b6ddc987386b90 +0 -0
- data/test/dummy/tmp/cache/assets/DD2/D80/sprockets%2Fc66d103807d0f971fbbcf9aa8b8b27ee +0 -0
- data/test/dummy/tmp/cache/assets/DFC/040/sprockets%2F15ea81cf915c0cb1dfc9cc04c9fef364 +0 -0
- data/test/dummy/tmp/cache/assets/DFD/300/sprockets%2Fabac9489cf7f1db8ef00d72a1571ee1e +0 -0
- data/test/dummy/tmp/cache/assets/E38/FE0/sprockets%2Fe1fc875efa817cbb94a5d8de25ea4e6b +0 -0
- data/test/dummy/tmp/cache/assets/E5F/960/sprockets%2Fdc007b6cad5c7ef08e33ec28cfff0ef6 +0 -0
- data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_base.scssc +0 -0
- data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_icons.scssc +0 -0
- data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_misc.scssc +0 -0
- data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_resolve.scssc +0 -0
- data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_results.scssc +0 -0
- data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_search.scssc +0 -0
- data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/sass/fb58c04fd15fcc38a8c4d91b7070bcfeaf1c3799/umlaut.css.scssc +0 -0
- data/test/dummy/tmp/performance/BenchmarkerTest#test_puts_foo_gc_runs.csv +0 -2
- data/test/dummy/tmp/performance/BenchmarkerTest#test_puts_foo_gc_time.csv +0 -2
- data/test/dummy/tmp/performance/BenchmarkerTest#test_puts_foo_memory.csv +0 -2
- data/test/dummy/tmp/performance/BenchmarkerTest#test_puts_foo_objects.csv +0 -2
- data/test/dummy/tmp/performance/BenchmarkerTest#test_puts_foo_wall_time.csv +0 -2
- data/test/dummy/tmp/performance/ProfilerTest#test_puts_foo_process_time_flat.txt +0 -11
- data/test/dummy/tmp/performance/ProfilerTest#test_puts_foo_process_time_graph.html +0 -303
- data/test/dummy/tmp/performance/ProfilerTest#test_puts_foo_process_time_stack.html +0 -546
- data/test/dummy/tmp/performance/ProfilerTest#test_puts_foo_process_time_tree.txt +0 -38
- data/test/dummy/tmp/performance/empty.png +0 -0
- data/test/dummy/tmp/performance/minus.png +0 -0
- data/test/dummy/tmp/performance/plus.png +0 -0
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
NGI2MGIwNmNkODZjOGY4MGRiZmVkYTBiYTBkYjdhYjE0NGU4Y2MyNQ==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NjJhNWI0MDY3YjRkYTYwYTNiYzE4NDU0YTRhMGZkNmRmODE2YzMxYg==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NDAyY2I2NDE5NTY4ZDg3ZDlmNWYxNzc5MDQ1ZTgwM2E3NmM5OWI2NTNlMzEx
|
10
|
-
MmFhN2U3ZTI2YzhlZGI4MjI0OTc0YTUwYWRmNTJlOTQyZWM5MGViODgzYWYy
|
11
|
-
ODlhYjk5OTQwZDBhNWYwYmUzZmZmM2M1NGE2YWUyYjZhY2M4NWE=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
Y2MwZGE5MGU2NjJhMDQ1Y2NiNjRhODgwZWVkZTU4YWZiNDYwNjQ5YjgxOTE5
|
14
|
-
NDc4ZTgxMjY2OTAxNTc3NTZmYzNkYzZjNTE2NjRmOWE5NGI3MzM4YjdmOTk4
|
15
|
-
ODExOTdmNDBhZWFlYWQzNTRhZjY2MDRiY2U2ODg0Zjc1OTI4MmQ=
|
@@ -1,90 +0,0 @@
|
|
1
|
-
# register an email address at: http://www.journaltocs.ac.uk/index.php?action=register
|
2
|
-
|
3
|
-
class JournalTocsController < UmlautController
|
4
|
-
|
5
|
-
def show
|
6
|
-
@issn = params["rft.issn"] || params["issn"]
|
7
|
-
|
8
|
-
if @issn.blank?
|
9
|
-
render :status => 500, :text => "Client must supply an ISSN"
|
10
|
-
return
|
11
|
-
end
|
12
|
-
@title = params["rft.title"] || params["title"]
|
13
|
-
|
14
|
-
fetcher = JournalTocsFetcher.new(@issn)
|
15
|
-
@results = fetcher.items
|
16
|
-
|
17
|
-
if @results.empty?
|
18
|
-
render :status => 404, :text => "No current articles available for #{@title} #{@issn}"
|
19
|
-
return
|
20
|
-
end
|
21
|
-
|
22
|
-
# direct to use our custom decorator
|
23
|
-
@results.each {|r| r.decorator = "JournalTocsController::ArticleDecorator" }
|
24
|
-
|
25
|
-
# No title given? Let's try to sniff one from the results.
|
26
|
-
if @title.blank?
|
27
|
-
@title = @results.first.try(:journal_title)
|
28
|
-
end
|
29
|
-
|
30
|
-
|
31
|
-
respond_to do |format|
|
32
|
-
format.html # journal_tocs/show.html.erb
|
33
|
-
format.atom do
|
34
|
-
render( :template => "bento_search/atom_results",
|
35
|
-
:locals => {
|
36
|
-
:atom_results => @results,
|
37
|
-
:feed_name => "Recent Articles from #{@title || @issn}",
|
38
|
-
:feed_author_name => "MyCorp"
|
39
|
-
}
|
40
|
-
)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
# A article decorator from BentoSearch, where we customize our links:
|
47
|
-
# If we have enough info for an OpenURL, do a self-pointing OpenURL
|
48
|
-
# to us, set with redirect to fulltext. If there is not enough info
|
49
|
-
# for an openurl, no link at all at present.
|
50
|
-
#
|
51
|
-
# Possible enhancements: Refworks link. Find It link without auto redirect.
|
52
|
-
# link to publisher link if it's open access?
|
53
|
-
# link to publisher link through ezproxy even if it's not, on a wing and a prayer?
|
54
|
-
class ArticleDecorator < BentoSearch::StandardDecorator
|
55
|
-
def link
|
56
|
-
if sufficient_for_openurl?
|
57
|
-
_h.resolve_url + "?#{self.to_openurl_kev}¨aut.skip_resolve_menu_for_type=fulltext"
|
58
|
-
else
|
59
|
-
nil
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
def sufficient_for_openurl?
|
64
|
-
doi.present? || (issn.present? && volume.present? && issue.present? && start_page.present?)
|
65
|
-
end
|
66
|
-
|
67
|
-
# We don't want to display format
|
68
|
-
def display_format
|
69
|
-
nil
|
70
|
-
end
|
71
|
-
|
72
|
-
# force display of complete date if present, even for journals.
|
73
|
-
def display_date
|
74
|
-
if self.publication_date
|
75
|
-
I18n.localize(self.publication_date, :format => "%d %b %Y")
|
76
|
-
elsif self.year
|
77
|
-
self.year.to_s
|
78
|
-
else
|
79
|
-
nil
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
end
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
end
|
90
|
-
|
@@ -1,73 +0,0 @@
|
|
1
|
-
# Loads Service definitions from Rails.root/config/umlaut_services.yml
|
2
|
-
# instantiates services from definitions, by id.
|
3
|
-
#
|
4
|
-
# It's terrible we need to do this globally like this, but
|
5
|
-
# too hard to back out of legacy design now.
|
6
|
-
class ServiceStore
|
7
|
-
@@global_service_store = ServiceStore.new
|
8
|
-
def self.global_service_store
|
9
|
-
@@global_service_store
|
10
|
-
end
|
11
|
-
|
12
|
-
# certain class methods all default to global default ServiceStore,
|
13
|
-
# for global ServiceStore.
|
14
|
-
[:config, :service_definitions, :service_definition_for, :'instantiate_service!'].each do |method|
|
15
|
-
self.define_singleton_method(method) do |*args|
|
16
|
-
global_service_store.send(method, *args)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
|
21
|
-
# Returns complete hash loaded from services.yml
|
22
|
-
def config
|
23
|
-
# cache hash loaded from YAML, ensure it has the keys we expect.
|
24
|
-
unless defined? @services_config_list
|
25
|
-
yaml_path = File.expand_path("config/umlaut_services.yml", Rails.root)
|
26
|
-
@services_config_list = (File.exists? yaml_path) ? YAML::load(File.open(yaml_path)) : {}
|
27
|
-
@services_config_list["default"] ||= {}
|
28
|
-
@services_config_list["default"]["services"] ||= {}
|
29
|
-
end
|
30
|
-
return @services_config_list
|
31
|
-
end
|
32
|
-
|
33
|
-
# Returns hash keyed by unique service name, value service definition
|
34
|
-
# hash.
|
35
|
-
def service_definitions
|
36
|
-
unless defined? @service_definitions
|
37
|
-
@service_definitions = {}
|
38
|
-
config.each_pair do |group_name, group|
|
39
|
-
if group["services"]
|
40
|
-
# Add the group name to each service
|
41
|
-
# in the group
|
42
|
-
group["services"].each_pair do |service_id, service|
|
43
|
-
service["group"] = group_name
|
44
|
-
end
|
45
|
-
# Merge the group's services into the service definitions.
|
46
|
-
@service_definitions.merge!( group["services"] )
|
47
|
-
end
|
48
|
-
end
|
49
|
-
# set service_id key in each based on hash key
|
50
|
-
@service_definitions.each_pair do |key, hash|
|
51
|
-
hash["service_id"] = key
|
52
|
-
end
|
53
|
-
end
|
54
|
-
return @service_definitions
|
55
|
-
end
|
56
|
-
|
57
|
-
def service_definition_for(service_id)
|
58
|
-
return service_definitions[service_id]
|
59
|
-
end
|
60
|
-
|
61
|
-
# pass in string unique key OR a service definition hash,
|
62
|
-
# and a current UmlautRequest.
|
63
|
-
# get back instantiated Service object.
|
64
|
-
def instantiate_service!(service, request)
|
65
|
-
definition = service.kind_of?(Hash) ? service : service_definition_for(service.to_s)
|
66
|
-
raise "Service '#{service}'' does not exist in umlaut-services.yml" if definition.nil?
|
67
|
-
className = definition["type"] || definition["service_id"]
|
68
|
-
classConst = Kernel.const_get(className)
|
69
|
-
service = classConst.new(definition)
|
70
|
-
service.request = request
|
71
|
-
return service
|
72
|
-
end
|
73
|
-
end
|
@@ -1,267 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Uses ISI Web of Knowledge to generates links to "cited by" and "similar"
|
4
|
-
# articles.
|
5
|
-
#
|
6
|
-
# REQUIREMENTS: You must be an ISI customer if you want these links to actually
|
7
|
-
# work for your users. Off-campus users should be sent through EZProxy, see
|
8
|
-
# the EZProxy plug-in.
|
9
|
-
#
|
10
|
-
# You need to register for the the Thomson 'Links Article Match Retrieval'
|
11
|
-
# (LAMR) service api, which is used here. To register, see:
|
12
|
-
# http://wokinfo.com/products_tools/products/related/amr/
|
13
|
-
#
|
14
|
-
# You register by IP address, so no API key is needed once your registration
|
15
|
-
# goes through.
|
16
|
-
#
|
17
|
-
# If you later need to change the IP addresses entitled to use this API, use
|
18
|
-
# http://scientific.thomson.com/scientific/techsupport/cpe/form.html.
|
19
|
-
# to request a change.
|
20
|
-
#
|
21
|
-
# File support/outage tickets at http://ip-science.thomsonreuters.com/support/
|
22
|
-
#
|
23
|
-
# Note, as of 13 april 09, there's a bug in ISI where journal titles including
|
24
|
-
# ampersands cause an error. We will catch those errors and output a 'warning'
|
25
|
-
# instead of an 'error', since it's a known problem.
|
26
|
-
class Isi < Service
|
27
|
-
require 'open-uri'
|
28
|
-
require 'nokogiri'
|
29
|
-
require 'net/http'
|
30
|
-
require 'builder'
|
31
|
-
|
32
|
-
include MetadataHelper
|
33
|
-
|
34
|
-
|
35
|
-
def service_types_generated
|
36
|
-
return [ServiceTypeValue[:cited_by]]
|
37
|
-
end
|
38
|
-
|
39
|
-
def initialize(config)
|
40
|
-
#defaults
|
41
|
-
@wos_app_name = "Umlaut"
|
42
|
-
@display_name = "Web of Knowledge\xc2\xae" # trademark symbol
|
43
|
-
@api_url = "https://ws.isiknowledge.com/cps/xrpc"
|
44
|
-
@include_cited_by = true
|
45
|
-
@include_similar = true
|
46
|
-
|
47
|
-
@credits = {
|
48
|
-
@display_name => "http://apps.webofknowledge.com"
|
49
|
-
}
|
50
|
-
|
51
|
-
super(config)
|
52
|
-
end
|
53
|
-
|
54
|
-
def handle(request)
|
55
|
-
|
56
|
-
unless ( sufficient_metadata?(request.referent))
|
57
|
-
return request.dispatched(self, true)
|
58
|
-
end
|
59
|
-
|
60
|
-
xml = gen_lamr_request(request)
|
61
|
-
|
62
|
-
isi_response = do_lamr_request(xml)
|
63
|
-
|
64
|
-
|
65
|
-
begin
|
66
|
-
#raise if it's an error HTTP response
|
67
|
-
isi_response.value
|
68
|
-
|
69
|
-
response_xml = Nokogiri::XML(isi_response.body)
|
70
|
-
# Check for errors.
|
71
|
-
if (error = (response_xml.at('val[@name = "error"]') || response_xml.at("error") || response_xml.at('null[@name = "error"]')))
|
72
|
-
raise IsiResponseException.new("ISI service reported error: #{error.inner_text}")
|
73
|
-
end
|
74
|
-
|
75
|
-
add_responses( request, response_xml )
|
76
|
-
rescue IsiResponseException => e
|
77
|
-
# Is this the known problem with ampersands?
|
78
|
-
# if so, output a warning, but report success not exception,
|
79
|
-
# because this is a known condition.
|
80
|
-
metadata = request.referent.metadata
|
81
|
-
if ( (metadata["title"] && metadata["title"].include?('&')) ||
|
82
|
-
(metadata["jtitle"] && metadata['jtitle'].include?('&')))
|
83
|
-
Rails.logger.warn("ISI LAMR still exhibiting ampersand problems: #{e.message} ; OpenURL: ?#{request.to_context_object.kev}")
|
84
|
-
return request.dispatched(self, true)
|
85
|
-
else
|
86
|
-
# Log the error, return exception condition.
|
87
|
-
|
88
|
-
error_parts = []
|
89
|
-
error_parts << "ISI URI: #{@api_url}"
|
90
|
-
error_parts << "Request XML: #{xml}"
|
91
|
-
error_parts << "ISI Response body: #{response_xml}"
|
92
|
-
|
93
|
-
|
94
|
-
Rails.logger.error("#{e.message} ; " + error_parts.join("\n ") )
|
95
|
-
return request.dispatched(self, false, e)
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
return request.dispatched(self, true)
|
100
|
-
end
|
101
|
-
|
102
|
-
# A DOI is always sufficient. Otherwise, it gets complicated because the ISI
|
103
|
-
# service is kind of picky in weird ways. ISSN alone is not enough, we need
|
104
|
-
# jtitle. Once you have jtitle, Vol/issue/start page are often enough, but
|
105
|
-
# article title really helps, and jtitle+atitle+year is often enough too.
|
106
|
-
def sufficient_metadata?(referent)
|
107
|
-
metadata = referent.metadata
|
108
|
-
return get_doi(referent) || get_pmid(referent) ||
|
109
|
-
( ( metadata['jtitle'] ||
|
110
|
-
metadata['title'] ) &&
|
111
|
-
(! (metadata['atitle'].blank? ||
|
112
|
-
metadata['date'].blank?
|
113
|
-
) ||
|
114
|
-
! ( metadata['volume'].blank? || metadata['issue'].blank? ||
|
115
|
-
metadata['spage'].blank?))
|
116
|
-
)
|
117
|
-
end
|
118
|
-
|
119
|
-
# produces XML to be posted to Thomson 'Links Article Match Retrieval' service api.
|
120
|
-
def gen_lamr_request(request)
|
121
|
-
output = ""
|
122
|
-
|
123
|
-
builder = Builder::XmlMarkup.new(:target => output, :indent => 2)
|
124
|
-
builder.instruct!(:xml, :encoding => "UTF-8")
|
125
|
-
|
126
|
-
builder.request(:xmlns => "http://www.isinet.com/xrpc41", :src => "app.id=Umlaut") do
|
127
|
-
builder.fn(:name => "LinksAMR.retrieve") do
|
128
|
-
builder.list do
|
129
|
-
# first map is authentication info. empty 'map' element since we are IP authenticated.
|
130
|
-
builder.map
|
131
|
-
# specify what we're requesting
|
132
|
-
builder.map do
|
133
|
-
builder.list(:name=>"WOS") do
|
134
|
-
builder.val("timesCited")
|
135
|
-
builder.val("ut")
|
136
|
-
builder.val("doi")
|
137
|
-
builder.val("sourceURL")
|
138
|
-
builder.val("citingArticlesURL")
|
139
|
-
builder.val("relatedRecordsURL")
|
140
|
-
end
|
141
|
-
end
|
142
|
-
# specify our query
|
143
|
-
builder.map do
|
144
|
-
builder.map(:name => "cite_id") do
|
145
|
-
# Here's the tricky part, depends on what we've got.
|
146
|
-
metadata = request.referent.metadata
|
147
|
-
|
148
|
-
# DOI
|
149
|
-
if ( doi = get_doi(request.referent))
|
150
|
-
builder.val(doi, :name => "doi")
|
151
|
-
end
|
152
|
-
|
153
|
-
if ( pmid = get_pmid(request.referent))
|
154
|
-
builder.val(pmid, :name => "pmid")
|
155
|
-
end
|
156
|
-
|
157
|
-
# Journal title is crucial for ISI -- ISSN alone is
|
158
|
-
# not enough, weirdly!
|
159
|
-
if ( ! metadata['jtitle'].blank? )
|
160
|
-
builder.val(metadata['jtitle'], :name => "stitle" )
|
161
|
-
else
|
162
|
-
builder.val(metadata['title'], :name => 'stitle' )
|
163
|
-
end
|
164
|
-
|
165
|
-
# ISSN, not actually used much by ISI, but can't hurt.
|
166
|
-
if ( issn = request.referent.issn )
|
167
|
-
# ISSN _needs_ a hyphen for WoS, bah!
|
168
|
-
unless issn.match( /\-/ )
|
169
|
-
issn = issn[0,4] + '-' + issn[4,7]
|
170
|
-
end
|
171
|
-
builder.val(issn, :name => "issn")
|
172
|
-
end
|
173
|
-
|
174
|
-
# article title often helpful.
|
175
|
-
unless ( metadata['atitle'].blank?)
|
176
|
-
builder.val( metadata['atitle'], :name => "atitle")
|
177
|
-
end
|
178
|
-
# year
|
179
|
-
unless ( metadata['date'].blank?)
|
180
|
-
#first four digits are year
|
181
|
-
builder.val( metadata["date"][0,4], :name => "year" )
|
182
|
-
end
|
183
|
-
|
184
|
-
# Vol/issue/page. Oddly, issue isn't used very strongly
|
185
|
-
# by ISI, but can't hurt.
|
186
|
-
unless ( metadata['volume'].blank? )
|
187
|
-
builder.val(metadata['volume'], :name => 'vol')
|
188
|
-
end
|
189
|
-
unless ( metadata['issue'].blank? )
|
190
|
-
builder.val( metadata['issue'] , :name => 'issue')
|
191
|
-
end
|
192
|
-
unless ( metadata['spage'].blank? )
|
193
|
-
builder.val(metadata['spage'], :name => 'spage ')
|
194
|
-
end
|
195
|
-
|
196
|
-
end
|
197
|
-
end
|
198
|
-
end
|
199
|
-
end
|
200
|
-
end
|
201
|
-
return output
|
202
|
-
end
|
203
|
-
|
204
|
-
def do_lamr_request(xml)
|
205
|
-
uri = URI.parse(@api_url)
|
206
|
-
http = Net::HTTP.new(uri.host, uri.port)
|
207
|
-
http.use_ssl = true if (uri.scheme == 'https')
|
208
|
-
|
209
|
-
headers = {'Content-Type' => 'application/xml'}
|
210
|
-
|
211
|
-
return http.post(uri.request_uri, xml, headers)
|
212
|
-
end
|
213
|
-
|
214
|
-
def add_responses(request, response_xml)
|
215
|
-
|
216
|
-
results = response_xml.at('map[@name ="cite_id"] map[@name="WOS"]')
|
217
|
-
unless (results)
|
218
|
-
error_message = "#{self.id}: "
|
219
|
-
error_message << 'Unexpected ISI response. The ISI response was not reported as an error, but did not contain a <map name="WOS"> inside a <map name="cite_id"> as we expected it to:'
|
220
|
-
error_message << "\n ISI XML request:\n#{gen_lamr_request(request)}\n"
|
221
|
-
error_message << "\n ISI http response status: #{isi_response.code}\n"
|
222
|
-
error_message << "\n ISI http response body:\n#{isi_response.body}\n"
|
223
|
-
Rails.logger.error(error_message)
|
224
|
-
end
|
225
|
-
|
226
|
-
|
227
|
-
# cited by
|
228
|
-
count = results.at('val[@name="timesCited"]')
|
229
|
-
count = count ? count.inner_text.to_i : 0
|
230
|
-
|
231
|
-
cited_by_url = results.at('val[@name="citingArticlesURL"]')
|
232
|
-
cited_by_url = cited_by_url.inner_text if cited_by_url
|
233
|
-
|
234
|
-
if (@include_cited_by && count > 0 && cited_by_url )
|
235
|
-
label = ServiceTypeValue[:cited_by].display_name_pluralize.downcase.capitalize
|
236
|
-
if count && count == 1
|
237
|
-
label = ServiceTypeValue[:cited_by].display_name.downcase.capitalize
|
238
|
-
end
|
239
|
-
|
240
|
-
request.add_service_response(:service=>self,
|
241
|
-
:display_text => "#{count} #{label}",
|
242
|
-
:count=> count,
|
243
|
-
:url => cited_by_url,
|
244
|
-
:debug_info => "url: " + cited_by_url,
|
245
|
-
:service_type_value => :cited_by)
|
246
|
-
end
|
247
|
-
|
248
|
-
# similar
|
249
|
-
|
250
|
-
similar_url = results.at('val[@name ="relatedRecordsURL"]')
|
251
|
-
similar_url = similar_url.inner_text if similar_url
|
252
|
-
|
253
|
-
if (@include_similar && similar_url )
|
254
|
-
request.add_service_response( :service=>self,
|
255
|
-
:display_text => " #{ServiceTypeValue[:similar].display_name_pluralize.downcase.capitalize}",
|
256
|
-
:url => similar_url,
|
257
|
-
:debug_info => "url: " + similar_url,
|
258
|
-
:service_type_value => :similar)
|
259
|
-
end
|
260
|
-
|
261
|
-
end
|
262
|
-
|
263
|
-
end
|
264
|
-
|
265
|
-
class IsiResponseException < StandardError
|
266
|
-
|
267
|
-
end
|