rdf 3.2.10 → 3.2.12

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 948292ebb4f6e10c59b67e873d2d14884c53c5fab199e901e4e4dadf768f379f
4
- data.tar.gz: 8731942201a15bcef71284fe0a79a3bc9a97b878ef2c53b757869cadefdadf54
3
+ metadata.gz: 909c6e55ee44ff73c0903c7af21ebd39ee82e317f0bf53a355b75f2e57ebb8b7
4
+ data.tar.gz: 7ccabf50046101ba51548cb8fe0da82989d039935428876f3b2f5edb51cd04ad
5
5
  SHA512:
6
- metadata.gz: 41d8fca7513dc56c6447b3b40d995b04f407e986ffc4e1a7fc86de7632ca026b6effdb8e7d3d815ba7ddb27c44e6af53a08bbde43390a065170e9a58446231d8
7
- data.tar.gz: 5c9895f52363ffee6bc408d5e476a9a345d7aec62ec8594a8ca49f5c3ef9016f307741c0ef8b537d6fc49f714a25d2a4b0bee64631951191c750ef53809533c4
6
+ metadata.gz: 5e23d2176b0593e396b7f07af60b91e60849f2f2c7b7431fbe58245567bd084c8610431a1438465b67c647088dac839e8337a1d27faf06705d97f1541bbf3616
7
+ data.tar.gz: 41ca7cc45458e926a1883f1b97f4024396180f745ca9f164267878fb3a42d0fbd9c8ec921047ba27097bac5b8c5eb988761da3fc52df67df906d9a992f0b2d14
data/README.md CHANGED
@@ -5,7 +5,7 @@ This is a pure-Ruby library for working with [Resource Description Framework
5
5
 
6
6
  * <https://ruby-rdf.github.io/rdf>
7
7
 
8
- [![Gem Version](https://badge.fury.io/rb/rdf.png)](https://badge.fury.io/rb/rdf)
8
+ [![Gem Version](https://badge.fury.io/rb/rdf.svg)](https://badge.fury.io/rb/rdf)
9
9
  [![Build Status](https://github.com/ruby-rdf/rdf/workflows/CI/badge.svg?branch=develop)](https://github.com/ruby-rdf/rdf/actions?query=workflow%3ACI)
10
10
  [![Coverage Status](https://coveralls.io/repos/ruby-rdf/rdf/badge.svg?branch=develop)](https://coveralls.io/github/ruby-rdf/rdf?branch=develop)
11
11
  [![Gitter chat](https://badges.gitter.im/ruby-rdf/rdf.png)](https://gitter.im/ruby-rdf/rdf)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.10
1
+ 3.2.12
@@ -280,19 +280,6 @@ module RDF
280
280
  end
281
281
  end
282
282
 
283
- ##
284
- # Returns the element at `index`.
285
- #
286
- # @example
287
- # RDF::List[1, 2, 3][0] #=> RDF::Literal(1)
288
- #
289
- # @param [Integer] index
290
- # @return [RDF::Term]
291
- # @see http://ruby-doc.org/core-2.2.2/Array.html#method-i-5B-5D
292
- def [](index)
293
- at(index)
294
- end
295
-
296
283
  ##
297
284
  # Element Assignment — Sets the element at `index`, or replaces a subarray from the `start` index for `length` elements, or replaces a subarray specified by the `range` of indices.
298
285
  #
data/lib/rdf/model/uri.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
2
3
  require 'cgi'
3
4
 
4
5
  module RDF
@@ -28,27 +29,27 @@ module RDF
28
29
  include RDF::Resource
29
30
 
30
31
  # IRI components
31
- UCSCHAR = Regexp.compile(<<-EOS.gsub(/\s+/, ''))
32
- [\\u00A0-\\uD7FF]|[\\uF900-\\uFDCF]|[\\uFDF0-\\uFFEF]|
33
- [\\u{10000}-\\u{1FFFD}]|[\\u{20000}-\\u{2FFFD}]|[\\u{30000}-\\u{3FFFD}]|
34
- [\\u{40000}-\\u{4FFFD}]|[\\u{50000}-\\u{5FFFD}]|[\\u{60000}-\\u{6FFFD}]|
35
- [\\u{70000}-\\u{7FFFD}]|[\\u{80000}-\\u{8FFFD}]|[\\u{90000}-\\u{9FFFD}]|
36
- [\\u{A0000}-\\u{AFFFD}]|[\\u{B0000}-\\u{BFFFD}]|[\\u{C0000}-\\u{CFFFD}]|
37
- [\\u{D0000}-\\u{DFFFD}]|[\\u{E1000}-\\u{EFFFD}]
38
- EOS
39
- IPRIVATE = Regexp.compile("[\\uE000-\\uF8FF]|[\\u{F0000}-\\u{FFFFD}]|[\\u100000-\\u10FFFD]").freeze
32
+ UCSCHAR = %(
33
+ \\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF
34
+ \\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}
35
+ \\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}
36
+ \\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}
37
+ \\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}
38
+ \\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}
39
+ ).gsub(/\s+/, '')
40
+ IPRIVATE = Regexp.compile("[\\uE000-\\uF8FF\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}]").freeze
40
41
  SCHEME = Regexp.compile("[A-Za-z](?:[A-Za-z0-9+-\.])*").freeze
41
42
  PORT = Regexp.compile("[0-9]*").freeze
42
43
  IP_literal = Regexp.compile("\\[[0-9A-Fa-f:\\.]*\\]").freeze # Simplified, no IPvFuture
43
44
  PCT_ENCODED = Regexp.compile("%[0-9A-Fa-f][0-9A-Fa-f]").freeze
44
- GEN_DELIMS = Regexp.compile("[:/\\?\\#\\[\\]@]").freeze
45
- SUB_DELIMS = Regexp.compile("[!\\$&'\\(\\)\\*\\+,;=]").freeze
46
- RESERVED = Regexp.compile("(?:#{GEN_DELIMS}|#{SUB_DELIMS})").freeze
45
+ GEN_DELIMS = Regexp.compile(%q{[:/\?\#\[\]@]}).freeze
46
+ SUB_DELIMS = Regexp.compile(%q{[!\$&'\(\)\*\+,;=]}).freeze
47
+ RESERVED = Regexp.union(GEN_DELIMS, SUB_DELIMS).freeze
47
48
  UNRESERVED = Regexp.compile("[A-Za-z0-9\._~-]").freeze
48
49
 
49
- IUNRESERVED = Regexp.compile("[A-Za-z0-9\._~-]|#{UCSCHAR}").freeze
50
+ IUNRESERVED = Regexp.union(UNRESERVED, Regexp.compile("[#{UCSCHAR}]")).freeze
50
51
 
51
- IPCHAR = Regexp.compile("(?:#{IUNRESERVED}|#{PCT_ENCODED}|#{SUB_DELIMS}|:|@)").freeze
52
+ IPCHAR = Regexp.union(IUNRESERVED, PCT_ENCODED, SUB_DELIMS, /[:|@]/).freeze
52
53
 
53
54
  IQUERY = Regexp.compile("(?:#{IPCHAR}|#{IPRIVATE}|/|\\?)*").freeze
54
55
 
@@ -65,7 +66,7 @@ module RDF
65
66
  IPATH_EMPTY = Regexp.compile("").freeze
66
67
 
67
68
  IREG_NAME = Regexp.compile("(?:(?:#{IUNRESERVED})|(?:#{PCT_ENCODED})|(?:#{SUB_DELIMS}))*").freeze
68
- IHOST = Regexp.compile("(?:#{IP_literal})|(?:#{IREG_NAME})").freeze
69
+ IHOST = Regexp.union(IP_literal, IREG_NAME).freeze
69
70
  IUSERINFO = Regexp.compile("(?:(?:#{IUNRESERVED})|(?:#{PCT_ENCODED})|(?:#{SUB_DELIMS})|:)*").freeze
70
71
  IAUTHORITY = Regexp.compile("(?:#{IUSERINFO}@)?#{IHOST}(?::#{PORT})?").freeze
71
72
 
@@ -116,7 +117,21 @@ module RDF
116
117
  # Note: not all reserved characters need to be escaped in SPARQL/Turtle, but they must be unescaped when encountered
117
118
  PN_ESCAPE_CHARS = /[~\.!\$&'\(\)\*\+,;=\/\?\#@%]/.freeze
118
119
  PN_ESCAPES = /\\#{Regexp.union(PN_ESCAPE_CHARS, /[\-_]/)}/.freeze
119
-
120
+
121
+ # For URI encoding
122
+ # iuserinfo = *( iunreserved / pct-encoded / sub-delims / ":" )
123
+ ENCODE_USER =
124
+ ENCODE_PASSWORD = Regexp.compile("[^A-Za-z0-9\._~#{UCSCHAR}!$&'\(\)\*\+,;=:-]").freeze
125
+ # isegment = *ipchar
126
+ # ipchar = iunreserved / pct-encoded / sub-delims / ":" / "@"
127
+ ENCODE_ISEGMENT = Regexp.compile("[^A-Za-z0-9\._~#{UCSCHAR}!$&'\(\)\*\+,;=:-]").freeze
128
+ # isegment-nz-nc = 1*( iunreserved / pct-encoded / sub-delims / "@" )
129
+ ENCODE_ISEGMENT_NC = Regexp.compile("[^A-Za-z0-9\._~#{UCSCHAR}!$&'\(\)\*\+,;=-]").freeze
130
+ # iquery = *( ipchar / iprivate / "/" / "?" )
131
+ ENCODE_IQUERY = Regexp.compile("[^A-Za-z0-9\._~#{UCSCHAR}\\uE000-\\uF8FF\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}/?=]").freeze
132
+ # ifragment = *( ipchar / "/" / "?" )
133
+ ENCODE_IFRAGMENT = Regexp.compile("[^A-Za-z0-9\._~#{UCSCHAR}/?]").freeze
134
+
120
135
  ##
121
136
  # Cache size may be set through {RDF.config} using `uri_cache_size`.
122
137
  #
@@ -145,7 +160,7 @@ module RDF
145
160
  # (see #initialize)
146
161
  # @return [RDF::URI] an immutable, frozen URI object
147
162
  def self.intern(str, *args, **options)
148
- (cache[(str = str.to_s).to_sym] ||= self.new(str, *args, **options)).freeze
163
+ (cache[(str = str.to_s).to_sym] ||= self.new(str.to_s, *args, **options)).freeze
149
164
  end
150
165
 
151
166
  ##
@@ -170,7 +185,7 @@ module RDF
170
185
  # @return [String] normalized path
171
186
  # @see http://tools.ietf.org/html/rfc3986#section-5.2.4
172
187
  def self.normalize_path(path)
173
- output, input = "", path.to_s
188
+ output, input = String.new, path.to_s
174
189
  if input.encoding != Encoding::ASCII_8BIT
175
190
  input = input.dup.force_encoding(Encoding::ASCII_8BIT)
176
191
  end
@@ -353,7 +368,7 @@ module RDF
353
368
  # @return [Boolean] `true` or `false`
354
369
  # @since 0.3.9
355
370
  def valid?
356
- RDF::URI::IRI.match(to_s) || false
371
+ RDF::URI::IRI.match?(to_s) || false
357
372
  end
358
373
 
359
374
  ##
@@ -701,8 +716,8 @@ module RDF
701
716
  ##
702
717
  # @private
703
718
  def freeze
704
- unless frozen?
705
- @mutex.synchronize do
719
+ @mutex.synchronize do
720
+ unless frozen?
706
721
  # Create derived components
707
722
  authority; userinfo; user; password; host; port
708
723
  @value = value.freeze
@@ -920,7 +935,7 @@ module RDF
920
935
  # Return normalized version of scheme, if any
921
936
  # @return [String]
922
937
  def normalized_scheme
923
- normalize_segment(scheme.strip, SCHEME, true) if scheme
938
+ scheme.strip.downcase if scheme
924
939
  end
925
940
 
926
941
  ##
@@ -946,7 +961,7 @@ module RDF
946
961
  # Normalized version of user
947
962
  # @return [String]
948
963
  def normalized_user
949
- URI.encode(CGI.unescape(user), /[^#{IUNRESERVED}|#{SUB_DELIMS}]/).force_encoding(Encoding::UTF_8) if user
964
+ URI.encode(CGI.unescape(user), ENCODE_USER).force_encoding(Encoding::UTF_8) if user
950
965
  end
951
966
 
952
967
  ##
@@ -972,7 +987,7 @@ module RDF
972
987
  # Normalized version of password
973
988
  # @return [String]
974
989
  def normalized_password
975
- URI.encode(CGI.unescape(password), /[^#{IUNRESERVED}|#{SUB_DELIMS}]/).force_encoding(Encoding::UTF_8) if password
990
+ URI.encode(CGI.unescape(password), ENCODE_PASSWORD).force_encoding(Encoding::UTF_8) if password
976
991
  end
977
992
 
978
993
  HOST_FROM_AUTHORITY_RE = /(?:[^@]+@)?([^:]+)(?::.*)?$/.freeze
@@ -1000,7 +1015,7 @@ module RDF
1000
1015
  # @return [String]
1001
1016
  def normalized_host
1002
1017
  # Remove trailing '.' characters
1003
- normalize_segment(host, IHOST, true).chomp('.') if host
1018
+ host.sub(/\.*$/, '').downcase if host
1004
1019
  end
1005
1020
 
1006
1021
  PORT_FROM_AUTHORITY_RE = /:(\d+)$/.freeze
@@ -1028,12 +1043,8 @@ module RDF
1028
1043
  # @return [String]
1029
1044
  def normalized_port
1030
1045
  if port
1031
- np = normalize_segment(port.to_s, PORT)
1032
- if PORT_MAPPING[normalized_scheme] == np.to_i
1033
- nil
1034
- else
1035
- np.to_i
1036
- end
1046
+ np = port.to_i
1047
+ PORT_MAPPING[normalized_scheme] != np ? np : nil
1037
1048
  end
1038
1049
  end
1039
1050
 
@@ -1064,30 +1075,36 @@ module RDF
1064
1075
  # Normalized version of path
1065
1076
  # @return [String]
1066
1077
  def normalized_path
1078
+ if normalized_scheme == "urn"
1079
+ # Special-case URI. Normalize the NID component only
1080
+ nid, p = path.to_s.split(':', 2)
1081
+ return "#{nid.downcase}:#{p}"
1082
+ end
1083
+
1067
1084
  segments = path.to_s.split('/', -1) # preserve null segments
1068
1085
 
1069
1086
  norm_segs = case
1070
1087
  when authority
1071
1088
  # ipath-abempty
1072
- segments.map {|s| normalize_segment(s, ISEGMENT)}
1089
+ segments.map {|s| normalize_segment(s, ENCODE_ISEGMENT)}
1073
1090
  when segments[0].nil?
1074
1091
  # ipath-absolute
1075
1092
  res = [nil]
1076
- res << normalize_segment(segments[1], ISEGMENT_NZ) if segments.length > 1
1077
- res += segments[2..-1].map {|s| normalize_segment(s, ISEGMENT)} if segments.length > 2
1093
+ res << normalize_segment(segments[1], ENCODE_ISEGMENT) if segments.length > 1
1094
+ res += segments[2..-1].map {|s| normalize_segment(s, ENCODE_ISEGMENT)} if segments.length > 2
1078
1095
  res
1079
1096
  when segments[0].to_s.index(':')
1080
1097
  # ipath-noscheme
1081
1098
  res = []
1082
- res << normalize_segment(segments[0], ISEGMENT_NZ_NC)
1083
- res += segments[1..-1].map {|s| normalize_segment(s, ISEGMENT)} if segments.length > 1
1099
+ res << normalize_segment(segments[0], ENCODE_ISEGMENT_NC)
1100
+ res += segments[1..-1].map {|s| normalize_segment(s, ENCODE_ISEGMENT)} if segments.length > 1
1084
1101
  res
1085
1102
  when segments[0]
1086
1103
  # ipath-rootless
1087
1104
  # ipath-noscheme
1088
1105
  res = []
1089
- res << normalize_segment(segments[0], ISEGMENT_NZ)
1090
- res += segments[1..-1].map {|s| normalize_segment(s, ISEGMENT)} if segments.length > 1
1106
+ res << normalize_segment(segments[0], ENCODE_ISEGMENT)
1107
+ res += segments[1..-1].map {|s| normalize_segment(s, ENCODE_ISEGMENT)} if segments.length > 1
1091
1108
  res
1092
1109
  else
1093
1110
  # Should be empty
@@ -1096,7 +1113,7 @@ module RDF
1096
1113
 
1097
1114
  res = self.class.normalize_path(norm_segs.join("/"))
1098
1115
  # Special rules for specific protocols having empty paths
1099
- normalize_segment(res.empty? ? (%w(http https ftp tftp).include?(normalized_scheme) ? '/' : "") : res, IHIER_PART)
1116
+ (res.empty? && %w(http https ftp tftp).include?(normalized_scheme)) ? '/' : res
1100
1117
  end
1101
1118
 
1102
1119
  ##
@@ -1120,7 +1137,7 @@ module RDF
1120
1137
  # Normalized version of query
1121
1138
  # @return [String]
1122
1139
  def normalized_query
1123
- normalize_segment(query, IQUERY) if query
1140
+ normalize_segment(query, ENCODE_IQUERY) if query
1124
1141
  end
1125
1142
 
1126
1143
  ##
@@ -1144,7 +1161,7 @@ module RDF
1144
1161
  # Normalized version of fragment
1145
1162
  # @return [String]
1146
1163
  def normalized_fragment
1147
- normalize_segment(fragment, IFRAGMENT) if fragment
1164
+ normalize_segment(fragment, ENCODE_IFRAGMENT) if fragment
1148
1165
  end
1149
1166
 
1150
1167
  ##
@@ -1274,7 +1291,7 @@ module RDF
1274
1291
  self.query = case value
1275
1292
  when Array, Hash
1276
1293
  value.map do |(k,v)|
1277
- k = normalize_segment(k.to_s, UNRESERVED)
1294
+ k = normalize_segment(k.to_s, /[^A-Za-z0-9\._~-]/)
1278
1295
  if v.nil?
1279
1296
  k
1280
1297
  else
@@ -1282,7 +1299,7 @@ module RDF
1282
1299
  if vv === TrueClass
1283
1300
  k
1284
1301
  else
1285
- "#{k}=#{normalize_segment(vv.to_s, UNRESERVED)}"
1302
+ "#{k}=#{normalize_segment(vv.to_s, /[^A-Za-z0-9\._~-]/)}"
1286
1303
  end
1287
1304
  end.join("&")
1288
1305
  end
@@ -1331,7 +1348,7 @@ module RDF
1331
1348
  # Normalize a segment using a character range
1332
1349
  #
1333
1350
  # @param [String] value
1334
- # @param [Regexp] expr
1351
+ # @param [Regexp] expr matches characters to be encoded
1335
1352
  # @param [Boolean] downcase
1336
1353
  # @return [String]
1337
1354
  def normalize_segment(value, expr, downcase = false)
@@ -1339,7 +1356,7 @@ module RDF
1339
1356
  value = value.dup.force_encoding(Encoding::UTF_8)
1340
1357
  decoded = CGI.unescape(value)
1341
1358
  decoded.downcase! if downcase
1342
- URI.encode(decoded, /[^(?:#{expr})]/).force_encoding(Encoding::UTF_8)
1359
+ URI.encode(decoded, expr).force_encoding(Encoding::UTF_8)
1343
1360
  end
1344
1361
  end
1345
1362
 
@@ -1364,7 +1381,7 @@ module RDF
1364
1381
  def self.encode(str, expr)
1365
1382
  str.gsub(expr) do
1366
1383
  us = $&
1367
- tmp = ''
1384
+ tmp = String.new
1368
1385
  us.each_byte do |uc|
1369
1386
  tmp << sprintf('%%%02X', uc)
1370
1387
  end
@@ -127,7 +127,7 @@ module RDF; module Util
127
127
  def [](key)
128
128
  if (ref = @cache[key])
129
129
  if ref.weakref_alive?
130
- value = ref.__getobj__ rescue nil
130
+ ref.__getobj__ rescue nil
131
131
  else
132
132
  @cache.delete(key)
133
133
  nil
data/lib/rdf/util/uuid.rb CHANGED
@@ -22,11 +22,11 @@ module RDF; module Util
22
22
  begin
23
23
  require 'uuid'
24
24
  ::UUID.generate(format)
25
- rescue LoadError => e
25
+ rescue LoadError
26
26
  begin
27
27
  require 'uuidtools'
28
28
  ::UUIDTools::UUID.random_create.hexdigest
29
- rescue LoadError => e
29
+ rescue LoadError
30
30
  raise LoadError.new("no such file to load -- uuid or uuidtools")
31
31
  end
32
32
  end
data/lib/rdf.rb CHANGED
@@ -5,7 +5,6 @@ require 'time'
5
5
  require "ostruct"
6
6
 
7
7
  require 'rdf/version'
8
- require 'rdf/extensions'
9
8
 
10
9
  module RDF
11
10
  # RDF mixins
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: 3.2.10
4
+ version: 3.2.12
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: 2023-04-15 00:00:00.000000000 Z
13
+ date: 2024-08-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: link_header
@@ -39,6 +39,9 @@ dependencies:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '3.2'
42
+ - - "<"
43
+ - !ruby/object:Gem::Version
44
+ version: '3.3'
42
45
  type: :development
43
46
  prerelease: false
44
47
  version_requirements: !ruby/object:Gem::Requirement
@@ -46,6 +49,9 @@ dependencies:
46
49
  - - "~>"
47
50
  - !ruby/object:Gem::Version
48
51
  version: '3.2'
52
+ - - "<"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.3'
49
55
  - !ruby/object:Gem::Dependency
50
56
  name: rdf-turtle
51
57
  requirement: !ruby/object:Gem::Requirement
@@ -53,6 +59,9 @@ dependencies:
53
59
  - - "~>"
54
60
  - !ruby/object:Gem::Version
55
61
  version: '3.2'
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '3.3'
56
65
  type: :development
57
66
  prerelease: false
58
67
  version_requirements: !ruby/object:Gem::Requirement
@@ -60,6 +69,9 @@ dependencies:
60
69
  - - "~>"
61
70
  - !ruby/object:Gem::Version
62
71
  version: '3.2'
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.3'
63
75
  - !ruby/object:Gem::Dependency
64
76
  name: rdf-vocab
65
77
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +79,9 @@ dependencies:
67
79
  - - "~>"
68
80
  - !ruby/object:Gem::Version
69
81
  version: '3.2'
82
+ - - "<"
83
+ - !ruby/object:Gem::Version
84
+ version: '3.3'
70
85
  type: :development
71
86
  prerelease: false
72
87
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,6 +89,9 @@ dependencies:
74
89
  - - "~>"
75
90
  - !ruby/object:Gem::Version
76
91
  version: '3.2'
92
+ - - "<"
93
+ - !ruby/object:Gem::Version
94
+ version: '3.3'
77
95
  - !ruby/object:Gem::Dependency
78
96
  name: rdf-xsd
79
97
  requirement: !ruby/object:Gem::Requirement
@@ -84,6 +102,9 @@ dependencies:
84
102
  - - ">="
85
103
  - !ruby/object:Gem::Version
86
104
  version: 3.2.1
105
+ - - "<"
106
+ - !ruby/object:Gem::Version
107
+ version: '3.3'
87
108
  type: :development
88
109
  prerelease: false
89
110
  version_requirements: !ruby/object:Gem::Requirement
@@ -94,6 +115,9 @@ dependencies:
94
115
  - - ">="
95
116
  - !ruby/object:Gem::Version
96
117
  version: 3.2.1
118
+ - - "<"
119
+ - !ruby/object:Gem::Version
120
+ version: '3.3'
97
121
  - !ruby/object:Gem::Dependency
98
122
  name: rest-client
99
123
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +160,26 @@ dependencies:
136
160
  - - "~>"
137
161
  - !ruby/object:Gem::Version
138
162
  version: '1.3'
163
+ - !ruby/object:Gem::Dependency
164
+ name: sxp
165
+ requirement: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '1.2'
170
+ - - "<"
171
+ - !ruby/object:Gem::Version
172
+ version: '1.3'
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '1.2'
180
+ - - "<"
181
+ - !ruby/object:Gem::Version
182
+ version: '1.3'
139
183
  - !ruby/object:Gem::Dependency
140
184
  name: webmock
141
185
  requirement: !ruby/object:Gem::Requirement
@@ -210,7 +254,6 @@ files:
210
254
  - lib/rdf.rb
211
255
  - lib/rdf/changeset.rb
212
256
  - lib/rdf/cli.rb
213
- - lib/rdf/extensions.rb
214
257
  - lib/rdf/format.rb
215
258
  - lib/rdf/mixin/countable.rb
216
259
  - lib/rdf/mixin/durable.rb
@@ -295,7 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
295
338
  - !ruby/object:Gem::Version
296
339
  version: '0'
297
340
  requirements: []
298
- rubygems_version: 3.4.6
341
+ rubygems_version: 3.2.33
299
342
  signing_key:
300
343
  specification_version: 4
301
344
  summary: A Ruby library for working with Resource Description Framework (RDF) data.
@@ -1,22 +0,0 @@
1
- ##
2
- # This file provides compatibility monkeypatches to standard library classes
3
- # Implementation taken from MIT-licensed https://github.com/marcandre/backports
4
- #
5
-
6
- # https://github.com/marcandre/backports/blob/master/lib/backports/2.4.0/regexp/match.rb
7
- unless Regexp.method_defined? :match?
8
- class Regexp
9
- def match?(*args)
10
- !match(*args).nil?
11
- end
12
- end
13
- end
14
-
15
- # https://github.com/marcandre/backports/blob/master/lib/backports/2.4.0/string/match.rb
16
- unless String.method_defined? :match?
17
- class String
18
- def match?(*args)
19
- !match(*args).nil?
20
- end
21
- end
22
- end