umlaut 3.0.0alpha12 → 3.0.0alpha13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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