Class: Lutaml::Xml::DataModel::XmlAttribute

Inherits:
Object
  • Object
show all
Defined in:
lib/lutaml/xml/data_model.rb

Overview

Represents an XML attribute with optional namespace.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, value, namespace_class = nil) ⇒ XmlAttribute

Initialize a new XML attribute



192
193
194
195
196
# File 'lib/lutaml/xml/data_model.rb', line 192

def initialize(name, value, namespace_class = nil)
  @name = name
  @value = value
  @namespace_class = namespace_class
end

Instance Attribute Details

#nameString (readonly)



179
180
181
# File 'lib/lutaml/xml/data_model.rb', line 179

def name
  @name
end

#namespace_classClass? (readonly)



182
183
184
# File 'lib/lutaml/xml/data_model.rb', line 182

def namespace_class
  @namespace_class
end

#valueString (readonly)



185
186
187
# File 'lib/lutaml/xml/data_model.rb', line 185

def value
  @value
end

Instance Method Details

#inspectString

Detailed inspection for debugging



223
224
225
226
# File 'lib/lutaml/xml/data_model.rb', line 223

def inspect
  ns_info = namespace_class ? " (ns: #{namespace_class})" : ""
  "#<#{self.class.name} #{self}#{ns_info}>"
end

#qualified_name(prefix = nil) ⇒ String

Get qualified name (prefix:name or name)



202
203
204
205
206
207
208
209
210
211
# File 'lib/lutaml/xml/data_model.rb', line 202

def qualified_name(prefix = nil)
  if prefix
    "#{prefix}:#{name}"
  elsif namespace_class.is_a?(Class) && namespace_class < Lutaml::Xml::Namespace
    ns_prefix = namespace_class.prefix_default
    ns_prefix ? "#{ns_prefix}:#{name}" : name
  else
    name
  end
end

#to_sString

String representation for debugging



216
217
218
# File 'lib/lutaml/xml/data_model.rb', line 216

def to_s
  "#{qualified_name}=\"#{value}\""
end