aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2015-03-27 16:20:52 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-03-27 16:20:52 -0300
commit5cb8e0046cf93d1e5468db8abb95a1f7b8a04b42 (patch)
treec2b3f5d97d469831d671aa60663de419508b4e0f /actionpack/lib/action_controller
parent72a02f98614261741d39432b239cded410f46b74 (diff)
parentc64b99ecc98341d504aced72448bee758f3cfdaf (diff)
downloadrails-5cb8e0046cf93d1e5468db8abb95a1f7b8a04b42.tar.gz
rails-5cb8e0046cf93d1e5468db8abb95a1f7b8a04b42.tar.bz2
rails-5cb8e0046cf93d1e5468db8abb95a1f7b8a04b42.zip
Merge pull request #18939 from georgeclaghorn/variant-inquiry
Provide friendlier access to request variants
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/metal/mime_responds.rb13
1 files changed, 7 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/metal/mime_responds.rb b/actionpack/lib/action_controller/metal/mime_responds.rb
index 7dae171215..fab1be3459 100644
--- a/actionpack/lib/action_controller/metal/mime_responds.rb
+++ b/actionpack/lib/action_controller/metal/mime_responds.rb
@@ -288,16 +288,17 @@ module ActionController #:nodoc:
end
def variant
- if @variant.nil?
+ if @variant.empty?
@variants[:none] || @variants[:any]
- elsif (@variants.keys & @variant).any?
- @variant.each do |v|
- return @variants[v] if @variants.key?(v)
- end
else
- @variants[:any]
+ @variants[variant_key]
end
end
+
+ private
+ def variant_key
+ @variant.find { |variant| @variants.key?(variant) } || :any
+ end
end
end
end