expressir 2.3.5 → 2.3.7
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/.github/workflows/rake.yml +1 -1
- data/.gitignore +2 -0
- data/.rubocop_todo.yml +17 -12
- data/CHANGELOG.md +159 -0
- data/docs/_guides/ler/step-packages.adoc +385 -0
- data/lib/expressir/coverage.rb +4 -4
- data/lib/expressir/express/builder.rb +1 -1
- data/lib/expressir/express/builder_registry.rb +12 -35
- data/lib/expressir/express/builders/constant_builder.rb +8 -2
- data/lib/expressir/express/builders/expression_builder.rb +2 -2
- data/lib/expressir/express/builders/helpers.rb +2 -8
- data/lib/expressir/express/builders/procedure_decl_builder.rb +2 -1
- data/lib/expressir/express/builders/qualifier_builder.rb +2 -1
- data/lib/expressir/express/builders/statement_builder.rb +18 -5
- data/lib/expressir/express/builders/type_builder.rb +20 -12
- data/lib/expressir/express/formatter.rb +32 -164
- data/lib/expressir/express/formatters/data_types_formatter.rb +51 -8
- data/lib/expressir/express/formatters/declarations_formatter.rb +47 -8
- data/lib/expressir/express/formatters/expressions_formatter.rb +27 -9
- data/lib/expressir/express/formatters/literals_formatter.rb +12 -5
- data/lib/expressir/express/formatters/references_formatter.rb +10 -1
- data/lib/expressir/express/formatters/remark_formatter.rb +1 -89
- data/lib/expressir/express/formatters/remark_item_formatter.rb +5 -4
- data/lib/expressir/express/formatters/statements_formatter.rb +32 -9
- data/lib/expressir/express/formatters/supertype_expressions_formatter.rb +7 -3
- data/lib/expressir/express/hyperlink_formatter.rb +1 -3
- data/lib/expressir/express/model_visitor.rb +1 -1
- data/lib/expressir/express/pretty_formatter.rb +31 -108
- data/lib/expressir/express/remark_attacher.rb +118 -88
- data/lib/expressir/express/schema_head_formatter.rb +1 -3
- data/lib/expressir/model/concerns.rb +6 -0
- data/lib/expressir/model/declarations/function.rb +0 -1
- data/lib/expressir/model/declarations/interface_item.rb +2 -0
- data/lib/expressir/model/declarations/interfaced_item.rb +3 -0
- data/lib/expressir/model/declarations/procedure.rb +0 -1
- data/lib/expressir/model/declarations/remark_item.rb +3 -0
- data/lib/expressir/model/declarations/schema.rb +7 -5
- data/lib/expressir/model/exp_file.rb +1 -0
- data/lib/expressir/model/identifier.rb +3 -1
- data/lib/expressir/model/model_element.rb +3 -3
- data/lib/expressir/model/repository.rb +8 -0
- data/lib/expressir/model/search_engine.rb +1 -1
- data/lib/expressir/package/reader.rb +9 -24
- data/lib/expressir/version.rb +1 -1
- metadata +4 -2
|
@@ -120,7 +120,7 @@ module Expressir
|
|
|
120
120
|
loop do
|
|
121
121
|
# Skip adding the id if this is a RemarkItem that belongs to an InformalPropositionRule
|
|
122
122
|
# and has the same id as its parent
|
|
123
|
-
if !(current_node.is_a? References::SimpleReference) && current_node.
|
|
123
|
+
if !(current_node.is_a? References::SimpleReference) && current_node.is_a?(HasId) &&
|
|
124
124
|
!(is_a?(Declarations::RemarkItem) &&
|
|
125
125
|
parent.is_a?(Declarations::InformalPropositionRule) &&
|
|
126
126
|
id == parent.id)
|
|
@@ -200,7 +200,7 @@ module Expressir
|
|
|
200
200
|
self.untagged_remarks ||= []
|
|
201
201
|
return unless remark_info.is_a?(RemarkInfo)
|
|
202
202
|
|
|
203
|
-
|
|
203
|
+
untagged_remarks << remark_info
|
|
204
204
|
end
|
|
205
205
|
|
|
206
206
|
private
|
|
@@ -208,7 +208,7 @@ module Expressir
|
|
|
208
208
|
# @return [nil]
|
|
209
209
|
def attach_parent_to_children
|
|
210
210
|
self.class.attributes.each_pair do |symbol, _lutaml_attr|
|
|
211
|
-
value =
|
|
211
|
+
value = public_send(symbol)
|
|
212
212
|
|
|
213
213
|
case value
|
|
214
214
|
when Array
|
|
@@ -24,6 +24,14 @@ module Expressir
|
|
|
24
24
|
# Index instances (lazy-loaded)
|
|
25
25
|
attr_reader :entity_index, :type_index, :reference_index
|
|
26
26
|
|
|
27
|
+
# Restore deserialized indexes (used by Package::Reader)
|
|
28
|
+
def restore_indexes(entity_index: nil, type_index: nil,
|
|
29
|
+
reference_index: nil)
|
|
30
|
+
@entity_index = entity_index if entity_index
|
|
31
|
+
@type_index = type_index if type_index
|
|
32
|
+
@reference_index = reference_index if reference_index
|
|
33
|
+
end
|
|
34
|
+
|
|
27
35
|
# Internal schema storage for direct manipulation
|
|
28
36
|
attr_reader :_schemas
|
|
29
37
|
|
|
@@ -132,32 +132,17 @@ module Expressir
|
|
|
132
132
|
# @param repository [Model::Repository] Repository instance
|
|
133
133
|
# @return [void]
|
|
134
134
|
def load_indexes(zip, repository)
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
135
|
+
indexes = {}
|
|
136
|
+
|
|
137
|
+
%w[entity_index type_index reference_index].each do |name|
|
|
138
|
+
entry = zip.find_entry("#{name}.marshal")
|
|
139
|
+
if entry
|
|
140
|
+
indexes[name.to_sym] =
|
|
141
|
+
Marshal.load(entry.get_input_stream.read)
|
|
142
|
+
end
|
|
142
143
|
end
|
|
143
144
|
|
|
144
|
-
|
|
145
|
-
type_index_entry = zip.find_entry("type_index.marshal")
|
|
146
|
-
if type_index_entry
|
|
147
|
-
repository.instance_variable_set(
|
|
148
|
-
:@type_index,
|
|
149
|
-
Marshal.load(type_index_entry.get_input_stream.read),
|
|
150
|
-
)
|
|
151
|
-
end
|
|
152
|
-
|
|
153
|
-
# Load reference index
|
|
154
|
-
reference_index_entry = zip.find_entry("reference_index.marshal")
|
|
155
|
-
if reference_index_entry
|
|
156
|
-
repository.instance_variable_set(
|
|
157
|
-
:@reference_index,
|
|
158
|
-
Marshal.load(reference_index_entry.get_input_stream.read),
|
|
159
|
-
)
|
|
160
|
-
end
|
|
145
|
+
repository.restore_indexes(**indexes) unless indexes.empty?
|
|
161
146
|
end
|
|
162
147
|
end
|
|
163
148
|
end
|
data/lib/expressir/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: expressir
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.3.
|
|
4
|
+
version: 2.3.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-05
|
|
11
|
+
date: 2026-06-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: base64
|
|
@@ -233,6 +233,7 @@ files:
|
|
|
233
233
|
- ".rspec"
|
|
234
234
|
- ".rubocop.yml"
|
|
235
235
|
- ".rubocop_todo.yml"
|
|
236
|
+
- CHANGELOG.md
|
|
236
237
|
- Gemfile
|
|
237
238
|
- README.adoc
|
|
238
239
|
- Rakefile
|
|
@@ -263,6 +264,7 @@ files:
|
|
|
263
264
|
- docs/_guides/ler/loading-packages.adoc
|
|
264
265
|
- docs/_guides/ler/package-formats.adoc
|
|
265
266
|
- docs/_guides/ler/querying-packages.adoc
|
|
267
|
+
- docs/_guides/ler/step-packages.adoc
|
|
266
268
|
- docs/_guides/ler/validating-packages.adoc
|
|
267
269
|
- docs/_guides/liquid/basic-templates.adoc
|
|
268
270
|
- docs/_guides/liquid/documentation-generation.adoc
|