umlaut 3.0.0alpha12 → 3.0.0alpha13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) hide show
  1. data/app/models/request.rb +9 -4
  2. data/lib/umlaut/version.rb +1 -1
  3. data/test/dummy/config/umlaut_services-JH.yml +223 -0
  4. data/test/dummy/tmp/cache/assets/C80/980/sprockets%2Fc94807409c1523d43e18d25f35d93c41 +0 -0
  5. data/test/dummy/tmp/cache/assets/CD7/DD0/sprockets%2F4f1fe68aa2042a0970bde9b185530646 +0 -0
  6. data/test/dummy/tmp/cache/assets/CEA/2A0/sprockets%2F9c8607157b998108ce08f4aca39f810a +0 -0
  7. data/test/dummy/tmp/cache/assets/D33/FD0/sprockets%2F2ba0b4e6334a77b923e5f770381bb2bf +0 -0
  8. data/test/dummy/tmp/cache/assets/D43/0D0/sprockets%2F682843a8d0795a5fbcfeb2f0c81727d0 +0 -0
  9. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  10. data/test/dummy/tmp/cache/assets/D5D/AD0/sprockets%2Fbdb053d9a6a967788f09fbc555d69f58 +0 -0
  11. data/test/dummy/tmp/cache/assets/D66/890/sprockets%2F06287a78ed20d8214197eab03bfca5dd +0 -0
  12. data/test/dummy/tmp/cache/assets/D6B/2A0/sprockets%2F81f17ab0ed20f4a8d9355f7a1d872eb2 +0 -0
  13. data/test/dummy/tmp/cache/assets/D6C/7D0/sprockets%2F8a05d6981ec0d38c51739bef0b3a9c2b +0 -0
  14. data/test/dummy/tmp/cache/assets/D74/4C0/sprockets%2F64fdf30f75592d6e45fcfc45a48d20a2 +0 -0
  15. data/test/dummy/tmp/cache/assets/DA6/A80/sprockets%2F92e26d8e58d5bcc8b8f6c25d1b05b9c1 +0 -0
  16. data/test/dummy/tmp/cache/assets/DF5/5E0/sprockets%2F8e64a37c73cdc0b37a4ccfcb42ab45d8 +0 -0
  17. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  18. data/test/dummy/tmp/cache/assets/E09/850/sprockets%2F4bf497a38ecfef660b2f0ebb852d5e9c +0 -0
  19. data/test/dummy/tmp/cache/assets/E38/FE0/sprockets%2Fe1fc875efa817cbb94a5d8de25ea4e6b +0 -0
  20. data/test/dummy/tmp/cache/assets/E5F/960/sprockets%2Fdc007b6cad5c7ef08e33ec28cfff0ef6 +0 -0
  21. data/test/dummy/tmp/cache/assets/E6F/A00/sprockets%2Fd32bcea45ea04a6aaee95b3aa840cbab +0 -0
  22. data/test/integration/#request_reuse_test.rb# +55 -0
  23. data/test/integration/request_reuse_test.rb +57 -0
  24. metadata +62 -28
@@ -50,13 +50,18 @@ class Request < ActiveRecord::Base
50
50
  # up in the db to see if we've seen it before.
51
51
  param_fingerprint = self.co_params_fingerprint( co_params )
52
52
  client_ip = params['req.ip'] || a_rails_request.remote_ip()
53
- unless (req)
53
+ unless (req || params["umlaut.force_new_request"] == "true" || param_fingerprint.blank? )
54
54
  # If not found yet, then look for an existing request that had the same
55
55
  # openurl params as this one, in the same session. In which case, reuse.
56
56
  # Here we do require same session, since we don't have an explicit
57
- # request_id given.
58
-
59
- req = Request.find(:first, :conditions => ["session_id = ? and contextobj_fingerprint = ? and client_ip_addr = ?", a_rails_request.session_options[:id], param_fingerprint, client_ip ] ) unless param_fingerprint.blank?
57
+ # request_id given.
58
+
59
+ req = Request.where(
60
+ :session_id => a_rails_request.session_options[:id],
61
+ :contextobj_fingerprint => param_fingerprint,
62
+ :client_ip_addr => client_ip ).
63
+ order("created_at DESC").first
64
+
60
65
  end
