abstract-synthesizer 0.0.9 → 0.0.11
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/Gemfile.lock +22 -18
- data/gemset.nix +51 -31
- data/lib/abstract-synthesizer/version.rb +1 -1
- data/lib/abstract-synthesizer.rb +13 -14
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b592c5f1624c09b9b56cff6b1f333dca31a721007ca45b0f08f01c1f87c3c7ed
|
4
|
+
data.tar.gz: 3722fce89e95cc3641dbf4eacc7d2ea135b1fedf0bc85c4e7e05cf104f5d4b92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb25b1293793d53f0630fe5ed7f71aea5154688ac14ce7baaff400a9ec2c81009395700197cb83872c6e7d00919d31e634748dd48e2405edcf6d00be72cc9cb4
|
7
|
+
data.tar.gz: 538a544b09cd462241afdeb5dc6117c633ab4831fd29d0ba87b923c7293c406e797ba9d15fb8683c36b21bd07b53e4a836b6e1eb7d9d95a736612822c578d832
|
data/Gemfile.lock
CHANGED
@@ -1,48 +1,52 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
abstract-synthesizer (0.0.
|
4
|
+
abstract-synthesizer (0.0.11)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
ast (2.4.
|
10
|
-
diff-lcs (1.
|
11
|
-
json (2.
|
12
|
-
language_server-protocol (3.17.0.
|
13
|
-
|
14
|
-
|
9
|
+
ast (2.4.3)
|
10
|
+
diff-lcs (1.6.2)
|
11
|
+
json (2.12.2)
|
12
|
+
language_server-protocol (3.17.0.5)
|
13
|
+
lint_roller (1.1.0)
|
14
|
+
parallel (1.27.0)
|
15
|
+
parser (3.3.8.0)
|
15
16
|
ast (~> 2.4.1)
|
16
17
|
racc
|
18
|
+
prism (1.4.0)
|
17
19
|
racc (1.8.1)
|
18
20
|
rainbow (3.1.1)
|
19
|
-
rake (13.
|
21
|
+
rake (13.3.0)
|
20
22
|
regexp_parser (2.10.0)
|
21
|
-
rspec (3.13.
|
23
|
+
rspec (3.13.1)
|
22
24
|
rspec-core (~> 3.13.0)
|
23
25
|
rspec-expectations (~> 3.13.0)
|
24
26
|
rspec-mocks (~> 3.13.0)
|
25
|
-
rspec-core (3.13.
|
27
|
+
rspec-core (3.13.4)
|
26
28
|
rspec-support (~> 3.13.0)
|
27
|
-
rspec-expectations (3.13.
|
29
|
+
rspec-expectations (3.13.5)
|
28
30
|
diff-lcs (>= 1.2.0, < 2.0)
|
29
31
|
rspec-support (~> 3.13.0)
|
30
|
-
rspec-mocks (3.13.
|
32
|
+
rspec-mocks (3.13.5)
|
31
33
|
diff-lcs (>= 1.2.0, < 2.0)
|
32
34
|
rspec-support (~> 3.13.0)
|
33
|
-
rspec-support (3.13.
|
34
|
-
rubocop (1.
|
35
|
+
rspec-support (3.13.4)
|
36
|
+
rubocop (1.76.1)
|
35
37
|
json (~> 2.3)
|
36
|
-
language_server-protocol (
|
38
|
+
language_server-protocol (~> 3.17.0.2)
|
39
|
+
lint_roller (~> 1.1.0)
|
37
40
|
parallel (~> 1.10)
|
38
41
|
parser (>= 3.3.0.2)
|
39
42
|
rainbow (>= 2.2.2, < 4.0)
|
40
43
|
regexp_parser (>= 2.9.3, < 3.0)
|
41
|
-
rubocop-ast (>= 1.
|
44
|
+
rubocop-ast (>= 1.45.0, < 2.0)
|
42
45
|
ruby-progressbar (~> 1.7)
|
43
46
|
unicode-display_width (>= 2.4.0, < 4.0)
|
44
|
-
rubocop-ast (1.
|
45
|
-
parser (>= 3.3.
|
47
|
+
rubocop-ast (1.45.1)
|
48
|
+
parser (>= 3.3.7.2)
|
49
|
+
prism (~> 1.4)
|
46
50
|
ruby-progressbar (1.13.0)
|
47
51
|
unicode-display_width (3.1.4)
|
48
52
|
unicode-emoji (~> 4.0, >= 4.0.4)
|
data/gemset.nix
CHANGED
@@ -6,57 +6,67 @@
|
|
6
6
|
path = ./.;
|
7
7
|
type = "path";
|
8
8
|
};
|
9
|
-
version = "0.0.
|
9
|
+
version = "0.0.11";
|
10
10
|
};
|
11
11
|
ast = {
|
12
12
|
groups = ["default" "development"];
|
13
13
|
platforms = [];
|
14
14
|
source = {
|
15
15
|
remotes = ["https://rubygems.org"];
|
16
|
-
sha256 = "
|
16
|
+
sha256 = "10yknjyn0728gjn6b5syynvrvrwm66bhssbxq8mkhshxghaiailm";
|
17
17
|
type = "gem";
|
18
18
|
};
|
19
|
-
version = "2.4.
|
19
|
+
version = "2.4.3";
|
20
20
|
};
|
21
21
|
diff-lcs = {
|
22
22
|
groups = ["default" "development"];
|
23
23
|
platforms = [];
|
24
24
|
source = {
|
25
25
|
remotes = ["https://rubygems.org"];
|
26
|
-
sha256 = "
|
26
|
+
sha256 = "0qlrj2qyysc9avzlr4zs1py3x684hqm61n4czrsk1pyllz5x5q4s";
|
27
27
|
type = "gem";
|
28
28
|
};
|
29
|
-
version = "1.
|
29
|
+
version = "1.6.2";
|
30
30
|
};
|
31
31
|
json = {
|
32
32
|
groups = ["default" "development"];
|
33
33
|
platforms = [];
|
34
34
|
source = {
|
35
35
|
remotes = ["https://rubygems.org"];
|
36
|
-
sha256 = "
|
36
|
+
sha256 = "1x5b8ipv6g0z44wgc45039k04smsyf95h2m5m67mqq35sa5a955s";
|
37
37
|
type = "gem";
|
38
38
|
};
|
39
|
-
version = "2.
|
39
|
+
version = "2.12.2";
|
40
40
|
};
|
41
41
|
language_server-protocol = {
|
42
42
|
groups = ["default" "development"];
|
43
43
|
platforms = [];
|
44
44
|
source = {
|
45
45
|
remotes = ["https://rubygems.org"];
|
46
|
-
sha256 = "
|
46
|
+
sha256 = "1k0311vah76kg5m6zr7wmkwyk5p2f9d9hyckjpn3xgr83ajkj7px";
|
47
47
|
type = "gem";
|
48
48
|
};
|
49
|
-
version = "3.17.0.
|
49
|
+
version = "3.17.0.5";
|
50
|
+
};
|
51
|
+
lint_roller = {
|
52
|
+
groups = ["default" "development"];
|
53
|
+
platforms = [];
|
54
|
+
source = {
|
55
|
+
remotes = ["https://rubygems.org"];
|
56
|
+
sha256 = "11yc0d84hsnlvx8cpk4cbj6a4dz9pk0r1k29p0n1fz9acddq831c";
|
57
|
+
type = "gem";
|
58
|
+
};
|
59
|
+
version = "1.1.0";
|
50
60
|
};
|
51
61
|
parallel = {
|
52
62
|
groups = ["default" "development"];
|
53
63
|
platforms = [];
|
54
64
|
source = {
|
55
65
|
remotes = ["https://rubygems.org"];
|
56
|
-
sha256 = "
|
66
|
+
sha256 = "0c719bfgcszqvk9z47w2p8j2wkz5y35k48ywwas5yxbbh3hm3haa";
|
57
67
|
type = "gem";
|
58
68
|
};
|
59
|
-
version = "1.
|
69
|
+
version = "1.27.0";
|
60
70
|
};
|
61
71
|
parser = {
|
62
72
|
dependencies = ["ast" "racc"];
|
@@ -64,10 +74,20 @@
|
|
64
74
|
platforms = [];
|
65
75
|
source = {
|
66
76
|
remotes = ["https://rubygems.org"];
|
67
|
-
sha256 = "
|
77
|
+
sha256 = "0i9w8msil4snx5w11ix9b0wf52vjc3r49khy3ddgl1xk890kcxi4";
|
78
|
+
type = "gem";
|
79
|
+
};
|
80
|
+
version = "3.3.8.0";
|
81
|
+
};
|
82
|
+
prism = {
|
83
|
+
groups = ["default" "development"];
|
84
|
+
platforms = [];
|
85
|
+
source = {
|
86
|
+
remotes = ["https://rubygems.org"];
|
87
|
+
sha256 = "0gkhpdjib9zi9i27vd9djrxiwjia03cijmd6q8yj2q1ix403w3nw";
|
68
88
|
type = "gem";
|
69
89
|
};
|
70
|
-
version = "
|
90
|
+
version = "1.4.0";
|
71
91
|
};
|
72
92
|
racc = {
|
73
93
|
groups = ["default" "development"];
|
@@ -94,10 +114,10 @@
|
|
94
114
|
platforms = [];
|
95
115
|
source = {
|
96
116
|
remotes = ["https://rubygems.org"];
|
97
|
-
sha256 = "
|
117
|
+
sha256 = "14s4jdcs1a4saam9qmzbsa2bsh85rj9zfxny5z315x3gg0nhkxcn";
|
98
118
|
type = "gem";
|
99
119
|
};
|
100
|
-
version = "13.
|
120
|
+
version = "13.3.0";
|
101
121
|
};
|
102
122
|
regexp_parser = {
|
103
123
|
groups = ["default" "development"];
|
@@ -115,10 +135,10 @@
|
|
115
135
|
platforms = [];
|
116
136
|
source = {
|
117
137
|
remotes = ["https://rubygems.org"];
|
118
|
-
sha256 = "
|
138
|
+
sha256 = "0h11wynaki22a40rfq3ahcs4r36jdpz9acbb3m5dkf0mm67sbydr";
|
119
139
|
type = "gem";
|
120
140
|
};
|
121
|
-
version = "3.13.
|
141
|
+
version = "3.13.1";
|
122
142
|
};
|
123
143
|
rspec-core = {
|
124
144
|
dependencies = ["rspec-support"];
|
@@ -126,10 +146,10 @@
|
|
126
146
|
platforms = [];
|
127
147
|
source = {
|
128
148
|
remotes = ["https://rubygems.org"];
|
129
|
-
sha256 = "
|
149
|
+
sha256 = "0n1rlagplpcgp41s3r68z01539aivwj0cn3v19hq4p3pgdmibnpr";
|
130
150
|
type = "gem";
|
131
151
|
};
|
132
|
-
version = "3.13.
|
152
|
+
version = "3.13.4";
|
133
153
|
};
|
134
154
|
rspec-expectations = {
|
135
155
|
dependencies = ["diff-lcs" "rspec-support"];
|
@@ -137,10 +157,10 @@
|
|
137
157
|
platforms = [];
|
138
158
|
source = {
|
139
159
|
remotes = ["https://rubygems.org"];
|
140
|
-
sha256 = "
|
160
|
+
sha256 = "0dl8npj0jfpy31bxi6syc7jymyd861q277sfr6jawq2hv6hx791k";
|
141
161
|
type = "gem";
|
142
162
|
};
|
143
|
-
version = "3.13.
|
163
|
+
version = "3.13.5";
|
144
164
|
};
|
145
165
|
rspec-mocks = {
|
146
166
|
dependencies = ["diff-lcs" "rspec-support"];
|
@@ -148,42 +168,42 @@
|
|
148
168
|
platforms = [];
|
149
169
|
source = {
|
150
170
|
remotes = ["https://rubygems.org"];
|
151
|
-
sha256 = "
|
171
|
+
sha256 = "10gajm8iscl7gb8q926hyna83bw3fx2zb4sqdzjrznjs51pqlcz4";
|
152
172
|
type = "gem";
|
153
173
|
};
|
154
|
-
version = "3.13.
|
174
|
+
version = "3.13.5";
|
155
175
|
};
|
156
176
|
rspec-support = {
|
157
177
|
groups = ["default" "development"];
|
158
178
|
platforms = [];
|
159
179
|
source = {
|
160
180
|
remotes = ["https://rubygems.org"];
|
161
|
-
sha256 = "
|
181
|
+
sha256 = "1xx3f4mgr84jz07fifd3r68hm6giqy91hqyzawmi0s59yqa1hjqq";
|
162
182
|
type = "gem";
|
163
183
|
};
|
164
|
-
version = "3.13.
|
184
|
+
version = "3.13.4";
|
165
185
|
};
|
166
186
|
rubocop = {
|
167
|
-
dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
|
187
|
+
dependencies = ["json" "language_server-protocol" "lint_roller" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
|
168
188
|
groups = ["development"];
|
169
189
|
platforms = [];
|
170
190
|
source = {
|
171
191
|
remotes = ["https://rubygems.org"];
|
172
|
-
sha256 = "
|
192
|
+
sha256 = "1rz0wwhxy6rv0kk2m8jp77fbhwgs7m01p2yys9bj3kwl0xsjsnp1";
|
173
193
|
type = "gem";
|
174
194
|
};
|
175
|
-
version = "1.
|
195
|
+
version = "1.76.1";
|
176
196
|
};
|
177
197
|
rubocop-ast = {
|
178
|
-
dependencies = ["parser"];
|
198
|
+
dependencies = ["parser" "prism"];
|
179
199
|
groups = ["default" "development"];
|
180
200
|
platforms = [];
|
181
201
|
source = {
|
182
202
|
remotes = ["https://rubygems.org"];
|
183
|
-
sha256 = "
|
203
|
+
sha256 = "0gis8w51k5dsmzzlppvwwznqyfd73fa3zcrpl1xihzy1mm4jw14l";
|
184
204
|
type = "gem";
|
185
205
|
};
|
186
|
-
version = "1.
|
206
|
+
version = "1.45.1";
|
187
207
|
};
|
188
208
|
ruby-progressbar = {
|
189
209
|
groups = ["default" "development"];
|
data/lib/abstract-synthesizer.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require_relative %(
|
2
|
-
require_relative %(
|
3
|
-
require_relative %(
|
4
|
-
require_relative %(
|
1
|
+
require_relative %(abstract-synthesizer/errors/invalid_synthesizer_key_error)
|
2
|
+
require_relative %(abstract-synthesizer/errors/too_many_field_values)
|
3
|
+
require_relative %(abstract-synthesizer/errors/not_enough_resource_keys)
|
4
|
+
require_relative %(abstract-synthesizer/primitives/bury)
|
5
5
|
|
6
6
|
class AbstractSynthesizer
|
7
7
|
include Bury
|
@@ -11,22 +11,17 @@ class AbstractSynthesizer
|
|
11
11
|
def initialize(name: nil) # rubocop:disable Lint/UnusedMethodArgument
|
12
12
|
@translation = {
|
13
13
|
ancestors: [],
|
14
|
-
|
14
|
+
manifest: {},
|
15
15
|
context: nil
|
16
16
|
}
|
17
17
|
end
|
18
18
|
|
19
|
-
def
|
20
|
-
translation[:
|
21
|
-
end
|
22
|
-
|
23
|
-
def load_synthesis_data(data)
|
24
|
-
@context_data = data
|
25
|
-
@context_data
|
19
|
+
def clear!
|
20
|
+
translation[:manifest] = {}
|
26
21
|
end
|
27
22
|
|
28
23
|
def synthesis
|
29
|
-
translation[:
|
24
|
+
translation[:manifest]
|
30
25
|
end
|
31
26
|
|
32
27
|
def synthesize(content = nil, &block)
|
@@ -38,6 +33,10 @@ class AbstractSynthesizer
|
|
38
33
|
self
|
39
34
|
end
|
40
35
|
|
36
|
+
def manifest
|
37
|
+
@translation[:manifest]
|
38
|
+
end
|
39
|
+
|
41
40
|
private
|
42
41
|
|
43
42
|
# check if method is part of keys
|
@@ -86,7 +85,7 @@ class AbstractSynthesizer
|
|
86
85
|
translation[:ancestors].append(method)
|
87
86
|
yield if block_given?
|
88
87
|
if args.length == 1
|
89
|
-
translation[:
|
88
|
+
translation[:manifest].bury(*translation[:ancestors], args[0])
|
90
89
|
translation[:ancestors].pop
|
91
90
|
elsif args.empty?
|
92
91
|
translation[:ancestors].pop
|