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.
218 219 220 221 |
# File 'lib/warbler/config.rb', line 218 def initialize(key = 'webxml') @key = key @table = Hash.new {|h,k| h[k] = WebxmlOpenStruct.new(k) } end |
Instance Method Details
#[](key) ⇒ Object
234 235 236 237 |
# File 'lib/warbler/config.rb', line 234 def [](key) new_ostruct_member(key) send(key) end |
#[]=(key, value) ⇒ Object
239 240 241 242 |
# File 'lib/warbler/config.rb', line 239 def []=(key, value) new_ostruct_member(key) send("#{key}=", value) end |
#context_params ⇒ Object
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
# File 'lib/warbler/config.rb', line 244 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
223 224 225 226 227 228 229 230 231 232 |
# File 'lib/warbler/config.rb', line 223 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
262 263 264 |
# File 'lib/warbler/config.rb', line 262 def to_s "No value for '#@key' found" end |