sxp 1.2.0 → 1.2.1
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 +4 -4
- data/VERSION +1 -1
- data/lib/sxp/extensions.rb +20 -4
- data/lib/sxp/reader/basic.rb +4 -4
- data/lib/sxp/reader/common_lisp.rb +1 -1
- data/lib/sxp/reader/sparql.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85a17ead97e988aff52b01d4c4d3754cacf3d4c62e835b796f22f7a6ef4dbceb
|
4
|
+
data.tar.gz: 775622b3f2e834e674b18dc6b85740bde1144e78a3f902c68dc661f50ed1833c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5928470e0846c61c2e6b26652890046457005370ae51254fff3e1ebb2de210b1822625985d817e51227246fefd20d4f99542a99ed55768202775321131f94d07
|
7
|
+
data.tar.gz: 4633a81cfbf46cd5facfa20415b54b63c6a5d874c6d88fdb18757794414858b8ad7da3eac39c3f11d010139b6aa30d12a7a7e5b1cf3fd1cbc9b9742f385d871f
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.1
|
data/lib/sxp/extensions.rb
CHANGED
@@ -55,11 +55,27 @@ end
|
|
55
55
|
# Extensions for Ruby's `String` class.
|
56
56
|
class String
|
57
57
|
##
|
58
|
-
# Returns the SXP representation of this object.
|
58
|
+
# Returns the SXP representation of this object. Uses SPARQL-like escaping.
|
59
59
|
#
|
60
60
|
# @return [String]
|
61
61
|
def to_sxp(**options)
|
62
|
-
|
62
|
+
buffer = ""
|
63
|
+
each_char do |u|
|
64
|
+
buffer << case u.ord
|
65
|
+
when (0x00..0x07) then sprintf("\\u%04X", u.ord)
|
66
|
+
when (0x08) then '\b'
|
67
|
+
when (0x09) then '\t'
|
68
|
+
when (0x0A) then '\n'
|
69
|
+
when (0x0C) then '\f'
|
70
|
+
when (0x0D) then '\r'
|
71
|
+
when (0x0E..0x1F) then sprintf("\\u%04X", u.ord)
|
72
|
+
when (0x22) then '\"'
|
73
|
+
when (0x5C) then '\\\\'
|
74
|
+
when (0x7F) then sprintf("\\u%04X", u.ord)
|
75
|
+
else u.chr
|
76
|
+
end
|
77
|
+
end
|
78
|
+
'"' + buffer + '"'
|
63
79
|
end
|
64
80
|
end
|
65
81
|
|
@@ -229,7 +245,7 @@ begin
|
|
229
245
|
|
230
246
|
class RDF::URI
|
231
247
|
##
|
232
|
-
# Returns the SXP representation of this
|
248
|
+
# Returns the SXP representation of this URI. Uses Lexical representation, if set, otherwise, any PName match, otherwise, the relativized version of the URI if a base_uri is given, otherwise just the URI.
|
233
249
|
#
|
234
250
|
# @param [Hash{Symbol => RDF::URI}] prefixes(nil)
|
235
251
|
# @param [RDF::URI] base_uri(nil)
|
@@ -268,7 +284,7 @@ begin
|
|
268
284
|
# Retain stated lexical form if possible
|
269
285
|
valid? ? to_s : object.to_sxp(**options)
|
270
286
|
else
|
271
|
-
text = value.
|
287
|
+
text = value.to_sxp
|
272
288
|
text << "@#{language}" if self.has_language?
|
273
289
|
text << "^^#{datatype.to_sxp(**options)}" if self.has_datatype?
|
274
290
|
text
|
data/lib/sxp/reader/basic.rb
CHANGED
@@ -35,7 +35,7 @@ module SXP; class Reader
|
|
35
35
|
##
|
36
36
|
# @return [String]
|
37
37
|
def read_string
|
38
|
-
buffer =
|
38
|
+
buffer = ""
|
39
39
|
skip_char # '"'
|
40
40
|
until peek_char == ?" #"
|
41
41
|
buffer <<
|
@@ -57,8 +57,8 @@ module SXP; class Reader
|
|
57
57
|
when ?n then ?\n
|
58
58
|
when ?r then ?\r
|
59
59
|
when ?t then ?\t
|
60
|
-
when ?u then read_chars(4).to_i(16).chr
|
61
|
-
when ?U then read_chars(8).to_i(16).chr
|
60
|
+
when ?u then read_chars(4).to_i(16).chr(Encoding::UTF_8)
|
61
|
+
when ?U then read_chars(8).to_i(16).chr(Encoding::UTF_8)
|
62
62
|
when ?" then char #"
|
63
63
|
when ?\\ then char
|
64
64
|
else char
|
@@ -69,7 +69,7 @@ module SXP; class Reader
|
|
69
69
|
# @return [String]
|
70
70
|
def read_literal
|
71
71
|
grammar = self.class.const_get(:ATOM)
|
72
|
-
buffer =
|
72
|
+
buffer = ""
|
73
73
|
buffer << read_char while !eof? && peek_char.chr =~ grammar
|
74
74
|
buffer
|
75
75
|
end
|
data/lib/sxp/reader/sparql.rb
CHANGED
@@ -171,7 +171,7 @@ module SXP; class Reader
|
|
171
171
|
#
|
172
172
|
# @return [RDF::URI]
|
173
173
|
def read_rdf_uri
|
174
|
-
buffer =
|
174
|
+
buffer = ""
|
175
175
|
skip_char # '<'
|
176
176
|
return :< if (char = peek_char).nil? || char.chr !~ ATOM # FIXME: nasty special case for the '< symbol
|
177
177
|
return :<= if peek_char.chr.eql?(?=.chr) && read_char # FIXME: nasty special case for the '<= symbol
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sxp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-01-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|