Class: Bukovina::Parsers::Description

Inherits:
Object
  • Object
show all
Defined in:
lib/bukovina/parsers/description.rb

Constant Summary collapse

Parsers =
Bukovina::Parsers
RE =
/\A([#{Parsers::UPCHAR}#{Parsers::CHAR}#{Parsers::ACCENT}0-9\s‑;:'"«»\>\,’()^\.\-\?\/]+)\z/

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



2
3
4
# File 'lib/bukovina/parsers/description.rb', line 2

def errors
  @errors
end

Instance Method Details

#parse(name) ⇒ Object

вход: значение поля “имя” включая словарь разных языков выход: обработанный словарь данных



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/bukovina/parsers/description.rb', line 10

def parse name
# TODO skip return if errors found
#
res =
case name
when Hash
   descriptions = name.map do |(alph, desc)|
      res = parse_line( desc, alph )
      res&.[](:text) && res || nil
   end.compact

   { description: descriptions }
when String
   { description: [ parse_line( name, :