Module: Mongrel2::Config::DSL
- Defined in:
- lib/mongrel2/config/dsl.rb
Overview
See DSL.rdoc 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
.
147 148 149 150 151 152 153 154 155 |
# File 'lib/mongrel2/config/dsl.rb', line 147 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.
159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/mongrel2/config/dsl.rb', line 159 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.
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/mongrel2/config/dsl.rb', line 91 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 # Set up the options hash with the UUID and reasonable defaults # for everything else server_opts = { uuid: uuid, access_log: "/logs/access.log", error_log: "/logs/error.log", pid_file: "/run/mongrel2.pid", default_host: "localhost", port: 8888, } Mongrel2.log.debug "Server [%s] (block: %p)" % [ uuid, block ] adapter = Adapter.new( Mongrel2::Config::Server, server_opts ) 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’
124 125 126 127 128 129 |
# File 'lib/mongrel2/config/dsl.rb', line 124 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
133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/mongrel2/config/dsl.rb', line 133 def settings( hash ) result = [] Mongrel2::Config.db.transaction do hash.each do |key, val| result << setting( key, val ) end end return result end |