jievro-ast 0.8.0 → 0.8.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/Gemfile.lock +1 -1
- data/lib/jievro/ast/node.rb +12 -2
- data/lib/jievro/ast/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 317e7bec85229b73a8b5c0d463061d9ea595ccb9
|
4
|
+
data.tar.gz: 44098310df2e60c4e403851140ce9e17bfe8adc1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44e7a9979335f81b4fe24677c7e893d74bf140d84a88d84eb95512cc988cc17ce463ade828b3e328044f6f53e7f926873bafb3228db0056da8151300ad1a7179
|
7
|
+
data.tar.gz: e7d0a44cf015dd050fb4e21bd4c7f017a33e2c8f562d4ed5d8a8ed0f557c3fb11f7f6b5796c82e41f9eaa994ba4a26306c5f9142f0a26c44ea6b9a66d30e886f
|
data/Gemfile.lock
CHANGED
data/lib/jievro/ast/node.rb
CHANGED
@@ -3,14 +3,20 @@ module Jievro
|
|
3
3
|
class Node
|
4
4
|
attr_reader :id, :parent, :type
|
5
5
|
|
6
|
-
def initialize(initializer, parent = nil)
|
6
|
+
def initialize(initializer, parent = nil, id = nil)
|
7
7
|
fail Exception, 'The initializer must be Hash' \
|
8
8
|
unless initializer.is_a?(Hash)
|
9
9
|
|
10
10
|
fail Exception, 'Initializer is missing __type value' \
|
11
11
|
unless initializer.key?(:__type)
|
12
12
|
|
13
|
-
|
13
|
+
if id.nil?
|
14
|
+
@id = Ast::Node.generate_next_id
|
15
|
+
else
|
16
|
+
Ast::Node.set_current_id(id)
|
17
|
+
@id = id
|
18
|
+
end
|
19
|
+
|
14
20
|
@parent = parent
|
15
21
|
@value = {}
|
16
22
|
@type = initializer[:__type]
|
@@ -100,6 +106,10 @@ module Jievro
|
|
100
106
|
value.is_a?(Array)
|
101
107
|
end
|
102
108
|
|
109
|
+
def self.set_current_id(id)
|
110
|
+
@id = id
|
111
|
+
end
|
112
|
+
|
103
113
|
def self.generate_next_id
|
104
114
|
@id = 0 if @id.nil?
|
105
115
|
@id += 1
|
data/lib/jievro/ast/version.rb
CHANGED