umlaut 3.0.0beta6 → 3.0.0beta7

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.
@@ -125,9 +125,16 @@ class HathiTrust < Service
125
125
  # the parameters for the particular service
126
126
  # FIXME consider moving this into metadata_helper
127
127
  def get_bibkey_parameters(rft)
128
+ # filter out special chars that ought not to be in there anyway,
129
+ # and that HathiTrust barfs on.
128
130
  isbn = get_identifier(:urn, "isbn", rft)
131
+ isbn = isbn.gsub(/[\-\[\]]/, '') unless isbn.blank?
132
+
129
133
  oclcnum = get_identifier(:info, "oclcnum", rft)
134
+ oclcnum = oclnum.gsub(/[\-\[\]]/, '') unless oclcnum.blank?
135
+
130
136
  lccn = get_lccn(rft)
137
+ lccn = lccn.gsub(/[\-\[\]]/, '') unless lccn.blank?
131
138
 
132
139
  yield(isbn, lccn, oclcnum)
133
140
  end
@@ -0,0 +1,8 @@
1
+
2
+
3
+ file = open("Umlaut/log/production.log")
4
+
5
+ file.each do |line|
6
+ puts line
7
+ end
8
+
data/lib/umlaut.rb CHANGED
@@ -36,6 +36,14 @@ module Umlaut
36
36
  app.config.assets.precompile << "umlaut_ui.js"
37
37
  end
38
38
 
39
+ # Patch with fixed 'fair' version of ConnectionPool, see
40
+ # active_record_patch/connection_pool.rb
41
+ initializer("#{engine_name}.patch_connection_pool", :before => "active_record.initialize_database") do |app|
42
+ load File.join(self.root, "active_record_patch", "connection_pool.rb")
43
+ end
44
+
45
+
46
+
39
47
 
40
48
  end
41
49
  end
@@ -1,3 +1,3 @@
1
1
  module Umlaut
2
- VERSION = "3.0.0beta6"
2
+ VERSION = "3.0.0beta7"
3
3
  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.0beta6
4
+ version: 3.0.0beta7
5
5
  prerelease: 5
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,27 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-16 00:00:00.000000000 Z
12
+ date: 2012-05-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &102344040 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 3.2.2
21
+ version: 3.2.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *102344040
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.3
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: jquery-rails
27
- requirement: &102355740 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,21 +37,31 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *102355740
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: nokogiri
38
- requirement: &102351520 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
- - - =
51
+ - - '='
42
52
  - !ruby/object:Gem::Version
43
53
  version: 1.5.0
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *102351520
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.5.0
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: openurl
49
- requirement: &102374560 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,21 +69,37 @@ dependencies:
54
69
  version: 0.3.0
55
70
  type: :runtime
56
71
  prerelease: false
57
- version_requirements: *102374560
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.3.0
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: marc
60
- requirement: &102378660 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
- - - ~>
83
+ - - ! '>='
64
84
  - !ruby/object:Gem::Version
65
85
  version: 0.4.3
86
+ - - <
87
+ - !ruby/object:Gem::Version
88
+ version: '1.1'
66
89
  type: :runtime
67
90
  prerelease: false
68
- version_requirements: *102378660
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.4.3
97
+ - - <
98
+ - !ruby/object:Gem::Version
99
+ version: '1.1'
69
100
  - !ruby/object:Gem::Dependency
70
101
  name: isbn
71
- requirement: &102376760 !ruby/object:Gem::Requirement
102
+ requirement: !ruby/object:Gem::Requirement
72
103
  none: false
73
104
  requirements:
74
105
  - - ! '>='
@@ -76,10 +107,15 @@ dependencies:
76
107
  version: '0'
77
108
  type: :runtime
78
109
  prerelease: false
79
- version_requirements: *102376760
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ! '>='
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
80
116
  - !ruby/object:Gem::Dependency
81
117
  name: htmlentities
82
- requirement: &102385880 !ruby/object:Gem::Requirement
118
+ requirement: !ruby/object:Gem::Requirement
83
119
  none: false
84
120
  requirements:
85
121
  - - ! '>='
@@ -87,10 +123,15 @@ dependencies:
87
123
  version: '0'
88
124
  type: :runtime
89
125
  prerelease: false
90
- version_requirements: *102385880
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
91
132
  - !ruby/object:Gem::Dependency
92
133
  name: multi_json
93
- requirement: &102404440 !ruby/object:Gem::Requirement
134
+ requirement: !ruby/object:Gem::Requirement
94
135
  none: false
95
136
  requirements:
