Module: Mongrel2::Config::Server::DSLMethods

Defined in:
lib/mongrel2/config/server.rb

Overview

DSL methods for the Server context besides those automatically-generated from its columns.

Instance Method Summary collapse

Instance Method Details

#filter(path, settings = {}) ⇒ Object

Add a Mongrel2::Config::Filter to the Server object with the specified path (name) and settings hash.



210
211
212
213
214
215
# File 'lib/mongrel2/config/server.rb', line 210

def filter( path, settings={} )
  self.target.save( :validate => false )

  self.log.debug "Filter [%s]: %p" % [ path, settings ]
  self.target.add_filter( name: path, settings: settings )
end

#host(name, &block) ⇒ Object

Add a Mongrel2::Config::Host to the Server object with the given hostname. If a block is specified, it can be used to further configure the Host.



196
197
198
199
200
201
202
203
204
205
# File 'lib/mongrel2/config/server.rb', line 196

def host( name, &block )
  self.target.save( :validate => false )

  self.log.debug "Host [%s] (block: %p)" % [ name, block ]
  adapter = Mongrel2::Config::DSL::Adapter.
    new( Mongrel2::Config::Host, name: name, server_id: self.target.id )
  adapter.target.matching = name
  adapter.instance_eval( &block ) if block
  adapter.target.save
end

#xrequest(path, settings = {}) ⇒ Object

Add a Mongrel2::Config::XRequest to the Server object with the specified path (name) and settings hash.



220
221
222
223
224
225
# File 'lib/mongrel2/config/server.rb', line 220

def xrequest( path, settings={} )
  self.target.save( :validate => false )

  self.log.debug "XRequest [%s]: %p" % [ path, settings ]
  self.target.add_xrequest( name: path, settings: settings )
end