Module: Liminal::Openapi
- Defined in:
- lib/liminal/openapi.rb,
lib/liminal/openapi/error.rb,
lib/liminal/openapi/version.rb,
lib/liminal/openapi/verification.rb,
lib/liminal/openapi/schema_resolver.rb,
lib/liminal/openapi/contract_resolver.rb,
lib/liminal/openapi/example_overrides.rb,
lib/liminal/openapi/components_builder.rb,
lib/liminal/openapi/document_validator.rb,
lib/liminal/openapi/verification/error.rb,
lib/liminal/openapi/component_reference.rb,
lib/liminal/openapi/verification/runner.rb,
lib/liminal/openapi/verification/document.rb,
lib/liminal/openapi/verification/normalizer.rb,
lib/liminal/openapi/verification/structural_difference.rb,
lib/liminal/openapi/verification/normalizer/operation_example_stripper.rb
Defined Under Namespace
Modules: ComponentReference, ContractResolver, DocumentValidator, ExampleOverrides, SchemaResolver, Verification
Classes: CompileOptionsForPrecompiledSchema, ComponentsBuilder, Error, InvalidComponentName, InvalidContractSource, InvalidDocument, InvalidOverrideFragment, InvalidPrecompiledSchema, InvalidSchemaOptions, InvalidSchemaSource, UnsupportedOpenapiVersion
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.contract(contract, **compile_options) ⇒ Object
28
29
30
|
# File 'lib/liminal/openapi.rb', line 28
def contract(contract, **compile_options)
ContractResolver.call(contract, **compile_options)
end
|
.enrich(document) {|ComponentsBuilder.new(document)| ... } ⇒ Object
50
51
52
53
|
# File 'lib/liminal/openapi.rb', line 50
def enrich(document)
yield ComponentsBuilder.new(document)
document
end
|
.register(document:, name:, schema:, **compile_options) ⇒ Object
36
37
38
39
40
41
|
# File 'lib/liminal/openapi.rb', line 36
def register(document:, name:, schema:, **compile_options)
component_name = ComponentReference.display_name(name)
DocumentValidator.call(document, component_name: component_name)
resolved_schema = self.schema(schema, **compile_options)
register_resolved(document, component_name, resolved_schema)
end
|
.register_contract(document:, name:, contract:, **compile_options) ⇒ Object
43
44
45
46
47
48
|
# File 'lib/liminal/openapi.rb', line 43
def register_contract(document:, name:, contract:, **compile_options)
component_name = ComponentReference.display_name(name)
DocumentValidator.call(document, component_name: component_name)
resolved_schema = self.contract(contract, **compile_options)
register_resolved(document, component_name, resolved_schema)
end
|
.schema(source, examples: nil, **compile_options) ⇒ Object
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/liminal/openapi.rb', line 17
def schema(source, examples: nil, **compile_options)
if !examples.nil? || compile_options.key?(:overrides)
overrides = compile_options.key?(:overrides) ? compile_options.delete(:overrides) : {}
compile_options[:overrides] = ExampleOverrides.call(
examples: examples.nil? ? {} : examples,
overrides: overrides
)
end
SchemaResolver.call(source, **compile_options)
end
|