96
137
  - - ! '>='
@@ -98,10 +139,15 @@ dependencies:
98
139
  version: '0'
99
140
  type: :runtime
100
141
  prerelease: false
101
- version_requirements: *102404440
142
+ version_requirements: !ruby/object:Gem::Requirement
143
+ none: false
144
+ requirements:
145
+ - - ! '>='
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
102
148
  - !ruby/object:Gem::Dependency
103
149
  name: confstruct
104
- requirement: &102501700 !ruby/object:Gem::Requirement
150
+ requirement: !ruby/object:Gem::Requirement
105
151
  none: false
106
152
  requirements:
107
153
  - - ~>
@@ -109,10 +155,15 @@ dependencies:
109
155
  version: '0.2'
110
156
  type: :runtime
111
157
  prerelease: false
112
- version_requirements: *102501700
158
+ version_requirements: !ruby/object:Gem::Requirement
159
+ none: false
160
+ requirements:
161
+ - - ~>
162
+ - !ruby/object:Gem::Version
163
+ version: '0.2'
113
164
  - !ruby/object:Gem::Dependency
114
165
  name: exlibris-primo
115
- requirement: &102514240 !ruby/object:Gem::Requirement
166
+ requirement: !ruby/object:Gem::Requirement
116
167
  none: false
117
168
  requirements:
118
169
  - - ~>
@@ -120,10 +171,15 @@ dependencies:
120
171
  version: 0.1.0
121
172
  type: :runtime
122
173
  prerelease: false
123
- version_requirements: *102514240
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ none: false
176
+ requirements:
177
+ - - ~>
178
+ - !ruby/object:Gem::Version
179
+ version: 0.1.0
124
180
  - !ruby/object:Gem::Dependency
125
181
  name: single_test
126
- requirement: &102512120 !ruby/object:Gem::Requirement
182
+ requirement: !ruby/object:Gem::Requirement
127
183
  none: false
128
184
  requirements:
129
185
  - - ~>
@@ -131,10 +187,15 @@ dependencies:
131
187
  version: 0.5.1
132
188
  type: :development
133
189
  prerelease: false
134
- version_requirements: *102512120
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ none: false
192
+ requirements:
193
+ - - ~>
194
+ - !ruby/object:Gem::Version
195
+ version: 0.5.1
135
196
  - !ruby/object:Gem::Dependency
136
197
  name: uglifier
137
- requirement: &102509700 !ruby/object:Gem::Requirement
198
+ requirement: !ruby/object:Gem::Requirement
138
199
  none: false
139
200
  requirements:
140
201
  - - ! '>='
@@ -142,10 +203,15 @@ dependencies:
142
203
  version: '0'
143
204
  type: :development
144
205
  prerelease: false
145
- version_requirements: *102509700
206
+ version_requirements: !ruby/object:Gem::Requirement
207
+ none: false
208
+ requirements:
209
+ - - ! '>='
210
+ - !ruby/object:Gem::Version
211
+ version: '0'
146
212
  - !ruby/object:Gem::Dependency
147
213
  name: therubyracer
148
- requirement: &102507660 !ruby/object:Gem::Requirement
214
+ requirement: !ruby/object:Gem::Requirement
149
215
  none: false
150
216
  requirements:
151
217
  - - ! '>='
@@ -153,10 +219,15 @@ dependencies:
153
219
  version: '0'
154
220
  type: :development
155
221
  prerelease: false
156
- version_requirements: *102507660
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ none: false
224
+ requirements:
225
+ - - ! '>='
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
157
228
  - !ruby/object:Gem::Dependency
158
229
  name: ruby-prof
159
- requirement: &102522180 !ruby/object:Gem::Requirement
230
+ requirement: !ruby/object:Gem::Requirement
160
231
  none: false
161
232
  requirements:
162
233
  - - ! '>='
@@ -164,7 +235,12 @@ dependencies:
164
235
  version: '0'
165
236
  type: :development
166
237
  prerelease: false
167
- version_requirements: *102522180
238
+ version_requirements: !ruby/object:Gem::Requirement
239
+ none: false
240
+ requirements:
241
+ - - ! '>='
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
168
244
  description:
169
245
  email:
170
246
  - umlaut-general@rubyforge.org
@@ -300,7 +376,6 @@ files:
300
376
  - app/helpers/open_search_helper.rb
301
377
  - app/helpers/resolve_helper.rb
302
378
  - app/helpers/search_helper.rb
303
- - config/initializers/extensions/connection_pool.rb
304
379
  - db/seeds.rb
