Как извлечь или проанализировать буквальный текстовый код функции или блока Ruby? - PullRequest
0 голосов
/ 25 октября 2011

Я пытаюсь интегрировать работу с CouchDB в веб-фреймворк Camping.Ранее я использовал S Expressions для анализа простых блоков Ruby в JavaScript и просто писал встроенный JavaScript в строках, когда мне нужно что-то более сложное.

Затем я обнаружил View Server , и я хочуперейти к использованию Ruby для функций Map и Reduce.

На данный момент я могу сделать что-то вроде этого:

view = CouchDB::View.new :myview do
    map do |doc|
        emit(doc._id, doc.price) if doc.kind == "Product"
    end
    reduce do |values|
        return sum(values)
    end
end

Я бы хотел иметь похожий синтаксисдля этого, но для того, чтобы фактический текст этих блоков (или методов, или чего-то еще) был чем-то, что я могу непосредственно прочитать и отправить в базу данных, в которой хранятся представления.Возможно ли это сделать таким образом, чтобы это не было на самом деле злом, например, просто поместить их в строку или прочитать файл и как-то проанализировать его для текста представлений?

1 Ответ

1 голос
/ 25 октября 2011

Вы можете использовать что-то вроде ruby2ruby для анализа содержимого блока.

Это даст вам токенизированную версию блока, но не литеральный текст, так как разметка отбрасываетсякогда источник компилируется в байт-код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...