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, params) ⇒ Exchange

Returns a new instance of Exchange.



12
13
14
15
16
# File 'lib/ferrum/network/exchange.rb', line 12

def initialize(page, params)
  @page = page
  @response = @error = nil
  build_request(params)
end

Instance Attribute Details

#errorObject (readonly)

Returns the value of attribute error.



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

def error
  @error
end

#requestObject (readonly)

Returns the value of attribute request.



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

def request
  @request
end

#responseObject (readonly)

Returns the value of attribute response.



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

def response
  @response
end

Instance Method Details

#blocked?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/ferrum/network/exchange.rb', line 35

def blocked?
  response.nil?
end

#build_error(params) ⇒ Object



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

def build_error(params)
  @error = Network::Error.new(params)
end

#build_request(params) ⇒ Object



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

def build_request(params)
  @request = Network::Request.new(params)
end

#build_response(params) ⇒ Object



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

def build_response(params)
  @response = Network::Response.new(@page, params)
end

#inspectObject



43
44
45
# File 'lib/ferrum/network/exchange.rb', line 43

def inspect
  %(#<#{self.class} @id=#{@id.inspect} @request=#{@request.inspect} @response=#{@response.inspect} @error=#{@error.inspect}>)
end

Returns:

  • (Boolean)


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

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

#to_aObject



39
40
41
# File 'lib/ferrum/network/exchange.rb', line 39

def to_a
  [request, response, error]
end