umlaut 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -92,7 +92,7 @@ class Referent < ActiveRecord::Base
92
92
  oclcnum_ids = co.referent.identifiers.find_all { |i| i =~ /^info:oclcnum/}
93
93
  oclcnum_ids.each do |oclcnum_id|
94
94
  # FIXME Does this regex need "ocn" as well?
95
- if (oclcnum_id =~ /^info:oclcnum\/(ocm0*|ocn0*|\(OCoLC\)0*|ocl70*|0+)(.*)$/)
95
+ if (oclcnum_id =~ /^info:oclcnum\/(ocm0*|ocn0*|on0*|\(OCoLC\)0*|ocl70*|0+)(.*)$/)
96
96
  # Delete the original, take out just the actual oclcnum, not
97
97
  # those old prefixes. or preceding 0s.
98
98
  co.referent.delete_identifier( oclcnum_id )
@@ -293,11 +293,7 @@ class Request < ActiveRecord::Base
293
293
  # lexis nexis, so we'll consider it article-level. Since it is!
294
294
  return ( data['atitle'].blank? &&
295
295
  data['volume'].blank? &&
296
- data['issue'].blank? &&
297
- # A date means we're not title-level only if
298
- # we're not a book.
299
- (data['date'].blank? ||
300
- referent.format == "book") &&
296
+ data['issue'].blank? &&
301
297
  # pmid or doi is considered article-level, because SFX can
302
298
  # respond to those. Other identifiers may be useless.
303
299
  (! referent.identifiers.find {|i| i =~ /^info\:(doi|pmid)/})
@@ -28,7 +28,8 @@ module MarcHelper
28
28
  next if urls_seen.include?(url)
29
29
 
30
30
  # Trying to avoid duplicates with SFX/link resolver.
31
- next if should_skip_856_link?(request, marc_xml, url)
31
+ skip = should_skip_856_link?(request, marc_xml, url)
32
+ next if skip
32
33
 
33
34
  urls_seen.push(url)
34
35
 
@@ -120,13 +121,17 @@ module MarcHelper
120
121
  # still include.
121
122
  def should_skip_856_link?(request, marc_record, url)
122
123
  is_journal = (marc_record.leader[7,1] == 's')
123
-
124
- return ( is_journal &&
125
- SfxUrl.sfx_controls_url?(url) &&
126
- !( request.title_level_citation? &&
124
+
125
+ sfx_controlled = SfxUrl.sfx_controls_url?(url)
126
+
127
+ # Do NOT skip if it's a title-level citation with no
128
+ # existing full text entries.
129
+ not_title_level_empty = !( request.title_level_citation? &&
127
130
  request.get_service_type("fulltext").length == 0
128
- )
129
- )
131
+ )
132
+
133
+ result = ( is_journal && sfx_controlled && not_title_level_empty )
134
+ return result
130
135
  end
131
136
 
132
137
  # Take a ruby Marc Field object representing an 856 field,
@@ -384,8 +384,7 @@ class WorldcatIdentities < Service
384
384
  end
385
385
 
386
386
  def clean_oclcnum(num)
387
- # got the follow from referent.rb ~152 and added ocn
388
- if num =~ /(ocn0*|ocm0*|\(OCoLC\)|ocl70*|0+)(.*)$/
387
+ if num =~ /(ocn0*|ocm0*|on0*|\(OCoLC\)|ocl70*|0+)(.*)$/
389
388
  num = $2
390
389
  end
391
390
  return num
@@ -1,3 +1,3 @@
1
1
  module Umlaut
2
- VERSION = "3.0.1"
2
+ VERSION = "3.0.2"
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.1
4
+ version: 3.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-10 00:00:00.000000000 Z
12
+ date: 2012-07-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -575,7 +575,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
575
575
  version: '0'
576
576
  segments:
577
577
  - 0
578
- hash: 2563544091378142822
578
+ hash: 3369968520259252587
579
579
  required_rubygems_version: !ruby/object:Gem::Requirement
580
580
  none: false
581
581
  requirements:
@@ -584,7 +584,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
584
584
  version: '0'
585
585
  segments:
586
586
  - 0
587
- hash: 2563544091378142822
587
+ hash: 3369968520259252587
588
588
  requirements: []
589
589
  rubyforge_project:
590
590
  rubygems_version: 1.8.24