module Evesync::Trigger::Base
Public Instance Methods
ignore(ipc_data)
click to toggle source
# File lib/evesync/trigger/base.rb, line 39 def ignore(ipc_data) @ignore << ipc_data if ipc_data.is_a? data_class end
process(message)
click to toggle source
# File lib/evesync/trigger/base.rb, line 27 def process(message) if ignore?(message) unignore(message) false else if save_to_db(@db, message) send_to_remotes(@remotes, message) true end end end
save_to_db(db, message)
click to toggle source
db must have a realization of save method
# File lib/evesync/trigger/base.rb, line 8 def save_to_db(db, message) db.save(message) end
send_to_remotes(remotes, message)
click to toggle source
Every element in remotes must have a realization of handle method
# File lib/evesync/trigger/base.rb, line 14 def send_to_remotes(remotes, message) remotes.each do |evehand| begin Timeout.timeout(30) do # FIXME: take from Config evehand.handle(message) end rescue Timeout::Error Log.warn("Trigger remote timeout: server #{evehand.uri} " \ 'is not accessible') end end end
unignore(ipc_data)
click to toggle source
# File lib/evesync/trigger/base.rb, line 44 def unignore(ipc_data) @ignore.delete_if { |d| d == ipc_data } end
Private Instance Methods
ignore?(ipc_data)
click to toggle source
# File lib/evesync/trigger/base.rb, line 50 def ignore?(ipc_data) Log.debug("File ignore aray: #{@ignore}") @ignore.find { |d| d == ipc_data } end