Привет, ребят. Осваиваю rails, столкнулся с непониманием одной детали, как и куда помещать логику?
Допустим вот. Я пишу приложение пингер, который опрашивает определенные узлы и в случае потерь отправляет мэйл.
@status = true
def send_mail(emails, body)
each emails do |m|
# рассылка Mailer
end
end
def ping
true #NET::PING.. возвращает true или false
end
def checker(loss)
loop do
if ping
i = 0
change_status(:on)
else
i += 1
end
sleep 3
change_status(:off) if i > loss
end
end
change_status(stat)
case stat
when :on
send_mail(emails, "Заработало") if
@status == false
@status = true
when :off
send_mail(emails, "Поломалось") if
@status == true
@status = false
end
end
Куда и как в рельсах что запихивать, чтобы оно заработало? Если это все реализовать в контроллере, то это противоречит правилу что логика должна быть в моделях?