61
66
 
62
67
  # Okay, if we found a req, it might NOT have a referent, it might
@@ -1,3 +1,3 @@
1
1
  module Umlaut
2
- VERSION = "3.0.0alpha12"
2
+ VERSION = "3.0.0alpha13"
3
3
  end
@@ -0,0 +1,223 @@
1
+ default:
2
+ services:
3
+ Pubmed:
4
+ priority: 0
5
+
6
+ # Priority 3
7
+
8
+ JH_SFX:
9
+ name: Find It @ JH
10
+ display_name: Find It @ JH
11
+ type: Sfx
12
+ base_url: http://sfx.library.jhu.edu:8000/sfxlcl41 #http://sfx.library.jhu.edu:8000/sfxlcl3
13
+ priority: 3
14
+ status: active
15
+ # click_passthrough: true
16
+ click_passthrough: false
17
+ sfx_requests_expire_crontab: '00 00 * * 00'
18
+ sfx_timeout: 9
19
+ # We do NOT include abstract and ToC from SFX.
20
+ services_of_interest:
21
+ getFullTxt: fulltext
22
+ getSelectedFullTxt: fulltext
23
+ getDocumentDelivery: document_delivery
24
+ getDOI: highlighted_link
25
+ extra_targets_of_interest:
26
+ LOCAL_FEEDBACK_MSE_LCL: help
27
+ LOCAL_FEEDBACK_SAIS_LCL: help
28
+ LOCAL_FEEDBACK_WELCH_LCL: help
29
+ LOCAL_FEEDBACK_AFL_LCL: help
30
+ LOCAL_FEEDBACK_APL_LCL: help
31
+
32
+ # We have experimented with doing BL in the foreground wave 3 to
33
+ # get overall faster response, but for now leaving it at 'c' in bg
34
+ # where HIP was, to avoid slowing down the initial screen display.
35
+ Blacklight:
36
+ display_name: Blacklight JH Libraries Catalog
37
+ type: Blacklight
38
+ priority: c
39
+ base_url: https://catalyst.library.jhu.edu/catalog.atom
40
+ rft_id_bibnum_prefixes:
41
+ - http://catalog.library.jhu.edu/bib/
42
+ - http://blacklight.mse.jhu.edu/catalog/
43
+ - https://blacklight.mse.jhu.edu/catalog/
44
+ - http://blacklight.mse.jhu.edu/demo/catalog/
45
+ - https://blacklight.mse.jhu.edu/demo/catalog/
46
+ - https://catalyst.library.jhu.edu/catalog/
47
+ - http://catalyst.library.jhu.edu/catalog/
48
+ bl_fields:
49
+ issn: lsolr.issn
50
+ isbn: isbn
51
+ lccn: lccn
52
+ oclcnum: oclcnum
53
+ id: id
54
+ serials_limit_clause: "f[format][]=Serial"
55
+ title: title
56
+ author: author
57
+ exclude_holdings:
58
+ collection_str:
59
+ - Internet
60
+ - Internet Resource
61
+ - Welch Online Journals
62
+ - Welch Online Journal
63
+ - "Gibson-Electronic Journals & Indexes"
64
+ - "Gibson - Electronic Journals"
65
+
66
+
67
+ # First half of Amazon, run in foreground, get metadata and cover images.
68
+ Amazon:
69
+ display_name: Amazon.com
70
+ type: Amazon
71
+ url: http://webservices.amazon.com/onca/xml
72
+ api_key: "1S1R4KE79F07X8AS0JG2"
73
+ secret_key: "lgHW00st36oGlN6YJ4p6wUH1CEt+RygbwVeCWQYm"
74
+ associate_tag: "johnhopklibr-20"
75
+ priority: 3
76
+ status: active
77
+ service_types:
78
+ - abstract
79
+ - referent_enhance
80
+ - cover_image
81
+
82
+
83
+ # Priority c
84
+
85
+ # Second half of Amazon. It's Slow to lookup highlighted_link and search_inside
86
+ # availability, so we do it in a bg wave.
87
+ Amazon_bg:
88
+ display_name: Amazon.com
89
+ type: Amazon
90
+ url: http://webservices.amazon.com/onca/xml
91
+ api_key: 1S1R4KE79F07X8AS0JG2
92
+ associate_tag: "johnhopklibr-20"
93
+ priority: c
94
+ status: active
95
+ make_aws_call: false
96
+ service_types:
97
+ - highlighted_link
98
+ - search_inside
99
+ - excerpts
100
+
101
+
102
+
103
+ CoverThing:
104
+ display_name: LibraryThing
105
+ type: CoverThing
106
+ developer_key: 17005f4154cc260c05164beb2d439dc4
107
+ priority: c
108
+ preempted_by:
109
+ existing_type: cover_image
110
+
111
+ ElsevierCover:
112
+ type: ElsevierCover
113
+ priority: c
114
+
115
+ UlrichsCover:
116
+ type: UlrichsCover
117
+ priority: c
118
+
119
+ GoogleBookSearch:
120
+ name: Google Book Search
121
+ type: GoogleBookSearch
122
+ priority: c
123
+ status: active
124
+ api_key: 'AIzaSyBxgykPTiYe0WQZQobFOEG9m-_NYDRyvTQ'
125
+
126
+ Ulrichs:
127
+ display_name: Ulrich's Directory
128
+ type: UlrichsLink
129
+ priority: c
130
+
131
+ IsbnDb:
132
+ display_name: isbndb.com
133
+ type: IsbnDb
134
+ priority: c
135
+ access_key: P8DP8QRC
136
+
137
+ InternetArchive:
138
+ display_name: the Internet Archive
139
+ type: InternetArchive
140
+ priority: c
141
+ num_results_for_types:
142
+ audio: 0
143
+
144
+
145
+ # Priority d
146
+
147
+ HathiTrust:
148
+ type: HathiTrust
149
+ priority: d
150
+ direct_link_base: 'https://babel.hathitrust.org/shcgi/'
151
+ preempted_by:
152
+ self_type: fulltext
153
+ existing_service: GoogleBookSearch
154
+ existing_type: fulltext
155
+
156
+ EmailExport:
157
+ type: EmailExport
158
+ priority: d
159
+
160
+ TxtHoldingExport:
161
+ type: TxtHoldingExport
162
+ priority: d
163
+
164
+ # Worldcat scraper is quite slow, move it to wave 'd' to avoid
165
+ # holding up wave 'c'
166
+ Worldcat:
167
+ display_name: OCLC Worldcat.org
168
+ type: Worldcat
169
+ priority: d
170
+ display_text: "Find in other libraries"
171
+ suppress_precheck: true
172
+
173
+
174
+ WorldcatIdentities:
175
+ type: WorldcatIdentities
176
+ priority: d
177
+ #note_types: false
178
+ #wikipedia_link: false
179
+ #openurl_widely_held: false
180
+ #require_identifier: true
181
+
182
+ ScopusCitations:
183
+ type: Scopus
184
+ priority: c
185
+ json_api_key: 3Jek0AJKkIzcSUgArdeWIAeFo0pWj7
186
+ partner_id: E5wmcMWC
187
+ link_salt_key: "6c.aZT8TEQQO9ugCfGS3qfp(Z.6qCGnC"
188
+
189
+ IsiCitations:
190
+ type: Isi
191
+ priority: c
192
+
193
+ Jcr:
194
+ type: Jcr
195
+ priority: c
196
+
197
+ Gpo:
198
+ type: Gpo
199
+ priority: e
200
+ #preempted_by:
201
+ # - existing_type: fulltext
202
+ # - existing_type: fulltext_title_level
203
+
204
+ # Link out filter
205
+ JH_EZProxy:
206
+ display_name: EZProxy
207
+ type: Ezproxy
208
+ task: link_out_filter
209
+ proxy_server: proxy.library.jhu.edu
210
+ # Don't bother prechecking with api, just send all clicks
211
+ # through EZProxy, EZProxy will redirect if not proxyable.
212
+ precheck_with_api: false
213
+ priority: 5
214
+ proxy_password: d1NWbo
215
+ # Problems in our EZProxy setup have EZProxy proxying all
216
+ # jhu.edu links! We want to exclude most of them though.
217
+ exclude: [ sfx.library.jhu.edu, catalog.library.jhu.edu, findit.library.jhu.edu , aplill.jhu.edu, ils.library.jhu.edu, saisill.jhu.edu, aplill.jhu.edu, aflill.peabody.jhu.edu, weldoc.welch.jhmi.edu ]
218
+
219
+ SFX_backchannel_record:
220
+ display_name: SFX statistics
221
+ type: SfxBackchannelRecord
222
+ task: link_out_filter
223
+ priority: 6
@@ -0,0 +1,55 @@
1
+ require 'test_helper'
2
+
3
+ class RequestReuseTest < ActionDispatch::IntegrationTest
4
+
5
+
6
+ test "reuse_of_request_in_session" do
7
+ sess = open_session
8
+
9
+ request_params = { :issn => "012345678" }
10
+
11
+ sess.get "/resolve", request_params
12
+
13
+ created_request_id = sess.assigns[:user_request].id
14
+
15
+ get "/resolve", request_params
16
+
17
+ # re-use same user_request object
18
+ assert_equal( created_request_id, sess.assigns[:user_request].id )
19
+
20
+ end
21
+
22
+ test "no re-use from different session" do
23
+ request_params = { :issn => "012345678" }
24
+
25
+ sess1 = open_session
26
+ sess1.get "/resolve", request_params
27
+ created_request_id = sess1.assigns[:user_request].id
28
+
29
+ sess2 = open_session
30
+ sess2.get "/resolve", request_params
31
+ # no re-use, different umlaut Reqeust object.
32
+ assert_not_equal( created_request_id, sess2.assigns[:user_request].id )
33
+ end
34
+
35
+ test "umlaut.force_new_request" do
36
+ request_params = { :issn => "012345678" }
37
+
38
+ sess1 = open_session
39
+ sess1.get "/resolve", request_params
40
+ created_request_id = sess1.assigns[:user_request].id
41
+
42
+ # Wind up with new different request with force_new_request
43
+ sess1.get "/resolve", request_params.merge("umlaut.force_new_request" => "true")
44
+ request_after_forced = sess1.assigns[:user_request].id
45
+ assert_not_equal( request_after_forced, created_request_id )
46
+
47
+ # Make a request again without force param, still get the latter request,
48
+ # the one created when we forced it.
49
+ sess1.get "/resolve", request_params
50
+ assert_equal( sess1.assigns[:user_request].id, request_after_forced )
51
+ end
52
+
53
+
54
+
55
+ end
@@ -0,0 +1,57 @@
1
+ require 'test_helper'
2
+
3
+ class RequestReuseTest < ActionDispatch::IntegrationTest
4
+
5
+
6
+ test "reuse_of_request_in_session" do
7
+ sess = open_session
8
+
9
+ request_params = { :issn => "012345678" }
10
+
11
+ sess.get "/resolve", request_params
12
+
13
+ created_request_id = sess.assigns[:user_request].id
14
+
15
+ get "/resolve", request_params
16
+
17
+ # re-use same user_request object
18
+ assert_equal( created_request_id, sess.assigns[:user_request].id )
19
+
20
+ end
21
+
22
+ test "no re-use from different session" do
23
+ request_params = { :issn => "012345678" }
24
+
25
+ sess1 = open_session
26
+ sess1.get "/resolve", request_params
27
+ created_request_id = sess1.assigns[:user_request].id
28
+
29
+ sess2 = open_session
30
+ sess2.get "/resolve", request_params
31
+ # no re-use, different umlaut Reqeust object.
32
+ assert_not_equal( created_request_id, sess2.assigns[:user_request].id )
33
+ end
34
+
35
+ test "umlaut.force_new_request" do
36
+ request_params = { :issn => "012345678" }
37
+
38
+ sess1 = open_session
39
+ sess1.get "/resolve", request_params
40
+ created_request_id = sess1.assigns[:user_request].id
41
+
42
+ # Wind up with new different request with force_new_request
43
+ sess1.get "/resolve", request_params.merge("umlaut.force_new_request" => "true")
44
+ request_after_forced = sess1.assigns[:user_request].id
45
+
46
+
47
+ assert_not_equal( request_after_forced, created_request_id )
48
+
49
+ # Make a request again without force param, still get the latter request,
50
+ # the one created when we forced it.
51
+ sess1.get "/resolve", request_params
52
+ assert_equal( sess1.assigns[:user_request].id, request_after_forced )
53
+ end
54
+
55
+
56
+
57
+ 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.0alpha12
4
+ version: 3.0.0alpha13
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-01 00:00:00.000000000 Z
12
+ date: 2012-03-05 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &77416980 !ruby/object:Gem::Requirement
16
+ requirement: &198094800 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.2.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *77416980
24
+ version_requirements: *198094800
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: jquery-rails
27
- requirement: &77416420 !ruby/object:Gem::Requirement
27
+ requirement: &198094180 !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: *77416420
35
+ version_requirements: *198094180
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: nokogiri
38
- requirement: &77415440 !ruby/object:Gem::Requirement
38
+ requirement: &198093400 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *77415440
46
+ version_requirements: *198093400
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: openurl
49
- requirement: &77414420 !ruby/object:Gem::Requirement
49
+ requirement: &198092540 !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: *77414420
57
+ version_requirements: *198092540
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: marc
60
- requirement: &77413900 !ruby/object:Gem::Requirement
60
+ requirement: &198091720 !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: *77413900
68
+ version_requirements: *198091720
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: isbn
71
- requirement: &77413440 !ruby/object:Gem::Requirement
71
+ requirement: &198091120 !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: *77413440
79
+ version_requirements: *198091120
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: htmlentities
82
- requirement: &77412600 !ruby/object:Gem::Requirement
82
+ requirement: &198050580 !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: *77412600
90
+ version_requirements: *198050580
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: multi_json
93
- requirement: &77412040 !ruby/object:Gem::Requirement
93
+ requirement: &198050000 !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: *77412040
101
+ version_requirements: *198050000
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: confstruct
104
- requirement: &77411220 !ruby/object:Gem::Requirement
104
+ requirement: &198049120 !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: *77411220
112
+ version_requirements: *198049120
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: soap4r-ruby1.9
115
- requirement: &77410200 !ruby/object:Gem::Requirement
115
+ requirement: &198048500 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *77410200
123
+ version_requirements: *198048500
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: httparty
126
- requirement: &77425780 !ruby/object:Gem::Requirement
126
+ requirement: &198047840 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *77425780
134
+ version_requirements: *198047840
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: ruby-prof
137
- requirement: &77425140 !ruby/object:Gem::Requirement
137
+ requirement: &198047060 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,7 +142,7 @@ dependencies:
142
142
  version: '0'
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *77425140
145
+ version_requirements: *198047060
146
146
  description:
