Class: Lutaml::Xsd::TypeResolutionResult
- Inherits:
-
Model::Serializable
- Object
- Model::Serializable
- Lutaml::Xsd::TypeResolutionResult
- Defined in:
- lib/lutaml/xsd/type_resolution_result.rb
Overview
Represents the result of resolving a qualified type name
Instance Attribute Summary collapse
-
#definition ⇒ Object
The resolved type definition (SimpleType, ComplexType, Element, etc.) Note: This is not serialized in YAML as it’s a complex object reference.
Class Method Summary collapse
-
.failure(qname:, error_message:, namespace: nil, local_name: nil, resolution_path: []) ⇒ TypeResolutionResult
Create a failed resolution result.
-
.success(qname:, namespace:, local_name:, definition:, schema_file:, resolution_path: []) ⇒ TypeResolutionResult
Create a successful resolution result.
Instance Method Summary collapse
-
#resolved? ⇒ Boolean
Check if the type was successfully resolved.
-
#type_class ⇒ String?
Get the type class name if definition is available.
-
#type_name ⇒ String?
Get the type name from the definition if available.
Instance Attribute Details
#definition ⇒ Object
The resolved type definition (SimpleType, ComplexType, Element, etc.) Note: This is not serialized in YAML as it’s a complex object reference
21 22 23 |
# File 'lib/lutaml/xsd/type_resolution_result.rb', line 21 def definition @definition end |
Class Method Details
.failure(qname:, error_message:, namespace: nil, local_name: nil, resolution_path: []) ⇒ TypeResolutionResult
Create a failed resolution result
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/lutaml/xsd/type_resolution_result.rb', line 91 def self.failure(qname:, error_message:, namespace: nil, local_name: nil, resolution_path: []) result = new( resolved: false, qname: qname, namespace: namespace, local_name: local_name, schema_file: nil, resolution_path: resolution_path, error_message: , ) # Set definition separately since it's attr_accessor, not attribute result.definition = nil result end |
.success(qname:, namespace:, local_name:, definition:, schema_file:, resolution_path: []) ⇒ TypeResolutionResult
Create a successful resolution result
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/lutaml/xsd/type_resolution_result.rb', line 68 def self.success(qname:, namespace:, local_name:, definition:, schema_file:, resolution_path: []) result = new( resolved: true, qname: qname, namespace: namespace, local_name: local_name, schema_file: schema_file, resolution_path: resolution_path, error_message: nil, ) # Set definition separately since it's attr_accessor, not attribute result.definition = definition result end |
Instance Method Details
#resolved? ⇒ Boolean
Check if the type was successfully resolved
44 45 46 |
# File 'lib/lutaml/xsd/type_resolution_result.rb', line 44 def resolved? resolved == true end |
#type_class ⇒ String?
Get the type class name if definition is available
56 57 58 |
# File 'lib/lutaml/xsd/type_resolution_result.rb', line 56 def type_class definition&.class&.name end |
#type_name ⇒ String?
Get the type name from the definition if available
50 51 52 |
# File 'lib/lutaml/xsd/type_resolution_result.rb', line 50 def type_name definition&.name end |