class Apipie::Generator::Swagger::ParamDescription::ReferencedComposite
A Composite that keeps track when a param description has been added to references
and returns the reference instead of the complete object
Public Class Methods
Source
# File lib/apipie/generator/swagger/param_description/referenced_composite.rb, line 6 def initialize(composite, param_type) @composite = composite @param_type = param_type.to_sym end
@param [Apipie::Generator::Swagger::ParamDescription::Composite] composite @param [Symbol, String] param_type
Public Instance Methods
Source
# File lib/apipie/generator/swagger/param_description/referenced_composite.rb, line 11 def to_swagger return ref_to(:name) if added?(:name) schema_obj = @composite.to_swagger return nil if schema_obj.nil? add(schema_obj) { '$ref' => ref_to(@param_type) } end
Private Instance Methods
Source
# File lib/apipie/generator/swagger/param_description/referenced_composite.rb, line 29 def add(schema) Apipie::Generator::Swagger::ReferencedDefinitions.instance.add!(@param_type, schema) end
Source
# File lib/apipie/generator/swagger/param_description/referenced_composite.rb, line 33 def added?(name) Apipie::Generator::Swagger::ReferencedDefinitions.instance.added?(name) end
Source
# File lib/apipie/generator/swagger/param_description/referenced_composite.rb, line 25 def ref_to(name) "#/definitions/#{name}" end