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.

[View source]

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.

[View source]

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

[View source]

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

[View source]

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

[View source]

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)
[View source]

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)
[View source]

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.

[View source]

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

[View source]

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.

[View source]

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)
[View source]

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.

[View source]

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.

[View source]

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

def size
  @headers.size
end

#to_hashObject

Returns the hash object.

[View source]

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.

[View source]

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)
[View source]

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.

[View source]

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

def values
  @headers.values
end