147
147
  email:
148
148
  - umlaut-general@rubyforge.org
@@ -359,34 +359,50 @@ files:
359
359
  - LICENSE
360
360
  - Rakefile
361
361
  - README.md
362
+ - ./test/integration/request_reuse_test.rb
363
+ - ./test/integration/#request_reuse_test.rb#
364
+ - ./test/dummy/tmp/cache/assets/DA6/A80/sprockets%2F92e26d8e58d5bcc8b8f6c25d1b05b9c1
365
+ - ./test/dummy/tmp/cache/assets/E09/850/sprockets%2F4bf497a38ecfef660b2f0ebb852d5e9c
362
366
  - ./test/dummy/tmp/cache/assets/D16/F90/sprockets%2F5fe3c021048c6f9a6086bed7736d87b1
363
367
  - ./test/dummy/tmp/cache/assets/DE8/790/sprockets%2Fd1333bde2b9aafcc712d11dd09ab35d8
364
368
  - ./test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
365
369
  - ./test/dummy/tmp/cache/assets/D94/FF0/sprockets%2F3b56a1aa77de0d570c38a4a9d5f4b1d6
366
370
  - ./test/dummy/tmp/cache/assets/CBD/730/sprockets%2F034c1086748b981c36672d5a56e7fed6
371
+ - ./test/dummy/tmp/cache/assets/DF5/5E0/sprockets%2F8e64a37c73cdc0b37a4ccfcb42ab45d8
367
372
  - ./test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
