class Lutaml::Model::MappingHash

def assign_or_append_value(key, value)

def assign_or_append_value(key, value)
  self[key] = if self[key]
                [self[key], value].flatten
              else
                value
              end
end

def fetch(key)

def fetch(key)
  self[key.to_s] || self[key.to_sym]
end

def initialize

def initialize
  @ordered = false
  @item_order = []
  super
end

def item_order

def item_order
  @item_order
end

def item_order=(order)

def item_order=(order)
  raise "`item order` must be an array" unless order.is_a?(Array)
  @item_order = order
end

def key_exist?(key)

def key_exist?(key)
  key?(key.to_s) || key?(key.to_sym)
end

def method_missing(method_name, *args)

def method_missing(method_name, *args)
  value = self[method_name] || self[method_name.to_s]
  return value if value
  super
end

def normalize(key)

def normalize(key)
  if self[key.to_s]
    key.to_s
  elsif self[key.to_sym]
    key.to_sym
  else
    key
  end
end

def ordered?

def ordered?
  @ordered
end

def respond_to_missing?(method_name, include_private = false)

def respond_to_missing?(method_name, include_private = false)
  key_present = key?(method_name) || key?(method_name.to_s)
  return true if key_present
  super
end

def text

def text
  self["#cdata-section"] || self["text"]
end

def text?

def text?
  key?("#cdata-section") || key?("text")
end