Sha256: 89f13d7397bb97643e1108d7b0c09935cfb81405c6d0e5fd942deceb85e19fd9
Contents?: true
Size: 1.24 KB
Versions: 3
Compression:
Stored size: 1.24 KB
Contents
class Eye::Application attr_reader :groups, :name, :config def initialize(name, config = {}) @groups = Eye::Utils::AliveArray.new @name = name @config = config debug { 'created' } end def logger_tag full_name end def full_name @name end def add_group(group) @groups << group end # sort processes in name order def resort_groups @groups = @groups.sort { |a, b| a.hidden ? 1 : (b.hidden ? -1 : (a.name <=> b.name)) } end def status_data(debug = false) h = { name: @name, type: :application, subtree: @groups.map{|gr| gr.status_data(debug) }} h[:debug] = debug_data if debug h end def status_data_short { name: @name, type: :application, subtree: @groups.map(&:status_data_short) } end def debug_data end def send_command(command, *args) info "send_command #{command}" @groups.each do |group| group.send_command(command, *args) end end def alive? true # emulate celluloid actor method end def sub_object?(obj) res = @groups.include?(obj) res = @groups.any?{|gr| gr.sub_object?(obj)} if !res res end def processes out = [] @groups.each{|gr| out += gr.processes.to_a } Eye::Utils::AliveArray.new(out) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
eye-0.8.pre2 | lib/eye/application.rb |
eye-0.8.pre | lib/eye/application.rb |
eye-0.7 | lib/eye/application.rb |