rdf 2.2.9 → 2.2.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/rdf.rb +8 -6
- data/lib/rdf/model/uri.rb +17 -12
- data/lib/rdf/util/logger.rb +7 -2
- data/lib/rdf/vocabulary.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d84b3c8827d268301a7b6b9e0c96b80da7f68e20
|
4
|
+
data.tar.gz: 4f1b1330f1c11280fcdbaff3ab68c32d42ac7554
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 851e0ce7185a984c98fd3c6c9eea428602b782ceac932419b61c120178903eca03c6cdbfd97b89c2add9cbacbb8d1ca83950f7309b7749500f72263bbad52016
|
7
|
+
data.tar.gz: 7da0bbaff16670a2981049a4b0ef90ea6759d642ef73c4b8393d6afbad0ff280406f715b7bb5d20e8473f8ad9952d2e46cf3b3d5813ea1d13694bd63c82f07f5
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.2.
|
1
|
+
2.2.10
|
data/lib/rdf.rb
CHANGED
@@ -93,8 +93,8 @@ module RDF
|
|
93
93
|
#
|
94
94
|
# @param (see RDF::URI#initialize)
|
95
95
|
# @return [RDF::URI]
|
96
|
-
def self.URI(*args, &block)
|
97
|
-
|
96
|
+
def self.URI(uri, *args, &block)
|
97
|
+
uri.respond_to?(:to_uri) ? uri.to_uri : URI.new(uri, *args, &block)
|
98
98
|
end
|
99
99
|
|
100
100
|
##
|
@@ -102,10 +102,10 @@ module RDF
|
|
102
102
|
#
|
103
103
|
# @param (see RDF::Literal#initialize)
|
104
104
|
# @return [RDF::Literal]
|
105
|
-
def self.Literal(*args, &block)
|
106
|
-
case literal
|
105
|
+
def self.Literal(literal, *args, &block)
|
106
|
+
case literal
|
107
107
|
when RDF::Literal then literal
|
108
|
-
else Literal.new(*args, &block)
|
108
|
+
else Literal.new(literal, *args, &block)
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
@@ -220,12 +220,14 @@ module RDF
|
|
220
220
|
super || RDF::RDFV.respond_to?(method, include_all)
|
221
221
|
end
|
222
222
|
|
223
|
+
RDF_N_REGEXP = %r{_\d+}.freeze
|
224
|
+
|
223
225
|
##
|
224
226
|
# Delegate other methods to RDF::RDFV
|
225
227
|
def self.method_missing(property, *args, &block)
|
226
228
|
if args.empty?
|
227
229
|
# Special-case rdf:_n for all integers
|
228
|
-
property
|
230
|
+
RDF_N_REGEXP.match(property) ? RDF::URI("#{to_uri}#{property}") : RDF::RDFV.send(property)
|
229
231
|
else
|
230
232
|
super
|
231
233
|
end
|
data/lib/rdf/model/uri.rb
CHANGED
@@ -81,7 +81,7 @@ module RDF
|
|
81
81
|
IRI = Regexp.compile("^#{SCHEME}:(?:#{IHIER_PART})(?:\\?#{IQUERY})?(?:\\##{IFRAGMENT})?$").freeze
|
82
82
|
|
83
83
|
# Split an IRI into it's component parts
|
84
|
-
IRI_PARTS = /^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(\?[^#]*)?(#.*)
|
84
|
+
IRI_PARTS = /^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(\?[^#]*)?(#.*)?$/.freeze
|
85
85
|
|
86
86
|
# Remove dot expressions regular expressions
|
87
87
|
RDS_2A = /^\.?\.\/(.*)$/.freeze
|
@@ -141,10 +141,9 @@ module RDF
|
|
141
141
|
#
|
142
142
|
# @param (see #initialize)
|
143
143
|
# @return [RDF::URI] an immutable, frozen URI object
|
144
|
-
def self.intern(*args)
|
145
|
-
str = args.first
|
144
|
+
def self.intern(str, *args)
|
146
145
|
args << {} unless args.last.is_a?(Hash) # FIXME: needed until #to_hash is removed to avoid DEPRECATION warning.
|
147
|
-
(cache[(str = str.to_s).to_sym] ||= self.new(*args)).freeze
|
146
|
+
(cache[(str = str.to_s).to_sym] ||= self.new(str, *args)).freeze
|
148
147
|
end
|
149
148
|
|
150
149
|
##
|
@@ -224,6 +223,7 @@ module RDF
|
|
224
223
|
# @param [Boolean] validate (false)
|
225
224
|
# @param [Boolean] canonicalize (false)
|
226
225
|
def initialize(*args, validate: false, canonicalize: false, **options)
|
226
|
+
@value = @object = @hash = nil
|
227
227
|
uri = args.first
|
228
228
|
if uri
|
229
229
|
@value = uri.to_s
|
@@ -344,7 +344,7 @@ module RDF
|
|
344
344
|
# @return [Boolean] `true` or `false`
|
345
345
|
# @since 0.3.9
|
346
346
|
def valid?
|
347
|
-
|
347
|
+
RDF::URI::IRI.match(to_s) || false
|
348
348
|
end
|
349
349
|
|
350
350
|
##
|
@@ -796,7 +796,8 @@ module RDF
|
|
796
796
|
# lexical representation of URI, either absolute or relative
|
797
797
|
# @return [String]
|
798
798
|
def value
|
799
|
-
@value
|
799
|
+
return @value if @value
|
800
|
+
@value = [
|
800
801
|
("#{scheme}:" if absolute?),
|
801
802
|
("//#{authority}" if authority),
|
802
803
|
path,
|
@@ -810,7 +811,7 @@ module RDF
|
|
810
811
|
#
|
811
812
|
# @return [Integer]
|
812
813
|
def hash
|
813
|
-
@hash
|
814
|
+
@hash || @hash = (value.hash * -1)
|
814
815
|
end
|
815
816
|
|
816
817
|
##
|
@@ -818,7 +819,7 @@ module RDF
|
|
818
819
|
#
|
819
820
|
# @return [Hash{Symbol => String}]
|
820
821
|
def object
|
821
|
-
@object
|
822
|
+
@object || @object = parse(@value)
|
822
823
|
end
|
823
824
|
alias_method :to_h, :object
|
824
825
|
|
@@ -830,8 +831,8 @@ module RDF
|
|
830
831
|
def parse(value)
|
831
832
|
value = value.to_s.dup.force_encoding(Encoding::ASCII_8BIT)
|
832
833
|
parts = {}
|
833
|
-
if matchdata =
|
834
|
-
scheme, authority, path, query, fragment = matchdata
|
834
|
+
if matchdata = IRI_PARTS.match(value)
|
835
|
+
scheme, authority, path, query, fragment = matchdata[1..-1]
|
835
836
|
userinfo, hostport = authority.to_s.split('@', 2)
|
836
837
|
hostport, userinfo = userinfo, nil unless hostport
|
837
838
|
user, password = userinfo.to_s.split(':', 2)
|
@@ -928,11 +929,13 @@ module RDF
|
|
928
929
|
::URI.encode(::URI.decode(password), /[^#{IUNRESERVED}|#{SUB_DELIMS}]/) if password
|
929
930
|
end
|
930
931
|
|
932
|
+
HOST_FROM_AUTHORITY_RE = /(?:[^@]+@)?([^:]+)(?::.*)?$/.freeze
|
933
|
+
|
931
934
|
##
|
932
935
|
# @return [String]
|
933
936
|
def host
|
934
937
|
object.fetch(:host) do
|
935
|
-
@object[:host] = ($1 if @object[:authority]
|
938
|
+
@object[:host] = ($1 if HOST_FROM_AUTHORITY_RE.match(@object[:authority]))
|
936
939
|
end
|
937
940
|
end
|
938
941
|
|
@@ -954,11 +957,13 @@ module RDF
|
|
954
957
|
normalize_segment(host, IHOST, true).chomp('.') if host
|
955
958
|
end
|
956
959
|
|
960
|
+
PORT_FROM_AUTHORITY_RE = /:(\d+)$/.freeze
|
961
|
+
|
957
962
|
##
|
958
963
|
# @return [String]
|
959
964
|
def port
|
960
965
|
object.fetch(:port) do
|
961
|
-
@object[:port] = ($1 if @object[:authority]
|
966
|
+
@object[:port] = ($1 if PORT_FROM_AUTHORITY_RE.match(@object[:authority]))
|
962
967
|
end
|
963
968
|
end
|
964
969
|
|
data/lib/rdf/util/logger.rb
CHANGED
@@ -192,6 +192,11 @@ module RDF; module Util
|
|
192
192
|
end
|
193
193
|
|
194
194
|
private
|
195
|
+
LOGGER_COMMON_LEVELS = {
|
196
|
+
fatal: 4, error: 3, warn: 2, info: 1, debug: 0
|
197
|
+
}.freeze
|
198
|
+
LOGGER_COMMON_LEVELS_REVERSE = LOGGER_COMMON_LEVELS.invert.freeze
|
199
|
+
|
195
200
|
##
|
196
201
|
# Common method for logging messages
|
197
202
|
#
|
@@ -212,8 +217,8 @@ module RDF; module Util
|
|
212
217
|
logger = self.logger(options)
|
213
218
|
logger.log_statistics[level] = logger.log_statistics[level].to_i + 1
|
214
219
|
# Some older code uses integer level numbers
|
215
|
-
level =
|
216
|
-
return if logger.level >
|
220
|
+
level = LOGGER_COMMON_LEVELS_REVERSE.fetch(level) if level.is_a?(Integer)
|
221
|
+
return if logger.level > LOGGER_COMMON_LEVELS.fetch(level)
|
217
222
|
|
218
223
|
depth = options.fetch(:depth, logger.log_depth)
|
219
224
|
args << yield if block_given?
|
data/lib/rdf/vocabulary.rb
CHANGED
@@ -273,7 +273,7 @@ module RDF
|
|
273
273
|
#
|
274
274
|
# @return [RDF::URI]
|
275
275
|
def to_uri
|
276
|
-
RDF::URI.intern(to_s)
|
276
|
+
RDF::URI.intern(@@uris[self].to_s)
|
277
277
|
end
|
278
278
|
|
279
279
|
# For IRI compatibility
|
@@ -448,7 +448,7 @@ module RDF
|
|
448
448
|
undef_method(*instance_methods.
|
449
449
|
map(&:to_s).
|
450
450
|
select {|m| m =~ /^\w+$/}.
|
451
|
-
reject {|m| %w(object_id dup instance_eval inspect to_s class).include?(m) || m[0,2] == '__'}.
|
451
|
+
reject {|m| %w(object_id dup instance_eval inspect to_s class send public_send).include?(m) || m[0,2] == '__'}.
|
452
452
|
map(&:to_sym))
|
453
453
|
|
454
454
|
##
|
@@ -623,7 +623,7 @@ module RDF
|
|
623
623
|
# @since 0.3.9
|
624
624
|
def valid?
|
625
625
|
# Validate relative to RFC3987
|
626
|
-
|
626
|
+
RDF::URI::IRI.match(to_s) || false
|
627
627
|
end
|
628
628
|
|
629
629
|
##
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-
|
13
|
+
date: 2017-09-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: link_header
|