Class: Glossarist::Citation

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/glossarist/citation.rb

Direct Known Subclasses

V2::Citation, V3::Citation

Defined Under Namespace

Classes: Ref

Instance Method Summary collapse

Instance Method Details

#labelObject



34
35
36
37
# File 'lib/glossarist/citation.rb', line 34

def label
  parts = [ref&.source, ref&.id].compact
  parts.empty? ? nil : parts.join(" ")
end

#locality_from_yaml(model, value) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/glossarist/citation.rb', line 43

def locality_from_yaml(model, value)
  locality = Locality.new

  if value.is_a?(Hash)
    locality.type = value["type"] || "clause"
    locality.reference_from = value["reference_from"] || value
    locality.reference_to = value["reference_to"] if value["reference_to"]
  else
    locality.type = "clause"
    locality.reference_from = value
  end
  locality.validate!

  model.locality = locality
end

#locality_to_yaml(model, doc) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/glossarist/citation.rb', line 59

def locality_to_yaml(model, doc)
  return unless model.locality

  doc["locality"] = {}
  doc["locality"]["type"] = model.locality.type
  if model.locality.reference_from
    doc["locality"]["reference_from"] =
      model.locality.reference_from
  end
  if model.locality.reference_to
    doc["locality"]["reference_to"] =
      model.locality.reference_to
  end
end

#textObject



39
40
41
# File 'lib/glossarist/citation.rb', line 39

def text
  @text || label
end