Module: ApiResponder::Formattable::ClassMethods

Defined in:
lib/api-responder/formattable.rb

Instance Method Summary collapse

Instance Method Details

#api_formats(*formats) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/api-responder/formattable.rb', line 6

def api_formats(*formats)
  @api_formats ||= [ :json ]
  return @api_formats if formats.empty?

  formats.map!(&:to_sym)
  formats -= @api_formats

  formats.each do |format|
    method = :"to_#{format}"
    send :define_method, method do |options|
      as_api(options.merge(:format => format)).send method, options
    end
    @api_formats << format
  end
end