Class: S41C::Client
Instance Method Summary collapse
-
#disconnect ⇒ Object
Отключиться от сервера.
-
#errors ⇒ Array
Возвращает массив ошибок.
-
#eval(code) ⇒ String
Выполнить на сервере строку.
-
#initialize(host = 'localhost', port = 1421, timeout = 30) ⇒ Client
constructor
Создать инстанс клиента.
-
#login(username, password = nil) ⇒ Object
Задать данные для авторизации.
-
#ping ⇒ Object
Проверка соединения с сервером.
-
#request(vars = {}, &block) ⇒ String
Выполнить на сервере блок кода.
-
#shutdown ⇒ Object
Остановить сервер и отключиться от него.
Methods included from Utils
Constructor Details
#initialize(host = 'localhost', port = 1421, timeout = 30) ⇒ Client
Создать инстанс клиента
14 15 16 17 18 19 20 21 22 |
# File 'lib/s41c/client.rb', line 14 def initialize(host='localhost', port=1421, timeout=30) require 'net/telnet' require 's41c/parser' @host, @port, @timeout = host, port, timeout @prompt = /^\+OK/n @errors = [] end |
Instance Method Details
#disconnect ⇒ Object
Отключиться от сервера
48 49 50 |
# File 'lib/s41c/client.rb', line 48 def disconnect cmd "disconnect" end |
#errors ⇒ Array
Возвращает массив ошибок
38 39 40 |
# File 'lib/s41c/client.rb', line 38 def errors @errors end |
#eval(code) ⇒ String
Выполнить на сервере строку
75 76 77 |
# File 'lib/s41c/client.rb', line 75 def eval(code) cmd "eval\0\n#{code}\nend_of_code" end |
#login(username, password = nil) ⇒ Object
Задать данные для авторизации
28 29 30 31 32 33 |
# File 'lib/s41c/client.rb', line 28 def login(username, password = nil) @login = username.nil? || username.empty? ? nil : username @password = password self end |
#ping ⇒ Object
Проверка соединения с сервером
43 44 45 |
# File 'lib/s41c/client.rb', line 43 def ping cmd "ping" end |
#request(vars = {}, &block) ⇒ String
Выполнить на сервере блок кода
63 64 65 66 67 68 |
# File 'lib/s41c/client.rb', line 63 def request(vars = {}, &block) code = S41C::Parser.new(block).parse dump = Marshal.dump({vars: vars, code: code}) self.eval [dump].pack('m') end |
#shutdown ⇒ Object
Остановить сервер и отключиться от него
53 54 55 |
# File 'lib/s41c/client.rb', line 53 def shutdown cmd "shutdown" end |