Class: Avocado::Adapters::BaseAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/avocado/adapters/base_adapter.rb

Direct Known Subclasses

CucumberAdapter, MinitestAdapter, RSpecAdapter

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(spec, request, response) ⇒ BaseAdapter

Returns a new instance of BaseAdapter.



6
7
8
9
10
# File 'lib/avocado/adapters/base_adapter.rb', line 6

def initialize(spec, request, response)
  @spec = spec
  @request = request
  @response = response
end

Instance Attribute Details

#requestObject

Returns the value of attribute request.



4
5
6
# File 'lib/avocado/adapters/base_adapter.rb', line 4

def request
  @request
end

#responseObject

Returns the value of attribute response.



4
5
6
# File 'lib/avocado/adapters/base_adapter.rb', line 4

def response
  @response
end

#specObject

Returns the value of attribute spec.



4
5
6
# File 'lib/avocado/adapters/base_adapter.rb', line 4

def spec
  @spec
end

Instance Method Details

#descriptionObject

Raises:

  • (NotImplementedError)


12
13
14
# File 'lib/avocado/adapters/base_adapter.rb', line 12

def description
  raise NotImplementedError, 'Adapter must implement #description!'
end

#to_hObject



21
22
23
24
25
26
27
28
# File 'lib/avocado/adapters/base_adapter.rb', line 21

def to_h
  {
    description: description,
    resource: Avocado::Serializers::ResourceSerializer.new(request).to_h,
    request: Avocado::Serializers::RequestSerializer.new(request).to_h,
    response: Avocado::Serializers::ResponseSerializer.new(response).to_h
  }
end

#upload?(&block) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
# File 'lib/avocado/adapters/base_adapter.rb', line 16

def upload?(&block)
  block ||= proc { true }
  request && response && !ajax? && document_if? && block.call
end