368
373
  - ./test/dummy/tmp/cache/assets/E5F/960/sprockets%2Fdc007b6cad5c7ef08e33ec28cfff0ef6
369
374
  - ./test/dummy/tmp/cache/assets/D24/360/sprockets%2F6987b047a96dc685ba3cf39b31477f6d
370
375
  - ./test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
371
376
  - ./test/dummy/tmp/cache/assets/CFE/080/sprockets%2F37fe9f4255baddbd549a659914929398
372
377
  - ./test/dummy/tmp/cache/assets/DFD/300/sprockets%2Fabac9489cf7f1db8ef00d72a1571ee1e
378
+ - ./test/dummy/tmp/cache/assets/D6B/2A0/sprockets%2F81f17ab0ed20f4a8d9355f7a1d872eb2
379
+ - ./test/dummy/tmp/cache/assets/CD7/DD0/sprockets%2F4f1fe68aa2042a0970bde9b185530646
373
380
  - ./test/dummy/tmp/cache/assets/CF7/2B0/sprockets%2F25a7c73655bd3598173b39d9f98bcd46
381
+ - ./test/dummy/tmp/cache/assets/D43/0D0/sprockets%2F682843a8d0795a5fbcfeb2f0c81727d0
382
+ - ./test/dummy/tmp/cache/assets/C80/980/sprockets%2Fc94807409c1523d43e18d25f35d93c41
383
+ - ./test/dummy/tmp/cache/assets/D5D/AD0/sprockets%2Fbdb053d9a6a967788f09fbc555d69f58
374
384
  - ./test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
