Class: OCI::ResponseHeaders

Inherits:
Object
  • Object
show all
Defined in:
lib/oci/response_headers.rb

Overview

A readonly, case-insensitive http response header collection

Instance Method Summary collapse

Constructor Details

#initialize(headers) ⇒ ResponseHeaders

Initialize the readonly and case-insensitive http response headers with hash object.

Parameters:

  • headers (Hash)

    the hash object contains http response headers.



9
10
11
12
13
14
15
16
# File 'lib/oci/response_headers.rb', line 9

def initialize(headers)
  @headers = {}
  return if headers.nil?
  headers.each do |key, value|
    key = key.downcase if key.is_a? String
    @headers[key] = value.is_a?(Array) && value.length == 1 ? value[0] : value
  end
end

Instance Method Details

#[](key) ⇒ Object

Element Reference-Retrieves the value object corresponding to the key object. If not found, returns nil.

Parameters:

  • key (Object)

    the key object. It is case-insensitive if it is a String object.



22
23
24
25
# File 'lib/oci/response_headers.rb', line 22

def [](key)
  key = key.downcase if key.is_a? String
  @headers[key] || nil
end

#each(&block) ⇒ Object Also known as: each_pair

Calls block once for each key in hsh, passing the key-value pair as parameters. If no block is given, an enumerator is returned instead.

Parameters:

  • block (Block)

    the callback block



31
32
33
# File 'lib/oci/response_headers.rb', line 31

def each(&block)
  @headers.each(&block)
end

#each_key(&block) ⇒ Object

Calls block once for each key in hsh, passing the key as a parameter. If no block is given, an enumerator is returned instead.

Parameters:

  • block (Block)

    the callback block



39
40
41
# File 'lib/oci/response_headers.rb', line 39

def each_key(&block)
  @headers.each_key(&block)
end

#each_value(&block) ⇒ Object

Calls block once for each key in hsh, passing the value as a parameter. If no block is given, an enumerator is returned instead.

Parameters:

  • block (Block)

    the callback block



50
51
52
# File 'lib/oci/response_headers.rb', line 50

def each_value(&block)
  @headers.each_value(&block)
end

#empty?Boolean

Returns true if hsh contains no key-value pairs.

Returns:

  • (Boolean)


55
56
57
# File 'lib/oci/response_headers.rb', line 55

def empty?
  @headers.empty?
end

#eql?(other) ⇒ Boolean

Returns true if hash and other are both hashes with the same content.

Returns:

  • (Boolean)


60
61
62
# File 'lib/oci/response_headers.rb', line 60

def eql?(other)
  @headers.eql?(other)
end

#fetch(key, *args, &block) ⇒ Object

Returns a value from the hash for the given key. If the key cannot be found, there are several options: With no other arguments, it will raise an KeyError exception; if default is given, then that will be returned; if the optional code block is specified, then that will be run and its result returned.



67
68
69
70
# File 'lib/oci/response_headers.rb', line 67

def fetch(key, *args, &block)
  key = key.downcase if key.is_a? String
  @headers.fetch(key, *args, &block)
end

#hashObject

Compute a hash-code for this hash. Two hashes with the same content will have the same hash code (and will compare using eql?).



95
96
97
# File 'lib/oci/response_headers.rb', line 95

def hash
  @headers.hash
end

#key(value) ⇒ Object

Returns the key of an occurrence of a given value. If the value is not found, returns nil.

Parameters:

  • value (Object)

    to check.



113
114
115
# File 'lib/oci/response_headers.rb', line 113

def key(value)
  @headers.key(value)
end

#key?(key) ⇒ Boolean Also known as: has_key?, include?, member?

Returns true if the given key is present in hsh.

Parameters:

  • key (Object)

    to check. It is case-insensitive if it is a String object.

Returns:

  • (Boolean)


75
76
77
78
# File 'lib/oci/response_headers.rb', line 75

def key?(key)
  key = key.downcase if key.is_a? String
  @headers.key?(key)
end

#keysObject

Returns a new array populated with the keys from this hash.



118
119
120
# File 'lib/oci/response_headers.rb', line 118

def keys
  @headers.keys
end

#sizeObject Also known as: length

Returns the number of key-value pairs in the hash.



123
124
125
# File 'lib/oci/response_headers.rb', line 123

def size
  @headers.size
end

#to_hashObject

Returns the hash object.



134
135
136
# File 'lib/oci/response_headers.rb', line 134

def to_hash
  @headers
end

#to_sObject Also known as: inspect

Return the contents of this hash as a string.



103
104
105
# File 'lib/oci/response_headers.rb', line 103

def to_s
  @headers.to_s
end

#value?(value) ⇒ Boolean Also known as: has_value?

Returns true if the given value is present for some key in hsh.

Parameters:

  • value (Object)

    to check.

Returns:

  • (Boolean)


86
87
88
# File 'lib/oci/response_headers.rb', line 86

def value?(value)
  @headers.value?(value)
end

#valuesObject

Returns a new array populated with the values from hsh.



139
140
141
# File 'lib/oci/response_headers.rb', line 139

def values
  @headers.values
end