Module: OpenEHR::RM::TypeName

Defined in:
lib/openehr/rm/type_name.rb

Class Method Summary collapse

Class Method Details

.class_for(type_name) ⇒ Object



12
13
14
# File 'lib/openehr/rm/type_name.rb', line 12

def class_for(type_name)
  registry[normalize(type_name)]
end

.subtype_of?(class_or_instance, type_name) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
22
23
24
25
# File 'lib/openehr/rm/type_name.rb', line 16

def subtype_of?(class_or_instance, type_name)
  expected = normalize(type_name)
  ancestor = class_of(class_or_instance)
  while ancestor
    return true if ancestor.name && type_name_of(ancestor) == expected

    ancestor = ancestor.superclass
  end
  false
end

.type_name_of(class_or_instance) ⇒ Object



8
9
10
# File 'lib/openehr/rm/type_name.rb', line 8

def type_name_of(class_or_instance)
  class_of(class_or_instance).name.split('::').last.underscore.upcase
end