expressir 0.2.12 → 0.2.13

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: 63c93bcc09afc7f9dd7acd159408d40e408fa2d901966155e268e4601535fa9f
4
- data.tar.gz: a7f853182d400899013017e4690287c7029fd86e08e869da488505aca8d73385
3
+ metadata.gz: 3fd063ff8bda58c8b99abd22ca3a4d8d8846d06f7f371f87c627cad46a855bb6
4
+ data.tar.gz: ce6a2989af582ba1836937c6a04795166ac2398376fa811f225dfd60fb98c386
5
5
  SHA512:
6
- metadata.gz: 3ba487f32f90e9d3a9566aa55ba7143ba5842068bc9ae44b088e87013974a00d112ef22e8b37bfbdfe5d7ad441ab5679076ce9db259b787ef034c213fe0af5ec
7
- data.tar.gz: 7c68e39a289e1473395a50ec09650bb53ec4b818484493fc0168c3a7cbebc2b6c80a6ba4f0ca7b75b5c4c6119f6de80249517fef96aa7af95dfcf5bbff2b2155
6
+ metadata.gz: d293a8eedf84ddbfa53fa6232f09d11a1bdf9fe3d5ea3e330c3f5e8d31a1b4bb64d893f11166c2e211a4748ddf94d91d018c1cb14c70763dd3514ed33ba0fe75
7
+ data.tar.gz: 4ce13703d746e26dedac16efe9f7d9e4283c570d8a20e4deda770a6896257c36e4acaa0c58be440d5fd0809acc4f5450e6697bfcdbd61808a8abf7e2564ee47f
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: ruby
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