Class: Capybara::Apparition::ChromeClient::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/capybara/apparition/driver/response.rb

Instance Method Summary collapse

Constructor Details

#initialize(client, *msg_ids, send_time: nil) ⇒ Response

Returns a new instance of Response.



6
7
8
9
10
# File 'lib/capybara/apparition/driver/response.rb', line 6

def initialize(client, *msg_ids, send_time: nil)
  @send_time = send_time
  @msg_ids = msg_ids
  @client = client
end

Instance Method Details

#[](key) ⇒ Object



29
30
31
# File 'lib/capybara/apparition/driver/response.rb', line 29

def [](key)
  result[key]
end

#discard_resultObject



23
24
25
26
27
# File 'lib/capybara/apparition/driver/response.rb', line 23

def discard_result
  @msg_ids.each { |id| @client.add_async_id id }
  @result_time = Time.now
  nil
end

#resultObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/capybara/apparition/driver/response.rb', line 12

def result
  response = @msg_ids.map do |id|
    resp = @client.send(:wait_for_msg_response, id)
    handle_error(resp['error']) if resp['error']
    resp
  end.last
  puts "Processed msg: #{@msg_ids.last} in #{Time.now - @send_time} seconds" if ENV['DEBUG'] == 'V'

  response['result']
end