Class: Glossarist::BibliographyData

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

Instance Method Summary collapse

Instance Method Details

#[](citation_key) ⇒ Object



22
23
24
25
# File 'lib/glossarist/bibliography_data.rb', line 22

def [](citation_key)
  entry = find(citation_key)
  entry&.data
end

#entries_from_hash(model, value) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/glossarist/bibliography_data.rb', line 27

def entries_from_hash(model, value)
  return unless value.is_a?(Hash)

  model.entries = value.map do |key, data|
    BibliographyEntry.new(citation_key: key, data: data || {})
  end
end

#entries_to_hash(model, doc) ⇒ Object



35
36
37
38
39
# File 'lib/glossarist/bibliography_data.rb', line 35

def entries_to_hash(model, doc)
  model.entries.each do |entry|
    doc[entry.citation_key] = entry.data
  end
end

#find(citation_key) ⇒ Object



14
15
16
# File 'lib/glossarist/bibliography_data.rb', line 14

def find(citation_key)
  entries.find { |e| e.citation_key == citation_key }
end

#keysObject



18
19
20
# File 'lib/glossarist/bibliography_data.rb', line 18

def keys
  entries.map(&:citation_key)
end