Alterator/ruby

Материал из ALT Linux Wiki
< Alterator
Версия от 21:09, 7 апреля 2009; SirRaorn (обсуждение | вклад) (Created)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)


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 нигде не используется.