Alterator/ruby: различия между версиями
SirRaorn (обсуждение | вклад) м (Categories << Ruby) |
Нет описания правки |
||
Строка 59: | Строка 59: | ||
В данный момент ruby-alterator нигде не используется. | В данный момент ruby-alterator нигде не используется. | ||
[[Категория:Sisyphus]] | [[Категория:Sisyphus]] | ||
[[Категория:Ruby]] | [[Категория:Ruby]] | ||
{{Category navigation|title=Alterator|category=Alterator|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 20:20, 20 июля 2015
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 нигде не используется.