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 84
84:       def initialize(hash={})
85:         hash.each { |k, v| self[k] = v }
86:       end

Public Instance methods

[Source]

    # File lib/rack/utils.rb, line 92
92:       def [](k)
93:         super capitalize(k)
94:       end

[Source]

    # File lib/rack/utils.rb, line 96
96:       def []=(k, v)
97:         super capitalize(k), v
98:       end

[Source]

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

[Source]

    # File lib/rack/utils.rb, line 88
88:       def to_hash
89:         {}.replace(self)
90:       end

[Validate]