375
385
  - ./test/dummy/tmp/cache/assets/D6C/7D0/sprockets%2F8a05d6981ec0d38c51739bef0b3a9c2b
376
386
  - ./test/dummy/tmp/cache/assets/D37/2B0/sprockets%2F40834fb07d7318c1fddd5003bd9e04f6
377
387
  - ./test/dummy/tmp/cache/assets/DFC/040/sprockets%2F15ea81cf915c0cb1dfc9cc04c9fef364
378
388
  - ./test/dummy/tmp/cache/assets/DF7/960/sprockets%2F99ac6db10b44a64fbba4ee847b35ba8b
379
389
  - ./test/dummy/tmp/cache/assets/CBF/B60/sprockets%2F08ca89671549936265dcb673bf02e36f
390
+ - ./test/dummy/tmp/cache/assets/D66/890/sprockets%2F06287a78ed20d8214197eab03bfca5dd
380
391
  - ./test/dummy/tmp/cache/assets/D97/6B0/sprockets%2Fb070e8c799d1a4ad5e62e0a1ae3b83e6
381
392
  - ./test/dummy/tmp/cache/assets/CC9/9F0/sprockets%2F306166316e2cafd13c15e62b51a2339d
393
+ - ./test/dummy/tmp/cache/assets/E38/FE0/sprockets%2Fe1fc875efa817cbb94a5d8de25ea4e6b
394
+ - ./test/dummy/tmp/cache/assets/CEA/2A0/sprockets%2F9c8607157b998108ce08f4aca39f810a
382
395
  - ./test/dummy/tmp/cache/assets/C70/4D0/sprockets%2F034ad2036e623081bd352800786dfe80
