Class: Lutaml::Hal::LinkClassFactory

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

Overview

Factory class responsible for creating dynamic Link classes

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource_class, realize_class_name) ⇒ LinkClassFactory

Returns a new instance of LinkClassFactory.



14
15
16
17
# File 'lib/lutaml/hal/link_class_factory.rb', line 14

def initialize(resource_class, realize_class_name)
  @resource_class = resource_class
  @realize_class_name = realize_class_name
end

Class Method Details

.create_for(resource_class, realize_class_name) ⇒ Object



10
11
12
# File 'lib/lutaml/hal/link_class_factory.rb', line 10

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

Instance Method Details

#createObject



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

def create
  return create_anonymous_link_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_class(class_names)
  register_constant(klass, class_names)
  klass
end