305
380
  - db/migrate/01_umlaut_init.rb
306
381
  - db/orig_fixed_data/service_type_values.yml
@@ -369,6 +444,7 @@ files:
369
444
  - lib/aws_product_sign.rb
370
445
  - lib/tasks/umlaut_migrate_permalinks.rake
371
446
  - lib/tasks/umlaut.rake
447
+ - lib/tasks/Untitled-1
372
448
  - LICENSE
373
449
  - Rakefile
374
450
  - README.md
@@ -481,7 +557,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
481
557
  version: '0'
482
558
  segments:
483
559
  - 0
484
- hash: 367390304893023156
560
+ hash: -1531856936954228616
485
561
  required_rubygems_version: !ruby/object:Gem::Requirement
486
562
  none: false
487
563
  requirements:
@@ -490,7 +566,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
490
566
  version: 1.3.1
491
567
  requirements: []
492
568
  rubyforge_project:
493
- rubygems_version: 1.8.15
569
+ rubygems_version: 1.8.24
494
570
  signing_key:
495
571
  specification_version: 3
496
572
  summary: For Libraries, a just-in-time last-mile service aggregator, taking OpenURL
@@ -1,97 +0,0 @@
1
- # NOTE: THIS NEEDS TO BE REMOVED WHEN RAILS IS FIXED!
2
- # We expect it will be fixed in rails 3.2.3 (and broken again in 4, sorry)
3
- # We require at least 3.2.2, so patch only if we're 3.2.2
4
-
5
- if Rails.version == "3.2.2"
6
-
7
-
8
- class ActiveRecord::ConnectionAdapters::ConnectionPool
9
-
10
- ##########################
11
- # Monkey patch to fix disastrous concurrency bug in
12
- # ActiveRecord ConnectionPool#with_concurrency
13
- #
14
- # See https://github.com/rails/rails/issues/5330
15
- ##########################
16
-
17
- # New method we're adding viz a viz rails 3.2.2
18
- # Check to see if there is an active connection for
19
- # current_connection_id, that is by default the current
20
- # thread.
21
- def current_connection?
22
- @reserved_connections.has_key?(current_connection_id)
23
- end
24
-
25
- # Redefine with_connection viz a viz rails 3.2.2 to
26
- # properly check back in connections.
27
- # If a connection already exists yield it to the block. If no connection
28
- # exists checkout a connection, yield it to the block, and checkin the
29
- # connection when finished.
30
- def with_connection
31
- connection_id = current_connection_id
32
- fresh_connection = true unless current_connection?
33
- yield connection
34
- ensure
35
- release_connection(connection_id) if fresh_connection
36
- end
37
-
38
-
39
- ###################################
40
- #
41
- # Monkey patch to fix bug with threads waiting
42
- # on connection waking up, not succesfuly getting
43
- # a connection, and giving up too early.
44
- #
45
- # https://github.com/rails/rails/pull/5422
46
- #
47
- # yeah, we got to replace all of #checkout.
48
- # that's why we only apply this patch in 3.2.2, not
49
- # in future rails versions.
50
- #####################################
51
- def checkout
52
- synchronize do
53
- waited_time = 0
54
-
55
- loop do
56
- conn = @connections.find { |c| c.lease }
57
-
58
- unless conn
59
- if @connections.size < @size
60
- conn = checkout_new_connection
61
- conn.lease
62
- end
63
- end
64
-
65
- if conn
66
- checkout_and_verify conn
67
- return conn
68
- end
69
-
70
- if waited_time >= @timeout
71
- raise ConnectionTimeoutError, "could not obtain a database connection#{" within #{@timeout} seconds" if @timeout} (waited #{waited_time} seconds). The max pool size is currently #{@size}; consider increasing it."
72
- end
73
-
74
- # Sometimes our wait can end because a connection is available,
75
- # but another thread can snatch it up first. If timeout hasn't
76
- # passed but no connection is avail, looks like that happened --
77
- # loop and wait again, for the time remaining on our timeout.
78
- before_wait = Time.now
79
- @queue.wait( [@timeout - waited_time, 0].max )
80
- waited_time += (Time.now - before_wait)
81
-
82
- # Will go away in Rails 4, when we don't clean up
83
- # after leaked connections automatically anymore. Right now, clean
84
- # up after we've returned from a 'wait' if it looks like it's
85
- # needed, then loop and try again.
86
- if(active_connections.size >= @connections.size)
87
- clear_stale_cached_connections!
88
- end
89
- end
90
- end
91
- end
92
-
93
-
94
-
95
- end
96
-
97
- end