openurl 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
data/lib/openurl.rb
CHANGED
@@ -12,6 +12,8 @@ require 'openurl/context_object'
|
|
12
12
|
require 'openurl/context_object_entity'
|
13
13
|
require 'openurl/transport'
|
14
14
|
|
15
|
+
require 'scrub_rb'
|
16
|
+
|
15
17
|
Dir.open(File.dirname(File.expand_path(__FILE__))+'/openurl/metadata_formats').each do | file |
|
16
18
|
next if file.match(/^\./)
|
17
19
|
class_name = file.sub(/\.rb$/,'')
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'scrub_rb' # backfill of String#scrub to ruby 1.9.3 and 2.0
|
4
4
|
|
5
5
|
module OpenURL
|
6
6
|
|
@@ -35,9 +35,7 @@ module OpenURL
|
|
35
35
|
# == Serialize a ContextObject to kev or XML :
|
36
36
|
# ctx.kev
|
37
37
|
# ctx.xml
|
38
|
-
class ContextObject
|
39
|
-
include EnsureValidEncoding
|
40
|
-
|
38
|
+
class ContextObject
|
41
39
|
attr_reader :admin, :referent, :referringEntity, :requestor, :referrer,
|
42
40
|
:serviceType, :resolver
|
43
41
|
attr_accessor :foreign_keys, :openurl_ver
|
@@ -241,7 +239,7 @@ module OpenURL
|
|
241
239
|
def import_xml(xml)
|
242
240
|
if xml.is_a?(String)
|
243
241
|
xml.force_encoding("UTF-8") if xml.respond_to? :force_encoding
|
244
|
-
|
242
|
+
xml.scrub!
|
245
243
|
doc = REXML::Document.new xml.gsub(/>[\s\t]*\n*[\s\t]*</, '><').strip
|
246
244
|
elsif xml.is_a?(REXML::Document)
|
247
245
|
doc = xml
|
@@ -305,7 +303,7 @@ module OpenURL
|
|
305
303
|
[values].flatten.compact.each do | v |
|
306
304
|
v.force_encoding(source_encoding)
|
307
305
|
if source_encoding == "UTF-8"
|
308
|
-
|
306
|
+
v.scrub!
|
309
307
|
else
|
310
308
|
# transcode, replacing any bad chars.
|
311
309
|
v.encode!("UTF-8", :invalid => :replace, :undef => :replace )
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openurl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-07-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: marc
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
- !ruby/object:Gem::Version
|
30
30
|
version: '0'
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
|
-
name:
|
32
|
+
name: scrub_rb
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
34
34
|
none: false
|
35
35
|
requirements:
|