class SoberSwag::Reporting::Input::Enum
Specify that a value must be included in a list of possible values.
Attributes
input[R]
@return [Interface] base type
values[R]
@return [Array<String>] acceptable types
Public Class Methods
new(input, values)
click to toggle source
# File lib/sober_swag/reporting/input/enum.rb, line 7 def initialize(input, values) @input = input @values = values end
Public Instance Methods
call(value)
click to toggle source
# File lib/sober_swag/reporting/input/enum.rb, line 20 def call(value) inner = input.call(value) return inner if inner.is_a?(Report::Base) return Report::Value.new(['was not an acceptable enum member']) unless values.include?(inner) inner end
swagger_schema()
click to toggle source
# File lib/sober_swag/reporting/input/enum.rb, line 30 def swagger_schema schema, found = input.swagger_schema merged = if schema.key?(:$ref) { allOf: [schema] } else schema end.merge(enum: values) [merged, found] end