class Eye::Application
Attributes
config[R]
groups[R]
name[R]
Public Class Methods
new(name, config = {})
click to toggle source
# File lib/eye/application.rb, line 5 def initialize(name, config = {}) @groups = Eye::Utils::AliveArray.new @name = name @config = config debug { 'created' } end
Public Instance Methods
add_group(group)
click to toggle source
# File lib/eye/application.rb, line 20 def add_group(group) @groups << group end
alive?()
click to toggle source
# File lib/eye/application.rb, line 45 def alive? true # emulate celluloid actor method end
debug_data()
click to toggle source
# File lib/eye/application.rb, line 38 def debug_data; end
full_name()
click to toggle source
# File lib/eye/application.rb, line 16 def full_name @name end
logger_tag()
click to toggle source
# File lib/eye/application.rb, line 12 def logger_tag full_name end
processes()
click to toggle source
# File lib/eye/application.rb, line 55 def processes out = [] @groups.each { |gr| out += gr.processes.to_a } Eye::Utils::AliveArray.new(out) end
resort_groups()
click to toggle source
# File lib/eye/application.rb, line 24 def resort_groups @groups.sort! # used group method <=> to compare end
send_call(call)
click to toggle source
# File lib/eye/application.rb, line 40 def send_call(call) info "call: #{call}" @groups.each { |group| group.send_call(call) } end
status_data(opts = {})
click to toggle source
# File lib/eye/application.rb, line 28 def status_data(opts = {}) h = { name: @name, type: :application, subtree: @groups.map { |gr| gr.status_data(opts) } } h[:debug] = debug_data if debug h end
status_data_short()
click to toggle source
# File lib/eye/application.rb, line 34 def status_data_short { name: @name, type: :application, subtree: @groups.map(&:status_data_short) } end
sub_object?(obj)
click to toggle source
# File lib/eye/application.rb, line 49 def sub_object?(obj) res = @groups.include?(obj) res ||= @groups.any? { |gr| gr.sub_object?(obj) } res end