class Apigen::Rest::Output
Output
is the response type associated with a specific status code for an API endpoint.
Attributes
name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/apigen/rest/output.rb, line 13 def initialize(name) @name = name @status = nil @type = nil @description = nil end
Public Instance Methods
to_s()
click to toggle source
# File lib/apigen/rest/output.rb, line 32 def to_s "#{@name} #{@status} #{@type}" end
type(type = nil, &block)
click to toggle source
Declares the output type.
# File lib/apigen/rest/output.rb, line 22 def type(type = nil, &block) return @type unless type @type = Apigen::Model.type type, &block end
validate(model_registry)
click to toggle source
# File lib/apigen/rest/output.rb, line 27 def validate(model_registry) validate_properties model_registry.check_type @type end
Private Instance Methods
validate_properties()
click to toggle source
# File lib/apigen/rest/output.rb, line 38 def validate_properties error = if !@name 'One of the outputs is missing a name.' elsif !@status "Use `status [code]` to assign a status code to :#{@name}." elsif !@status "Use `type :typename` to assign a type to :#{@name}." end raise error unless error.nil? end