383
396
  - ./test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
384
397
  - ./test/dummy/tmp/cache/assets/C45/A30/sprockets%2F39494895e462697b478d3d0c79298a26
385
398
  - ./test/dummy/tmp/cache/assets/DC0/D20/sprockets%2F1ccf7405cd252dcec4bf23af82e2563a
399
+ - ./test/dummy/tmp/cache/assets/D74/4C0/sprockets%2F64fdf30f75592d6e45fcfc45a48d20a2
386
400
  - ./test/dummy/tmp/cache/assets/C5F/340/sprockets%2F99692920160b7a279b86a80415b79db7
387
401
  - ./test/dummy/tmp/cache/assets/DD2/D80/sprockets%2Fc66d103807d0f971fbbcf9aa8b8b27ee
388
402
  - ./test/dummy/tmp/cache/assets/C2A/410/sprockets%2Fd654b74912b4773a2534616863fb6565
403
+ - ./test/dummy/tmp/cache/assets/D33/FD0/sprockets%2F2ba0b4e6334a77b923e5f770381bb2bf
389
404
  - ./test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
405
+ - ./test/dummy/tmp/cache/assets/E6F/A00/sprockets%2Fd32bcea45ea04a6aaee95b3aa840cbab
390
406
  - ./test/dummy/tmp/performance/ProfilerTest#test_puts_foo_process_time_graph.html
