Class Rack::Utils::HeaderHash
In: lib/rack/utils.rb
Parent: Hash

A case-normalizing Hash, adjusting on [] and []=.

Methods

[]   []=   capitalize   new   to_hash  

Public Class methods

[Source]

     # File lib/rack/utils.rb, line 160
160:       def initialize(hash={})
161:         hash.each { |k, v| self[k] = v }
162:       end

Public Instance methods

[Source]

     # File lib/rack/utils.rb, line 168
168:       def [](k)
169:         super capitalize(k)
170:       end

[Source]

     # File lib/rack/utils.rb, line 172
172:       def []=(k, v)
173:         super capitalize(k), v
174:       end

[Source]

     # File lib/rack/utils.rb, line 176
176:       def capitalize(k)
177:         k.to_s.downcase.gsub(/^.|[-_\s]./) { |x| x.upcase }
178:       end

[Source]

     # File lib/rack/utils.rb, line 164
164:       def to_hash
165:         {}.replace(self)
166:       end

[Validate]