Class: Bukovina::Parsers::Calendary
- Inherits:
-
Object
- Object
- Bukovina::Parsers::Calendary
- Defined in:
- lib/bukovina/parsers/calendary.rb
Constant Summary collapse
- Parsers =
Bukovina::Parsers
- RE =
/\A([#{Parsers::UPCHAR}#{Parsers::CHAR}#{Parsers::ACCENT}0-9\s‑;:'"«»\,()\.\-\?\/]+)\z/- SUBPARSERS =
вход: значение поля “имя” включая словарь разных языков выход: обработанный словарь данных
{ 'годя' => :licit, 'год' => :year, 'крат' => :calendary, 'ссылка' => :link, 'описание' => :desc, 'автор' => :author, 'имя' => :name, 'название' => :name, 'место' => :place, 'вики' => :wiki, 'собор' => :council, }
- CALENDARIES =
%w(916 азар ассе афин библ библ блап блр болл бпм валл взр1 взр2 влат влбр влдв влчм впдв врнж вскс всрб всс вчм гбмч гдк герм гмин гпм груз греч грм грот грхэ гскс джрд длг дмрт дни днсс дрге дргм евг евер ждр змин иерн иерн иерс имм ипдл ит к688 каро карф кирл киж лавр лавс лион луг мвс меа мокс мсн нкс нмр нмрл нмчк новг нсп2 нспр остр охап охр парж парс плнд пол пслн пслт пспр птпр птрг путя ре12 рм росс рпт рпц рпца рсап рсм рум румо русз серб синс сир сирм скал скмр сксд скср скц слжб служ спр спсс сптр спц ссм стип стсл студ супр сурж суст твц тырн уцс укр фип хлуд хрис чсл элл)- COUNSILS =
%w(рус русз)
Instance Attribute Summary collapse
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
-
#target ⇒ Object
readonly
Returns the value of attribute target.
Instance Method Summary collapse
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
2 3 4 |
# File 'lib/bukovina/parsers/calendary.rb', line 2 def errors @errors end |
#target ⇒ Object (readonly)
Returns the value of attribute target.
2 3 4 |
# File 'lib/bukovina/parsers/calendary.rb', line 2 def target @target end |
Instance Method Details
#parse(events, options = {}) ⇒ Object
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'lib/bukovina/parsers/calendary.rb', line 153 def parse events, = {} # TODO skip return if errors found # @target = [:target] res = case events when Hash event = parse_hash( events ) [ event ] when Array if events.blank? @errors << Parsers::BukovinaInvalidValueError.new( "Value of event " + "array is empty" ) ;end event_list = events.map do |event| parse_hash( event ) end.compact event_list when NilClass @errors << Parsers::BukovinaInvalidValueError.new( "Event list" + "can't be blank" ) else raise Parsers::BukovinaInvalidClass, "Invalid class #{name.class} " + "for Name line '#{name}'" ; end @errors.empty? && res || nil rescue Parsers::BukovinaError => e @errors << e nil ; end |