Sha256: 301657cec60a8c331be8f9cb31a27d0020a3e080835284a1c3dfe0a8e2c9b31c

Contents?: true

Size: 508 Bytes

Versions: 1

Compression:

Stored size: 508 Bytes

Contents

# A case-normalizing Hash, adjusting on [] and []=.
# Shamelessly swiped from Rack
module Resourceful
  class Header < Hash
    def initialize(hash={})
      hash.each { |k, v| self[k] = v }
    end

    def to_hash
      {}.replace(self)
    end

    def [](k)
      super capitalize(k)
    end

    def []=(k, v)
      super capitalize(k), v
    end

    def has_key?(k)
      super capitalize(k)
    end

    def capitalize(k)
      k.to_s.downcase.gsub(/^.|[-_\s]./) { |x| x.upcase }
    end
  end
end


Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
resourceful-0.2 lib/resourceful/header.rb