tla-sbuilder 0.3.7 → 0.3.8
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/README.md +1 -1
- data/VERSION +1 -1
- data/lib/sbuilder/controller.rb +3 -2
- data/lib/sbuilder/default-sbuilder.yaml +1 -1
- data/lib/sbuilder/model.rb +31 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5eccbde389b960d6daa3a03284489dde2c9d2b4a
|
4
|
+
data.tar.gz: 06d5c9ab8e969b954d6acd77e4fd5607d3b9c6e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b7c60c28c829383ae57e2fc9ca12deeb7d5a5052fc047dde372c032843187281ddba4ddb97514fe4e70a0d22444dcd63a932a758d45fe88a860ecac84489f75
|
7
|
+
data.tar.gz: 5bccdd522ab2c5b245621c9f1feeb6a95d830bb14fdf45218017fb5174563e07584e6fc43d1c0d9944981587fecbac90fec0a3d8242b7ec7107a0c26c88c7ea9
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<link href="../site.css" rel="stylesheet"></link>
|
2
2
|
[Readme](README.md) [Releases](RELEASES.md)
|
3
3
|
|
4
|
-
# Sbuilder - A Specification Builder for TLA+ Tools - $Release:0.3.
|
4
|
+
# Sbuilder - A Specification Builder for TLA+ Tools - $Release:0.3.8$
|
5
5
|
|
6
6
|
A tool to generate runnable formal models in
|
7
7
|
[TLA+ language](http://research.microsoft.com/en-us/um/people/lamport/tla/book.html)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.8
|
data/lib/sbuilder/controller.rb
CHANGED
@@ -595,8 +595,9 @@ module Sbuilder
|
|
595
595
|
next unless input['symbols']
|
596
596
|
|
597
597
|
|
598
|
-
# access model data,
|
599
|
-
|
598
|
+
# access model data, symbol table not yet built
|
599
|
+
symbol_lookup=false
|
600
|
+
modelData = templateData( input['modelData'], symbol_lookup )
|
600
601
|
d = modelData[input['modelData']]
|
601
602
|
@logger.debug "#{__method__} input['modelData']=#{input['modelData']}--> #{d}"
|
602
603
|
next unless d && d.any?
|
data/lib/sbuilder/model.rb
CHANGED
@@ -320,6 +320,11 @@ module Sbuilder
|
|
320
320
|
|
321
321
|
# @param [String] domainName in data model
|
322
322
|
#
|
323
|
+
# @param symbol_lookup [Boolean] true for normal operation, false
|
324
|
+
# for init, when no symbol table lookup can be made
|
325
|
+
#
|
326
|
+
#
|
327
|
+
#
|
323
328
|
# @return [Hash] dataModelElement for mustache for 'templateName' in 'interfaces', 'domains', 'variables' etc
|
324
329
|
#
|
325
330
|
# @option dataModelElement [String] dump to output data array
|
@@ -330,18 +335,18 @@ module Sbuilder
|
|
330
335
|
# @option dataModelElement [String] 'domainName' data array for
|
331
336
|
# element in model for domainName
|
332
337
|
|
333
|
-
def templateData( domainName )
|
338
|
+
def templateData( domainName, symbol_lookup=true )
|
334
339
|
|
340
|
+
@logger.info( "#{__method__} domainName=#{domainName}")
|
335
341
|
case domainName
|
342
|
+
when 'allInterfaces'
|
343
|
+
# both interfaces and infrastructureServices
|
344
|
+
templateDataInterfaces( domainName, nil, symbol_lookup )
|
336
345
|
when 'interfaces'
|
337
346
|
# see domainName 'interfaces'
|
338
|
-
templateDataInterfaces( domainName, false )
|
339
|
-
# when 'interface_types'
|
340
|
-
# # see domainName 'interfaces', interface_types are not
|
341
|
-
# # filtered i.e. generated model defines data types for all interfaces
|
342
|
-
# templateDataInterfaces( 'interfaces', false )
|
347
|
+
templateDataInterfaces( domainName, false, symbol_lookup )
|
343
348
|
when 'infrastructureServices'
|
344
|
-
templateDataInterfaces( domainName, true )
|
349
|
+
templateDataInterfaces( domainName, true, symbol_lookup )
|
345
350
|
when 'possibility'
|
346
351
|
hash = {
|
347
352
|
"dump" => lambda { hash['possibility'].to_yaml },
|
@@ -454,24 +459,39 @@ module Sbuilder
|
|
454
459
|
|
455
460
|
# Extract data model for interfaces
|
456
461
|
#
|
457
|
-
# @param
|
462
|
+
# @param infrastructureServices [Boolean, nil] false --> interterfaces with 'interfaceService', true => 'infrastructureService'
|
463
|
+
# nil => both interfaceService && infrastructureService
|
464
|
+
#
|
465
|
+
# @param symbol_lookup [Boolean] true for normal operation, false
|
466
|
+
# for init, when no symbol table lookup can be made
|
458
467
|
#
|
459
468
|
# @return [Hash] for template rendering composed of interfaces, 'false' if configs
|
460
469
|
#
|
461
|
-
private def templateDataInterfaces( domainName,
|
470
|
+
private def templateDataInterfaces( domainName, infrastructureServices, symbol_lookup )
|
471
|
+
@logger.debug "#{__method__}, domainName=#{domainName}, infrastructureServices=#{infrastructureServices}, symbol_lookup=#{symbol_lookup}" if @logger.debug?
|
472
|
+
|
473
|
+
# Looking for interface type
|
474
|
+
infrastructureServiceMeta = FacadeConstants::META_MODEL_INFRA_SERVICES
|
462
475
|
hash = {
|
463
476
|
"dump" => lambda { hash[domainName].to_yaml },
|
464
477
|
|
465
478
|
domainName => interfaces.values.select { |iface|
|
479
|
+
|
480
|
+
# both infrastructureServices && interfaceService or either
|
481
|
+
infrastructureServices.nil? ||
|
466
482
|
|
467
|
-
!
|
468
|
-
|
483
|
+
(!infrastructureServices && iface.interfaceService ||
|
484
|
+
infrastructureServices && iface.infrastructureService
|
485
|
+
)
|
469
486
|
|
470
487
|
}.map { |iface |
|
471
488
|
{
|
472
489
|
:interface_name => iface.getName, # e.g._pet_post_
|
490
|
+
:response_key => symbol_lookup && iface.infrastructureService ? getSymbolTable.lookupSymbol(iface.getId, infrastructureServiceMeta ) : false,
|
473
491
|
:interface_operation => iface.getId, # e.g /pet(post)
|
474
492
|
:implementation => getImplementationExtension( iface ),
|
493
|
+
:interfaceService => iface.interfaceService,
|
494
|
+
:infrastructureService => iface.infrastructureService,
|
475
495
|
:source => {
|
476
496
|
:sourceModule => iface.sourceModule,
|
477
497
|
:sourceLine => iface.sourceLine,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tla-sbuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jarjuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mustache
|