Class: Ferrum::Network::Exchange

Inherits:
Object
  • Object
show all
Defined in:
lib/ferrum/network/exchange.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(page, id) ⇒ Exchange

Returns a new instance of Exchange.



10
11
12
13
14
# File 'lib/ferrum/network/exchange.rb', line 10

def initialize(page, id)
  @page, @id = page, id
  @intercepted_request = nil
  @request = @response = @error = nil
end

Instance Attribute Details

#errorObject

Returns the value of attribute error.



8
9
10
# File 'lib/ferrum/network/exchange.rb', line 8

def error
  @error
end

#idObject (readonly)

Returns the value of attribute id.



6
7
8
# File 'lib/ferrum/network/exchange.rb', line 6

def id
  @id
end

#intercepted_requestObject

Returns the value of attribute intercepted_request.



7
8
9
# File 'lib/ferrum/network/exchange.rb', line 7

def intercepted_request
  @intercepted_request
end

#requestObject

Returns the value of attribute request.



8
9
10
# File 'lib/ferrum/network/exchange.rb', line 8

def request
  @request
end

#responseObject

Returns the value of attribute response.



8
9
10
# File 'lib/ferrum/network/exchange.rb', line 8

def response
  @response
end

Instance Method Details

#blank?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/ferrum/network/exchange.rb', line 21

def blank?
  !request
end

#blocked?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/ferrum/network/exchange.rb', line 25

def blocked?
  intercepted_request && intercepted_request.status?(:aborted)
end

#finished?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/ferrum/network/exchange.rb', line 29

def finished?
  blocked? || response || error
end

#inspectObject



41
42
43
44
45
46
47
48
# File 'lib/ferrum/network/exchange.rb', line 41

def inspect
  "#<#{self.class} "\
  "@id=#{@id.inspect} "\
  "@intercepted_request=#{@intercepted_request.inspect} "\
  "@request=#{@request.inspect} "\
  "@response=#{@response.inspect} "\
  "@error=#{@error.inspect}>"
end

Returns:

  • (Boolean)


16
17
18
19
# File 'lib/ferrum/network/exchange.rb', line 16

def navigation_request?(frame_id)
  request.type?(:document) &&
    request.frame_id == frame_id
end

#pending?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/ferrum/network/exchange.rb', line 33

def pending?
  !finished?
end

#to_aObject



37
38
39
# File 'lib/ferrum/network/exchange.rb', line 37

def to_a
  [request, response, error]
end