expressir 0.2.27-x86-mingw32 → 1.0.0-x86-mingw32
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 +3 -3
- data/.gitignore +2 -2
- data/demo.rb +5 -5
- data/exe/format +8 -8
- data/exe/format-test +11 -11
- data/expressir.gemspec +0 -1
- data/lib/expressir.rb +0 -1
- data/lib/expressir/cli.rb +0 -6
- data/lib/expressir/{express_exp → express}/2.4/express_parser.so +0 -0
- data/lib/expressir/{express_exp → express}/2.5/express_parser.so +0 -0
- data/lib/expressir/{express_exp → express}/2.6/express_parser.so +0 -0
- data/lib/expressir/{express_exp → express}/2.7/express_parser.so +0 -0
- data/lib/expressir/{express_exp → express}/3.0/express_parser.so +0 -0
- data/lib/expressir/{express_exp → express}/cache.rb +3 -6
- data/lib/expressir/{express_exp → express}/formatter.rb +72 -66
- data/lib/expressir/{express_exp → express}/hyperlink_formatter.rb +1 -1
- data/lib/expressir/{express_exp → express}/model_visitor.rb +1 -1
- data/lib/expressir/{express_exp → express}/parser.rb +3 -3
- data/lib/expressir/{express_exp → express}/resolve_references_model_visitor.rb +2 -2
- data/lib/expressir/{express_exp → express}/schema_head_formatter.rb +1 -1
- data/lib/expressir/{express_exp → express}/visitor.rb +21 -25
- data/lib/expressir/model.rb +2 -2
- data/lib/expressir/model/entity.rb +6 -6
- data/lib/expressir/model/model_element.rb +1 -1
- data/lib/expressir/model/rule.rb +3 -3
- data/lib/expressir/model/type.rb +6 -6
- data/lib/expressir/model/types/enumeration.rb +2 -4
- data/lib/expressir/model/types/select.rb +2 -4
- data/lib/expressir/model/{unique.rb → unique_rule.rb} +1 -1
- data/lib/expressir/model/{where.rb → where_rule.rb} +1 -1
- data/lib/expressir/version.rb +1 -1
- data/rakelib/cross-ruby.rake +1 -1
- data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
- data/spec/expressir/express/formatter_spec.rb +127 -0
- data/spec/expressir/{express_exp → express}/parser_spec.rb +23 -23
- data/spec/expressir/model/model_element_spec.rb +45 -45
- data/{original/examples → spec}/syntax/multiple.exp +0 -0
- data/{original/examples → spec}/syntax/multiple.yaml +4 -4
- data/{original/examples → spec}/syntax/multiple_formatted.exp +0 -0
- data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +0 -0
- data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +0 -0
- data/{original/examples → spec}/syntax/remark.exp +0 -0
- data/{original/examples → spec}/syntax/remark.yaml +13 -13
- data/{original/examples → spec}/syntax/remark_formatted.exp +0 -0
- data/{original/examples → spec}/syntax/single.exp +0 -0
- data/{original/examples → spec}/syntax/single.yaml +1 -1
- data/{original/examples → spec}/syntax/single_formatted.exp +0 -0
- data/{original/examples → spec}/syntax/single_formatted.yaml +1 -1
- data/{original/examples → spec}/syntax/syntax.exp +10 -10
- data/{original/examples → spec}/syntax/syntax.yaml +106 -106
- data/{original/examples → spec}/syntax/syntax_formatted.exp +10 -10
- data/{original/examples → spec}/syntax/syntax_hyperlink_formatted.exp +10 -10
- data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +0 -0
- metadata +37 -85
- data/lib/expressir/express.rb +0 -11
- data/lib/expressir/express/aggregate_dimension.rb +0 -38
- data/lib/expressir/express/attribute.rb +0 -15
- data/lib/expressir/express/comment.rb +0 -7
- data/lib/expressir/express/defined_type.rb +0 -36
- data/lib/expressir/express/derived.rb +0 -65
- data/lib/expressir/express/derived_aggregate.rb +0 -43
- data/lib/expressir/express/entity.rb +0 -137
- data/lib/expressir/express/explicit.rb +0 -70
- data/lib/expressir/express/explicit_aggregate.rb +0 -46
- data/lib/expressir/express/explicit_or_derived.rb +0 -16
- data/lib/expressir/express/global_rule.rb +0 -44
- data/lib/expressir/express/interface_specification.rb +0 -51
- data/lib/expressir/express/interfaced_item.rb +0 -38
- data/lib/expressir/express/inverse.rb +0 -46
- data/lib/expressir/express/inverse_aggregate.rb +0 -37
- data/lib/expressir/express/model_element.rb +0 -7
- data/lib/expressir/express/named_type.rb +0 -19
- data/lib/expressir/express/remark.rb +0 -8
- data/lib/expressir/express/repository.rb +0 -306
- data/lib/expressir/express/schema_definition.rb +0 -96
- data/lib/expressir/express/subtype_constraint.rb +0 -14
- data/lib/expressir/express/type.rb +0 -26
- data/lib/expressir/express/type_aggregate.rb +0 -42
- data/lib/expressir/express/type_enum.rb +0 -29
- data/lib/expressir/express/type_parser.rb +0 -45
- data/lib/expressir/express/type_select.rb +0 -82
- data/lib/expressir/express/unique_rule.rb +0 -35
- data/lib/expressir/express/where_rule.rb +0 -32
- data/lib/expressir/express_parser.rb +0 -30
- data/lib/expressir/parser.rb +0 -6
- data/lib/expressir/parser/owl_parser.rb +0 -8
- data/spec/acceptance/express_to_owl_spec.rb +0 -18
- data/spec/expressir/express/repository_spec.rb +0 -25
- data/spec/expressir/express_exp/formatter_spec.rb +0 -127
@@ -747,19 +747,19 @@ PROCEDURE types;
|
|
747
747
|
END_TYPE;
|
748
748
|
TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
|
749
749
|
END_TYPE;
|
750
|
-
TYPE
|
750
|
+
TYPE select_item_type = SELECT
|
751
751
|
(empty_type);
|
752
752
|
END_TYPE;
|
753
|
-
TYPE
|
753
|
+
TYPE select_multiple_item_type = SELECT
|
754
754
|
(empty_type,
|
755
755
|
empty_type);
|
756
756
|
END_TYPE;
|
757
|
-
TYPE
|
757
|
+
TYPE select_based_on_type = SELECT BASED_ON select_type;
|
758
758
|
END_TYPE;
|
759
|
-
TYPE
|
759
|
+
TYPE select_based_on_item_type = SELECT BASED_ON select_type WITH
|
760
760
|
(empty_type);
|
761
761
|
END_TYPE;
|
762
|
-
TYPE
|
762
|
+
TYPE select_based_on_multiple_item_type = SELECT BASED_ON select_type WITH
|
763
763
|
(empty_type,
|
764
764
|
empty_type);
|
765
765
|
END_TYPE;
|
@@ -767,19 +767,19 @@ PROCEDURE types;
|
|
767
767
|
END_TYPE;
|
768
768
|
TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
|
769
769
|
END_TYPE;
|
770
|
-
TYPE
|
770
|
+
TYPE enumeration_item_type = ENUMERATION OF
|
771
771
|
(test);
|
772
772
|
END_TYPE;
|
773
|
-
TYPE
|
773
|
+
TYPE enumeration_multiple_item_type = ENUMERATION OF
|
774
774
|
(test,
|
775
775
|
test2);
|
776
776
|
END_TYPE;
|
777
|
-
TYPE
|
777
|
+
TYPE enumeration_based_on_type = ENUMERATION BASED_ON enumeration_type;
|
778
778
|
END_TYPE;
|
779
|
-
TYPE
|
779
|
+
TYPE enumeration_based_on_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
780
780
|
(test);
|
781
781
|
END_TYPE;
|
782
|
-
TYPE
|
782
|
+
TYPE enumeration_based_on_multiple_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
783
783
|
(test,
|
784
784
|
test2);
|
785
785
|
END_TYPE;
|
@@ -747,19 +747,19 @@ PROCEDURE types;
|
|
747
747
|
END_TYPE;
|
748
748
|
TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
|
749
749
|
END_TYPE;
|
750
|
-
TYPE
|
750
|
+
TYPE select_item_type = SELECT
|
751
751
|
({{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
752
752
|
END_TYPE;
|
753
|
-
TYPE
|
753
|
+
TYPE select_multiple_item_type = SELECT
|
754
754
|
({{{<<express:syntax_schema.empty_type,empty_type>>}}},
|
755
755
|
{{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
756
756
|
END_TYPE;
|
757
|
-
TYPE
|
757
|
+
TYPE select_based_on_type = SELECT BASED_ON select_type;
|
758
758
|
END_TYPE;
|
759
|
-
TYPE
|
759
|
+
TYPE select_based_on_item_type = SELECT BASED_ON select_type WITH
|
760
760
|
({{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
761
761
|
END_TYPE;
|
762
|
-
TYPE
|
762
|
+
TYPE select_based_on_multiple_item_type = SELECT BASED_ON select_type WITH
|
763
763
|
({{{<<express:syntax_schema.empty_type,empty_type>>}}},
|
764
764
|
{{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
765
765
|
END_TYPE;
|
@@ -767,19 +767,19 @@ PROCEDURE types;
|
|
767
767
|
END_TYPE;
|
768
768
|
TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
|
769
769
|
END_TYPE;
|
770
|
-
TYPE
|
770
|
+
TYPE enumeration_item_type = ENUMERATION OF
|
771
771
|
(test);
|
772
772
|
END_TYPE;
|
773
|
-
TYPE
|
773
|
+
TYPE enumeration_multiple_item_type = ENUMERATION OF
|
774
774
|
(test,
|
775
775
|
test2);
|
776
776
|
END_TYPE;
|
777
|
-
TYPE
|
777
|
+
TYPE enumeration_based_on_type = ENUMERATION BASED_ON enumeration_type;
|
778
778
|
END_TYPE;
|
779
|
-
TYPE
|
779
|
+
TYPE enumeration_based_on_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
780
780
|
(test);
|
781
781
|
END_TYPE;
|
782
|
-
TYPE
|
782
|
+
TYPE enumeration_based_on_multiple_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
783
783
|
(test,
|
784
784
|
test2);
|
785
785
|
END_TYPE;
|
File without changes
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: expressir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: nokogiri
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.10'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.10'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: thor
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -182,49 +168,19 @@ files:
|
|
182
168
|
- lib/expressir/cli.rb
|
183
169
|
- lib/expressir/cli/ui.rb
|
184
170
|
- lib/expressir/config.rb
|
185
|
-
- lib/expressir/express.
|
186
|
-
- lib/expressir/express/
|
187
|
-
- lib/expressir/express/
|
188
|
-
- lib/expressir/express/
|
189
|
-
- lib/expressir/express/
|
190
|
-
- lib/expressir/express/
|
191
|
-
- lib/expressir/express/
|
192
|
-
- lib/expressir/express/
|
193
|
-
- lib/expressir/express/
|
194
|
-
- lib/expressir/express/
|
195
|
-
- lib/expressir/express/
|
196
|
-
- lib/expressir/express/
|
197
|
-
- lib/expressir/express/
|
198
|
-
- lib/expressir/express/interfaced_item.rb
|
199
|
-
- lib/expressir/express/inverse.rb
|
200
|
-
- lib/expressir/express/inverse_aggregate.rb
|
201
|
-
- lib/expressir/express/model_element.rb
|
202
|
-
- lib/expressir/express/named_type.rb
|
203
|
-
- lib/expressir/express/remark.rb
|
204
|
-
- lib/expressir/express/repository.rb
|
205
|
-
- lib/expressir/express/schema_definition.rb
|
206
|
-
- lib/expressir/express/subtype_constraint.rb
|
207
|
-
- lib/expressir/express/type.rb
|
208
|
-
- lib/expressir/express/type_aggregate.rb
|
209
|
-
- lib/expressir/express/type_enum.rb
|
210
|
-
- lib/expressir/express/type_parser.rb
|
211
|
-
- lib/expressir/express/type_select.rb
|
212
|
-
- lib/expressir/express/unique_rule.rb
|
213
|
-
- lib/expressir/express/where_rule.rb
|
214
|
-
- lib/expressir/express_exp/2.4/express_parser.so
|
215
|
-
- lib/expressir/express_exp/2.5/express_parser.so
|
216
|
-
- lib/expressir/express_exp/2.6/express_parser.so
|
217
|
-
- lib/expressir/express_exp/2.7/express_parser.so
|
218
|
-
- lib/expressir/express_exp/3.0/express_parser.so
|
219
|
-
- lib/expressir/express_exp/cache.rb
|
220
|
-
- lib/expressir/express_exp/formatter.rb
|
221
|
-
- lib/expressir/express_exp/hyperlink_formatter.rb
|
222
|
-
- lib/expressir/express_exp/model_visitor.rb
|
223
|
-
- lib/expressir/express_exp/parser.rb
|
224
|
-
- lib/expressir/express_exp/resolve_references_model_visitor.rb
|
225
|
-
- lib/expressir/express_exp/schema_head_formatter.rb
|
226
|
-
- lib/expressir/express_exp/visitor.rb
|
227
|
-
- lib/expressir/express_parser.rb
|
171
|
+
- lib/expressir/express/2.4/express_parser.so
|
172
|
+
- lib/expressir/express/2.5/express_parser.so
|
173
|
+
- lib/expressir/express/2.6/express_parser.so
|
174
|
+
- lib/expressir/express/2.7/express_parser.so
|
175
|
+
- lib/expressir/express/3.0/express_parser.so
|
176
|
+
- lib/expressir/express/cache.rb
|
177
|
+
- lib/expressir/express/formatter.rb
|
178
|
+
- lib/expressir/express/hyperlink_formatter.rb
|
179
|
+
- lib/expressir/express/model_visitor.rb
|
180
|
+
- lib/expressir/express/parser.rb
|
181
|
+
- lib/expressir/express/resolve_references_model_visitor.rb
|
182
|
+
- lib/expressir/express/schema_head_formatter.rb
|
183
|
+
- lib/expressir/express/visitor.rb
|
228
184
|
- lib/expressir/model.rb
|
229
185
|
- lib/expressir/model/attribute.rb
|
230
186
|
- lib/expressir/model/cache.rb
|
@@ -292,11 +248,9 @@ files:
|
|
292
248
|
- lib/expressir/model/types/select.rb
|
293
249
|
- lib/expressir/model/types/set.rb
|
294
250
|
- lib/expressir/model/types/string.rb
|
295
|
-
- lib/expressir/model/
|
251
|
+
- lib/expressir/model/unique_rule.rb
|
296
252
|
- lib/expressir/model/variable.rb
|
297
|
-
- lib/expressir/model/
|
298
|
-
- lib/expressir/parser.rb
|
299
|
-
- lib/expressir/parser/owl_parser.rb
|
253
|
+
- lib/expressir/model/where_rule.rb
|
300
254
|
- lib/expressir/version.rb
|
301
255
|
- original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp
|
302
256
|
- original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl
|
@@ -327,23 +281,6 @@ files:
|
|
327
281
|
- original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl
|
328
282
|
- original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi
|
329
283
|
- original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml
|
330
|
-
- original/examples/syntax/multiple.exp
|
331
|
-
- original/examples/syntax/multiple.yaml
|
332
|
-
- original/examples/syntax/multiple_formatted.exp
|
333
|
-
- original/examples/syntax/multiple_hyperlink_formatted.exp
|
334
|
-
- original/examples/syntax/multiple_schema_head_hyperlink_formatted.exp
|
335
|
-
- original/examples/syntax/remark.exp
|
336
|
-
- original/examples/syntax/remark.yaml
|
337
|
-
- original/examples/syntax/remark_formatted.exp
|
338
|
-
- original/examples/syntax/single.exp
|
339
|
-
- original/examples/syntax/single.yaml
|
340
|
-
- original/examples/syntax/single_formatted.exp
|
341
|
-
- original/examples/syntax/single_formatted.yaml
|
342
|
-
- original/examples/syntax/syntax.exp
|
343
|
-
- original/examples/syntax/syntax.yaml
|
344
|
-
- original/examples/syntax/syntax_formatted.exp
|
345
|
-
- original/examples/syntax/syntax_hyperlink_formatted.exp
|
346
|
-
- original/examples/syntax/syntax_schema_head_formatted.exp
|
347
284
|
- original/exp2ruby.rb
|
348
285
|
- original/expsm.rb
|
349
286
|
- original/mapping_owl.rb
|
@@ -352,16 +289,31 @@ files:
|
|
352
289
|
- original/mapping_uml2_eclipse.rb
|
353
290
|
- original/reeper.rb
|
354
291
|
- rakelib/cross-ruby.rake
|
355
|
-
- spec/acceptance/express_to_owl_spec.rb
|
356
292
|
- spec/acceptance/version_spec.rb
|
357
|
-
- spec/expressir/express/
|
358
|
-
- spec/expressir/
|
359
|
-
- spec/expressir/
|
360
|
-
- spec/expressir/express_exp/parser_spec.rb
|
293
|
+
- spec/expressir/express/cache_spec.rb
|
294
|
+
- spec/expressir/express/formatter_spec.rb
|
295
|
+
- spec/expressir/express/parser_spec.rb
|
361
296
|
- spec/expressir/model/model_element_spec.rb
|
362
297
|
- spec/expressr_spec.rb
|
363
298
|
- spec/spec_helper.rb
|
364
299
|
- spec/support/console_helper.rb
|
300
|
+
- spec/syntax/multiple.exp
|
301
|
+
- spec/syntax/multiple.yaml
|
302
|
+
- spec/syntax/multiple_formatted.exp
|
303
|
+
- spec/syntax/multiple_hyperlink_formatted.exp
|
304
|
+
- spec/syntax/multiple_schema_head_hyperlink_formatted.exp
|
305
|
+
- spec/syntax/remark.exp
|
306
|
+
- spec/syntax/remark.yaml
|
307
|
+
- spec/syntax/remark_formatted.exp
|
308
|
+
- spec/syntax/single.exp
|
309
|
+
- spec/syntax/single.yaml
|
310
|
+
- spec/syntax/single_formatted.exp
|
311
|
+
- spec/syntax/single_formatted.yaml
|
312
|
+
- spec/syntax/syntax.exp
|
313
|
+
- spec/syntax/syntax.yaml
|
314
|
+
- spec/syntax/syntax_formatted.exp
|
315
|
+
- spec/syntax/syntax_hyperlink_formatted.exp
|
316
|
+
- spec/syntax/syntax_schema_head_formatted.exp
|
365
317
|
homepage: https://github.com/lutaml/expressir
|
366
318
|
licenses:
|
367
319
|
- MIT
|
data/lib/expressir/express.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Express
|
3
|
-
class AggregateDimension
|
4
|
-
attr_accessor :aggrtype, :lower, :upper, :isUnique, :isOptionalArray
|
5
|
-
|
6
|
-
def initialize(options = {})
|
7
|
-
@aggrtype = "SET"
|
8
|
-
@lower = "0"
|
9
|
-
@upper = "?"
|
10
|
-
@isUnique = false
|
11
|
-
@isOptionalArray = false
|
12
|
-
|
13
|
-
@options = options
|
14
|
-
end
|
15
|
-
|
16
|
-
def parse
|
17
|
-
document = @options.fetch(:document, nil)
|
18
|
-
extract_attributes(document) if document
|
19
|
-
|
20
|
-
self
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.parse(document)
|
24
|
-
new(document: document).parse
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def extract_attributes(document)
|
30
|
-
@aggrtype = document.attributes["type"]
|
31
|
-
@lower = document.attributes["lower"]
|
32
|
-
@upper = document.attributes["upper"]
|
33
|
-
@isUnique = document.attributes["unique"] == "YES"
|
34
|
-
@isOptionalArray = document.attributes["optional"] == "YES"
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
require "expressir/express/model_element"
|
2
|
-
|
3
|
-
module Expressir
|
4
|
-
module Express
|
5
|
-
class Attribute < ModelElement
|
6
|
-
attr_accessor :name, :entity, :domain, :redeclare_entity,
|
7
|
-
:redeclare_oldname
|
8
|
-
|
9
|
-
def initialize
|
10
|
-
@redeclare_entity = nil
|
11
|
-
@redeclare_oldname = nil
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require "expressir/express/named_type"
|
2
|
-
|
3
|
-
module Expressir
|
4
|
-
module Express
|
5
|
-
class DefinedType < NamedType
|
6
|
-
def initialize(options = {})
|
7
|
-
@options = options
|
8
|
-
@schema = options.fetch(:schema)
|
9
|
-
end
|
10
|
-
|
11
|
-
def parse
|
12
|
-
document = @options.fetch(:document)
|
13
|
-
extract_type_attributes(document)
|
14
|
-
|
15
|
-
self
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.parse(document, schema)
|
19
|
-
new(document: document, schema: schema).parse
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def extract_type_attributes(document)
|
25
|
-
@name = document.attributes["name"].to_s
|
26
|
-
@wheres = extract_where_rules(document)
|
27
|
-
end
|
28
|
-
|
29
|
-
def extract_where_rules(document)
|
30
|
-
document.xpath("where").map do |where|
|
31
|
-
Express::WhereRule.parse(where)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Express
|
3
|
-
class Derived < ExplicitOrDerived
|
4
|
-
attr_accessor :expression
|
5
|
-
|
6
|
-
def initialize(options = {})
|
7
|
-
@options = options
|
8
|
-
@entity = options.fetch(:entity, nil)
|
9
|
-
end
|
10
|
-
|
11
|
-
def parse
|
12
|
-
document = @options.fetch(:document, nil)
|
13
|
-
extract_common_attributes(document)
|
14
|
-
extract_type_specific_attributes(document)
|
15
|
-
|
16
|
-
self
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.parse(document, entity)
|
20
|
-
new(document: document, entity: entity).parse
|
21
|
-
end
|
22
|
-
|
23
|
-
private
|
24
|
-
|
25
|
-
def extract_type_specific_attributes(document); end
|
26
|
-
|
27
|
-
def extract_common_attributes(document)
|
28
|
-
@name = document.attributes["name"].to_s
|
29
|
-
@expression = document.attributes["expression"].to_s
|
30
|
-
@domain = extract_domain_name(document.xpath("typename"))
|
31
|
-
|
32
|
-
extract_builtintype_attributes(document)
|
33
|
-
extract_redeclaration_attributes(document)
|
34
|
-
end
|
35
|
-
|
36
|
-
def extract_domain_name(typename)
|
37
|
-
unless typename.empty?
|
38
|
-
typename.first.attributes["name"].to_s
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
def extract_redeclaration_attributes(document)
|
43
|
-
redeclaration = document.xpath("redeclaration").first
|
44
|
-
|
45
|
-
if redeclaration
|
46
|
-
@redeclare_entity = redeclaration.attributes["entity-ref"].to_s
|
47
|
-
old_name = redeclaration.attributes["old_name"]
|
48
|
-
@redeclare_oldname = old_name.to_s if old_name
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def extract_builtintype_attributes(document)
|
53
|
-
builtin_type = document.xpath("builtintype").first
|
54
|
-
|
55
|
-
if builtin_type
|
56
|
-
@isBuiltin = true
|
57
|
-
@domain = builtin_type.attributes["type"].to_s
|
58
|
-
@width = builtin_type.attributes["width"].to_s
|
59
|
-
@fixed = builtin_type.attributes["fixed"] == "YES"
|
60
|
-
@precision = builtin_type.attributes["precision"].to_s
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|