Module: Mongrel2::Config::DSL
- Defined in:
- lib/mongrel2/config/dsl.rb
Overview
See DSL.md for details on how to use this mixin.
Defined Under Namespace
Classes: Adapter
Instance Method Summary collapse
-
#mimetype(extension, mimetype) ⇒ Object
Set up a mimetype mapping between files with the given
extension
andmimetype
. -
#mimetypes(hash) ⇒ Object
Set some mimetypes en masse.
-
#server(uuid, &block) ⇒ Object
Create a Mongrel2::Config::Server with the specified
uuid
, evaluate the block (if given) within its context, and return it. -
#setting(key, val) ⇒ Object
Set the value of one of the ‘Tweakable Expert Settings’.
-
#settings(hash) ⇒ Object
Set some ‘Tweakable Expert Settings’ en masse.
Instance Method Details
#mimetype(extension, mimetype) ⇒ Object
Set up a mimetype mapping between files with the given extension
and mimetype
.
141 142 143 144 145 146 147 148 149 |
# File 'lib/mongrel2/config/dsl.rb', line 141 def mimetype( extension, mimetype ) Mongrel2::Config.init_database type = Mongrel2::Config::Mimetype.find_or_create( extension: extension ) type.mimetype = mimetype type.save return type end |
#mimetypes(hash) ⇒ Object
Set some mimetypes en masse.
153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/mongrel2/config/dsl.rb', line 153 def mimetypes( hash ) result = [] Mongrel2::Config.db.transaction do hash.each do |ext, mimetype| result << mimetype( ext, mimetype ) end end return result end |
#server(uuid, &block) ⇒ Object
Create a Mongrel2::Config::Server with the specified uuid
, evaluate the block (if given) within its context, and return it.
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/mongrel2/config/dsl.rb', line 86 def server( uuid, &block ) adapter = nil Mongrel2.log.info "Ensuring db is set up..." Mongrel2::Config.init_database Mongrel2.log.info "Entering transaction for server %p" % [ uuid ] Mongrel2::Config.db.transaction do Mongrel2.log.debug "Server [%s] (block: %p)" % [ uuid, block ] adapter = Adapter.new( Mongrel2::Config::Server, uuid: uuid ) do |server| server.access_log ||= "/logs/access.log" server.error_log ||= "/logs/error.log" server.pid_file ||= "/run/mongrel2.pid" server.default_host ||= "localhost" server.port ||= 8888 server.hosts.each( &:destroy ) server.filters.each( &:destroy ) server.xrequests.each( &:destroy ) end adapter.instance_eval( &block ) if block Mongrel2.log.info " saving server %p..." % [ uuid ] adapter.target.save end return adapter.target end |
#setting(key, val) ⇒ Object
Set the value of one of the ‘Tweakable Expert Settings’
118 119 120 121 122 123 |
# File 'lib/mongrel2/config/dsl.rb', line 118 def setting( key, val ) Mongrel2::Config.init_database setting = Mongrel2::Config::Setting.find_or_create( key: key ) setting.value = val setting.save end |
#settings(hash) ⇒ Object
Set some ‘Tweakable Expert Settings’ en masse
127 128 129 130 131 132 133 134 135 136 137 |
# File 'lib/mongrel2/config/dsl.rb', line 127 def settings( hash ) result = [] Mongrel2::Config.db.transaction do hash.each do |key, val| result << setting( key, val ) end end return result end |