Class: Committee::Test::ExceptParameter::HeaderHandler

Inherits:
Object
  • Object
show all
Includes:
StringDummyLookup
Defined in:
lib/committee/test/except_parameter.rb

Overview

Handler for request headers

Instance Method Summary collapse

Constructor Details

#initialize(request, committee_options) ⇒ HeaderHandler

Returns a new instance of HeaderHandler.

Parameters:

  • request (Rack::Request)

    The request object

  • committee_options (Hash)

    Committee options hash



169
170
171
172
173
# File 'lib/committee/test/except_parameter.rb', line 169

def initialize(request, committee_options)
  @request = request
  @committee_options = committee_options
  @original_values = {}
end

Instance Method Details

#apply(param_names) ⇒ void

This method returns an undefined value.

Apply dummy values to header parameters

Parameters:

  • param_names (Array<String, Symbol>)

    Header names to except



178
179
180
181
182
183
184
# File 'lib/committee/test/except_parameter.rb', line 178

def apply(param_names)
  param_names.each do |param_name|
    key = rack_header_key(param_name.to_s)
    @original_values[key] = @request.env[key]
    @request.env[key] ||= string_dummy_for_schema(param_name.to_s, find_parameter_schema(param_name.to_s, 'header'))
  end
end

#restorevoid

This method returns an undefined value.

Restore original header values



188
189
190
191
192
# File 'lib/committee/test/except_parameter.rb', line 188

def restore
  @original_values.each do |key, value|
    value.nil? ? @request.env.delete(key) : @request.env[key] = value
  end
end