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

Public Instance methods

[Source]

    # File lib/rack/utils.rb, line 71
71:       def [](k)
72:         super capitalize(k)
73:       end

[Source]

    # File lib/rack/utils.rb, line 75
75:       def []=(k, v)
76:         super capitalize(k), v
77:       end

[Source]

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

[Source]

    # File lib/rack/utils.rb, line 67
67:       def to_hash
68:         {}.replace(self)
69:       end

[Validate]