module Swagalicious::ExampleGroupHelpers
Public Instance Methods
description(value=nil)
click to toggle source
NOTE: 'description' requires special treatment because ExampleGroup already defines a method with that name. Provide an override that supports the existing functionality while also setting the appropriate metadata if applicable
Calls superclass method
# File lib/swagalicious/example_group_helpers.rb, line 24 def description(value=nil) return super() if value.nil? metadata[:operation][:description] = value end
examples(example = nil)
click to toggle source
NOTE: Similar to 'description', 'examples' need to handle the case when being invoked with no params to avoid overriding 'examples' method of rspec-core ExampleGroup
Calls superclass method
# File lib/swagalicious/example_group_helpers.rb, line 67 def examples(example = nil) return super() if example.nil? metadata[:response][:examples] = example end
header(name, attributes)
click to toggle source
# File lib/swagalicious/example_group_helpers.rb, line 59 def header(name, attributes) metadata[:response][:headers] ||= {} metadata[:response][:headers][name] = attributes end
parameter(attributes)
click to toggle source
# File lib/swagalicious/example_group_helpers.rb, line 36 def parameter(attributes) if attributes[:in] && attributes[:in].to_sym == :path attributes[:required] = true end if metadata.has_key?(:operation) metadata[:operation][:parameters] ||= [] metadata[:operation][:parameters] << attributes else metadata[:path_item][:parameters] ||= [] metadata[:path_item][:parameters] << attributes end end
path(template, metadata={}, &block)
click to toggle source
# File lib/swagalicious/example_group_helpers.rb, line 3 def path(template, metadata={}, &block) metadata[:path_item] = { template: template } describe(template, metadata, &block) end
response(code, description, metadata={}, &block)
click to toggle source
# File lib/swagalicious/example_group_helpers.rb, line 50 def response(code, description, metadata={}, &block) metadata[:response] = { code: code, description: description } context(description, metadata, &block) end
schema(value)
click to toggle source
# File lib/swagalicious/example_group_helpers.rb, line 55 def schema(value) metadata[:response][:schema] = value end
validate_schema!(mocked: false, mock_name: nil) { || ... }
click to toggle source
# File lib/swagalicious/example_group_helpers.rb, line 72 def validate_schema!(mocked: false, mock_name: nil) it "returns a #{metadata[:response][:code]} response" do |example| yield if block_given? submit_request(example.metadata, mocked: mocked, mock_name: mock_name) end end