Class: Fakeit::Openapi::Operation

Inherits:
Object
  • Object
show all
Defined in:
lib/fakeit/openapi/operation.rb

Instance Method Summary collapse

Constructor Details

#initialize(request_operation, app_options) ⇒ Operation

Returns a new instance of Operation.



4
5
6
7
8
# File 'lib/fakeit/openapi/operation.rb', line 4

def initialize(request_operation, app_options)
  @request_operation = request_operation
  @validator = Fakeit::Validation::Validator.new(request_operation)
  @app_options = app_options
end

Instance Method Details

#bodyObject



21
22
23
24
25
26
27
# File 'lib/fakeit/openapi/operation.rb', line 21

def body
  response_schema
    &.schema
    &.to_example(example_options)
    &.then(&JSON.method(:generate))
    .to_s
end

#headersObject



14
15
16
17
18
19
# File 'lib/fakeit/openapi/operation.rb', line 14

def headers
  response_headers
    .to_h
    .transform_values { _1.schema.to_example(example_options) }
    .tap { _1['Content-Type'] = response_content_type if response_content_type }
end

#statusObject



10
11
12
# File 'lib/fakeit/openapi/operation.rb', line 10

def status
  response.first.to_i
end

#validate(**request_parts) ⇒ Object



29
30
31
# File 'lib/fakeit/openapi/operation.rb', line 29

def validate(**request_parts)
  @validator.validate(**request_parts)
end