class SoberSwag::Reporting::Output::Enum
Models outputting an enum.
Attributes
output[R]
@return [Interface]
values[R]
@return [Array]
Public Class Methods
new(output, values)
click to toggle source
# File lib/sober_swag/reporting/output/enum.rb, line 7 def initialize(output, values) @output = output @values = values end
Public Instance Methods
call(value)
click to toggle source
# File lib/sober_swag/reporting/output/enum.rb, line 20 def call(value) output.call(value) end
serialize_report(value)
click to toggle source
# File lib/sober_swag/reporting/output/enum.rb, line 24 def serialize_report(value) rep = output.serialize_report(value) return rep if rep.is_a?(Report::Base) return Report::Value.new(['was not an acceptable enum member']) unless values.include?(rep) rep end
swagger_schema()
click to toggle source
# File lib/sober_swag/reporting/output/enum.rb, line 34 def swagger_schema schema, found = output.swagger_schema merged = if schema.key?(:$ref) { allOf: [schema] } else schema end.merge(enum: values) [merged, found] end