391
407
  - ./test/dummy/tmp/performance/BenchmarkerTest#test_puts_foo_gc_time.csv
392
408
  - ./test/dummy/tmp/performance/minus.png
@@ -426,6 +442,7 @@ files:
426
442
  - ./test/dummy/config/initializers/session_store.rb
427
443
  - ./test/dummy/config/initializers/secret_token.rb
428
444
  - ./test/dummy/config/primo.yml
445
+ - ./test/dummy/config/umlaut_services-JH.yml
429
446
  - ./test/dummy/Rakefile
430
447
  - ./test/dummy/script/rails
431
448
  - ./test/dummy/config.ru
@@ -466,7 +483,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
466
483
  version: '0'
467
484
  segments:
468
485
  - 0
469
- hash: 2247708829572197569
486
+ hash: 4178762812938818169
470
487
  required_rubygems_version: !ruby/object:Gem::Requirement
471
488
  none: false
472
489
  requirements:
@@ -475,40 +492,56 @@ required_rubygems_version: !ruby/object:Gem::Requirement
475
492
  version: 1.3.1
476
493
  requirements: []
477
494
  rubyforge_project:
478
- rubygems_version: 1.8.15
495
+ rubygems_version: 1.8.10
479
496
  signing_key:
480
497
  specification_version: 3
481
498
  summary: For Libraries, a just-in-time last-mile service aggregator, taking OpenURL
482
499
  input
483
500
  test_files:
501
+ - ./test/integration/request_reuse_test.rb
502
+ - ./test/integration/#request_reuse_test.rb#
503
+ - ./test/dummy/tmp/cache/assets/DA6/A80/sprockets%2F92e26d8e58d5bcc8b8f6c25d1b05b9c1
504
+ - ./test/dummy/tmp/cache/assets/E09/850/sprockets%2F4bf497a38ecfef660b2f0ebb852d5e9c
484
505
  - ./test/dummy/tmp/cache/assets/D16/F90/sprockets%2F5fe3c021048c6f9a6086bed7736d87b1
485
506
  - ./test/dummy/tmp/cache/assets/DE8/790/sprockets%2Fd1333bde2b9aafcc712d11dd09ab35d8
486
507
  - ./test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
487
508
  - ./test/dummy/tmp/cache/assets/D94/FF0/sprockets%2F3b56a1aa77de0d570c38a4a9d5f4b1d6
488
509
  - ./test/dummy/tmp/cache/assets/CBD/730/sprockets%2F034c1086748b981c36672d5a56e7fed6
510
+ - ./test/dummy/tmp/cache/assets/DF5/5E0/sprockets%2F8e64a37c73cdc0b37a4ccfcb42ab45d8
489
511
  - ./test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
490
512
  - ./test/dummy/tmp/cache/assets/E5F/960/sprockets%2Fdc007b6cad5c7ef08e33ec28cfff0ef6
491
513
  - ./test/dummy/tmp/cache/assets/D24/360/sprockets%2F6987b047a96dc685ba3cf39b31477f6d
492
514
  - ./test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
493
515
  - ./test/dummy/tmp/cache/assets/CFE/080/sprockets%2F37fe9f4255baddbd549a659914929398
494
516
  - ./test/dummy/tmp/cache/assets/DFD/300/sprockets%2Fabac9489cf7f1db8ef00d72a1571ee1e
517
+ - ./test/dummy/tmp/cache/assets/D6B/2A0/sprockets%2F81f17ab0ed20f4a8d9355f7a1d872eb2
518
+ - ./test/dummy/tmp/cache/assets/CD7/DD0/sprockets%2F4f1fe68aa2042a0970bde9b185530646
495
519
  - ./test/dummy/tmp/cache/assets/CF7/2B0/sprockets%2F25a7c73655bd3598173b39d9f98bcd46
