sxp 1.2.1 → 1.2.3

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: 85a17ead97e988aff52b01d4c4d3754cacf3d4c62e835b796f22f7a6ef4dbceb
4
- data.tar.gz: 775622b3f2e834e674b18dc6b85740bde1144e78a3f902c68dc661f50ed1833c
3
+ metadata.gz: 5b1a5b8305797234a4ad2e3d91d7c106ce7bcd8f06b27a2438b56b69ffec3d98
4
+ data.tar.gz: 55c8844dba6a9513269a0114fcb9f48a099134592a631cb7311fdc79df40655d
5
5
  SHA512:
6
- metadata.gz: 5928470e0846c61c2e6b26652890046457005370ae51254fff3e1ebb2de210b1822625985d817e51227246fefd20d4f99542a99ed55768202775321131f94d07
7
- data.tar.gz: 4633a81cfbf46cd5facfa20415b54b63c6a5d874c6d88fdb18757794414858b8ad7da3eac39c3f11d010139b6aa30d12a7a7e5b1cf3fd1cbc9b9742f385d871f
6
+ metadata.gz: 61a0d3918e572bea20841837a50c4e750fb67735e5ebbe11835a3ad3f1025dfa397a61b8d6527964bf759bf874f17ac090b0680b829715f4bae5fd71e73ed7b1
7
+ data.tar.gz: 96049b94fc160bd7be812bbd834a1d2f9a3eae8bbdd37a721c3941654d40034e691c67728e8422e108759341bead22f8eaf1238497e53a4da2c2cd9cec10bcca
data/README.md CHANGED
@@ -203,7 +203,7 @@ In addition to the standard datatypes, the SPARQL dialect supports the following
203
203
 
204
204
  ## Documentation
205
205
 
206
- * Full documentation available on [RubyDoc](https:/rubydoc.info/gems/sxp/file/README.md)
206
+ * Full documentation available on [RubyDoc](https://dryruby.github.io/sxp)
207
207
 
208
208
  * {SXP}
209
209
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.1
1
+ 1.2.3
@@ -280,7 +280,7 @@ begin
280
280
  # @return [String]
281
281
  def to_sxp(**options)
282
282
  case datatype
283
- when RDF::XSD.boolean, RDF::XSD.integer, RDF::XSD.double, RDF::XSD.decimal, RDF::XSD.time
283
+ when RDF::XSD.boolean, RDF::XSD.integer, RDF::XSD.double, RDF::XSD.decimal
284
284
  # Retain stated lexical form if possible
285
285
  valid? ? to_s : object.to_sxp(**options)
286
286
  else
@@ -7,7 +7,7 @@ module SXP; class Reader
7
7
  #
8
8
  # @see https:/www.cs.cmu.edu/Groups/AI/html/cltl/clm/node14.html
9
9
  class CommonLisp < Basic
10
- OPTIONS = {nil: nil, t: true, quote: :quote, function: :function}
10
+ OPTIONS = {nil: false, t: true, quote: :quote, function: :function}
11
11
 
12
12
  DECIMAL = /^[+-]?(\d*)?\.\d*$/
13
13
  INTEGER_BASE_2 = /^[+-]?[01]+$/
@@ -35,7 +35,7 @@ module SXP; class Reader
35
35
  #
36
36
  # @param [IO, StringIO, String] input
37
37
  # @param [Hash{Symbol => Object}] options
38
- # @option options [Object] :nil (nil)
38
+ # @option options [Object] :nil (false)
39
39
  # @option options [Object] :t (true)
40
40
  # @option options [Object] :quote (:quote)
41
41
  # @option options [Object] :function (:function)
@@ -69,6 +69,21 @@ module SXP; class Reader
69
69
  end
70
70
  end
71
71
 
72
+ ##
73
+ # Based on Basic#read_atom, but adds 't' and 'nil' atoms.
74
+ # @return [Object]
75
+ def read_atom
76
+ case buffer = read_literal
77
+ when '.' then buffer.to_sym
78
+ when RATIONAL then Rational($1.to_i, $2.to_i)
79
+ when DECIMAL then Float(buffer) # FIXME?
80
+ when INTEGER then Integer(buffer)
81
+ when /^t$/i then true
82
+ when /^nil$/i then nil
83
+ else buffer.to_sym
84
+ end
85
+ end
86
+
72
87
  ##
73
88
  # @return [Symbol]
74
89
  def read_symbol(delimiter = nil)
@@ -77,7 +92,7 @@ module SXP; class Reader
77
92
  until delimiter === peek_char
78
93
  buffer <<
79
94
  case char = read_char
80
- when ?\\ then read_character
95
+ when ?\\ then read_char
81
96
  else char
82
97
  end
83
98
  end
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.1
4
+ version: 1.2.3
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: 2022-01-16 00:00:00.000000000 Z
12
+ date: 2022-10-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdf
@@ -29,16 +29,16 @@ dependencies:
29
29
  name: matrix
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
34
+ version: '0.4'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ">="
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0'
41
+ version: '0.4'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: amazing_print
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -118,7 +118,12 @@ files:
118
118
  homepage: https://github.com/dryruby/sxp/
119
119
  licenses:
120
120
  - Unlicense
121
- metadata: {}
121
+ metadata:
122
+ documentation_uri: https://dryruby.github.io/sxp
123
+ bug_tracker_uri: https://github.com/dryruby/sxp/issues
124
+ homepage_uri: https://github.com/dryruby/sxp
125
+ mailing_list_uri: https://lists.w3.org/Archives/Public/public-rdf-ruby/
126
+ source_code_uri: https://github.com/dryruby/sxp
122
127
  post_install_message:
123
128
  rdoc_options: []
124
129
  require_paths:
@@ -134,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
139
  - !ruby/object:Gem::Version
135
140
  version: '0'
136
141
  requirements: []
137
- rubygems_version: 3.3.3
142
+ rubygems_version: 3.3.7
138
143
  signing_key:
139
144
  specification_version: 4
140
145
  summary: A pure-Ruby implementation of a universal S-expression parser.