Class: Lutaml::XMI::GeneralizationAttributeDrop

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

Instance Method Summary collapse

Constructor Details

#initialize(attr, upper_klass, gen_name, guidance = nil) ⇒ GeneralizationAttributeDrop

rubocop:disable Lint/MissingSuper



6
7
8
9
10
11
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 6

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

Instance Method Details

#associationObject



41
42
43
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 41

def association
  @attr[:association]
end

#cardinalityObject



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

def cardinality
  ::Lutaml::XMI::CardinalityDrop.new(@attr[:cardinality])
end

#definitionObject



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

def definition
  @attr[:definition]
end

#gen_nameObject



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

def gen_name
  @gen_name
end

#guidanceObject



83
84
85
86
87
88
89
90
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 83

def guidance
  if @guidance
    col_name = "#{name_ns}:#{name}"
    attr = @guidance["attributes"].find { |a| a["name"] == col_name }

    attr["guidance"] if attr
  end
end

#has_association?Boolean

Returns:

  • (Boolean)


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

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

#idObject



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

def id
  @attr[:id]
end

#is_derivedObject



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

def is_derived
  @attr[:is_derived]
end

#nameObject



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

def name
  @attr[:name]
end

#name_nsObject



61
62
63
64
65
66
67
68
69
70
71
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 61

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



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

def type
  @attr[:type]
end

#type_nsObject



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

def type_ns
  @attr[:type_ns]
end

#upper_klassObject



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

def upper_klass
  @upper_klass
end

#used?Boolean

Returns:

  • (Boolean)


73
74
75
76
77
78
79
80
81
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 73

def used?
  if @guidance
    col_name = "#{name_ns}:#{name}"
    attr = @guidance["attributes"].find { |a| a["name"] == col_name }
    return attr["used"] if attr
  end

  true
end

#xmi_idObject



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

def xmi_id
  @attr[:xmi_id]
end