class Swagger::Blocks::Nodes::SchemaNode

Public Instance Methods

array_schema(serializer) click to toggle source
# File lib/api_schema/patches/schema_node.rb, line 33
def array_schema(serializer)
  requires serializer.required_fields
  serializer.fields.each do |f|
    property f.name do
      key :type, f.type
      key :format, f.format if f.format
      key :description, f.description
     key :enum, f.allowed_values unless f.allowed_values.empty?
    end
  end
  serializer.references.each do |r|
    property_schema_for(r)
  end
end
property_schema_for(serializer) click to toggle source
# File lib/api_schema/patches/schema_node.rb, line 48
def property_schema_for(serializer)
  property serializer.name do
    key :type, serializer.type
    key :description, serializer.description
    requires serializer.required_fields
    serializer.fields.each do |f|
      property f.name do
        key :type, f.type
        key :format, f.format if f.format
        key :description, f.description
        key :enum, f.allowed_values unless f.allowed_values.empty?
      end
    end
    serializer.references.each do |r|
      property_schema_for(r)
    end
  end
end
requires(fields) click to toggle source
# File lib/api_schema/patches/schema_node.rb, line 5
def requires(fields)
  key :required, fields
end
schema_for(serializer) click to toggle source
# File lib/api_schema/patches/schema_node.rb, line 9
def schema_for(serializer)
  key :title, serializer.id.to_s.humanize
  serializer.type == :array ? array_schema(serializer) : single_schema(serializer)
end
single_schema(serializer) click to toggle source
# File lib/api_schema/patches/schema_node.rb, line 14
def single_schema(serializer)
  key :required, serializer.name
  property serializer.name do
    key :type, :object
    requires serializer.required_fields
    serializer.fields.each do |f|
      property f.name do
        key :type, f.type
        key :format, f.format if f.format
        key :description, f.description
        key :enum, f.allowed_values unless f.allowed_values.empty?
      end
    end
    serializer.references.each do |r|
      property_schema_for(r) #schema_for from PropertyNode class
    end
  end
end