Alterator/ruby: различия между версиями
SirRaorn (обсуждение | вклад) (Created) |
SirRaorn (обсуждение | вклад) м (Categories << Ruby) |
||
Строка 1: | Строка 1: | ||
=== ruby-alterator === | === ruby-alterator === | ||
Строка 60: | Строка 58: | ||
В данный момент ruby-alterator нигде не используется. | В данный момент ruby-alterator нигде не используется. | ||
[[Категория:Alterator]] | |||
[[Категория:Sisyphus]] | |||
[[Категория:Ruby]] |
Версия от 01:51, 1 декабря 2009
ruby-alterator
Простейший бэкенд выглядит следующим образом:
#!/usr/bin/ruby -w
require 'alterator'
back = Alterator::Backend3.new
back.message_loop do |msg|
case msg[:action]
when "read"
back.write :name, "value"
end
end
Поддержка переводов
TBD
Вывод
Внутри message_loop сделано перенаправление STDOUT->STDERR. Все ответы должны выполняться только специальными командами.
Таблица соответствия alterator-sh-functions и ruby-alterator (back - экземпляр класса Alterator::Backend3):
alterator-sh-functions | Alterator::Backend3#write |
---|---|
write_string_param name "value" | back.write :name, "value" |
write_bool_param name true | back.write :name, true |
write_enum_item name "value" | back.write :name => "value" |
write_table_item name1 "value1" name2 "value2" | back.write nil, :name1 => "value1", :name2 => "value2" |
write_type_item name "value" | back.write :name, "value" |
write_error "message" | raise "message" (выполнение блока прерывается) |
write_nop | write |
Использование
В данный момент ruby-alterator нигде не используется.