Class: Uniword::Wordprocessingml::NumberingInstance

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/uniword/wordprocessingml/numbering_instance.rb

Overview

Represents a concrete numbering instance that references an abstract definition Multiple instances can reference the same abstract definition

Represents <w:num w:numId=“…”> element

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ NumberingInstance

Returns a new instance of NumberingInstance.



59
60
61
62
63
64
65
66
67
# File 'lib/uniword/wordprocessingml/numbering_instance.rb', line 59

def initialize(attrs = {})
  # Normalize abstract_num_id: accept either AbstractNumId object or plain integer
  if attrs[:abstract_num_id] && !attrs[:abstract_num_id].is_a?(AbstractNumId)
    attrs[:abstract_num_id] =
      AbstractNumId.new(val: attrs[:abstract_num_id])
  end
  super
  validate_ids
end

Instance Method Details

#uses_definition?(definition) ⇒ Boolean

Check if this instance uses the given abstract definition

Returns:

  • (Boolean)


70
71
72
73
74
# File 'lib/uniword/wordprocessingml/numbering_instance.rb', line 70

def uses_definition?(definition)
  return false unless abstract_num_id

  abstract_num_id.val == definition.abstract_num_id
end