Class: Rack::Utils::HeaderHash
- Defined in:
- lib/action_controller/vendor/rack-1.0/rack/utils.rb
Overview
A case-insensitive Hash that preserves the original case of a header when set.
Instance Method Summary collapse
- #[](k) ⇒ Object
- #[]=(k, v) ⇒ Object
- #delete(k) ⇒ Object
- #include?(k) ⇒ Boolean (also: #has_key?, #member?, #key?)
-
#initialize(hash = {}) ⇒ HeaderHash
constructor
A new instance of HeaderHash.
- #merge(other) ⇒ Object
- #merge!(other) ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(hash = {}) ⇒ HeaderHash
Returns a new instance of HeaderHash.
189 190 191 192 |
# File 'lib/action_controller/vendor/rack-1.0/rack/utils.rb', line 189 def initialize(hash={}) @names = {} hash.each { |k, v| self[k] = v } end |
Instance Method Details
#[](k) ⇒ Object
205 206 207 |
# File 'lib/action_controller/vendor/rack-1.0/rack/utils.rb', line 205 def [](k) super @names[k.downcase] end |
#[]=(k, v) ⇒ Object
209 210 211 212 213 |
# File 'lib/action_controller/vendor/rack-1.0/rack/utils.rb', line 209 def []=(k, v) delete k @names[k.downcase] = k super k, v end |
#delete(k) ⇒ Object
215 216 217 |
# File 'lib/action_controller/vendor/rack-1.0/rack/utils.rb', line 215 def delete(k) super @names.delete(k.downcase) end |
#include?(k) ⇒ Boolean Also known as: has_key?, member?, key?
219 220 221 |
# File 'lib/action_controller/vendor/rack-1.0/rack/utils.rb', line 219 def include?(k) @names.has_key? k.downcase end |
#merge(other) ⇒ Object
232 233 234 235 |
# File 'lib/action_controller/vendor/rack-1.0/rack/utils.rb', line 232 def merge(other) hash = dup hash.merge! other end |
#merge!(other) ⇒ Object
227 228 229 230 |
# File 'lib/action_controller/vendor/rack-1.0/rack/utils.rb', line 227 def merge!(other) other.each { |k, v| self[k] = v } self end |
#to_hash ⇒ Object
194 195 196 197 198 199 200 201 202 203 |
# File 'lib/action_controller/vendor/rack-1.0/rack/utils.rb', line 194 def to_hash inject({}) do |hash, (k,v)| if v.respond_to? :to_ary hash[k] = v.to_ary.join("\n") else hash[k] = v end hash end end |