Class: Glossarist::ConceptData
- Inherits:
-
Lutaml::Model::Serializable
- Object
- Lutaml::Model::Serializable
- Glossarist::ConceptData
show all
- Includes:
- Utilities::CommonFunctions
- Defined in:
- lib/glossarist/concept_data.rb
Class Method Summary
collapse
Instance Method Summary
collapse
#convert_keys_to_snake_case, #slice_keys, #snake_case, #stringify_keys, #symbolize_keys
Class Method Details
.detailed_definition_fields ⇒ Object
70
71
72
|
# File 'lib/glossarist/concept_data.rb', line 70
def self.detailed_definition_fields
%i[definition notes examples]
end
|
Instance Method Details
#all_sources ⇒ Object
86
87
88
89
90
91
92
|
# File 'lib/glossarist/concept_data.rb', line 86
def all_sources
list = sources.to_a
self.class.detailed_definition_fields.each do |field|
send(field).each { |d| list.concat(d.sources.to_a) }
end
list
end
|
#authoritative_source ⇒ Object
80
81
82
83
84
|
# File 'lib/glossarist/concept_data.rb', line 80
def authoritative_source
return [] unless sources
sources.select(&:authoritative?)
end
|
#date_accepted ⇒ Object
74
75
76
77
78
|
# File 'lib/glossarist/concept_data.rb', line 74
def date_accepted
return nil unless dates
dates.find(&:accepted?)
end
|
#terms_from_yaml(model, value) ⇒ Object
62
63
64
|
# File 'lib/glossarist/concept_data.rb', line 62
def terms_from_yaml(model, value)
model.terms = value.map { |v| Designation::Base.of_yaml(v) }
end
|
#terms_to_yaml(model, doc) ⇒ Object
66
67
68
|
# File 'lib/glossarist/concept_data.rb', line 66
def terms_to_yaml(model, doc)
doc["terms"] = model.terms&.map(&:to_yaml_hash)
end
|
#text_content ⇒ Object
94
95
96
97
98
99
100
|
# File 'lib/glossarist/concept_data.rb', line 94
def text_content
texts = []
self.class.detailed_definition_fields.each do |field|
send(field).each { |d| texts << d.content if d.content }
end
texts
end
|