Class: Lutaml::XMI::GeneralizationAttributeDrop

Inherits:
Liquid::Drop
  • Object
show all
Defined in:
lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb

Constant Summary collapse

LOWER_VALUE_MAPPINGS =
{
  "C" => "0",
  "M" => "1",
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(attr, upper_klass, gen_name) ⇒ GeneralizationAttributeDrop

rubocop:disable Lint/MissingSuper



11
12
13
14
15
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 11

def initialize(attr, upper_klass, gen_name) # rubocop:disable Lint/MissingSuper
  @attr = attr
  @upper_klass = upper_klass
  @gen_name = gen_name
end

Instance Method Details

#associationObject



56
57
58
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 56

def association
  @attr[:association]
end

#cardinalityObject



37
38
39
40
41
42
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 37

def cardinality
  min = @attr[:cardinality]["min"]
  min = min.nil? ? nil : LOWER_VALUE_MAPPINGS[min]

  "#{min}..#{@attr[:cardinality]['max']}"
end

#definitionObject



52
53
54
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 52

def definition
  @attr[:definition]
end

#gen_nameObject



72
73
74
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 72

def gen_name
  @gen_name
end

#has_association?Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 60

def has_association?
  !!@attr[:association]
end

#idObject



17
18
19
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 17

def id
  @attr[:id]
end

#is_derivedObject



33
34
35
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 33

def is_derived
  @attr[:is_derived]
end

#max_cardinalityObject



48
49
50
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 48

def max_cardinality
  @attr[:cardinality]["max"]
end

#min_cardinalityObject



44
45
46
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 44

def min_cardinality
  @attr[:cardinality]["min"]
end

#nameObject



21
22
23
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 21

def name
  @attr[:name]
end

#name_nsObject



76
77
78
79
80
81
82
83
84
85
86
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 76

def name_ns
  name_ns = case @attr[:type_ns]
            when "core", "gml"
              upper_klass
            else
              @attr[:type_ns]
            end

  name_ns = upper_klass if name_ns.nil?
  name_ns
end

#typeObject



25
26
27
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 25

def type
  @attr[:type]
end

#type_nsObject



64
65
66
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 64

def type_ns
  @attr[:type_ns]
end

#upper_klassObject



68
69
70
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 68

def upper_klass
  @upper_klass
end

#xmi_idObject



29
30
31
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 29

def xmi_id
  @attr[:xmi_id]
end