Class: Lutaml::XMI::AttributeDrop

Inherits:
Liquid::Drop
  • Object
show all
Includes:
Parsers::XMIBase
Defined in:
lib/lutaml/xmi/liquid_drops/attribute_drop.rb

Instance Method Summary collapse

Methods included from Parsers::XMIBase

included, #set_xmi_model

Constructor Details

#initialize(model, options = {}) ⇒ AttributeDrop

rubocop:disable Lint/MissingSuper



8
9
10
11
12
13
14
15
16
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 8

def initialize(model, options = {}) # rubocop:disable Lint/MissingSuper
  @model = model
  @options = options
  @xmi_root_model = options[:xmi_root_model]
  @id_name_mapping = options[:id_name_mapping]

  uml_type = @model.uml_type
  @uml_type_idref = uml_type.idref if uml_type
end

Instance Method Details

#associationObject



52
53
54
55
56
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 52

def association
  if @options[:with_assoc] && @model.association
    @model.association
  end
end

#association_connectorObject



58
59
60
61
62
63
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 58

def association_connector
  connector = fetch_connector(@model.association)
  if connector
    ::Lutaml::XMI::ConnectorDrop.new(connector, @options)
  end
end

#cardinalityObject



38
39
40
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 38

def cardinality
  ::Lutaml::XMI::CardinalityDrop.new(@model)
end

#definitionObject



42
43
44
45
46
47
48
49
50
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 42

def definition
  definition = lookup_attribute_documentation(@model.id)

  if @options[:with_assoc] && @model.association
    definition = loopup_assoc_def(@model.association)
  end

  definition
end

#idObject



18
19
20
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 18

def id
  @model.id
end

#is_derivedObject

rubocop:disable Naming/PredicateName,Naming/PredicatePrefix



34
35
36
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 34

def is_derived # rubocop:disable Naming/PredicateName,Naming/PredicatePrefix
  @model.is_derived
end

#nameObject



22
23
24
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 22

def name
  @model.name
end

#stereotypeObject



71
72
73
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 71

def stereotype
  doc_node_attribute_value(@model.id, "stereotype")
end

#typeObject



26
27
28
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 26

def type
  lookup_entity_name(@uml_type_idref) || @uml_type_idref
end

#type_nsObject



65
66
67
68
69
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 65

def type_ns
  if @options[:with_assoc] && @model.association
    get_ns_by_xmi_id(xmi_id)
  end
end

#xmi_idObject



30
31
32
# File 'lib/lutaml/xmi/liquid_drops/attribute_drop.rb', line 30

def xmi_id
  @uml_type_idref
end