Module: OpenapiRspec::ModuleHelpers

Defined in:
lib/openapi_rspec/module_helpers.rb

Instance Method Summary collapse

Instance Method Details

#delete(*args, &block) ⇒ Object



39
40
41
# File 'lib/openapi_rspec/module_helpers.rb', line 39

def delete(*args, &block)
  process(:delete, *args, &block)
end

#get(*args, &block) ⇒ Object



27
28
29
# File 'lib/openapi_rspec/module_helpers.rb', line 27

def get(*args, &block)
  process(:get, *args, &block)
end

#head(*args, &block) ⇒ Object



43
44
45
# File 'lib/openapi_rspec/module_helpers.rb', line 43

def head(*args, &block)
  process(:head, *args, &block)
end

#headers(&block) ⇒ Object



19
20
21
# File 'lib/openapi_rspec/module_helpers.rb', line 19

def headers(&block)
  let(:openapi_rspec_headers, &block)
end

#media_type(&block) ⇒ Object



15
16
17
# File 'lib/openapi_rspec/module_helpers.rb', line 15

def media_type(&block)
  let(:openapi_rspec_media_type, &block)
end

#params(&block) ⇒ Object



11
12
13
# File 'lib/openapi_rspec/module_helpers.rb', line 11

def params(&block)
  let(:openapi_rspec_params, &block)
end

#patch(*args, &block) ⇒ Object



47
48
49
# File 'lib/openapi_rspec/module_helpers.rb', line 47

def patch(*args, &block)
  process(:patch, *args, &block)
end

#post(*args, &block) ⇒ Object



31
32
33
# File 'lib/openapi_rspec/module_helpers.rb', line 31

def post(*args, &block)
  process(:post, *args, &block)
end

#process(method, uri) ⇒ Object



51
52
53
54
55
56
57
58
59
# File 'lib/openapi_rspec/module_helpers.rb', line 51

def process(method, uri)
  [:openapi_rspec] = {
    uri: uri,
    method: method
  }
  context "#{method.to_s.upcase} #{uri}" do
    yield if block_given?
  end
end

#put(*args, &block) ⇒ Object



35
36
37
# File 'lib/openapi_rspec/module_helpers.rb', line 35

def put(*args, &block)
  process(:put, *args, &block)
end

#query(&block) ⇒ Object



23
24
25
# File 'lib/openapi_rspec/module_helpers.rb', line 23

def query(&block)
  let(:openapi_rspec_query, &block)
end

#validate_code(code, &block) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/openapi_rspec/module_helpers.rb', line 3

def validate_code(code, &block)
  specify do |example|
    validator = RequestValidator.new(**request_params(example.[:openapi_rspec]), code: code)
    expect(subject).to validator
    instance_exec validator, &block if block_given?
  end
end