- 19 10月, 2014 2 次提交
-
-
由 Zachary Scott 提交于
This reverts commit 0ab075e7.
-
由 claudiob 提交于
Performance optimization: `yield` with an implicit `block` is faster than `block.call`. See http://youtu.be/fGFM_UrSp70?t=10m35s and the following benchmark: ```ruby require 'benchmark/ips' def fast yield end def slow(&block) block.call end Benchmark.ips do |x| x.report('fast') { fast{} } x.report('slow') { slow{} } end # => fast 154095 i/100ms # => slow 71454 i/100ms # => # => fast 7511067.8 (±5.0%) i/s - 37445085 in 4.999660s # => slow 1227576.9 (±6.8%) i/s - 6145044 in 5.028356s ```
-
- 18 10月, 2014 1 次提交
-
-
由 claudiob 提交于
Performance optimization: `yield` with an implicit `block` is faster than `block.call`. See http://youtu.be/fGFM_UrSp70?t=10m35s and the following benchmark: ```ruby require 'benchmark/ips' def fast yield end def slow(&block) block.call end Benchmark.ips do |x| x.report('fast') { fast{} } x.report('slow') { slow{} } end # => fast 154095 i/100ms # => slow 71454 i/100ms # => # => fast 7511067.8 (±5.0%) i/s - 37445085 in 4.999660s # => slow 1227576.9 (±6.8%) i/s - 6145044 in 5.028356s ```
-
- 18 8月, 2014 4 次提交
-
-
由 Godfrey Chan 提交于
-
由 Godfrey Chan 提交于
-
由 Godfrey Chan 提交于
-
由 José Valim 提交于
respond_with (and consequently the class-level respond_to) are being removed from Rails. Instead of moving it to a 3rd library, the functionality will be moved to responders gem (at github.com/plataformatec/responders) which already provides some responders extensions.
-
- 09 8月, 2014 1 次提交
-
-
由 Hendy Tanata 提交于
[skip ci]
-
- 17 6月, 2014 1 次提交
-
-
由 Aditya Kapoor 提交于
-
- 14 2月, 2014 1 次提交
-
-
由 David Heinemeier Hansson 提交于
No variant should also be picked up by variant.any if variant.none is not defined (just like any other variant)
-
- 13 2月, 2014 1 次提交
-
-
由 Lukasz Strzalkowski 提交于
Allow setting `request.variant` as an array - an order in which they will be rendered. For example: request.variant = [:tablet, :phone] respond_to do |format| format.html.none format.html.phone # this gets rendered end
-
- 27 12月, 2013 1 次提交
-
-
由 Łukasz Strzałkowski 提交于
Like `format.any`, you can do the same with variants. It works for both inline: respond_to do |format| format.html.any { render text: "any" } format.html.phone { render text: "phone" } end and block syntax: respond_to do |format| format.html do |variant| variant.any(:tablet, :phablet){ render text: "any" } variant.phone { render text: "phone" } end end
-
- 18 12月, 2013 1 次提交
-
-
由 Godfrey Chan 提交于
* Added release notes for secrets.yml and mentioned it in the highlights * Added release notes for Mailer previews and mentioned it in the highlights * Added release notes for Module#concerning * Removed mention for AV extraction from the highlights * Rearranged the major features to put highlighted features first * Various improvements and typo fixes [ci skip]
-
- 12 12月, 2013 1 次提交
-
-
由 Łukasz Strzałkowski 提交于
* Extend method documentation * Mention it in actionpack/CHANGELOG * Update release notes
-
- 10 12月, 2013 2 次提交
-
-
由 Łukasz Strzałkowski 提交于
In most cases, when setting variant specific code, you're not sharing any code within format. Inline syntax can vastly simplify defining variants in those situations: respond_to do |format| format.js { render "trash" } format.html do |variant| variant.phone { redirect_to progress_path } variant.none { render "trash" } end end Becomes: respond_to do |format| format.js { render "trash" } format.html.phone { redirect_to progress_path } format.html.none { render "trash" } end
-
由 Łukasz Strzałkowski 提交于
@responses hash needs to be initialized with mime types that we get from Collector#collect_mimes_from_class_level. Mime::Type class as key and nil as value. This need to happen before content negotiation. Before that, it was looping though mime types and executing mime-type-generated method inside collector (see AbstractController::Collector#generate_method_for_mime). That approach resulted in 2 unnecessary method calls for each mime type collected by Collector#collect_mimes_from_class_level. Now hash is initialized in place, without usage of Collector#custom method.
-
- 09 12月, 2013 3 次提交
-
-
由 David Heinemeier Hansson 提交于
This reverts commit 18616114, reversing changes made to cad9eb17.
-
由 Łukasz Strzałkowski 提交于
In most cases, when setting variant specific code, you're not sharing any code within format. Inline syntax can vastly simplify defining variants in those sitiations: respond_to do |format| format.js { render "trash" } format.html do |variant| variant.phone { redirect_to progress_path } variant.none { render "trash" } end end ` Becomes: respond_to do |format| format.js { render "trash" } format.html.phone { redirect_to progress_path } format.html.none { render "trash" } end
-
由 Łukasz Strzałkowski 提交于
@responses hash needs to be initialized with mime types that we get from Collector#collect_mimes_from_class_level. Mime::Type class as key and nil as value. This need to happen before content negotiation. Before that, it was looping though mime types and executing mime-type-generated method inside collector (see AbstractController::Collector#generate_method_for_mime). That approach resulted in 2 unnecessary method calls for each mime type collected by Collector#collect_mimes_from_class_level. Now hash is initialized in place, without usage of Collector#custom method.
-
- 08 12月, 2013 2 次提交
-
-
由 David Heinemeier Hansson 提交于
-
由 David Heinemeier Hansson 提交于
-
- 04 12月, 2013 3 次提交
-
-
由 Carlos Antonio da Silva 提交于
Avoid one-liner conditionals when they are too big. Avoid concatenating strings to build error messages. Improve messages a bit.
-
由 Carlos Antonio da Silva 提交于
-
由 Łukasz Strzałkowski 提交于
By default, variants in the templates will be picked up if a variant is set and there's a match. The format will be: app/views/projects/show.html.erb app/views/projects/show.html+tablet.erb app/views/projects/show.html+phone.erb If request.variant = :tablet is set, we'll automatically be rendering the html+tablet template. In the controller, we can also tailer to the variants with this syntax: class ProjectsController < ActionController::Base def show respond_to do |format| format.html do |html| @stars = @project.stars html.tablet { @notifications = @project.notifications } html.phone { @chat_heads = @project.chat_heads } end format.js format.atom end end end The variant itself is nil by default, but can be set in before filters, like so: class ApplicationController < ActionController::Base before_action do if request.user_agent =~ /iPad/ request.variant = :tablet end end end This is modeled loosely on custom mime types, but it's specifically not intended to be used together. If you're going to make a custom mime type, you don't need a variant. Variants are for variations on a single mime types.
-
- 15 11月, 2013 2 次提交
-
-
由 David Heinemeier Hansson 提交于
Revert "Used Yield instead of block.call" -- this causes all of atom_feed_helper_test.rb to fail with "SystemStackError: stack level too deep". This reverts commit d3a1ce1c.
-
由 Kuldeep Aggarwal 提交于
-
- 11 11月, 2013 1 次提交
-
-
由 Lukasz Strzalkowski 提交于
Ruby 1.8 legacy. Since 1.9 hash preserves insertion order. No need for additional array to achieve this
-
- 09 10月, 2013 1 次提交
-
-
由 BlueHotDog 提交于
This fixes an issue where the respond_with worked directly with the given options hash, so that if a user relied on it after calling respond_with, the hash wouldn't be the same. Fixes #12029
-
- 09 9月, 2013 1 次提交
-
-
由 José Valim 提交于
-
- 25 2月, 2013 1 次提交
-
-
由 grosser 提交于
-
- 01 2月, 2013 1 次提交
-
-
由 Akira Matsuda 提交于
-
- 07 1月, 2013 1 次提交
-
-
由 Akira Matsuda 提交于
-
- 03 1月, 2013 1 次提交
-
-
由 Akira Matsuda 提交于
-
- 02 1月, 2013 1 次提交
-
-
由 Akira Matsuda 提交于
-
- 02 12月, 2012 2 次提交
-
-
由 Florent Guilleux 提交于
This reverts commit 90c887fa.
-
由 Florent Guilleux 提交于
-
- 28 10月, 2012 1 次提交
-
-
由 AvnerCohen 提交于
-
- 27 10月, 2012 1 次提交
-
-
由 Yves Senn 提交于
-
- 06 8月, 2012 1 次提交
-
-
由 Xavier Noria 提交于
Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.
-
- 03 8月, 2012 1 次提交
-
-
由 Xavier Noria 提交于
-