Class: Lutaml::Hal::LinkSetClassFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/lutaml/hal/link_set_class_factory.rb

Overview

Factory class responsible for creating dynamic LinkSet classes

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource_class) ⇒ LinkSetClassFactory

Returns a new instance of LinkSetClassFactory.



13
14
15
# File 'lib/lutaml/hal/link_set_class_factory.rb', line 13

def initialize(resource_class)
  @resource_class = resource_class
end

Class Method Details

.create_for(resource_class) ⇒ Object



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

def self.create_for(resource_class)
  new(resource_class).create
end

Instance Method Details

#createObject



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/lutaml/hal/link_set_class_factory.rb', line 17

def create
  return create_anonymous_link_set_class if anonymous_class?

  class_names = build_class_names
  return existing_class(class_names[:full_name]) if class_exists?(class_names[:full_name])

  klass = create_named_link_set_class(class_names)
  register_constant(klass, class_names)
  setup_resource_mapping(klass)
  klass
end