Class: PKM

Inherits:
Object
  • Object
show all
Defined in:
lib/pkm_level2_converter/pkm.rb

Overview

Main Class

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pkm_xml) ⇒ PKM

Returns a new instance of PKM.



33
34
35
36
37
38
# File 'lib/pkm_level2_converter/pkm.rb', line 33

def initialize(pkm_xml)
  @xml_doc = pkm_xml
  @sprache_pool = PKM.parse_pool(@xml_doc, :sprache_pool)
  @ausgangsschnittstellen_pool = PKM.parse_pool(@xml_doc, :ausgangsschnittstellen_pool)
  @ausgangskontext_pool = PKM.parse_pool(@xml_doc, :ausgangskontext_pool)
end

Instance Attribute Details

#ausgangskontext_poolObject (readonly)

Returns the value of attribute ausgangskontext_pool.



40
41
42
# File 'lib/pkm_level2_converter/pkm.rb', line 40

def ausgangskontext_pool
  @ausgangskontext_pool
end

#ausgangsschnittstellen_poolObject (readonly)

Returns the value of attribute ausgangsschnittstellen_pool.



40
41
42
# File 'lib/pkm_level2_converter/pkm.rb', line 40

def ausgangsschnittstellen_pool
  @ausgangsschnittstellen_pool
end

#xml_docObject (readonly)

Returns the value of attribute xml_doc.



40
41
42
# File 'lib/pkm_level2_converter/pkm.rb', line 40

def xml_doc
  @xml_doc
end

Class Method Details

.parse_pool(xml, pool_symbol) ⇒ Object



7
8
9
10
11
12
# File 'lib/pkm_level2_converter/pkm.rb', line 7

def self.parse_pool(xml, pool_symbol)
  pool = PKM.pools[pool_symbol]
  path_of_pool = pool[:path_of_pool]
  type_of_pool = pool[:type_of_pool]
  Pool.parse_pool(xml, path_of_pool, type_of_pool)
end

.poolsObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/pkm_level2_converter/pkm.rb', line 14

def self.pools
  # rubocop:disable Layout/LineLength
  {
    ausgangskontext_pool: {
      path_of_pool: '//xmlns:rntm/xmlns:ausgangskontext-pool | //xmlns:dl-km/xmlns:ausgangskontext-pool | //xmlns:pv-km/xmlns:ausgangskontext-pool',
      type_of_pool: AusgangskontextPool
    },
    ausgangsschnittstellen_pool: {
      path_of_pool: '//xmlns:rntm/xmlns:ausgangsschnittstelle-pool | //xmlns:dl-km/xmlns:ausgangsschnittstelle-pool | //xmlns:pv-km/xmlns:ausgangsschnittstelle-pool',
      type_of_pool: AusgangsschnittstellenPool
    },
    sprache_pool: {
      path_of_pool: '//xmlns:rntm/xmlns:sprache-pool | //xmlns:dl-km/xmlns:sprache-pool | //xmlns:pv-km/xmlns:sprache-pool',
      type_of_pool: SprachePool
    }
  }
  # rubocop:enable Layout/LineLength
end

Instance Method Details

#cr374?Boolean

Returns:

  • (Boolean)


42
43
44
45
46
# File 'lib/pkm_level2_converter/pkm.rb', line 42

def cr374?
  return false if @ausgangsschnittstellen_pool.nil? || @ausgangsschnittstellen_pool.empty?

  @ausgangsschnittstellen_pool.cr374?
end

#ermittle_alle_cr374_ausgangskontexteObject



48
49
50
51
52
53
54
55
56
# File 'lib/pkm_level2_converter/pkm.rb', line 48

def ermittle_alle_cr374_ausgangskontexte
  asst_pool = @ausgangsschnittstellen_pool.cr374
  puts "Es wurde #{asst_pool.length} Schnittstelle(n) nach CR 374 gefunden"
  ausgangskontexte = asst_pool.to_set.collect! do |asst|
    puts "\nAusgangsschnittstelle #{asst.nr} (\"#{asst.name}\") mit #{asst.parameter_pool.length} Ausgangsparametern:"
    asst.ermittle_alle_cr374_ausgangskontexte_zu_ausgangsparametern(ausgangskontext_pool)
  end
  ausgangskontexte.flatten
end