Module: Expressir

Extended by:
Config
Defined in:
lib/expressir/changes.rb,
lib/expressir.rb,
lib/expressir/cli.rb,
lib/expressir/model.rb,
lib/expressir/config.rb,
lib/expressir/errors.rb,
lib/expressir/eengine.rb,
lib/expressir/express.rb,
lib/expressir/package.rb,
lib/expressir/version.rb,
lib/expressir/commands.rb,
lib/expressir/coverage.rb,
lib/expressir/manifest.rb,
lib/expressir/benchmark.rb,
lib/expressir/model/cache.rb,
lib/expressir/transformer.rb,
lib/expressir/commands/base.rb,
lib/expressir/express/cache.rb,
lib/expressir/express/error.rb,
lib/expressir/model/indexes.rb,
lib/expressir/commands/clean.rb,
lib/expressir/express/parser.rb,
lib/expressir/model/concerns.rb,
lib/expressir/model/exp_file.rb,
lib/expressir/model/literals.rb,
lib/expressir/package/reader.rb,
lib/expressir/commands/format.rb,
lib/expressir/express/builder.rb,
lib/expressir/package/builder.rb,
lib/expressir/schema_manifest.rb,
lib/expressir/commands/changes.rb,
lib/expressir/commands/package.rb,
lib/expressir/commands/version.rb,
lib/expressir/express/builders.rb,
lib/expressir/model/data_types.rb,
lib/expressir/model/identifier.rb,
lib/expressir/model/references.rb,
lib/expressir/model/repository.rb,
lib/expressir/model/statements.rb,
lib/expressir/package/metadata.rb,
lib/expressir/commands/coverage.rb,
lib/expressir/commands/manifest.rb,
lib/expressir/commands/validate.rb,
lib/expressir/express/formatter.rb,
lib/expressir/manifest/resolver.rb,
lib/expressir/model/expressions.rb,
lib/expressir/model/remark_info.rb,
lib/expressir/commands/benchmark.rb,
lib/expressir/express/formatters.rb,
lib/expressir/manifest/validator.rb,
lib/expressir/model/declarations.rb,
lib/expressir/changes/item_change.rb,
lib/expressir/model/literals/real.rb,
lib/expressir/model/model_element.rb,
lib/expressir/model/search_engine.rb,
lib/expressir/model/statements/if.rb,
lib/expressir/model/data_types/bag.rb,
lib/expressir/model/data_types/set.rb,
lib/expressir/changes/schema_change.rb,
lib/expressir/express/model_visitor.rb,
lib/expressir/model/data_types/list.rb,
lib/expressir/model/data_types/real.rb,
lib/expressir/model/literals/binary.rb,
lib/expressir/model/literals/string.rb,
lib/expressir/model/statements/case.rb,
lib/expressir/model/statements/null.rb,
lib/expressir/model/statements/skip.rb,
lib/expressir/schema_manifest_entry.rb,
lib/expressir/changes/mapping_change.rb,
lib/expressir/changes/version_change.rb,
lib/expressir/commands/validate_load.rb,
lib/expressir/eengine/compare_report.rb,
lib/expressir/model/data_types/array.rb,
lib/expressir/model/literals/integer.rb,
lib/expressir/model/literals/logical.rb,
lib/expressir/model/statements/alias.rb,
lib/expressir/commands/validate_ascii.rb,
lib/expressir/eengine/changes_section.rb,
lib/expressir/eengine/modified_object.rb,
lib/expressir/express/remark_attacher.rb,
lib/expressir/model/data_types/binary.rb,
lib/expressir/model/data_types/number.rb,
lib/expressir/model/data_types/select.rb,
lib/expressir/model/data_types/string.rb,
lib/expressir/model/declarations/rule.rb,
lib/expressir/model/declarations/type.rb,
lib/expressir/model/statements/escape.rb,
lib/expressir/model/statements/repeat.rb,
lib/expressir/model/statements/return.rb,
lib/expressir/commands/benchmark_cache.rb,
lib/expressir/express/builder_registry.rb,
lib/expressir/express/builders/helpers.rb,
lib/expressir/express/pretty_formatter.rb,
lib/expressir/model/data_types/boolean.rb,
lib/expressir/model/data_types/generic.rb,
lib/expressir/model/data_types/integer.rb,
lib/expressir/model/data_types/logical.rb,
lib/expressir/model/indexes/type_index.rb,
lib/expressir/commands/changes_validate.rb,
lib/expressir/express/streaming_builder.rb,
lib/expressir/model/declarations/entity.rb,
lib/expressir/model/declarations/schema.rb,
lib/expressir/model/dependency_resolver.rb,
lib/expressir/model/interface_validator.rb,
lib/expressir/model/statements/compound.rb,
lib/expressir/eengine/arm_compare_report.rb,
lib/expressir/eengine/mim_compare_report.rb,
lib/expressir/model/data_types/aggregate.rb,
lib/expressir/model/expressions/interval.rb,
lib/expressir/model/indexes/entity_index.rb,
lib/expressir/model/repository_validator.rb,
lib/expressir/express/hyperlink_formatter.rb,
lib/expressir/model/declarations/constant.rb,
lib/expressir/model/declarations/function.rb,
lib/expressir/model/declarations/variable.rb,
lib/expressir/model/statements/assignment.rb,
lib/expressir/model/supertype_expressions.rb,
lib/expressir/model/data_types/enumeration.rb,
lib/expressir/model/declarations/attribute.rb,
lib/expressir/model/declarations/interface.rb,
lib/expressir/model/declarations/parameter.rb,
lib/expressir/model/declarations/procedure.rb,
lib/expressir/model/statements/case_action.rb,
lib/expressir/express/builders/type_builder.rb,
lib/expressir/express/schema_head_formatter.rb,
lib/expressir/model/declarations/where_rule.rb,
lib/expressir/model/indexes/reference_index.rb,
lib/expressir/model/declarations/remark_item.rb,
lib/expressir/model/declarations/unique_rule.rb,
lib/expressir/commands/changes_import_eengine.rb,
lib/expressir/express/builders/syntax_builder.rb,
lib/expressir/model/data_types/generic_entity.rb,
lib/expressir/model/expressions/function_call.rb,
lib/expressir/model/statements/procedure_call.rb,
lib/expressir/express/builders/literal_builder.rb,
lib/expressir/model/references/group_reference.rb,
lib/expressir/model/references/index_reference.rb,
lib/expressir/express/builders/built_in_builder.rb,
lib/expressir/express/builders/constant_builder.rb,
lib/expressir/model/data_types/enumeration_item.rb,
lib/expressir/model/declarations/interface_item.rb,
lib/expressir/model/declarations/schema_version.rb,
lib/expressir/model/references/simple_reference.rb,
lib/expressir/express/builders/interface_builder.rb,
lib/expressir/express/builders/qualifier_builder.rb,
lib/expressir/express/builders/reference_builder.rb,
lib/expressir/express/builders/rule_decl_builder.rb,
lib/expressir/express/builders/simple_id_builder.rb,
lib/expressir/express/builders/statement_builder.rb,
lib/expressir/express/builders/type_decl_builder.rb,
lib/expressir/model/declarations/interfaced_item.rb,
lib/expressir/model/expressions/query_expression.rb,
lib/expressir/model/expressions/unary_expression.rb,
lib/expressir/express/builders/expression_builder.rb,
lib/expressir/express/formatters/remark_formatter.rb,
lib/expressir/express/transformer/remark_handling.rb,
lib/expressir/model/expressions/binary_expression.rb,
lib/expressir/express/builders/declaration_builder.rb,
lib/expressir/express/builders/domain_rule_builder.rb,
lib/expressir/express/builders/entity_decl_builder.rb,
lib/expressir/express/builders/schema_decl_builder.rb,
lib/expressir/express/builders/unique_rule_builder.rb,
lib/expressir/model/declarations/derived_attribute.rb,
lib/expressir/model/declarations/inverse_attribute.rb,
lib/expressir/model/expressions/entity_constructor.rb,
lib/expressir/model/references/attribute_reference.rb,
lib/expressir/express/builders/derived_attr_builder.rb,
lib/expressir/express/builders/inverse_attr_builder.rb,
lib/expressir/express/builders/where_clause_builder.rb,
lib/expressir/express/formatters/literals_formatter.rb,
lib/expressir/model/declarations/subtype_constraint.rb,
lib/expressir/express/builders/derive_clause_builder.rb,
lib/expressir/express/builders/explicit_attr_builder.rb,
lib/expressir/express/builders/function_decl_builder.rb,
lib/expressir/express/builders/unique_clause_builder.rb,
lib/expressir/model/declarations/schema_version_item.rb,
lib/expressir/express/builders/attribute_decl_builder.rb,
lib/expressir/express/builders/inverse_clause_builder.rb,
lib/expressir/express/builders/procedure_decl_builder.rb,
lib/expressir/express/builders/schema_version_builder.rb,
lib/expressir/express/formatters/data_types_formatter.rb,
lib/expressir/express/formatters/references_formatter.rb,
lib/expressir/express/formatters/statements_formatter.rb,
lib/expressir/model/expressions/aggregate_initializer.rb,
lib/expressir/express/formatters/expressions_formatter.rb,
lib/expressir/express/formatters/remark_item_formatter.rb,
lib/expressir/express/resolve_references_model_visitor.rb,
lib/expressir/express/builders/schema_body_decl_builder.rb,
lib/expressir/express/formatters/declarations_formatter.rb,
lib/expressir/express/builders/inverse_attr_type_builder.rb,
lib/expressir/express/builders/subtype_constraint_builder.rb,
lib/expressir/model/declarations/informal_proposition_rule.rb,
lib/expressir/model/expressions/aggregate_initializer_item.rb,
lib/expressir/express/formatters/supertype_expressions_formatter.rb,
lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb,
lib/expressir/model/supertype_expressions/binary_supertype_expression.rb

