expressir 0.2.12-x86-mingw32 → 0.2.13-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35e3c7faaac7a7f64b78530c4a448706b470fbff143a8104f66dc6757f780dd3
4
- data.tar.gz: fa8c9e142c4adb8d0efb93bf7cab21cf63251fbfdfd45b5f85d4a25ce6e6da9d
3
+ metadata.gz: 8ed3288bba0296e8a2e5a14cfa0131adc2ff64bd0534b6be2f63606996bc3882
4
+ data.tar.gz: 857a8ae992b9d2f0693b70a7ef1b69c0b7d067d0479b56bf6db45d4fcb00c6f4
5
5
  SHA512:
6
- metadata.gz: 9569cfc2e2f85bed17876cc788761013d90cbbe1428f425f65a44d12e77e92da87c5df1eedc4f3cd6e3cad60b0ef6a87c3c0e761b8254fa7c14f88a12fd54bb4
7
- data.tar.gz: 2451f2534893dcc171bacf5ebf5f5347e7de9329dcac28cde2245e50901500c62d3be90feb84e1c00f2a83c0db375e73f6ea6c1929075b63ec2555c73e27f8eb
6
+ metadata.gz: 64f6581db4d0b0463c2d61198040227050f31461a6dc5f946e0a76f4ede7e74d12d5c41b6883a3e233af79df9142de3ea7a35e5d56cb5ce0804ed018bb20f5c4
7
+ data.tar.gz: 980b58d6f69ee4edbda7227d329ba50f8926b11eea4ec2b80f2bf28a2d606e508e5a43580edfaa490c7c29043b3e0f1ef5ad260f582f8d6c836ea7058bf435b6
data/exe/format CHANGED
@@ -6,11 +6,15 @@ require "expressir/express_exp/hyperlink_formatter"
6
6
  input_files = [
7
7
  '../iso-10303-stepmod/data/resources/action_schema/action_schema_annotated.exp',
8
8
  '../iso-10303-stepmod/data/resources/basic_attribute_schema/basic_attribute_schema_annotated.exp',
9
- '../iso-10303-stepmod/data/resources/support_resource_schema/support_resource_schema_annotated.exp'
9
+ '../iso-10303-stepmod/data/resources/support_resource_schema/support_resource_schema_annotated.exp',
10
+ # cyclic reference
11
+ # '../iso-10303-stepmod/data/resources/product_property_definition_schema/product_property_definition_schema_annotated.exp',
12
+ # '../iso-10303-stepmod/data/resources/product_property_representation_schema/product_property_representation_schema_annotated.exp'
10
13
  ]
11
14
 
12
15
  repo = Expressir::ExpressExp::Parser.from_files(input_files)
13
16
  schema = repo.schemas.find{|x| x.id == 'action_schema'}
17
+ # schema = repo.schemas.find{|x| x.id == 'product_property_definition_schema'}
14
18
  result = Expressir::ExpressExp::HyperlinkFormatter.format(schema)
15
19
 
16
20
  puts result
@@ -34,10 +34,19 @@ module Expressir
34
34
  super
35
35
  end
36
36
 
37
- def children
37
+ def children(item_ids = nil)
38
38
  items = []
39
- # TODO: select interface items
40
- items.push(*@interfaces.flat_map{|x| parent.schemas.find{|y| x.schema.id == y.id}&.children || []})
39
+ unless item_ids and item_ids.length > 0
40
+ items.push(*@interfaces.flat_map do |interface|
41
+ schema = parent.schemas.find{|y| interface.schema.id == y.id}
42
+ interface_item_ids = if interface.items
43
+ # TODO: support renamed references
44
+ interface.items.select{|x| x.is_a? Model::Expressions::SimpleReference}.map{|x| x.id}
45
+ end
46
+ schema_items = schema&.children(interface_item_ids) || []
47
+ schema_items
48
+ end)
49
+ end
41
50
  items.push(*@constants)
42
51
  items.push(*@types)
43
52
  items.push(*@types.flat_map{|x| x.type.is_a?(Expressir::Model::Types::Enumeration) ? x.type.items : []})
@@ -46,6 +55,9 @@ module Expressir
46
55
  items.push(*@functions)
47
56
  items.push(*@procedures)
48
57
  items.push(*@rules)
58
+ if item_ids and item_ids.length > 0
59
+ items = items.select{|x| item_ids.include?(x.id)}
60
+ end
49
61
  items
50
62
  end
51
63
  end
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "0.2.12".freeze
2
+ VERSION = "0.2.13".freeze
3
3
  end
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: 0.2.12
4
+ version: 0.2.13
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-02-24 00:00:00.000000000 Z
11
+ date: 2021-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri