umlaut 3.0.0beta2 → 3.0.0beta3
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/umlaut/{expand_contract_toggle.js → expand_contract_toggle.js.erb} +4 -4
- data/app/controllers/store_controller.rb +2 -6
- data/lib/service_adaptors/primo_service.rb +39 -14
- data/lib/service_adaptors/sfx.rb +23 -22
- data/lib/service_adaptors/worldcat_identities.rb +3 -3
- data/lib/umlaut/version.rb +1 -1
- data/test/integration/permalinks_test.rb +19 -0
- metadata +45 -132
- data/lib/exlibris/aleph/patron.rb +0 -64
- data/lib/exlibris/aleph/record.rb +0 -54
- data/lib/exlibris/aleph/rest_api.rb +0 -29
- data/lib/exlibris/primo/holding.rb +0 -186
- data/lib/exlibris/primo/related_link.rb +0 -17
- data/lib/exlibris/primo/rsrc.rb +0 -17
- data/lib/exlibris/primo/searcher.rb +0 -297
- data/lib/exlibris/primo/source/aleph.rb +0 -46
- data/lib/exlibris/primo/source/distribution/nyu_aleph.rb +0 -344
- data/lib/exlibris/primo/toc.rb +0 -17
- data/lib/exlibris/primo_ws.rb +0 -140
- 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/C5F/340/sprockets%2F99692920160b7a279b86a80415b79db7 +0 -0
- data/test/dummy/tmp/cache/assets/C70/4D0/sprockets%2F034ad2036e623081bd352800786dfe80 +0 -0
- data/test/dummy/tmp/cache/assets/C80/980/sprockets%2Fc94807409c1523d43e18d25f35d93c41 +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/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/CF7/2B0/sprockets%2F25a7c73655bd3598173b39d9f98bcd46 +0 -0
- data/test/dummy/tmp/cache/assets/CFE/080/sprockets%2F37fe9f4255baddbd549a659914929398 +0 -0
- data/test/dummy/tmp/cache/assets/D16/F90/sprockets%2F5fe3c021048c6f9a6086bed7736d87b1 +0 -0
- data/test/dummy/tmp/cache/assets/D24/360/sprockets%2F6987b047a96dc685ba3cf39b31477f6d +0 -0
- data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/D33/FD0/sprockets%2F2ba0b4e6334a77b923e5f770381bb2bf +0 -0
- data/test/dummy/tmp/cache/assets/D37/2B0/sprockets%2F40834fb07d7318c1fddd5003bd9e04f6 +0 -0
- data/test/dummy/tmp/cache/assets/D43/0D0/sprockets%2F682843a8d0795a5fbcfeb2f0c81727d0 +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/D6C/7D0/sprockets%2F8a05d6981ec0d38c51739bef0b3a9c2b +0 -0
- data/test/dummy/tmp/cache/assets/D74/4C0/sprockets%2F64fdf30f75592d6e45fcfc45a48d20a2 +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/DC0/D20/sprockets%2F1ccf7405cd252dcec4bf23af82e2563a +0 -0
- data/test/dummy/tmp/cache/assets/DD2/D80/sprockets%2Fc66d103807d0f971fbbcf9aa8b8b27ee +0 -0
- data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/DE8/790/sprockets%2Fd1333bde2b9aafcc712d11dd09ab35d8 +0 -0
- data/test/dummy/tmp/cache/assets/DF7/960/sprockets%2F99ac6db10b44a64fbba4ee847b35ba8b +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/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +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/unit/aleph_patron_test.rb +0 -44
- data/test/unit/aleph_record_benchmarks.rb +0 -32
- data/test/unit/aleph_record_test.rb +0 -35
- data/test/unit/primo_searcher_test.rb +0 -415
- data/test/unit/primo_ws_test.rb +0 -147
data/app/assets/javascripts/umlaut/{expand_contract_toggle.js → expand_contract_toggle.js.erb}
RENAMED
@@ -5,15 +5,15 @@ jQuery(document).ready(function($) {
|
|
5
5
|
var content = $(this).next(".expand_contract_content");
|
6
6
|
var icon = $(this).parent().find('img.toggle_icon');
|
7
7
|
|
8
|
-
if (content.is(":visible")) {
|
9
|
-
icon.attr("src",
|
8
|
+
if (content.is(":visible")) {
|
9
|
+
icon.attr("src", '<%= image_path("list_closed.png") %>');
|
10
10
|
$(this).find(".expand_contract_action_label").text("Show ");
|
11
11
|
|
12
12
|
content.hide();
|
13
13
|
|
14
14
|
}
|
15
|
-
else {
|
16
|
-
icon.attr("src",
|
15
|
+
else {
|
16
|
+
icon.attr("src", '<%= image_path("list_open.png") %>');
|
17
17
|
$(this).find(".expand_contract_action_label").text("Hide ");
|
18
18
|
content.show();
|
19
19
|
}
|
@@ -3,12 +3,8 @@ class StoreController < UmlautController
|
|
3
3
|
require 'openurl'
|
4
4
|
def index
|
5
5
|
|
6
|
-
perm = Permalink.
|
7
|
-
|
8
|
-
unless perm
|
9
|
-
raise NotFound.new("Permalink request could not be resolved. Returning 404. Permalink id: #{params[:id]}")
|
10
|
-
end
|
11
|
-
|
6
|
+
perm = Permalink.find(params[:id])
|
7
|
+
|
12
8
|
co = OpenURL::ContextObject.new
|
13
9
|
|
14
10
|
# We might have a link to a Referent in our db, or we might
|
@@ -119,9 +119,12 @@
|
|
119
119
|
# user system total real
|
120
120
|
# PrimoService Minimum Config: 3.470000 0.050000 3.520000 ( 4.567797)
|
121
121
|
# PrimoService Default Config: 3.420000 0.050000 3.470000 ( 3.990271)
|
122
|
-
|
123
122
|
class PrimoService < Service
|
123
|
+
require 'exlibris-primo'
|
124
|
+
|
124
125
|
required_config_params :base_url, :vid, :institution
|
126
|
+
# For matching purposes.
|
127
|
+
attr_reader :title, :author
|
125
128
|
|
126
129
|
# Overwrites Service#new.
|
127
130
|
def initialize(config)
|
@@ -187,10 +190,10 @@ class PrimoService < Service
|
|
187
190
|
# Overwrites Service#handle.
|
188
191
|
def handle(request)
|
189
192
|
@identifier = request.referrer_id
|
190
|
-
primo_id = @identifier.match(/primo-(.+)/)[1] if primo_identifier? unless @identifier.nil? or @identifier.match(/primo-(.+)/).nil?
|
193
|
+
@primo_id = @identifier.match(/primo-(.+)/)[1] if primo_identifier? unless @identifier.nil? or @identifier.match(/primo-(.+)/).nil?
|
191
194
|
# DEPRECATED
|
192
195
|
# Extend OpenURL standard to take Primo Doc Id
|
193
|
-
primo_id = request.referent.metadata['primo'] unless request.referent.metadata['primo'].nil?
|
196
|
+
@primo_id = request.referent.metadata['primo'] unless request.referent.metadata['primo'].nil?
|
194
197
|
Rails.logger.warn("Use of 'rft.primo' is deprecated. Please use the identifier instead.") unless request.referent.metadata['primo'].nil?
|
195
198
|
# End DEPRECATED
|
196
199
|
searcher_setup = {
|
@@ -198,13 +201,14 @@ class PrimoService < Service
|
|
198
201
|
:config => primo_config
|
199
202
|
}
|
200
203
|
# don't send mal-formed issn
|
201
|
-
issn = request.referent.metadata['issn'] if request.referent.metadata['issn'] =~ /\d{4}(-)?\d{3}(\d|X)/
|
202
|
-
|
204
|
+
@issn = request.referent.metadata['issn'] if request.referent.metadata['issn'] =~ /\d{4}(-)?\d{3}(\d|X)/
|
205
|
+
@isbn = request.referent.metadata['isbn']
|
206
|
+
@title = title(request)
|
203
207
|
search_params = {
|
204
|
-
:primo_id => primo_id,
|
205
|
-
:isbn =>
|
206
|
-
:issn => issn,
|
207
|
-
:title => title,
|
208
|
+
:primo_id => @primo_id,
|
209
|
+
:isbn => @isbn,
|
210
|
+
:issn => @issn,
|
211
|
+
:title => @title,
|
208
212
|
:author => author(request),
|
209
213
|
:genre => request.referent.metadata['genre']
|
210
214
|
}
|
@@ -220,7 +224,7 @@ class PrimoService < Service
|
|
220
224
|
end
|
221
225
|
# Enhance the referent with metadata from Primo Searcher if primo id is present
|
222
226
|
# i.e. if we did our search with the Primo system number
|
223
|
-
if primo_id and @service_types.include?("referent_enhance")
|
227
|
+
if @primo_id and @service_types.include?("referent_enhance")
|
224
228
|
@referent_enhancements.each do |key, options|
|
225
229
|
value = (options[:value].nil?) ? key.to_sym : options[:value].to_sym
|
226
230
|
request.referent.enhance_referent(
|
@@ -229,10 +233,10 @@ class PrimoService < Service
|
|
229
233
|
) if primo_searcher.respond_to? value and not primo_searcher.method(value).call.nil?
|
230
234
|
end
|
231
235
|
end
|
232
|
-
# Get cover image only if primo_id is defined
|
236
|
+
# Get cover image only if @primo_id is defined
|
233
237
|
# TODO: make cover image service smarter and only
|
234
238
|
# include things that are actually URLs.
|
235
|
-
if primo_id and @service_types.include?("cover_image")
|
239
|
+
if @primo_id and @service_types.include?("cover_image")
|
236
240
|
cover_image = primo_searcher.cover_image
|
237
241
|
unless cover_image.nil?
|
238
242
|
request.add_service_response(
|
@@ -253,6 +257,11 @@ class PrimoService < Service
|
|
253
257
|
@holding_attributes.each do |attr|
|
254
258
|
service_data[attr] = holding.method(attr).call
|
255
259
|
end
|
260
|
+
# Umlaut specific attributes.
|
261
|
+
service_data[:match_reliability] =
|
262
|
+
(reliable_match?(:title => holding.title, :author => holding.author)) ?
|
263
|
+
ServiceResponse::MatchExact : ServiceResponse::MatchUnsure
|
264
|
+
service_data[:request_link_supports_ajax_call] = false
|
256
265
|
# Only add one service type, either "primo_source" OR "holding", not both.
|
257
266
|
service_type = (@service_types.include?("primo_source")) ? "primo_source" : "holding"
|
258
267
|
# Add some other holding information for compatibility with default holding partial
|
@@ -272,12 +281,12 @@ class PrimoService < Service
|
|
272
281
|
if @service_types.include?("holding_search")
|
273
282
|
if holdings.empty? and
|
274
283
|
not primo_identifier? and
|
275
|
-
not title.nil?
|
284
|
+
not @title.nil?
|
276
285
|
service_data = {}
|
277
286
|
service_data[:type] = "link_to_search"
|
278
287
|
service_data[:display_text] = (@holding_search_text.nil?) ? "Search for this title." : @holding_search_text
|
279
288
|
service_data[:note] = ""
|
280
|
-
service_data[:url] = @base_url+"/primo_library/libweb/action/dlSearch.do?institution=#{@holding_search_institution}&vid=#{@vid}&onCampus=false&query=#{CGI::escape("title,exact,"
|
289
|
+
service_data[:url] = @base_url+"/primo_library/libweb/action/dlSearch.do?institution=#{@holding_search_institution}&vid=#{@vid}&onCampus=false&query=#{CGI::escape("title,exact,"+@title)}&indx=1&bulkSize=10&group=GUEST"
|
281
290
|
request.add_service_response(
|
282
291
|
service_data.merge(
|
283
292
|
:service => self,
|
@@ -390,6 +399,22 @@ class PrimoService < Service
|
|
390
399
|
end
|
391
400
|
|
392
401
|
private
|
402
|
+
# Determine how sure we are that this is a match.
|
403
|
+
# Dynamically compares record metadata to input values
|
404
|
+
# based on the values passed in.
|
405
|
+
# Minimum requirement is to check title.
|
406
|
+
def reliable_match?(record_metadata)
|
407
|
+
return true unless (@primo_id.nil? or @primo_id.empty?)
|
408
|
+
return true unless (@issn.nil? or @issn.empty?) and (@isbn.nil? or @isbn.empty?)
|
409
|
+
return false if (record_metadata.nil? or record_metadata.empty? or record_metadata[:title].nil? or record_metadata[:title].empty?)
|
410
|
+
# Titles must be equal
|
411
|
+
return false unless record_metadata[:title].downcase.eql?(@title.downcase)
|
412
|
+
# Compare record metadata with metadata that was passed in.
|
413
|
+
# Only check if the record metadata value contains the input value since we can't be too strict.
|
414
|
+
record_metadata.each { |type, value| return false if value.downcase.match("#{self.method(type).call}".downcase).nil?}
|
415
|
+
return true
|
416
|
+
end
|
417
|
+
|
393
418
|
def primo_config
|
394
419
|
default_file = "#{Rails.root}/config/primo.yml"
|
395
420
|
config_file = @primo_config.nil? ? default_file : "#{Rails.root}/config/"+ @primo_config
|
data/lib/service_adaptors/sfx.rb
CHANGED
@@ -193,8 +193,7 @@ class Sfx < Service
|
|
193
193
|
# double-escaped, weirdly), so
|
194
194
|
# we need to extract the string, unescape it, and then feed it to Nokogiri
|
195
195
|
# again.
|
196
|
-
ctx_obj_atts =
|
197
|
-
CGI.unescapeHTML( sfx_obj.at('./ctx_obj_attributes').inner_html)
|
196
|
+
ctx_obj_atts = sfx_obj.at('./ctx_obj_attributes').inner_text
|
198
197
|
|
199
198
|
perl_data = Nokogiri::XML( ctx_obj_atts )
|
200
199
|
# parse it into an OpenURL, we might need it like that.
|
@@ -205,16 +204,16 @@ class Sfx < Service
|
|
205
204
|
# get SFX objectID
|
206
205
|
object_id_node =
|
207
206
|
perl_data.at("./perldata/hash/item[@key='rft.object_id']")
|
208
|
-
object_id = object_id_node ? object_id_node.
|
207
|
+
object_id = object_id_node ? object_id_node.inner_text : nil
|
209
208
|
|
210
209
|
# Get SFX requestID
|
211
210
|
request_id_node =
|
212
211
|
perl_data.at("./perldata/hash/item[@key='sfx.request_id']")
|
213
|
-
request_id = request_id_node ? request_id_node.
|
212
|
+
request_id = request_id_node ? request_id_node.inner_text : nil
|
214
213
|
|
215
214
|
# Get targets service ids
|
216
215
|
sfx_target_service_ids =
|
217
|
-
sfx_obj.search('ctx_obj_targets/target/target_service_id').collect {|e| e.
|
216
|
+
sfx_obj.search('ctx_obj_targets/target/target_service_id').collect {|e| e.inner_text}
|
218
217
|
|
219
218
|
|
220
219
|
|
@@ -225,12 +224,12 @@ class Sfx < Service
|
|
225
224
|
response_data = {}
|
226
225
|
|
227
226
|
# First check @extra_targets_of_interest
|
228
|
-
sfx_target_name = target.at('./target_name').
|
227
|
+
sfx_target_name = target.at('./target_name').inner_text
|
229
228
|
umlaut_service = @extra_targets_of_interest[sfx_target_name]
|
230
229
|
|
231
230
|
# If not found, look for it in services_of_interest
|
232
231
|
unless ( umlaut_service )
|
233
|
-
sfx_service_type = target.at("./service_type").
|
232
|
+
sfx_service_type = target.at("./service_type").inner_text
|
234
233
|
umlaut_service = @services_of_interest[sfx_service_type]
|
235
234
|
end
|
236
235
|
|
@@ -257,12 +256,12 @@ class Sfx < Service
|
|
257
256
|
|
258
257
|
if ( umlaut_service ) # Okay, it's in services or targets of interest
|
259
258
|
if (target/"./displayer")
|
260
|
-
source = "SFX/"+(target/"./displayer").
|
259
|
+
source = "SFX/"+(target/"./displayer").inner_text
|
261
260
|
else
|
262
261
|
source = "SFX"+URI.parse(self.url).path
|
263
262
|
end
|
264
263
|
|
265
|
-
target_service_id = (target/"./target_service_id").
|
264
|
+
target_service_id = (target/"./target_service_id").inner_text
|
266
265
|
|
267
266
|
coverage = nil
|
268
267
|
if ( @get_coverage )
|
@@ -270,12 +269,12 @@ class Sfx < Service
|
|
270
269
|
# in the SFX Admin API configuration.
|
271
270
|
thresholds_str = ""
|
272
271
|
target.search('coverage/coverage_text/threshold_text/coverage_statement').each do | threshold |
|
273
|
-
|
272
|
+
thresholds_str += threshold.inner_text.to_s + ".\n";
|
274
273
|
end
|
275
274
|
|
276
275
|
embargoes_str = "";
|
277
276
|
target.search('coverage/coverage_text/embargo_text/embargo_statement').each do |embargo |
|
278
|
-
|
277
|
+
embargoes_str += embargo.inner_text.to_s + ".\n";
|
279
278
|
end
|
280
279
|
|
281
280
|
unless ( thresholds_str.blank? && embargoes_str.blank? )
|
@@ -312,12 +311,12 @@ class Sfx < Service
|
|
312
311
|
if ( sfx_service_type == 'getDocumentDelivery' )
|
313
312
|
value_string = request_id
|
314
313
|
else
|
315
|
-
value_string = (target/"./target_service_id").
|
314
|
+
value_string = (target/"./target_service_id").inner_text
|
316
315
|
end
|
317
|
-
|
318
|
-
response_data[:url] = CGI.unescapeHTML((target/"./target_url").
|
319
|
-
response_data[:notes] = related_note.to_s + CGI.unescapeHTML((target/"./note").
|
320
|
-
response_data[:authentication] = CGI.unescapeHTML((target/"./authentication").
|
316
|
+
|
317
|
+
response_data[:url] = CGI.unescapeHTML((target/"./target_url").inner_text)
|
318
|
+
response_data[:notes] = related_note.to_s + CGI.unescapeHTML((target/"./note").inner_text)
|
319
|
+
response_data[:authentication] = CGI.unescapeHTML((target/"./authentication").inner_text)
|
321
320
|
response_data[:source] = source
|
322
321
|
response_data[:coverage] = coverage if coverage
|
323
322
|
|
@@ -325,7 +324,7 @@ class Sfx < Service
|
|
325
324
|
response_data[:sfx_base_url] = @base_url
|
326
325
|
response_data[:sfx_obj_index] = sfx_obj_index + 1 # sfx is 1 indexed
|
327
326
|
response_data[:sfx_target_index] = target_index + 1
|
328
|
-
response_data[:sfx_request_id] = (perl_data/"//hash/item[@key='sfx.request_id']").first.
|
327
|
+
response_data[:sfx_request_id] = (perl_data/"//hash/item[@key='sfx.request_id']").first.inner_text
|
329
328
|
response_data[:sfx_target_service_id] = target_service_id
|
330
329
|
response_data[:sfx_target_name] = sfx_target_name
|
331
330
|
# At url-generation time, the request isn't available to us anymore,
|
@@ -342,7 +341,7 @@ class Sfx < Service
|
|
342
341
|
# Some debug info
|
343
342
|
response_data[:debug_info] =" Target: #{sfx_target_name} ; SFX object ID: #{object_id}"
|
344
343
|
|
345
|
-
response_data[:display_text] = (target/"./target_public_name").
|
344
|
+
response_data[:display_text] = (target/"./target_public_name").inner_text
|
346
345
|
|
347
346
|
request.add_service_response(
|
348
347
|
response_data.merge(
|
@@ -453,7 +452,7 @@ class Sfx < Service
|
|
453
452
|
doc.search('perldata/hash/item').each do |item|
|
454
453
|
key = item['key'].to_s
|
455
454
|
|
456
|
-
value = item.
|
455
|
+
value = item.inner_text
|
457
456
|
|
458
457
|
# Some normalization. SFX uses rft.year, which is not actually
|
459
458
|
# legal. Stick it in rft.date instead.
|
@@ -477,11 +476,13 @@ class Sfx < Service
|
|
477
476
|
array_i = array_items[0] unless array_items.blank?
|
478
477
|
|
479
478
|
prefix = prefix.slice(1, prefix.length)
|
480
|
-
value = array_i ? array_i.
|
479
|
+
value = array_i ? array_i.inner_text : nil
|
481
480
|
end
|
482
481
|
|
483
482
|
# But this still has HTML entities in it sometimes. Now we've
|
484
483
|
# got to decode THAT.
|
484
|
+
# TODO: Are we sure we need to do this? We need an example
|
485
|
+
# from SFX result to test, it's potentially expensive.
|
485
486
|
value = html_ent_coder.decode(value)
|
486
487
|
|
487
488
|
# object_type? Fix that to be the right way.
|
@@ -497,13 +498,13 @@ class Sfx < Service
|
|
497
498
|
if (prefix=='@rft_id')
|
498
499
|
identifiers = item.search('array/item')
|
499
500
|
identifiers.each do |id|
|
500
|
-
co.referent.add_identifier(id.
|
501
|
+
co.referent.add_identifier(id.inner_text)
|
501
502
|
end
|
502
503
|
end
|
503
504
|
if (prefix=='@rfr_id')
|
504
505
|
identifiers = item.search('array/item')
|
505
506
|
identifiers.each do |id|
|
506
|
-
co.referrer.add_identifier(id.
|
507
|
+
co.referrer.add_identifier(id.inner_text)
|
507
508
|
end
|
508
509
|
end
|
509
510
|
end
|
@@ -135,7 +135,7 @@ class WorldcatIdentities < Service
|
|
135
135
|
# we only request 1 record to hopefully speed things up.
|
136
136
|
link = @url + index + '?query=' +query + "&maximumRecords=1"
|
137
137
|
|
138
|
-
result = open(link).read
|
138
|
+
result = open(link, "Accept" => "text/xml").read
|
139
139
|
xml = Nokogiri::XML(result)
|
140
140
|
|
141
141
|
# Identities namespaces are all over the place, it's too hard
|
@@ -143,8 +143,8 @@ class WorldcatIdentities < Service
|
|
143
143
|
# instead.
|
144
144
|
xml.remove_namespaces!
|
145
145
|
|
146
|
-
|
147
146
|
return nil if xml.at("numberOfRecords").inner_text == '0'
|
147
|
+
|
148
148
|
create_link(request, xml)
|
149
149
|
create_wikipedia_link(request, xml) if @wikipedia_link
|
150
150
|
create_openurl_widely_held(request, xml) if @openurl_widely_held
|
@@ -588,4 +588,4 @@ class WorldcatIdentities < Service
|
|
588
588
|
"wit" => "Witness"
|
589
589
|
}
|
590
590
|
|
591
|
-
end
|
591
|
+
end
|
data/lib/umlaut/version.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class PermalinksTest < ActionDispatch::IntegrationTest
|
4
|
+
|
5
|
+
|
6
|
+
test "missing id" do
|
7
|
+
sess = open_session
|
8
|
+
|
9
|
+
missing_id = 999999999
|
10
|
+
|
11
|
+
sess.get "/go/#{missing_id}"
|
12
|
+
|
13
|
+
assert_response(:missing)
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: umlaut
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.0beta3
|
5
5
|
prerelease: 5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &131198600 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.2.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *131198600
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: jquery-rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &131198180 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *131198180
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: nokogiri
|
38
|
-
requirement: &
|
38
|
+
requirement: &131197620 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - =
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.5.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *131197620
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: openurl
|
49
|
-
requirement: &
|
49
|
+
requirement: &131197120 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.3.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *131197120
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: marc
|
60
|
-
requirement: &
|
60
|
+
requirement: &131196640 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 0.4.3
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *131196640
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: isbn
|
71
|
-
requirement: &
|
71
|
+
requirement: &131196260 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *131196260
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: htmlentities
|
82
|
-
requirement: &
|
82
|
+
requirement: &131195800 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *131195800
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: multi_json
|
93
|
-
requirement: &
|
93
|
+
requirement: &133072740 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *133072740
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: confstruct
|
104
|
-
requirement: &
|
104
|
+
requirement: &133072240 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ~>
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0.2'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *133072240
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
115
|
-
requirement: &
|
114
|
+
name: exlibris-primo
|
115
|
+
requirement: &133071820 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,21 +120,10 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: httparty
|
126
|
-
requirement: &75996580 !ruby/object:Gem::Requirement
|
127
|
-
none: false
|
128
|
-
requirements:
|
129
|
-
- - ! '>='
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: *75996580
|
123
|
+
version_requirements: *133071820
|
135
124
|
- !ruby/object:Gem::Dependency
|
136
125
|
name: single_test
|
137
|
-
requirement: &
|
126
|
+
requirement: &133071280 !ruby/object:Gem::Requirement
|
138
127
|
none: false
|
139
128
|
requirements:
|
140
129
|
- - ~>
|
@@ -142,10 +131,10 @@ dependencies:
|
|
142
131
|
version: 0.5.1
|
143
132
|
type: :development
|
144
133
|
prerelease: false
|
145
|
-
version_requirements: *
|
134
|
+
version_requirements: *133071280
|
146
135
|
- !ruby/object:Gem::Dependency
|
147
136
|
name: uglifier
|
148
|
-
requirement: &
|
137
|
+
requirement: &133070860 !ruby/object:Gem::Requirement
|
149
138
|
none: false
|
150
139
|
requirements:
|
151
140
|
- - ! '>='
|
@@ -153,10 +142,21 @@ dependencies:
|
|
153
142
|
version: '0'
|
154
143
|
type: :development
|
155
144
|
prerelease: false
|
156
|
-
version_requirements: *
|
145
|
+
version_requirements: *133070860
|
157
146
|
- !ruby/object:Gem::Dependency
|
158
147
|
name: therubyracer
|
159
|
-
requirement: &
|
148
|
+
requirement: &133070400 !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
150
|
+
requirements:
|
151
|
+
- - ! '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
type: :development
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: *133070400
|
157
|
+
- !ruby/object:Gem::Dependency
|
158
|
+
name: ruby-prof
|
159
|
+
requirement: &133069980 !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
162
162
|
- - ! '>='
|
@@ -164,7 +164,7 @@ dependencies:
|
|
164
164
|
version: '0'
|
165
165
|
type: :development
|
166
166
|
prerelease: false
|
167
|
-
version_requirements: *
|
167
|
+
version_requirements: *133069980
|
168
168
|
description:
|
169
169
|
email:
|
170
170
|
- umlaut-general@rubyforge.org
|
@@ -216,8 +216,8 @@ files:
|
|
216
216
|
- app/assets/javascripts/umlaut/ajax_windows.js
|
217
217
|
- app/assets/javascripts/umlaut/simple_visible_toggle.js
|
218
218
|
- app/assets/javascripts/umlaut/ensure_window_size.js.erb
|
219
|
-
- app/assets/javascripts/umlaut/expand_contract_toggle.js
|
220
219
|
- app/assets/javascripts/umlaut/search_autocomplete.js
|
220
|
+
- app/assets/javascripts/umlaut/expand_contract_toggle.js.erb
|
221
221
|
- app/assets/stylesheets/umlaut.css
|
222
222
|
- app/models/sfx_url.rb
|
223
223
|
- app/models/crossref_lookup.rb
|
@@ -319,17 +319,6 @@ files:
|
|
319
319
|
- lib/CronTab.rb
|
320
320
|
- lib/marc_helper.rb
|
321
321
|
- lib/opensearch_feed.rb
|
322
|
-
- lib/exlibris/primo_ws.rb
|
323
|
-
- lib/exlibris/primo/source/aleph.rb
|
324
|
-
- lib/exlibris/primo/source/distribution/nyu_aleph.rb
|
325
|
-
- lib/exlibris/primo/toc.rb
|
326
|
-
- lib/exlibris/primo/holding.rb
|
327
|
-
- lib/exlibris/primo/searcher.rb
|
328
|
-
- lib/exlibris/primo/rsrc.rb
|
329
|
-
- lib/exlibris/primo/related_link.rb
|
330
|
-
- lib/exlibris/aleph/record.rb
|
331
|
-
- lib/exlibris/aleph/rest_api.rb
|
332
|
-
- lib/exlibris/aleph/patron.rb
|
333
322
|
- lib/holding.rb
|
334
323
|
- lib/umlaut_configurable.rb
|
335
324
|
- lib/umlaut/routes.rb
|
@@ -385,40 +374,7 @@ files:
|
|
385
374
|
- README.md
|
386
375
|
- ./test/integration/request_test.rb
|
387
376
|
- ./test/integration/request_reuse_test.rb
|
388
|
-
- ./test/
|
389
|
-
- ./test/dummy/tmp/cache/assets/D16/F90/sprockets%2F5fe3c021048c6f9a6086bed7736d87b1
|
390
|
-
- ./test/dummy/tmp/cache/assets/DE8/790/sprockets%2Fd1333bde2b9aafcc712d11dd09ab35d8
|
391
|
-
- ./test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
|
392
|
-
- ./test/dummy/tmp/cache/assets/D94/FF0/sprockets%2F3b56a1aa77de0d570c38a4a9d5f4b1d6
|
393
|
-
- ./test/dummy/tmp/cache/assets/CBD/730/sprockets%2F034c1086748b981c36672d5a56e7fed6
|
394
|
-
- ./test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
|
395
|
-
- ./test/dummy/tmp/cache/assets/E5F/960/sprockets%2Fdc007b6cad5c7ef08e33ec28cfff0ef6
|
396
|
-
- ./test/dummy/tmp/cache/assets/D24/360/sprockets%2F6987b047a96dc685ba3cf39b31477f6d
|
397
|
-
- ./test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
|
398
|
-
- ./test/dummy/tmp/cache/assets/CFE/080/sprockets%2F37fe9f4255baddbd549a659914929398
|
399
|
-
- ./test/dummy/tmp/cache/assets/DFD/300/sprockets%2Fabac9489cf7f1db8ef00d72a1571ee1e
|
400
|
-
- ./test/dummy/tmp/cache/assets/CF7/2B0/sprockets%2F25a7c73655bd3598173b39d9f98bcd46
|
401
|
-
- ./test/dummy/tmp/cache/assets/D43/0D0/sprockets%2F682843a8d0795a5fbcfeb2f0c81727d0
|
402
|
-
- ./test/dummy/tmp/cache/assets/C80/980/sprockets%2Fc94807409c1523d43e18d25f35d93c41
|
403
|
-
- ./test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
|
404
|
-
- ./test/dummy/tmp/cache/assets/D6C/7D0/sprockets%2F8a05d6981ec0d38c51739bef0b3a9c2b
|
405
|
-
- ./test/dummy/tmp/cache/assets/D37/2B0/sprockets%2F40834fb07d7318c1fddd5003bd9e04f6
|
406
|
-
- ./test/dummy/tmp/cache/assets/DFC/040/sprockets%2F15ea81cf915c0cb1dfc9cc04c9fef364
|
407
|
-
- ./test/dummy/tmp/cache/assets/DF7/960/sprockets%2F99ac6db10b44a64fbba4ee847b35ba8b
|
408
|
-
- ./test/dummy/tmp/cache/assets/CBF/B60/sprockets%2F08ca89671549936265dcb673bf02e36f
|
409
|
-
- ./test/dummy/tmp/cache/assets/D97/6B0/sprockets%2Fb070e8c799d1a4ad5e62e0a1ae3b83e6
|
410
|
-
- ./test/dummy/tmp/cache/assets/CC9/9F0/sprockets%2F306166316e2cafd13c15e62b51a2339d
|
411
|
-
- ./test/dummy/tmp/cache/assets/E38/FE0/sprockets%2Fe1fc875efa817cbb94a5d8de25ea4e6b
|
412
|
-
- ./test/dummy/tmp/cache/assets/C70/4D0/sprockets%2F034ad2036e623081bd352800786dfe80
|
413
|
-
- ./test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
|
414
|
-
- ./test/dummy/tmp/cache/assets/C45/A30/sprockets%2F39494895e462697b478d3d0c79298a26
|
415
|
-
- ./test/dummy/tmp/cache/assets/DC0/D20/sprockets%2F1ccf7405cd252dcec4bf23af82e2563a
|
416
|
-
- ./test/dummy/tmp/cache/assets/D74/4C0/sprockets%2F64fdf30f75592d6e45fcfc45a48d20a2
|
417
|
-
- ./test/dummy/tmp/cache/assets/C5F/340/sprockets%2F99692920160b7a279b86a80415b79db7
|
418
|
-
- ./test/dummy/tmp/cache/assets/DD2/D80/sprockets%2Fc66d103807d0f971fbbcf9aa8b8b27ee
|
419
|
-
- ./test/dummy/tmp/cache/assets/C2A/410/sprockets%2Fd654b74912b4773a2534616863fb6565
|
420
|
-
- ./test/dummy/tmp/cache/assets/D33/FD0/sprockets%2F2ba0b4e6334a77b923e5f770381bb2bf
|
421
|
-
- ./test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
377
|
+
- ./test/integration/permalinks_test.rb
|
422
378
|
- ./test/dummy/tmp/performance/ProfilerTest#test_puts_foo_process_time_graph.html
|
423
379
|
- ./test/dummy/tmp/performance/BenchmarkerTest#test_puts_foo_gc_time.csv
|
424
380
|
- ./test/dummy/tmp/performance/minus.png
|
@@ -465,13 +421,8 @@ files:
|
|
465
421
|
- ./test/dummy/db/schema.rb
|
466
422
|
- ./test/dummy/db/migrate/20120229192032_umlaut_init.umlaut.rb
|
467
423
|
- ./test/performance/browsing_test.rb
|
468
|
-
- ./test/unit/aleph_record_benchmarks.rb
|
469
424
|
- ./test/unit/aws_product_sign_test.rb
|
470
425
|
- ./test/unit/service_test.rb
|
471
|
-
- ./test/unit/aleph_patron_test.rb
|
472
|
-
- ./test/unit/primo_ws_test.rb
|
473
|
-
- ./test/unit/primo_searcher_test.rb
|
474
|
-
- ./test/unit/aleph_record_test.rb
|
475
426
|
- ./test/unit/collection_test.rb
|
476
427
|
- ./test/unit/active_record_connection_pool_test.rb
|
477
428
|
- ./test/unit/service_response_test.rb
|
@@ -500,7 +451,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
500
451
|
version: '0'
|
501
452
|
segments:
|
502
453
|
- 0
|
503
|
-
hash:
|
454
|
+
hash: 907568800525957015
|
504
455
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
505
456
|
none: false
|
506
457
|
requirements:
|
@@ -509,7 +460,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
509
460
|
version: 1.3.1
|
510
461
|
requirements: []
|
511
462
|
rubyforge_project:
|
512
|
-
rubygems_version: 1.8.
|
463
|
+
rubygems_version: 1.8.15
|
513
464
|
signing_key:
|
514
465
|
specification_version: 3
|
515
466
|
summary: For Libraries, a just-in-time last-mile service aggregator, taking OpenURL
|
@@ -517,40 +468,7 @@ summary: For Libraries, a just-in-time last-mile service aggregator, taking Open
|
|
517
468
|
test_files:
|
518
469
|
- ./test/integration/request_test.rb
|
519
470
|
- ./test/integration/request_reuse_test.rb
|
520
|
-
- ./test/
|
521
|
-
- ./test/dummy/tmp/cache/assets/D16/F90/sprockets%2F5fe3c021048c6f9a6086bed7736d87b1
|
522
|
-
- ./test/dummy/tmp/cache/assets/DE8/790/sprockets%2Fd1333bde2b9aafcc712d11dd09ab35d8
|
523
|
-
- ./test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
|
524
|
-
- ./test/dummy/tmp/cache/assets/D94/FF0/sprockets%2F3b56a1aa77de0d570c38a4a9d5f4b1d6
|
525
|
-
- ./test/dummy/tmp/cache/assets/CBD/730/sprockets%2F034c1086748b981c36672d5a56e7fed6
|
526
|
-
- ./test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
|
527
|
-
- ./test/dummy/tmp/cache/assets/E5F/960/sprockets%2Fdc007b6cad5c7ef08e33ec28cfff0ef6
|
528
|
-
- ./test/dummy/tmp/cache/assets/D24/360/sprockets%2F6987b047a96dc685ba3cf39b31477f6d
|
529
|
-
- ./test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
|
530
|
-
- ./test/dummy/tmp/cache/assets/CFE/080/sprockets%2F37fe9f4255baddbd549a659914929398
|
531
|
-
- ./test/dummy/tmp/cache/assets/DFD/300/sprockets%2Fabac9489cf7f1db8ef00d72a1571ee1e
|
532
|
-
- ./test/dummy/tmp/cache/assets/CF7/2B0/sprockets%2F25a7c73655bd3598173b39d9f98bcd46
|
533
|
-
- ./test/dummy/tmp/cache/assets/D43/0D0/sprockets%2F682843a8d0795a5fbcfeb2f0c81727d0
|
534
|
-
- ./test/dummy/tmp/cache/assets/C80/980/sprockets%2Fc94807409c1523d43e18d25f35d93c41
|
535
|
-
- ./test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
|
536
|
-
- ./test/dummy/tmp/cache/assets/D6C/7D0/sprockets%2F8a05d6981ec0d38c51739bef0b3a9c2b
|
537
|
-
- ./test/dummy/tmp/cache/assets/D37/2B0/sprockets%2F40834fb07d7318c1fddd5003bd9e04f6
|
538
|
-
- ./test/dummy/tmp/cache/assets/DFC/040/sprockets%2F15ea81cf915c0cb1dfc9cc04c9fef364
|
539
|
-
- ./test/dummy/tmp/cache/assets/DF7/960/sprockets%2F99ac6db10b44a64fbba4ee847b35ba8b
|
540
|
-
- ./test/dummy/tmp/cache/assets/CBF/B60/sprockets%2F08ca89671549936265dcb673bf02e36f
|
541
|
-
- ./test/dummy/tmp/cache/assets/D97/6B0/sprockets%2Fb070e8c799d1a4ad5e62e0a1ae3b83e6
|
542
|
-
- ./test/dummy/tmp/cache/assets/CC9/9F0/sprockets%2F306166316e2cafd13c15e62b51a2339d
|
543
|
-
- ./test/dummy/tmp/cache/assets/E38/FE0/sprockets%2Fe1fc875efa817cbb94a5d8de25ea4e6b
|
544
|
-
- ./test/dummy/tmp/cache/assets/C70/4D0/sprockets%2F034ad2036e623081bd352800786dfe80
|
545
|
-
- ./test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
|
546
|
-
- ./test/dummy/tmp/cache/assets/C45/A30/sprockets%2F39494895e462697b478d3d0c79298a26
|
547
|
-
- ./test/dummy/tmp/cache/assets/DC0/D20/sprockets%2F1ccf7405cd252dcec4bf23af82e2563a
|
548
|
-
- ./test/dummy/tmp/cache/assets/D74/4C0/sprockets%2F64fdf30f75592d6e45fcfc45a48d20a2
|
549
|
-
- ./test/dummy/tmp/cache/assets/C5F/340/sprockets%2F99692920160b7a279b86a80415b79db7
|
550
|
-
- ./test/dummy/tmp/cache/assets/DD2/D80/sprockets%2Fc66d103807d0f971fbbcf9aa8b8b27ee
|
551
|
-
- ./test/dummy/tmp/cache/assets/C2A/410/sprockets%2Fd654b74912b4773a2534616863fb6565
|
552
|
-
- ./test/dummy/tmp/cache/assets/D33/FD0/sprockets%2F2ba0b4e6334a77b923e5f770381bb2bf
|
553
|
-
- ./test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
471
|
+
- ./test/integration/permalinks_test.rb
|
554
472
|
- ./test/dummy/tmp/performance/ProfilerTest#test_puts_foo_process_time_graph.html
|
555
473
|
- ./test/dummy/tmp/performance/BenchmarkerTest#test_puts_foo_gc_time.csv
|
556
474
|
- ./test/dummy/tmp/performance/minus.png
|
@@ -597,13 +515,8 @@ test_files:
|
|
597
515
|
- ./test/dummy/db/schema.rb
|
598
516
|
- ./test/dummy/db/migrate/20120229192032_umlaut_init.umlaut.rb
|
599
517
|
- ./test/performance/browsing_test.rb
|
600
|
-
- ./test/unit/aleph_record_benchmarks.rb
|
601
518
|
- ./test/unit/aws_product_sign_test.rb
|
602
519
|
- ./test/unit/service_test.rb
|
603
|
-
- ./test/unit/aleph_patron_test.rb
|
604
|
-
- ./test/unit/primo_ws_test.rb
|
605
|
-
- ./test/unit/primo_searcher_test.rb
|
606
|
-
- ./test/unit/aleph_record_test.rb
|
607
520
|
- ./test/unit/collection_test.rb
|
608
521
|
- ./test/unit/active_record_connection_pool_test.rb
|
609
522
|
- ./test/unit/service_response_test.rb
|