class SoberSwag::Reporting::Input::Object::Property
Describe a single property key in an object.
Attributes
description[R]
@return [String, nil] description
value[R]
@return [SoberSwag::Reporting::Input::Interface] value type
Public Class Methods
new(value, required:, description: '')
click to toggle source
# File lib/sober_swag/reporting/input/object/property.rb, line 8 def initialize(value, required:, description: '') @value = value @required = required @description = description end
Public Instance Methods
property_schema()
click to toggle source
# File lib/sober_swag/reporting/input/object/property.rb, line 26 def property_schema direct, refined = value.swagger_schema if description [add_description(direct), refined] else [direct, refined] end end
required?()
click to toggle source
# File lib/sober_swag/reporting/input/object/property.rb, line 18 def required? @required end
Private Instance Methods
add_description(dir)
click to toggle source
# File lib/sober_swag/reporting/input/object/property.rb, line 38 def add_description(dir) t = if dir.key?(:$ref) # workaround: we have to do this if we want to allow # descriptions in reference types { allOf: [dir] } else dir end t.merge(description: description) end