Sha256: 2e870e46997cceb23a5a9fc3a9bd2c71584a6abe322e6d092775ef8b4500a0c1
Contents?: true
Size: 967 Bytes
Versions: 1
Compression:
Stored size: 967 Bytes
Contents
require_relative '../swagger/definition' require_relative '../swagger/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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
swaggard-1.3.0 | lib/swaggard/parsers/models.rb |