class SoberSwag::Reporting::Output::Object::Property

Definitions for a specific property of an object.

Attributes

description[R]

@return [String,nil]

output[R]

@return [Interface]

Public Class Methods

new(output, description: nil) click to toggle source
# File lib/sober_swag/reporting/output/object/property.rb, line 8
def initialize(output, description: nil)
  @output = output
  @description = description
end

Public Instance Methods

add_description(dir) click to toggle source
# File lib/sober_swag/reporting/output/object/property.rb, line 34
def add_description(dir)
  if dir.key?(:$ref)
    { allOf: [dir] }
  else
    dir
  end.merge(description: description)
end
call(item, view: :base) click to toggle source
# File lib/sober_swag/reporting/output/object/property.rb, line 20
def call(item, view: :base)
  output.call(item, view: view)
end
property_schema() click to toggle source
# File lib/sober_swag/reporting/output/object/property.rb, line 24
def property_schema
  direct, refined = output.swagger_schema

  if description
    [add_description(direct), refined]
  else
    [direct, refined]
  end
end