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