Диагностика ошибок в Maruku

Полезная бесполезная информация

Ещё об одном интересном моменте работы с Maruku я хочу вам рассказать. Касается он информации об ошибках и их диагностики.

Информация об ошибках в Maruku, на мой скромный взгляд, сделана очень даже неплохо. Если она включена (а она включена по умолчанию), то в консоли вы можете увидеть диагностические сообщения:

 ___________________________________________________________________________
| Maruku tells you:
+---------------------------------------------------------------------------
| Unclosed span (waiting for ["**"])
| ---------------------------------------------------------------------------
| **aaaEOF
| -----|----------------------------------------------------------------------
|      +--- Byte 5
| Shown bytes [0 to 5] of 5:
| >**aaa
| 
| At line 2
|       text     |**aaa|
| 
| 
| Elements read in span: 
| 
| Current string: 
|   "aaa"
+---------------------------------------------------------------------------
!/usr/lib/ruby/gems/1.8/gems/maruku-0.5.9/lib/maruku/errors_management.rb:49:in `maruku_error'
!/usr/lib/ruby/gems/1.8/gems/maruku-0.5.9/lib/maruku/input/parse_span_better.rb:210:in `read_span'
!/usr/lib/ruby/gems/1.8/gems/maruku-0.5.9/lib/maruku/input/parse_span_better.rb:418:in `read_strong'
!/usr/lib/ruby/gems/1.8/gems/maruku-0.5.9/lib/maruku/input/parse_span_better.rb:175:in `read_span'
!/usr/lib/ruby/gems/1.8/gems/maruku-0.5.9/lib/maruku/input/parse_span_better.rb:46:in `parse_span_better'
\___________________________________________________________________________

Как видите я попытался вести слово “aaa” и не закрыл sapn-тег (не поставил в конце символы **)

Если такое поведение вас не устраивает, то вы можете выбрать один из трёх вариантов

ЗначениеОписание
:ignoreНе выводить диагностические сообщения
:warningВыводить диагностические сообщения (пример я привёл выше)
:raiseГенерировать исключение при ошибке

И передать его в качестве аргумента в конструктор класса Maruku

maruku = Maruku.new(text, :on_error => :raise)

Либо установить его в хеше с настройками по умолчанию

MaRuKu::Globals[:on_error] = :ignore

Довольно удобно на мой взгляд. На этом пока всё.

Тэги: Maruku
Будь всегда в курсе последних новостей блога подписавшись на новости
в формате RSS. Присоединяйся!
* * *

Добавить новый комментарий

Доступные BB теги

*

* (не будет опубликован)

(если есть)

  • Multi CAPTCHA Refresh2
  • *

1. Проверьте комментарий перед отправкой
2. Все комментарии проходят модерацию перед публикацией в блоге