Sha256: 733fd34cf88055e2073c8224a85cdbd949d7bff51a872613add0fe75889777f9

Contents?: true

Size: 743 Bytes

Versions: 1

Compression:

Stored size: 743 Bytes

Contents

module OasParser
  class Property < AbstractAttribute
    raw_keys :name, :description, :type, :format, :enum, :minimum, :maximum,
             :example, :default, :items

    attr_accessor :owner, :name, :schema, :raw

    def initialize(owner, schema, name, raw)
      @owner = owner
      @name = name
      @schema = schema
      @raw = raw
    end

    def required
      return true if raw['required']
      return false unless schema['required']
      schema['required'].include? name
    end

    def convert_property_schema_to_properties(schema)
      schema = schema['properties'] if schema['properties']
      schema.map do |name, definition|
        OasParser::Property.new(self, raw, name, definition)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
oas_parser-0.8.0 lib/oas_parser/property.rb