expressir 0.2.12-x64-mingw32 → 0.2.13-x64-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: '0582a52e1a4528719ce1ce40997d0446cf6da005ad32d305301a96f47d7a9f60'
4
- data.tar.gz: 5c37ae0f9255bc51004350a083d296fb431e7842e67640357030b346f365a4a3
3
+ metadata.gz: 893b08150342d7e5e7d8ec1f0edd111c916355ef2b619e5b99d6faac4e5cd967
4
+ data.tar.gz: 20fec0d8ca1b42dce5dd650c50514bc8d6b1e3985278fd3a37613d51534fc0ae
5
5
  SHA512:
6
- metadata.gz: f5900b59674fa8973aebf26e8400b41633680d24551654a94f9f24704336ef0bbede9b8f340c4200c5c6287d0134d174a769defb973ad79601239feea0dc5b4d
7
- data.tar.gz: 70500e7c84bb33bac352e93a64ab25c2d331b2fb5fb79887f53998ada089c615465711695896f3326ee2dc0879719d0c3712d668b6b792f54fc9692a482b8538
6
+ metadata.gz: 51dbf159b960e3d973b27239be90a2321598b0557c1c50bff4b74e305564fd8a06fc34efc534382524085102ede330e5961b5ec4a198fea721bf1ec4f9fbec36
7
+ data.tar.gz: 40ae0df6545e9fd98271507696074d5d43339c62feefead2a21590ce7a60eb950037f0efb25deb8cad74f73f29b268fc44a73482fab597a076055a77ad264f8e
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: x64-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