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.



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

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.



24
25
26
27
# File 'lib/oci/response_headers.rb', line 24

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



33
34
35
# File 'lib/oci/response_headers.rb', line 33

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



41
42
43
# File 'lib/oci/response_headers.rb', line 41

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



52
53
54
# File 'lib/oci/response_headers.rb', line 52

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

#empty?Boolean

Returns true if hsh contains no key-value pairs.

Returns:

  • (Boolean)


57
58
59
# File 'lib/oci/response_headers.rb', line 57

def empty?
  @headers.empty?
end

#eql?(other) ⇒ Boolean

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

Returns:

  • (Boolean)


62
63
64
# File 'lib/oci/response_headers.rb', line 62

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.



69
70
71
72
# File 'lib/oci/response_headers.rb', line 69

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?).



97
98
99
# File 'lib/oci/response_headers.rb', line 97

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.



115
116
117
# File 'lib/oci/response_headers.rb', line 115

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)


77
78
79
80
# File 'lib/oci/response_headers.rb', line 77

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.



120
121
122
# File 'lib/oci/response_headers.rb', line 120

def keys
  @headers.keys
end

#sizeObject Also known as: length

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



125
126
127
# File 'lib/oci/response_headers.rb', line 125

def size
  @headers.size
end

#to_hashObject

Returns the hash object.



136
137
138
# File 'lib/oci/response_headers.rb', line 136

def to_hash
  @headers
end

#to_sObject Also known as: inspect

Return the contents of this hash as a string.



105
106
107
# File 'lib/oci/response_headers.rb', line 105

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)


88
89
90
# File 'lib/oci/response_headers.rb', line 88

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

#valuesObject

Returns a new array populated with the values from hsh.



141
142
143
# File 'lib/oci/response_headers.rb', line 141

def values
  @headers.values
end