Module: Lutaml::Hal::TypeResolver

Defined in:
lib/lutaml/hal/type_resolver.rb

Overview

Module that provides lazy type resolution functionality for dynamically created classes This solves the class loading order problem where HAL type names would be inconsistent depending on file loading order.

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



9
10
11
# File 'lib/lutaml/hal/type_resolver.rb', line 9

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#typeObject

Override the type getter to use class-level lazy resolution



54
55
56
# File 'lib/lutaml/hal/type_resolver.rb', line 54

def type
  @type || self.class.resolved_type_name
end