Class: Bukovina::Parsers::Event
- Inherits:
-
Object
- Object
- Bukovina::Parsers::Event
- Defined in:
- lib/bukovina/parsers/event.rb
Constant Summary collapse
- Parsers =
Bukovina::Parsers
- RE =
/\A([#{Parsers::UPCHAR}#{Parsers::CHAR}#{Parsers::ACCENT}0-9\s‑;:'"«»\,()\.\-\?\/]+)\z/
- SUBPARSERS =
вход: значение поля “имя” включая словарь разных языков выход: обработанный словарь данных
{ 'год' => :year, 'дата' => :date, 'время' => :time, 'описание' => :type, 'предмет' => :item, 'место' => :place, 'образ' => :icon, 'бытие' => :link, 'ссылка' => :link, 'описание_' => :desc, 'вики' => :wiki, 'супруг' => :person, 'муж' => :person, 'жена' => :person, 'кем' => :person, 'кому' => :person, 'чадо' => :person, # 'служба' => :service, 'о' => :about, 'собор' => :council, 'чин' => :order, 'тез' => :tezo, 'координаты' => :coord, }
- ITEMS =
[ 'частица', 'глава', 'глава.часть', 'челюсть', 'десница', 'шуйца', 'рука', 'позвонок', 'глезно', 'длань', 'длань шуя', 'длань.часть', 'кожа', 'плечо', 'цепь', 'вериги', 'оковы', 'часть', 'часть веляя', 'посох', 'покров', 'деснога', 'шуйнога', 'стопа', 'тело', 'зуб', 'предплечье', 'список', 'оковы', 'цепь', 'решётка', ]
- EVENTS =
{ 'бесе' => 'Tale', # от(чел)-ко(чел) # Беседа/Благовещение 'битва' => 'Battle', # ч(место) 'блгдр' => 'Thanksgiving', # ко(лич) ЧИНИ какое событие, или просто добвить поле норов (характер) в помин, а событие поставить иное? 'блслв' => 'Benediction', # от(стын:self)-ко(чел:person) 'бвщ' => 'Annunciation', # кого 'брак' => 'Marriage', # от(чел:self)-ко(чел:person) 'вздв' => 'Exaltation', # ч(стын:self),кем(чел:person) 'вид' => 'Apparation', # ч(стын:self)-ко(чел:person) 'вознс' => 'Ascension', # кого(чел:self) 'вопл' => 'Incarnation', # кого 'воин' => 'SoldierMemory', # ч(поместо) память павших воинов 'восст' => 'Restoration', # к(чел:self) 'вскрс' => 'Resurrection', # к(чел:само) 'вход' => 'Entrance', # от(чел) 'дияк' => 'Deaconry', # к(чел:само)-кем(чел:person) 'ересь' => 'Enheresment', # к(чел:само) 'заржд' => 'Conception', # кого(чел:само) 'застп' => 'Protection', # от(стын:сало)-к(чел:лично) # покров? 'зач' => 'Conceiving', # кем(чел:само)-кого(чел:лично) 'знам' => 'Portent', # ч(стын) # ЧИНИ? может быть ттоже что и (по)явление? 'избав' => 'Deliverance', # ч(стын) # ЧИНИ? может быть победа над кем-то? 'изме' => 'Betraial', # ко(чел) 'изнес' => 'Procession', # ч(стын)-кем(чел:person) 'иноч' => 'Monasticry', # ко(чел)-кем(чел:person) 'ипод' => 'Hypodeaconry', # ко(чел)-кем(чел:person) 'крещ' => 'Baptism', # ко(чел)-кем(чел:person) 'надст' => 'Superstructure', # ч(стын)-кем(собор:person) 'напис' => 'Writing', # ч(обр)-кем(чел:person) 'науч' => 'Learning', # от(чел) 'нем' => 'Numbness', # ко(чел) # ЧИНИ может чудо? 'низл' => 'Deposition', # ко(чел)-кем(собор:person) 'обн' => 'Sanctification', # ч(храм)-кем(собор:person) 'обр' => 'Uncovering', # ч(стын)-кем(чел:person) 'обрез' => 'Circumcision', # ко(чел) 'ожив' => 'Revival', # от(чел)-ко(чел) 'освоб' => 'Liberation', # ко(чел) 'отр' => 'Renunciation', # от(чел) 'пад' => 'Fall', # ч(место) 'пгрб' => 'Burial', # ко(чел) 'пожар' => 'GreatFire', # ч(место) 'покая' => 'Repentance', # от(чел)-кто прнимал(чел:person) 'покой' => 'Rest', # от(чел)-ко(собор:person) 'полож' => 'Placing', # ч(стын) 'почит' => 'Veneration', # ч(стын) 'прдст' => 'Primacy', # от(чел) 'прел' => 'PuttingInAgain', # ч(стын) 'прем' => 'Teleportation', # ч(стын) 'прен' => 'Translation', # ч(стын) 'призв' => 'Calling', # ко(чел) 'плен' => 'Captivity', # ч(предм) 'покл' => 'Adoration', # ко(чел)-от(собор:person) # приношение, поклонение (волхвов) 'преоб' => 'Transfiguration', # ко(чел) 'прок' => 'Curse', # от(чел) 'проп' => 'Preach', # от(чел) 'пррч' => 'Prophecy', # от(чел)-кем(person) 'просл' => 'Canonization', # от(чел)-кем(собор:person) 'прств' => 'Repose', # от(чел) 'прстл' => 'Throne', # ч(храм) 'разр' => 'Destruction', # ч(храм) 'раск' => 'Schism', # от(чел) 'распп' => 'Defrocking', # ко(чел) 'рассл' => 'Decanonization', # от(чел) 'ржд' => 'Nativity', # от(чел) 'рясф' => 'Frockbearing', # ко(чел)-кем(чел:person) 'сбр' => 'Council', # ч(место) 'свят' => 'Bishopry', # ко(чел)-кем(собор:person) 'свящ' => 'Priestship', # ко(чел)-кем(чел:person) 'созд' => 'Founding', # ч(храм) 'сокр' => 'Hiddening', # ч(стын) 'соявл' => 'Phenomenon', # ко(чел)-от(чел:person) 'срет' => 'Meeting', # от(чел)-ко(чел) 'стрст' => 'Passion', # ко(чел) 'схим' => 'Schima', # ко(чел) 'тайн' => 'Supper', # от(чел)-ко(собор:person) 'трез' => 'Sobriety', # ч(поместо) память трезвения 'труд' => 'Labor', # от(чел) # ЧИНИ что это? 'тряс' => 'Earthquake', # ч(место) 'увер' => 'Assurance', # от(чел)-ко(чел) 'утр' => 'Loss', # ч(стын) 'чинпр' => 'Glorification', # ко(чел)-от(собор:person) 'чтец' => 'Reader', # ко(чел)-кем(чел:person) 'чудо' => 'Miracle', # ч(стын) 'явл' => 'Appearance', # ч(обр) }
- COUNSILS =
само - feast
%w(рус греч иерс аме фин болг серб груз пол рум чсл виз алкс антх карф рим англ мск киев черн сузд верн нов нпск влдв молд кит укр клвн блр русз герм пнаф печ)
- ORDERS =
%w(нмр нмч нмк 17мг нмм нмс нмз 1рс нмб сщмч сщмчч вмц вмч мч мцц мчч прмч прмц мц прп прав свт прпж стцц стц блж сщисп присп присц исп исц блгв блгвв рап сбр кит мск спб вят перм ниж сиб каз влад тавр уф тул ряр врнж сарн вуст кстр нов твер мурм клзн ека крсн кур влгд нсиб сам тамб кар ряз влгр рнд пск ива омск верн астр кург симб опт пнаф пппр мсвт смнк бпеч рднж нмнд валм сол див укр киев елсг неж жит вол карп гал вин черк одес херс полт крмч мрпл хуст черн кнтп глин молд блр нгрд мхп серб шбцв)
- ABOUT_PRES =
%w(нд.по нд.до сб.по сб.до)
- ABOUTS =
[ 'пт.вел', 'сб.по рх', 'нд.7.по пасхе', 'вс.8.по пасхе', 'ср.1.по пасхе', 'вт.1.по пасхе', 'сб.5.поста', 'сб.по отд.вздв', 'вт.1.по пасхе', 'чт.по всех', 'чт.9.по пасхе' ]
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/event.rb', line 2 def errors @errors end |
#target ⇒ Object (readonly)
Returns the value of attribute target.
2 3 4 |
# File 'lib/bukovina/parsers/event.rb', line 2 def target @target end |
Instance Method Details
#parse(events, options = {}) ⇒ Object
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'lib/bukovina/parsers/event.rb', line 182 def parse events, = {} # TODO skip return if errors found # @target = [:target] res = case events when Hash event = parse_hash( events ) events = post_hash_proc( event ) { event: events } 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 events = post_hash_proc( event_list ) { event: events } when NilClass @errors << Parsers::BukovinaInvalidValueError.new( "Event list" + "can't be blank" ) else raise Parsers::BukovinaInvalidClass, "Invalid class #{name.class} " + "for Event line '#{name}'" ; end @errors.empty? && res || nil rescue Parsers::BukovinaError => e @errors << e nil ; end |
#post_hash_proc(in_event) ⇒ Object
218 219 220 221 222 223 224 225 226 227 228 |
# File 'lib/bukovina/parsers/event.rb', line 218 def post_hash_proc in_event events = [ in_event ].flatten if !events.find { |e| e[:type] == 'Veneration' } happened_at = events.last[:happened_at] events << { happened_at: happened_at.is_a?(Array) && happened_at.first || happened_at, type: 'Veneration', } ;end events ;end |