Sha256: d5b91a1c9268b51a881776bc979938f9849f27a4ae2785e6b4eda280cd8f6108
Contents?: true
Size: 956 Bytes
Versions: 3
Compression:
Stored size: 956 Bytes
Contents
require_relative '../swagger/definition' require_relative 'property' module Swaggard module Parsers class Models def run(yard_objects) definitions = {} yard_objects.each do |yard_object| definition = parse_yard_object(yard_object) definitions[definition.id] = definition if definition end definitions end def parse_yard_object(yard_object) return unless yard_object.type == :class Swagger::Definition.new(yard_object.path, ancestors: yard_object.inheritance_tree.map(&:path)).tap do |definition| yard_object.tags.each do |tag| case tag.tag_name when 'attr' property = Swaggard::Parsers::Property.run(tag) definition.add_property(property) when 'ignore_inherited' definition.ignore_inherited = true end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
swaggard-1.5.1 | lib/swaggard/parsers/models.rb |
swaggard-1.5.0 | lib/swaggard/parsers/models.rb |
swaggard-1.4.0 | lib/swaggard/parsers/models.rb |