Class: Warbler::WebxmlOpenStruct
- Inherits:
-
OpenStruct
- Object
- OpenStruct
- Warbler::WebxmlOpenStruct
- Defined in:
- lib/warbler/config.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #context_params ⇒ Object
-
#initialize(key = 'webxml') ⇒ WebxmlOpenStruct
constructor
A new instance of WebxmlOpenStruct.
- #servlet_context_listener ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(key = 'webxml') ⇒ WebxmlOpenStruct
Returns a new instance of WebxmlOpenStruct.
202 203 204 205 |
# File 'lib/warbler/config.rb', line 202 def initialize(key = 'webxml') @key = key @table = Hash.new {|h,k| h[k] = WebxmlOpenStruct.new(k) } end |
Instance Method Details
#[](key) ⇒ Object
218 219 220 221 |
# File 'lib/warbler/config.rb', line 218 def [](key) new_ostruct_member(key) send(key) end |
#[]=(key, value) ⇒ Object
223 224 225 226 |
# File 'lib/warbler/config.rb', line 223 def []=(key, value) new_ostruct_member(key) send("#{key}=", value) end |
#context_params ⇒ Object
228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 |
# File 'lib/warbler/config.rb', line 228 def context_params require 'cgi' params = {} @table.each do |k,v| case v when WebxmlOpenStruct nested_params = v.context_params nested_params.each do |nk,nv| params["#{CGI::escapeHTML(k.to_s)}.#{nk}"] = nv end else params[CGI::escapeHTML(k.to_s)] = CGI::escapeHTML(v.to_s) end end params.delete_if {|k,v| ['ignored', *ignored].include?(k.to_s) } params end |
#servlet_context_listener ⇒ Object
207 208 209 210 211 212 213 214 215 216 |
# File 'lib/warbler/config.rb', line 207 def servlet_context_listener case self.booter when :rack "org.jruby.rack.RackServletContextListener" when :merb "org.jruby.rack.merb.MerbServletContextListener" else # :rails, default "org.jruby.rack.rails.RailsServletContextListener" end end |
#to_s ⇒ Object
246 247 248 |
# File 'lib/warbler/config.rb', line 246 def to_s "No value for '#@key' found" end |