class HaveAPI::Example
Public Class Methods
Public Instance Methods
Source
# File lib/haveapi/example.rb, line 62 def describe(context) if provided? { title: @title, comment: @comment, path_params: @path_params, request: filter_input_params(context, @request), response: filter_output_params(context, @response), status: @status.nil? ? true : @status, message: @message, errors: @errors, http_status: @http_status || 200 } else {} end end
Source
# File lib/haveapi/example.rb, line 35 def http_status(code) @http_status = code end
Source
# File lib/haveapi/example.rb, line 11 def path_params(*params) @path_params = params end
Source
# File lib/haveapi/example.rb, line 52 def provided? if instance_variables.detect do |v| instance_variable_get(v) end true else false end end
Source
# File lib/haveapi/example.rb, line 23 def status(status) @status = status end
Protected Instance Methods
Source
# File lib/haveapi/example.rb, line 82 def filter_input_params(context, input) case context.action.input.layout when :object, :hash context.authorization.filter_input( context.action.input.params, ModelAdapters::Hash.output(context, input) ) when :object_list, :hash_list input.map do |obj| context.authorization.filter_input( context.action.input.params, ModelAdapters::Hash.output(context, obj), true ) end end end
Source
# File lib/haveapi/example.rb, line 101 def filter_output_params(context, output) case context.action.output.layout when :object, :hash context.authorization.filter_output( context.action.output.params, ModelAdapters::Hash.output(context, output), true ) when :object_list, :hash_list output.map do |obj| context.authorization.filter_output( context.action.output.params, ModelAdapters::Hash.output(context, obj), true ) end end end