Sha256: bc4a8a578b130c3ef64d7b6fceb2f3f86e82b77ff3e1cd720f7219388d4354d0

Contents?: true

Size: 797 Bytes

Versions: 11

Compression:

Stored size: 797 Bytes

Contents

class Eye::Dsl::ProcessOpts < Eye::Dsl::Opts

  def monitor_children(&block)
    opts = Eye::Dsl::ChildProcessOpts.new
    opts.instance_eval(&block) if block
    @config[:monitor_children] ||= {}
    Eye::Utils.deep_merge!(@config[:monitor_children], opts.config)
  end

  alias xmonitor_children nop

  def application
    parent.try(:parent)
  end
  alias app application
  alias group parent

  def depend_on(names, opts = {})
    names = Array(names).map(&:to_s)
    trigger("wait_dependency_#{unique_num}", {:names => names}.merge(opts))
    nm = @config[:name]
    names.each do |name|
      parent.process(name) do
        trigger("check_dependency_#{unique_num}", :names => [ nm ] )
      end
    end
  end

private

  def unique_num
    $unique_num ||= 0
    $unique_num += 1
  end

end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
eye-0.6.4 lib/eye/dsl/process_opts.rb
eye-0.6.3 lib/eye/dsl/process_opts.rb
eye-0.6.2 lib/eye/dsl/process_opts.rb
eye-0.6.2.pre lib/eye/dsl/process_opts.rb
ace-eye-0.6.5 lib/eye/dsl/process_opts.rb
ace-eye-0.6.4 lib/eye/dsl/process_opts.rb
eye-0.6.1 lib/eye/dsl/process_opts.rb
ace-eye-0.6.3 lib/eye/dsl/process_opts.rb
ace-eye-0.6.2 lib/eye/dsl/process_opts.rb
ace-eye-0.6.1 lib/eye/dsl/process_opts.rb
eye-0.6 lib/eye/dsl/process_opts.rb