Class: Sbuilder::CliText

Inherits:
Object
  • Object
show all
Defined in:
lib/cli/cli-text.rb

Constant Summary collapse

SBUILDER_EXTENSION =
"\n# Load and configure sbuilder plugin extensions\n#\n# SCHEMA\n#\n# extend:\n#    loaders:\n#          - gem: <gem-name>\n#            className: <class name>\n#            configuration:\n#                   <configuration-value>\n#            objects: \n#                   <named-object>\n#\n# WHERE <named-object> is a hash\n#\n#                  - objectName:\n#                    configuration:\n#                        <configuration-value>\n#\n#\n# COMMENTS:\n# - `objects` -property is optional\n# - `objectName` must be unique\n# - if 'className' is used, must also give 'gem'\n#\n# <class name>: name of interface loader in 'type' property in 'interfaces' array\n# <gem-name>: gem name to require, require only if <class name> not defined\n# <configuration-value>: a (hash) value passed to 'className'::configure' -method\n# or `className.new#configure` method for objects\n#\n#\n\nextend:\n  loaders: \n\n     # - className: Sbuilder::SnippetLoaderSimple\n     #   configuration:\n     #        src_dir: src/pet\n\n".unindent
SBUILDER_SNIPPETS =
"\n# Load snippets to sbuilder code repository\n#\n# SCHEMA:\n#\n# \n# snippets:\n# - <snippet-loader>\n# - <snippet-loader>\n# - <snippet-loader>\n#\n#   <snippet-loader>: an array element with the following mandatory properties\n#\n#   className:  name of the snippet loader object, \n#               className used in 'extend.loaders'\n#   objectName: name of the class of snippet loader object, \n#               references 'objectName' in 'extend.loaders.objects',\n#               must give either 'className' or 'objectName'\n#   snippets:  array of snippet load definitions, \n#              content of the array varies for classNames\n#\n# \n#   Special metatypes:\n#     - service_implementation: defines a macro to call for the service\n#     - service_completion: defines a macro to call when service\n#       finishes. Intended use is check service status, and implementation\n#       transaction semantics.\n#\n#  Example for className: Sbuilder::SnippetLoaderSimple \n# \n#  className: Sbuilder::SnippetLoaderSimple \n#  configuration:\n#     metatypes:\n#        code: Example code\n#  snippets:\n#    - metatype: service_implementation\n#      appName: \"/max2(post)\"\n#      file: max2_post.tla\n#    - metatype: service_implementation\n#      appName: \"/dummy(post)\"\n#      file: dummy_post.tla\n#    - metatype: code\n#      appName: max2\n#      file: max2.tla\n".unindent    
SBUILDER_INVARIANTS =
"\n# Activate invariant operator defines in sBuilder code repository\n#\n# SCHEMA:\n# \n# invariants:\n#   - <invariant-name>: <invariant description>\n#\n# \n# <invariant-name>: name of TlAplus operator defined in sBuilder code repository\n# <invariant description>: documentantion text for the invariant\n#\n".unindent
SBUILDER_RESOLVERS =
"\n# Define how parameter names are mapped to domain\n#\n# SCHEMA:\n#\n# resolvers: \n#  - file: <file name in cnf-dir>\n#    url:  <path or url>\n#\n# Give either 'file' or 'url'\n# <file name in cnf-dir>: file name in cnf-directory\n# <path or url>: path relative to cwd, or http url\n#\n#\n#\n\n".unindent
SBUILBER_INTERFACES =
"\n# Define how to load interfaces configuration\n#\n# SCHEMA:\n# \n# interfaces: \n#  - \n#    className: <class name>\n#    configuration: <configuration-value>\n#    objectName: <object name>\n# \n#    file: <file name in cnf-dir>\n#    infrastructureServices: <is infrastructureService>\n#    interfaceServices: <is interfaceService>\n#    url:  <path or url>\n#    cache: <cache file path>\n#\n# WHERE\n#\n#   <class name>:  name of the snippet loader object, \n#               className used in 'extend.loaders'\n#\n#   <object name>: name of the class of api loader object, \n#               references 'objectName' in 'extend.loaders.objects',\n#               \n#\n# <configuration-value>: a (hash) value passed to 'className'::configure' -method\n# or `className.new#configure` method for objects\n#                    \n#\n# <is infrastructureService>: true generates the possibility for a\n# service set return response using 'InfrastructureServiceResponse' operator, and \n# the caller to access response status ( operator 'InfrastructureServiceGetStatus')\n# and response data ( operator #InfrastructureServiceGetResponse'), optional, defaults false\n#\n# <is interfaceService>: true generates interface process for the interface, which\n# environment can call (see 'step-extension', optional, defaults true\n#\n# <file name in cnf-dir> : file name in cnf-directory\n# <path or url>          : path relative to cwd, or http url, \n#                          e.g https://cdn.rawgit.com/swagger-api/swagger-spec/master/examples/v2.0/yaml/petstore-expanded.yaml\n# <cache file path>      : path relative to cwd, where interface file is cached\n# \n# COMMENTS:\n# - must give either 'className' or 'objectName'\n# - when 'className' given 'configuration' allowed\n# - must give either  'file' or 'url' \n# - property 'cache' optional, useful when http access slow\n# - infrastructureServices are modelled as procedures, which may modify state\n#   or return values used in 'normal' interfaces\n#      \n\n".unindent
SBUILER_SETUPS =
"\n# Define environment setups\n#\n# SCHEMA:\n# setups:\n#   - setupDirectory: <setupname>\n#     extensions:\n#         file: <file name in cnf-dir>\n#         url:  <path or url>\n#     preferences:\n#         <hash-values>\n#     assumptions:\n#          <assume-op-names>\n#\n# <setupname>           : name of setup = sub directory under <gen_dir>\n# <file name in cnf-dir>: name extension configurion file in cnf-directory\n# <path or url>         : relative name or url of configurion file\n# <hash-values>         : optional properties overriding global generate preferences\n# <assume-op-names>     : array of operator names to put into ASSUME directives\n#\n# COMMENTS:\n# - preferences property is optional\n".unindent
SBUILDER_GENERATE =
"\n# Generate definitions\n#   \n# SCHEMA:\n# generate:\n#   - output: <path>\n#     inputs: \n#\n#       - desc: <description text>\n#         modelData: none\n#         template: markdown-header.mustache\n#            input: <name-of-template>\n#\n# <path>: relative path under <gen-directory>\n# <description text>: text avaiblable for template in {{META.desc}} property\n# <name-of-template>: name of file to output into <path>\n#\n# COMMENTS:\n# - can be used to render also model data using mustache template \n#   in this case \n#    modelData : <model-data>, where\n#                valid values for <model-data>: ['none', 'interfaces', 'steps',\n#                'definitions','domains' ], \n#                see document   <gen_dir>/<setup>/doc/data-model.md for content\n#  template: <mustache-template>, where\n#            <mustache-template> is a file <src_dir>\n#\n".unindent
SBUILDER_PREFERENCES =
"\n# Generate preferences\n#\n# preferences:\n#     <hash-values>\n#\n# <hash-values> key-value pairs passed to mustache templates in 'PREFERENCES' -property\n#\n# Default templates use following propeties\n#     debug-output: <true/false>, output call message in interface processes, default 'true'\n#\n".unindent
EXTENSION_HEADER_DOM =
" \n# Define extension for domains\n#\n# SCHEMA:\n# - domain-extension:\n#    - domain: <domain-name>\n#      cardinality: <cardinality>\n#      values:\n#         - <str-value>\n#      type: <type-def>\n#      range: <range-def>\n#\n# \n# <domain-name>: domain name resolved\n# <cardinality>: integer value for domain, default 1\n# <str-value>: fixed value for domain\n# <type-def>: Int|BOOLEAN\n# <rannge-def>: [low,high]\n#\n# COMMENTS:\n# - give one of 'cardinality',  'values','type', 'range'\n#\n\n".unindent
EXTENSION_HEADER_PREFS =
"\n# Modify setup preference\n#\n# SCHEMA:\n# - preferences-extension:\n#      - preferences: \n#           <hash-values>\n#\n# <hash-values>  : optional properties overriding preferences given in 'sbuilder.yaml'\n#\n# \n# Example\n#      - preferences-extension:\n#           preferences: \n#             debug-output: true\n#\n".unindent
EXTENSION_HEADER_IF =
"\n# Define name of extension point for interface\n#\n# SCHEMA:\n# - interface-extension:\n#      - matcher: <string-or-regex>\n#        implementation: <name-implmentation>\n#\n# <string-or-regex>: string or regexp matching inteface\n#                    example regex !ruby/regexp /customer?\\(post\\)/ matches\n#                    customers(post) and customer(post) \n# <name-of-implementation>: must define macro 'p_<name-of-implementation>'\n\n".unindent
EXTENSION_HEADER_SETUP =
"\n# Define environment steps \n#\n# SCHEMA:\n# - step-extension:\n#      - interface: <interface-name>\n#        bindExact: true\n#        input: \n#           <input> \n#        inputs:\n#           - input:\n#                <input>\n#\n# \n# <interface-name>: name of interface to call in step, e.g. customer(post)\n# <input>: parameter bindings for interface. See 'sbuilder.rb example pet' \n# and `sbuilder.rb example customer` for examples.\n# \n# \n# COMMENTS:\n# - give 'inputs' xor 'input' (first level hash)\n# - 'bindExact' optional, \n#     - use 'bindExact': true when input range for interface\n#       becomes so big that TLA+ model checker slows down when \n#       evaluating the input domain range. \n#     - When 'bindExact': true all fields for 'input' property must \n#       be given value. Hint use '_default' property in <input>\n#     - Hint: use 'inputs' when 'bindExact': true use 'inputs' to\n#       allow non-determinism in process input .\n#\n\n\n".unindent
RESOLVER_HEADER =
"\n# Example of an YAML resolver\n#\n# Contains array of hashes\n# \n# - Name: <name of resolver>\n#   Matcher: <string/regexp to match a paramset name to resolve>\n#   Rules: <array of RULE-ELEMENTS>\n# \n#   RULE-ELEMENT: MATCHER | INCLUDE-MAPPER\n#\n#   INCLUDE-MAPPER: hash with Include attribute\n#      Include: <name of mapper>\n# \n#   MATCHER: hash of with Matcher/Domain attributes\n#      Matcher: <string/regexpp to match paramenter id>\n#               use !ruby/regexp modifier for a value to make it\n#               to a regular expression. For exapmle\n#\n#                Matcher: !ruby/regexp /.*/\n#\n#      Domain: domain to assign to parameter\n#\n".unindent