sexp_processor 4.11.0 → 4.12.0
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
- checksums.yaml.gz.sig +2 -3
- data.tar.gz.sig +2 -2
- data/History.rdoc +8 -0
- data/lib/pt_testcase.rb +2 -2
- data/lib/sexp.rb +4 -4
- data/lib/sexp_processor.rb +1 -1
- data/lib/strict_sexp.rb +3 -3
- data/test/test_sexp.rb +6 -2
- metadata +22 -17
- metadata.gz.sig +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a33c4da3c4f6c19506d4aee6f94e76dca65aa94a3af108f751bd916cfbd0cb8f
|
|
4
|
+
data.tar.gz: de4b25babc82dc51481153180ae65a5d9ab54079c3d2b77519666ff8b537f3fa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 34e1e1f066956df4c8b71e96a2183c62183c02628ef7e7193f0c7bd48897960e4c7a47a9e08e8e9dcd02b7d202f6f2a6072511cf8d231932bb3e12de9799feef
|
|
7
|
+
data.tar.gz: 28d1ef553de797ccdb2f00fdd3b81b1c05d26dd7ce7b8e4fbb397e175fcb7d45d2647a684c1b3b6778f01df38ef6544e151ec3484f3349257ab7de3eb5f4a586
|
checksums.yaml.gz.sig
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
�=�v#p�dl�K�4��]膖H%�Q��+a��(���cr�ѵ�:Nϔ�~v4��|�^��y��ꌭ�:HKe�@��Oev!\cT�c:t��ܺ�pY'��WV,���.�E(9Vʐ)��MG�u��4�b���u��+���\���5(�u�%�`��:�}���A�Eӻy��L�8�����
|
|
1
|
+
(���ӱ}n5vs��(^6��
|
|
2
|
+
�(*3�g���ׁ��//���Зa�B�PE?���i��!i� nځ��3�5Gf�g�I�l�^��)��jGPv�Yp��Ĺovv�1`�k�|�Y�f���U.��p|K+��q��=���
|
data.tar.gz.sig
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
_�!i~@-�-ѷ/��?;�x��$�Nb����K|R�Qv�k�7�R�A�߇R�l���+q��L|�+�)_�*�|���f�nc��l�7ef�sFQ�zmSY�
|
|
2
|
+
�Ê�"�+Ǭ�xГ��ื;�>�sƯ䪢��Ϥ=;�&�I/��*�n��{��tP/|�фE����\x�I ��b�)����I^�<�Z��6I ��!5{~W&E�
|
data/History.rdoc
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
=== 4.12.0 / 2019-03-12
|
|
2
|
+
|
|
3
|
+
* 3 bug fixes:
|
|
4
|
+
|
|
5
|
+
* Fixed sexp_body to return empty sexp instead of nil when using STRICT_SEXP.
|
|
6
|
+
* STRICT_SEXP=4+ fails w/ current use of concat. Removed concat from strictness for now.
|
|
7
|
+
* Use concat internally instead of splat. Some people have 20000 node sexps! (presidentbeef)
|
|
8
|
+
|
|
1
9
|
=== 4.11.0 / 2018-04-05
|
|
2
10
|
|
|
3
11
|
* 1 minor enhancement:
|
data/lib/pt_testcase.rb
CHANGED
|
@@ -77,7 +77,7 @@ class ParseTreeTestCase < Minitest::Test
|
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
def self.add_19tests name, hash
|
|
80
|
-
add_tests "#{name}
|
|
80
|
+
add_tests "#{name}__19_20_21_22_23_24_25_26", hash # HACK?
|
|
81
81
|
end
|
|
82
82
|
|
|
83
83
|
def self.add_19edgecases ruby, sexp, cases
|
|
@@ -102,7 +102,7 @@ class ParseTreeTestCase < Minitest::Test
|
|
|
102
102
|
testcases[verbose][klass] = testcases[nonverbose][klass]
|
|
103
103
|
end
|
|
104
104
|
|
|
105
|
-
VER_RE = "(1[89]|2[
|
|
105
|
+
VER_RE = "(1[89]|2[0123456])"
|
|
106
106
|
|
|
107
107
|
def self.generate_test klass, node, data, input_name, output_name
|
|
108
108
|
klass.send :define_method, "test_#{node}" do
|
data/lib/sexp.rb
CHANGED
|
@@ -37,7 +37,7 @@ class Sexp < Array # ZenTest FULL
|
|
|
37
37
|
def self.from_array a
|
|
38
38
|
ary = Array === a ? a : [a]
|
|
39
39
|
|
|
40
|
-
self.new(
|
|
40
|
+
self.new.concat(ary.map { |x|
|
|
41
41
|
case x
|
|
42
42
|
when Sexp
|
|
43
43
|
x
|
|
@@ -54,7 +54,7 @@ class Sexp < Array # ZenTest FULL
|
|
|
54
54
|
# same +file+, +line+, and +comment+ as self.
|
|
55
55
|
|
|
56
56
|
def new(*body)
|
|
57
|
-
r = self.class.new(
|
|
57
|
+
r = self.class.new.concat(body) # ensures a sexp from map
|
|
58
58
|
r.file = self.file if self.file
|
|
59
59
|
r.line = self.line if self.line
|
|
60
60
|
r.comments = self.comments if self.comments
|
|
@@ -62,7 +62,7 @@ class Sexp < Array # ZenTest FULL
|
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
def map &blk # :nodoc:
|
|
65
|
-
self.new(
|
|
65
|
+
self.new.concat(super(&blk)) # ensures a sexp from map
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
def == obj # :nodoc:
|
|
@@ -278,7 +278,7 @@ class Sexp < Array # ZenTest FULL
|
|
|
278
278
|
# the values without the node type.
|
|
279
279
|
|
|
280
280
|
def sexp_body from = 1
|
|
281
|
-
self.new(
|
|
281
|
+
self.new.concat(self[from..-1] || [])
|
|
282
282
|
end
|
|
283
283
|
|
|
284
284
|
##
|
data/lib/sexp_processor.rb
CHANGED
data/lib/strict_sexp.rb
CHANGED
|
@@ -44,7 +44,7 @@ class Sexp
|
|
|
44
44
|
|
|
45
45
|
def self.nuke_method name, level
|
|
46
46
|
define_method name do |*args|
|
|
47
|
-
raise "no: %
|
|
47
|
+
raise "no mutation allowed on sexps: %s.%s %s" % [self, name, args]
|
|
48
48
|
end if __strict >= level
|
|
49
49
|
end
|
|
50
50
|
|
|
@@ -87,7 +87,7 @@ class Sexp
|
|
|
87
87
|
|
|
88
88
|
nuke_method :collect!, 4
|
|
89
89
|
nuke_method :compact!, 4
|
|
90
|
-
nuke_method :concat, 4
|
|
90
|
+
# nuke_method :concat, 4 # HACK: using self.class.new.concat(...) for speed
|
|
91
91
|
nuke_method :flatten!, 4
|
|
92
92
|
nuke_method :map!, 4
|
|
93
93
|
nuke_method :pop, 4
|
|
@@ -111,7 +111,7 @@ class Sexp
|
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
def sexp_body from = 1
|
|
114
|
-
safe_idx
|
|
114
|
+
self.new.concat(safe_idx(from..-1) || [])
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
def sexp_type= v
|
data/test/test_sexp.rb
CHANGED
|
@@ -519,7 +519,11 @@ class TestSexp < SexpTestCase # ZenTest FULL
|
|
|
519
519
|
end
|
|
520
520
|
|
|
521
521
|
def test_sexp_body
|
|
522
|
-
assert_equal
|
|
522
|
+
assert_equal s(2, 3), @sexp.sexp_body
|
|
523
|
+
assert_equal s(), s(:x).sexp_body
|
|
524
|
+
assert_equal s(), s().sexp_body
|
|
525
|
+
|
|
526
|
+
assert_instance_of Sexp, s().sexp_body
|
|
523
527
|
end
|
|
524
528
|
|
|
525
529
|
def test_shift
|
|
@@ -662,7 +666,7 @@ class TestSexp < SexpTestCase # ZenTest FULL
|
|
|
662
666
|
|
|
663
667
|
def test_deep_each_without_block
|
|
664
668
|
assert_kind_of Enumerator, @complex_sexp.deep_each
|
|
665
|
-
assert_equal DEEP_EXP, @complex_sexp.deep_each.map(&:
|
|
669
|
+
assert_equal DEEP_EXP, @complex_sexp.deep_each.map(&:sexp_type)
|
|
666
670
|
end
|
|
667
671
|
|
|
668
672
|
def test_unary_not
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sexp_processor
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.12.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Davis
|
|
@@ -10,9 +10,9 @@ bindir: bin
|
|
|
10
10
|
cert_chain:
|
|
11
11
|
- |
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
|
13
|
-
|
|
13
|
+
MIIDPjCCAiagAwIBAgIBAzANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
|
14
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
|
15
|
-
|
|
15
|
+
GRYDY29tMB4XDTE4MTIwNDIxMzAxNFoXDTE5MTIwNDIxMzAxNFowRTETMBEGA1UE
|
|
16
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
|
17
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
|
18
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
|
@@ -21,44 +21,50 @@ cert_chain:
|
|
|
21
21
|
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
|
23
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
|
24
|
-
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
|
25
|
+
AQCbJwLmpJR2PomLU+Zzw3KRzH/hbyUWc/ftru71AopZ1fy4iY9J/BW5QYKVYwbP
|
|
26
|
+
V0FSBWtvfI/RdwfKGtuGhPKECZgmLieGuZ3XCc09qPu1bdg7i/tu1p0t0c6163ku
|
|
27
|
+
nDMDIC/t/DAFK0TY9I3HswuyZGbLW7rgF0DmiuZdN/RPhHq2pOLMLXJmFclCb/im
|
|
28
|
+
9yToml/06TJdUJ5p64mkBs0TzaK66DIB1Smd3PdtfZqoRV+EwaXMdx0Hb3zdR1JR
|
|
29
|
+
Em82dBUFsipwMLCYj39kcyHWAxyl6Ae1Cn9r/ItVBCxoeFdrHjfavnrIEoXUt4bU
|
|
30
|
+
UfBugfLD19bu3nvL+zTAGx/U
|
|
31
31
|
-----END CERTIFICATE-----
|
|
32
|
-
date:
|
|
32
|
+
date: 2019-03-13 00:00:00.000000000 Z
|
|
33
33
|
dependencies:
|
|
34
34
|
- !ruby/object:Gem::Dependency
|
|
35
35
|
name: rdoc
|
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - "
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '4.0'
|
|
41
|
+
- - "<"
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: '7'
|
|
41
44
|
type: :development
|
|
42
45
|
prerelease: false
|
|
43
46
|
version_requirements: !ruby/object:Gem::Requirement
|
|
44
47
|
requirements:
|
|
45
|
-
- - "
|
|
48
|
+
- - ">="
|
|
46
49
|
- !ruby/object:Gem::Version
|
|
47
50
|
version: '4.0'
|
|
51
|
+
- - "<"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '7'
|
|
48
54
|
- !ruby/object:Gem::Dependency
|
|
49
55
|
name: hoe
|
|
50
56
|
requirement: !ruby/object:Gem::Requirement
|
|
51
57
|
requirements:
|
|
52
58
|
- - "~>"
|
|
53
59
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '3.
|
|
60
|
+
version: '3.17'
|
|
55
61
|
type: :development
|
|
56
62
|
prerelease: false
|
|
57
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
58
64
|
requirements:
|
|
59
65
|
- - "~>"
|
|
60
66
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '3.
|
|
67
|
+
version: '3.17'
|
|
62
68
|
description: |-
|
|
63
69
|
sexp_processor branches from ParseTree bringing all the generic sexp
|
|
64
70
|
processing tools with it. Sexp, SexpProcessor, Environment, etc... all
|
|
@@ -107,8 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
107
113
|
- !ruby/object:Gem::Version
|
|
108
114
|
version: '0'
|
|
109
115
|
requirements: []
|
|
110
|
-
|
|
111
|
-
rubygems_version: 2.7.3
|
|
116
|
+
rubygems_version: 3.0.2
|
|
112
117
|
signing_key:
|
|
113
118
|
specification_version: 4
|
|
114
119
|
summary: sexp_processor branches from ParseTree bringing all the generic sexp processing
|
metadata.gz.sig
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
V�*��=��I�Y�7��O��@{%ō�����Ez��d'_���*u��w��!���&e��W�BP�p�WBr�����.�/�^H??�䶲X4��A�%1�di`l%�Q�]�"�L�
|
|
2
|
+
R��7���8�@��5E*�(q�*KRD��K^no�X�*[M�g���)���p\�
|