Class: Lutaml::Xsd::Conflicts::SchemaConflict

Inherits:
Model::Serializable
  • Object
show all
Defined in:
lib/lutaml/xsd/conflicts/schema_conflict.rb

Overview

Schema file conflict

Instance Method Summary collapse

Instance Method Details

#conflict_countObject



29
30
31
# File 'lib/lutaml/xsd/conflicts/schema_conflict.rb', line 29

def conflict_count
  source_files.size
end

#detailed_descriptionObject



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/lutaml/xsd/conflicts/schema_conflict.rb', line 49

def detailed_description
  lines = []
  lines << "Schema File Conflict:"
  lines << "  Schema: #{schema_basename}"
  lines << "  Found in packages:"
  source_files.each do |source|
    lines << "    - #{source.package_path} (priority: #{source.priority})"
    lines << "      File: #{source.schema_file}"
  end
  lines.join("\n")
end

#file_pathsObject



37
38
39
# File 'lib/lutaml/xsd/conflicts/schema_conflict.rb', line 37

def file_paths
  source_files.map(&:schema_file)
end

#highest_priority_sourceObject



41
42
43
# File 'lib/lutaml/xsd/conflicts/schema_conflict.rb', line 41

def highest_priority_source
  source_files.min_by(&:priority)
end

#package_pathsObject



33
34
35
# File 'lib/lutaml/xsd/conflicts/schema_conflict.rb', line 33

def package_paths
  source_files.map(&:package_path)
end

#to_sObject



45
46
47
# File 'lib/lutaml/xsd/conflicts/schema_conflict.rb', line 45

def to_s
  "Schema '#{schema_basename}' found in #{conflict_count} packages"
end