Alterator/ruby: различия между версиями

Материал из ALT Linux Wiki
м (Categories << Ruby)
Нет описания правки
 
Строка 59: Строка 59:
В данный момент ruby-alterator нигде не используется.
В данный момент ruby-alterator нигде не используется.


[[Категория:Alterator]]
[[Категория:Sisyphus]]
[[Категория:Sisyphus]]
[[Категория:Ruby]]
[[Категория:Ruby]]
{{Category navigation|title=Alterator|category=Alterator|sortkey={{SUBPAGENAME}}}}

Текущая версия от 17: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 нигде не используется.