Sha256: d35f09a083be09cbab0a3955a2bfad0d9d7e29fd0bf6d6e75214387418fbeb36

Contents?: true

Size: 818 Bytes

Versions: 9

Compression:

Stored size: 818 Bytes

Contents

class Eye::Dsl::ApplicationOpts < Eye::Dsl::Opts

  include Eye::Dsl::Chain

  def disallow_options
    [:pid_file, :start_command]
  end

  def group(name, &block) 
    Eye::Dsl.debug "=> group #{name}"
    
    opts = Eye::Dsl::GroupOpts.new(name, self)
    opts.instance_eval(&block)    
    if cfg = opts.config
      @config[:groups] ||= {}

      processes = cfg.delete(:processes) || {}
      @config[:groups][name.to_s] ||= {}
      @config[:groups][name.to_s].merge!(cfg)
      @config[:groups][name.to_s][:processes] ||= {}
      @config[:groups][name.to_s][:processes].merge!(processes)      
    end

    Eye::Dsl.debug "<= group #{name}"
  end

  def process(name, &block)
    group("__default__"){ process(name.to_s, &block) }
  end

  def xgroup(name, &block); end
  def xprocess(name, &block); end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
reel-eye-0.3.1 lib/eye/dsl/application_opts.rb
eye-0.3.1 lib/eye/dsl/application_opts.rb
eye-0.3 lib/eye/dsl/application_opts.rb
eye-0.2.4 lib/eye/dsl/application_opts.rb
eye-0.2.3 lib/eye/dsl/application_opts.rb
eye-0.2.2 lib/eye/dsl/application_opts.rb
eye-0.2.1 lib/eye/dsl/application_opts.rb
eye-0.2 lib/eye/dsl/application_opts.rb
eye-0.1.11 lib/eye/dsl/application_opts.rb