class HaveAPI::OutputFormatter
Attributes
Public Class Methods
Source
# File lib/haveapi/output_formatter.rb, line 9 def register(klass) @formatters ||= [] @formatters << klass end
Public Instance Methods
Source
# File lib/haveapi/output_formatter.rb, line 42 def content_type @formatter.content_type end
Source
# File lib/haveapi/output_formatter.rb, line 38 def error(msg) @formatter.format(header(false, nil, msg)) end
Source
# File lib/haveapi/output_formatter.rb, line 34 def format(status, response, message = nil, errors = nil, version: true) @formatter.format(header(status, response, message, errors, version)) end
Source
# File lib/haveapi/output_formatter.rb, line 15 def supports?(types) @formatter = nil if types.empty? return @formatter = self.class.formatters.first.new end types.each do |type| self.class.formatters.each do |f| if f.handle?(type) @formatter = f.new break end end end !@formatter.nil? end
Protected Instance Methods
Source
# File lib/haveapi/output_formatter.rb, line 48 def header(status, response, message = nil, errors = nil, version = nil) ret = {} ret[:version] = HaveAPI::PROTOCOL_VERSION if version ret.update({ status:, response:, message:, errors: }) ret end