Module: PatientHttp::ClassHelper

Extended by:
ClassHelper
Included in:
ClassHelper
Defined in:
lib/patient_http/class_helper.rb

Overview

Helper module for class-related operations.

Provides utilities for resolving class names to class objects, which is useful for dynamic class loading.

Instance Method Summary collapse

Instance Method Details

#resolve_class_name(class_name) ⇒ Class?

Resolve a class from its name class name to the class object.

Parameters:

  • class_name (String)

    the fully qualified class name

Returns:

  • (Class, nil)

    the class object or nil if no class_name given

Raises:

  • (NameError)

    if class cannot be found



16
17
18
19
20
21
22
23
24
# File 'lib/patient_http/class_helper.rb', line 16

def resolve_class_name(class_name)
  return class_name if class_name.is_a?(Class)
  return nil if class_name.nil? || class_name.empty?

  hierarchy = class_name.split("::")
  hierarchy.shift if hierarchy.first.to_s.empty? # strip leading :: for absolute names

  hierarchy.reduce(Object) { |mod, name| mod.const_get(name) }
end