Class: Glossarist::Designation::Expression

Inherits:
Base
  • Object
show all
Defined in:
lib/glossarist/designation/expression.rb

Direct Known Subclasses

Abbreviation

Class Method Summary collapse

Class Method Details

.of_yaml(hash, options = {}) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/glossarist/designation/expression.rb', line 23

def self.of_yaml(hash, options = {})
  gender = hash.delete("gender") || hash.delete(:gender)
  number = hash.delete("plurality") || hash.delete(:plurality)
  part_of_speech = hash.delete("part_of_speech") || hash.delete(:part_of_speech)

  if gender || number || part_of_speech
    hash["grammar_info"] = [{
      "gender" => gender,
      "number" => number,
      part_of_speech => part_of_speech,
    }.compact]
  end

  hash["type"] = "expression" unless hash["type"]

  super(hash, options)
end