Class: ActionController::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/respond_with_backport.rb

Instance Method Summary collapse

Instance Method Details

#format(view_path = []) ⇒ Object



17
18
19
# File 'lib/respond_with_backport.rb', line 17

def format(view_path = [])
  formats.first
end

#format=(extension) ⇒ Object



34
35
36
37
# File 'lib/respond_with_backport.rb', line 34

def format=(extension)
  parameters[:format] = extension.to_s
  @env["action_dispatch.request.formats"] = [Mime::Type.lookup_by_extension(parameters[:format])]
end

#formatsObject



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/respond_with_backport.rb', line 21

def formats
  accept = @env['HTTP_ACCEPT']

  @env["action_dispatch.request.formats"] ||=
    if parameters[:format]
      Array.wrap(Mime::Type.lookup(parameters[:format]))
    elsif xhr? || (accept && !accept.include?(?,))
      accepts
    else
      [Mime::HTML]
    end
end

#negotiate_mime(order) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/respond_with_backport.rb', line 5

def negotiate_mime(order)
  formats.each do |priority|
    if priority == Mime::ALL
      return order.first
    elsif order.include?(priority)
      return priority
    end
  end

  order.include?(Mime::ALL) ? formats.first : nil
end