520
+ - ./test/dummy/tmp/cache/assets/D43/0D0/sprockets%2F682843a8d0795a5fbcfeb2f0c81727d0
521
+ - ./test/dummy/tmp/cache/assets/C80/980/sprockets%2Fc94807409c1523d43e18d25f35d93c41
522
+ - ./test/dummy/tmp/cache/assets/D5D/AD0/sprockets%2Fbdb053d9a6a967788f09fbc555d69f58
496
523
  - ./test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
497
524
  - ./test/dummy/tmp/cache/assets/D6C/7D0/sprockets%2F8a05d6981ec0d38c51739bef0b3a9c2b
498
525
  - ./test/dummy/tmp/cache/assets/D37/2B0/sprockets%2F40834fb07d7318c1fddd5003bd9e04f6
499
526
  - ./test/dummy/tmp/cache/assets/DFC/040/sprockets%2F15ea81cf915c0cb1dfc9cc04c9fef364
500
527
  - ./test/dummy/tmp/cache/assets/DF7/960/sprockets%2F99ac6db10b44a64fbba4ee847b35ba8b
501
528
  - ./test/dummy/tmp/cache/assets/CBF/B60/sprockets%2F08ca89671549936265dcb673bf02e36f
529
+ - ./test/dummy/tmp/cache/assets/D66/890/sprockets%2F06287a78ed20d8214197eab03bfca5dd
502
530
  - ./test/dummy/tmp/cache/assets/D97/6B0/sprockets%2Fb070e8c799d1a4ad5e62e0a1ae3b83e6
503
531
  - ./test/dummy/tmp/cache/assets/CC9/9F0/sprockets%2F306166316e2cafd13c15e62b51a2339d
532
+ - ./test/dummy/tmp/cache/assets/E38/FE0/sprockets%2Fe1fc875efa817cbb94a5d8de25ea4e6b
533
+ - ./test/dummy/tmp/cache/assets/CEA/2A0/sprockets%2F9c8607157b998108ce08f4aca39f810a
504
534
  - ./test/dummy/tmp/cache/assets/C70/4D0/sprockets%2F034ad2036e623081bd352800786dfe80
505
535
  - ./test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
506
536
  - ./test/dummy/tmp/cache/assets/C45/A30/sprockets%2F39494895e462697b478d3d0c79298a26
507
537
  - ./test/dummy/tmp/cache/assets/DC0/D20/sprockets%2F1ccf7405cd252dcec4bf23af82e2563a
538
+ - ./test/dummy/tmp/cache/assets/D74/4C0/sprockets%2F64fdf30f75592d6e45fcfc45a48d20a2
508
539
  - ./test/dummy/tmp/cache/assets/C5F/340/sprockets%2F99692920160b7a279b86a80415b79db7
509
540
  - ./test/dummy/tmp/cache/assets/DD2/D80/sprockets%2Fc66d103807d0f971fbbcf9aa8b8b27ee
510
541
  - ./test/dummy/tmp/cache/assets/C2A/410/sprockets%2Fd654b74912b4773a2534616863fb6565
542
+ - ./test/dummy/tmp/cache/assets/D33/FD0/sprockets%2F2ba0b4e6334a77b923e5f770381bb2bf
511
543
  - ./test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
544
+ - ./test/dummy/tmp/cache/assets/E6F/A00/sprockets%2Fd32bcea45ea04a6aaee95b3aa840cbab
512
545
  - ./test/dummy/tmp/performance/ProfilerTest#test_puts_foo_process_time_graph.html
513
546
  - ./test/dummy/tmp/performance/BenchmarkerTest#test_puts_foo_gc_time.csv
514
547
  - ./test/dummy/tmp/performance/minus.png
@@ -548,6 +581,7 @@ test_files:
548
581
  - ./test/dummy/config/initializers/session_store.rb
549
582
  - ./test/dummy/config/initializers/secret_token.rb
550
583
  - ./test/dummy/config/primo.yml
584
+ - ./test/dummy/config/umlaut_services-JH.yml
551
585
  - ./test/dummy/Rakefile
552
586
  - ./test/dummy/script/rails
553
587
  - ./test/dummy/config.ru