Class: Lutaml::Xmi::LiquidDrops::GeneralizationAttributeDrop

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

Instance Method Summary collapse

Methods included from Parsers::XmiBase

included, #set_xmi_model

Constructor Details

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

rubocop:disable Lint/MissingSuper,Metrics/ParameterLists,Layout/LineLength



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

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

Instance Method Details

#associationObject



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

def association
  @attr[:association]
end

#cardinalityObject



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

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

#definitionObject



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

def definition
  @attr[:definition]
end

#gen_nameObject



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

def gen_name
  @gen_name
end

#guidanceObject



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

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)


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

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

#idObject



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

def id
  @attr[:id]
end

#is_derivedObject

rubocop:disable Naming/PredicateName,Naming/PredicatePrefix



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

def is_derived # rubocop:disable Naming/PredicateName,Naming/PredicatePrefix
  @attr[:is_derived]
end

#nameObject



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

def name
  @attr[:name]
end

#name_nsObject



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

def name_ns
  @attr[:name_ns]
end

#typeObject



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

def type
  @attr[:type]
end

#type_nsObject



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

def type_ns
  @attr[:type_ns]
end

#upper_klassObject



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

def upper_klass
  @upper_klass
end

#used?Boolean

Returns:

  • (Boolean)


68
69
70
71
72
73
74
75
76
# File 'lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb', line 68

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



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

def xmi_id
  @attr[:xmi_id]
end