Overview

Centralized Builder Registry

This is the SINGLE SOURCE OF TRUTH for all AST node type registrations.

Builder classes are defined in types/*.rb files. This file creates instances and registers them with Builder.register.

Benefits of this architecture:

  1. All registrations in one place - easy to see what’s handled

  2. Separation of class definition from registration

  3. Multiple type configurations possible

Defined Under Namespace

Modules: Benchmark, Changes, Commands, Config, Coverage, Eengine, Express, Manifest, Model, Package Classes: Cli, CommandError, Configuration, Error, FileNotFoundError, InvalidOptionError, ManifestNotFoundError, ManifestValidationError, MissingRequiredArgumentError, NoValidSchemaPathsError, PackageBuildError, PackageExtractError, PackageListError, PackageNotFoundError, PackageReadError, PackageSearchError, PackageTreeError, PackageValidationError, ReferentialIntegrityError, SchemaManifest, SchemaManifestEntry, SchemaNotFoundError, SchemaValidationError, UsageError, ValidationError

Constant Summary collapse

VERSION =
"2.3.2".freeze

Class Method Summary collapse

Methods included from Config

configuration, configure

Class Method Details

.rootObject



49
50
51
# File 'lib/expressir.rb', line 49

def self.root
  File.dirname(__dir__)
end

.root_pathObject



53
54
55
# File 'lib/expressir.rb', line 53

def self.root_path
  @root_path ||= Pathname.new(Expressir.root)
end