У меня есть бот IRC, который обновляет значение хэш-ключа по определенной команде. Значения являются либо «свободными», либо «взятыми». Когда вызывается lab status
, он отображает вывод четырех пар значений ключа {:MainSP4=>"Free", :MainSP5=>"Free", :MiniSP4=>"Free", :MiniSP5=>"Free"}
. Я хочу постоянно отображать вывод lab status
на веб-странице и хотел бы, чтобы он обновлялся по мере передачи команд IRC-боту. Я пробовал делать глобальную переменную и вызывать ее, но не работал, хотя, возможно, это была ошибка пользователя.отображение хэша обновления дисплея на веб-странице
IRC бот
require 'cinch'
require 'chronic'
require 'sqlite3'
require 'sequel'
require 'cinch/commands'
Lab =
{MainSP4: "Free",
MainSP5: "Free",
MiniSP4: "Free",
MiniSP5: "Free"}
LabC =
{MainSP4: " ",
MainSP5: " ",
MiniSP4: " ",
MiniSP5: " "}
############### DB Connection #####################
class Database
include Cinch::Plugin
match /select .* from gears where .* like .*/i
def execute(m)
db = SQLite3::Database.open("development.sqlite3")
m.reply db.execute("#{m.message}")
end
end
############## Lab status and Commands ####################
class Racks
include Cinch::Plugin
match /lab status/i
def execute(l)
l.reply "#{Lab}"
end
end
Посмотреть
<% $Lab.each do |key, value| %>
<li><%= "#{key}: #{value}" %>
<% end %>
Я решил пойти по пути WebSockets. Я установил все требования для создания веб-узлов с помощью моего приложения rails. Теперь я застрял, так как не уверен, как настроить мой websocketcontroller.rb, events.rb. Я прочитал настройку на странице wiki github, но все еще неясно. Любые примеры или помощь по этому вопросу будут очень признательны.