Module: Puppet::Pops::Types

Defined in:
lib/puppet/pops/types/type_asserter.rb,
lib/puppet/pops/types/types.rb,
lib/puppet/pops/types/iterable.rb,
lib/puppet/pops/types/annotation.rb,
lib/puppet/pops/types/p_uri_type.rb,
lib/puppet/pops/types/annotatable.rb,
lib/puppet/pops/types/p_init_type.rb,
lib/puppet/pops/types/p_meta_type.rb,
lib/puppet/pops/types/ruby_method.rb,
lib/puppet/pops/types/type_parser.rb,
lib/puppet/pops/types/class_loader.rb,
lib/puppet/pops/types/type_factory.rb,
lib/puppet/pops/types/p_binary_type.rb,
lib/puppet/pops/types/p_object_type.rb,
lib/puppet/pops/types/puppet_object.rb,
lib/puppet/pops/types/type_acceptor.rb,
lib/puppet/pops/types/p_runtime_type.rb,
lib/puppet/pops/types/p_sem_ver_type.rb,
lib/puppet/pops/types/ruby_generator.rb,
lib/puppet/pops/types/tree_iterators.rb,
lib/puppet/pops/types/type_formatter.rb,
lib/puppet/pops/types/p_timespan_type.rb,
lib/puppet/pops/types/p_type_set_type.rb,
lib/puppet/pops/types/recursion_guard.rb,
lib/puppet/pops/types/type_calculator.rb,
lib/puppet/pops/types/p_sensitive_type.rb,
lib/puppet/pops/types/p_timestamp_type.rb,
lib/puppet/pops/types/string_converter.rb,
lib/puppet/pops/types/type_with_members.rb,
lib/puppet/pops/types/type_set_reference.rb,
lib/puppet/pops/types/p_sem_ver_range_type.rb,
lib/puppet/pops/types/type_assertion_error.rb,
lib/puppet/pops/types/type_conversion_error.rb,
lib/puppet/pops/types/implementation_registry.rb,
lib/puppet/pops/types/p_object_type_extension.rb,
lib/puppet/pops/types/type_mismatch_describer.rb

Overview

Utility module for type assertion

Defined Under Namespace

Modules: Annotatable, InvocableMember, Iterable, IteratorProducer, PuppetObject, TypeAcceptor, TypeAsserter, TypeFactory, TypeWithMembers Classes: Annotation, ArrayPathElement, AttrReader, BlockPathElement, ClassLoader, CountMismatch, EntryKeyPathElement, EntryValuePathElement, ExpectedActualMismatch, ExtraneousKey, HashIterator, ImplementationRegistry, IntegerRangeIterator, InvalidParameter, Iterator, KeyMismatch, Mismatch, MissingKey, MissingParameter, MissingRequiredBlock, NoopTypeAcceptor, PAbstractTimeDataType, PAnyType, PArrayType, PBinaryType, PBooleanType, PCallableType, PCatalogEntryType, PClassType, PCollectionType, PDefaultType, PEnumType, PFloatType, PHashType, PInitType, PIntegerType, PIterableType, PIteratorType, PMetaType, PNotUndefType, PNumericType, PObjectType, PObjectTypeExtension, POptionalType, PPatternType, PRegexpType, PResourceType, PRuntimeType, PScalarDataType, PScalarType, PSemVerRangeType, PSemVerType, PSensitiveType, PStringType, PStructElement, PStructType, PTimespanType, PTimestampType, PTupleType, PTypeAliasType, PTypeReferenceType, PTypeSetType, PTypeType, PTypeWithContainedType, PURIType, PUndefType, PUnitType, PVariantType, ParameterPathElement, PatternMismatch, RecursionGuard, ReturnTypeElement, RubyGenerator, RubyMethod, SignaturePathElement, SizeMismatch, StepIterator, StringConverter, SubjectPathElement, TypeAssertionError, TypeCalculator, TypeConversionError, TypeFormatter, TypeMismatch, TypeMismatchDescriber, TypeParser, TypePathElement, TypeSetReference, TypedModelObject, UnexpectedBlock, UnresolvedTypeReference, VariantPathElement

Constant Summary collapse

EMPTY_HASH =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Deprecated.
Puppet::Pops::EMPTY_HASH
EMPTY_ARRAY =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Deprecated.
Puppet::Pops::EMPTY_ARRAY
EMPTY_STRING =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Deprecated.
Puppet::Pops::EMPTY_STRING
PType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

For backward compatibility

PTypeType
INTEGER_HEX =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'(?:0[xX][0-9A-Fa-f]+)'
INTEGER_OCT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'(?:0[0-7]+)'
INTEGER_BIN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'(?:0[bB][01]+)'
INTEGER_DEC =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'(?:0|[1-9]\d*)'
INTEGER_DEC_OR_OCT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'(?:\d+)'
SIGN_PREFIX =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'[+-]?\s*'
OPTIONAL_FRACTION =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'(?:\.\d+)?'
OPTIONAL_EXPONENT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'(?:[eE]-?\d+)?'
FLOAT_DEC =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'(?:' + INTEGER_DEC + OPTIONAL_FRACTION + OPTIONAL_EXPONENT + ')'
INTEGER_PATTERN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'\A' + SIGN_PREFIX + '(?:' + INTEGER_DEC + '|' + INTEGER_HEX + '|' + INTEGER_OCT + '|' + INTEGER_BIN + ')\z'
INTEGER_PATTERN_LENIENT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'\A' + SIGN_PREFIX + '(?:' + INTEGER_DEC_OR_OCT + '|' + INTEGER_HEX + '|' + INTEGER_BIN + ')\z'
FLOAT_PATTERN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'\A' + SIGN_PREFIX + '(?:' + FLOAT_DEC + '|' + INTEGER_HEX + '|' + INTEGER_OCT + '|' + INTEGER_BIN + ')\z'
PHostClassType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

For backward compatibility

PClassType
KEY_ANNOTATIONS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'annotations'.freeze
KEY_NAME =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'name'.freeze
KEY_TYPE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'type'.freeze
KEY_VALUE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'value'.freeze
KEY_ATTRIBUTES =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'attributes'.freeze
KEY_CHECKS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'checks'.freeze
KEY_CONSTANTS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'constants'.freeze
KEY_EQUALITY =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'equality'.freeze
KEY_EQUALITY_INCLUDE_TYPE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'equality_include_type'.freeze
KEY_FINAL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'final'.freeze
KEY_FUNCTIONS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'functions'.freeze
KEY_KIND =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'kind'.freeze
KEY_OVERRIDE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'override'.freeze
KEY_PARENT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'parent'.freeze
KEY_TYPE_PARAMETERS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

'type_parameters'.freeze
KEY_NAME_AUTHORITY =
'name_authority'.freeze
KEY_TYPES =
'types'.freeze
KEY_ALIAS =
'alias'.freeze
KEY_VERSION =
'version'.freeze
KEY_VERSION_RANGE =
'version_range'.freeze
KEY_REFERENCES =
'references'.freeze