Class: Apidiesel::Handlers::MockResponse::RequestHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/apidiesel/handlers/mock_response.rb

Instance Method Summary collapse

Instance Method Details

#run(request, api_config) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/apidiesel/handlers/mock_response.rb', line 5

def run(request, api_config)
  action = request.action

  return request unless action.respond_to?(:mock_response) && action.mock_response

  file_name = action.mock_response[:file]
  parser    = action.mock_response[:parser]
  file      = File.read(file_name)

  request.response_body = if parser
    parser.call(file)

  elsif file_name.ends_with?('.json')
    JSON.parse(file)

  elsif file_name.ends_with?('.xml')
    Hash.from_xml(file)

  else
    file
  end

  request
end