Class: Bukovina::Parsers::ServiceLink
- Inherits:
-
Object
- Object
- Bukovina::Parsers::ServiceLink
- Defined in:
- lib/bukovina/parsers/service_link.rb
Constant Summary collapse
- ALPHABETHS =
{ 'hip' => :цр, #церковнославянская разметка hip 'рп' => :рп, 'ро' => :ру, 'ру' => :ру, 'ан' => :ра, 'en' => :ра, 'гр' => :гр, 'ив' => :ив, 'рм' => :рм, 'ук' => :ук, 'ср' => :ср, 'gr' => :гр, 'fr' => :фр, 're' => :ра, }
- LANGUAGES =
{ 'цс' => :цс, 'ро' => :ру, 'ру' => :ру, 'ан' => :ан, 'en' => :ан, 're' => :ан, 'гр' => :гр, 'ив' => :ив, 'рм' => :рм, 'ук' => :ук, 'ср' => :сх, 'gr' => :гр, 'fr' => :фр, }
- Parsers =
Bukovina::Parsers
- RE =
/\A([#{Parsers::UPCHAR}#{Parsers::CHAR}#{Parsers::ACCENT}0-9\s‑;:'"«»\,()\.\-\?\/]+)\z/
Instance Attribute Summary collapse
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
Instance Method Summary collapse
-
#parse(line, options = {}) ⇒ Object
вход: значение поля “имя” включая словарь разных языков выход: обработанный словарь данных.
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
5 6 7 |
# File 'lib/bukovina/parsers/service_link.rb', line 5 def errors @errors end |
Instance Method Details
#parse(line, options = {}) ⇒ Object
вход: значение поля “имя” включая словарь разных языков выход: обработанный словарь данных
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/bukovina/parsers/service_link.rb', line 48 def parse line, = {} tres = case line when Array (links, aservices) = line.map do |url| if url.is_a?( Array ) url.map do |u| parse_line( u, ) ; end.compact else parse_line( url, ) ; end ; end .compact.flatten when String parse_line( line, ) when NilClass [] else @errors << Parsers::BukovinaInvalidClass.new( "Invalid class " + "#{line.class} for Name line '#{line}'" ) [] ; end if @errors.any? nil else (links, services) = tres.split_by do |value| value.has_key?( :url ) ;end { link: links, service: services } ;end ;end |