- 20 6月, 2014 18 次提交
-
-
由 Rafael Mendonça França 提交于
Don't rely on the column for type casting reflections
-
由 Rafael Mendonça França 提交于
Further simplify `changed?` conditional for numeric types
-
由 Rafael Mendonça França 提交于
remove unnecessary gsub for space in ActionView::Helpers#debug
-
由 Rafael Mendonça França 提交于
Introduce an object to aid in creation and management of `@attributes`
-
由 Sean Griffin 提交于
Mostly delegation to start, but we can start moving a lot of behavior in bulk to this object.
-
由 Eileen M. Uchitelle 提交于
Create custom errors page on ActionController guides
-
由 Rafael Mendonça França 提交于
highlight/except support for regular expressions and blocks.
-
由 Lucas Mazza 提交于
The helper will yield each matched word, and you can use this instead of the ':highlighter' option for more complex replacing logic: highlight('My email is me@work.com', EMAIL_REGEXP) { |m| mail_to(m) } # => 'My email is <a href="mailto:me@work.com">me@work.com</a>'
-
由 Rafael Mendonça França 提交于
Don't include inheritance column in the through_scope_attributes
-
由 Rafael Mendonça França 提交于
-
由 Rafael Mendonça França 提交于
Now the following case will work fine class Tag < ActiveRecord::Base end class Publisher::Article < ActiveRecord::Base has_and_belongs_to_many :tags end Fixes #15761
-
由 Jan Szumiec 提交于
-
由 Jan Szumiec 提交于
-
由 Rafael Mendonça França 提交于
Fix typo in 4.1 upgrade/flash structure
-
由 Dan Rice 提交于
-
由 Rafael Mendonça França 提交于
Relpace `=~ Regexp.new str` with `.include? str` in `_valid_action_name?`
-
由 Rafael Mendonça França 提交于
Remove unused block parameter from #gsub call in AM::MailHelper#block_format
-
由 Rafael Mendonça França 提交于
Add `logger.debug?` guard to `ActionMailer::LogSubscriber#process`
-
- 19 6月, 2014 7 次提交
-
-
由 Viktar Basharymau 提交于
*TLDR*: The method is 4 times faster when log level is higher than DEBUG. Also, the other two methods, `#deliver` and `#receive` have similar guard statements, so this commit adds some symmetry to the code. This is probably not the most critical part of ActionMailer in terms of performance, but here are some benchmarks: ``` require 'benchmark/ips' require 'action_mailer' event = ActiveSupport::Notifications::Event.new( 'process.action_mailer', Time.now, Time.now, 'bf4e2b36ce085fd35b24', { mailer: "UserMailer", action: :welcome } ) ActionMailer::Base.logger = ActiveSupport::Logger.new '/dev/null' subscriber = ActionMailer::LogSubscriber.new def subscriber.process_with_guard(event) return unless logger.debug? mailer = event.payload[:mailer] action = event.payload[:action] debug("\n#{mailer}##{action}: processed outbound mail in #{event.duration.round(1)}ms") end Benchmark.ips do |r| ActionMailer::Base.logger.level = ::Logger::Severity::INFO r.report('no guard') { subscriber.process(event) } r.report(' guard') { subscriber.process_with_guard(event) } end __END__ Calculating ------------------------------------- no guard 9640 i/100ms guard 38381 i/100ms ------------------------------------------------- no guard 169166.9 (±10.2%) i/s - 838680 in 5.007262s guard 728184.9 (±9.6%) i/s - 3607814 in 4.999218s ``` When log level is DEBUG, the _guarded_ method is a bit slower. This is a good tradeoff for 4x improvement in production mode. ``` Benchmark.ips do |r| ActionMailer::Base.logger.level = ::Logger::Severity::DEBUG r.report('no guard') { subscriber.process(event) } r.report(' guard') { subscriber.process_with_guard(event) } end __END__ Calculating ------------------------------------- no guard 4970 i/100ms guard 4564 i/100ms ------------------------------------------------- no guard 55617.4 (±3.5%) i/s - 278320 in 5.010523s guard 49452.1 (±5.6%) i/s - 251020 in 5.093358s ```
-
由 Sean Griffin 提交于
`Type::Integer.new.type_cast('') # => nil`, we do not need a special case to handle this, `nil => ''` already returns false. The only case we need to handle is `0 => 'wibble'` should be changed, while `0 => '0'` should not.
-
由 Viktar Basharymau 提交于
Because it is more natural way to test substring inclusion. Also, in this particular case it is much faster. In general, using `Regexp.new str` for such kind of things is dangerous. The string must be escaped, unless you know what you're doing. Example: Regexp.new "\\" # HELLO WINDOWS # RegexpError: too short escape sequence: /\/ The right way to do this is escape the string Regexp.new Regexp.escape "\\" # => /\\/ Here is the benchmark showing how faster `include?` call is. ``` require 'benchmark/ips' Benchmark.ips do |x| x.report('include?') { !"index".to_s.include? File::SEPARATOR } x.report(' !~ ') { "index" !~ Regexp.new(File::SEPARATOR) } end __END__ Calculating ------------------------------------- include? 75754 i/100ms !~ 21089 i/100ms ------------------------------------------------- include? 3172882.3 (±4.5%) i/s - 15832586 in 5.000659s !~ 322918.8 (±8.6%) i/s - 1602764 in 4.999509s ``` Extra `.to_s` call is needed to handle the case when `action_name` is `nil`. If it is omitted, some tests fail.
-
由 Rafael Mendonça França 提交于
remove unused method from Postgresql::Adapter
-
由 Viktar Basharymau 提交于
-
由 Josh Sharpe 提交于
-
由 Mauro George 提交于
[ci skip]
-
- 18 6月, 2014 15 次提交
-
-
由 Rafael Mendonça França 提交于
Titling the model name in views generated by scaffold.
-
由 Sean Griffin 提交于
-
由 Yves Senn 提交于
Extract out with_env_tz helper method.
-
由 Zuhao Wan 提交于
It’s used at so many places that extracting it out into a helper file is worth doing.
-
由 Yves Senn 提交于
Move cleanup into teardown, delete obsolete code.
-
由 Amit Suryavanshi 提交于
eg. rails g scaffold UserProfile will have in index.html.erb "Listing User Profiles" rather than Listing user_profiles.
-
由 Matthew Draper 提交于
-
由 Matthew Draper 提交于
Don't type cast the default on the column
-
由 Rafael Mendonça França 提交于
Detect in-place changes on point types
-
由 Sean Griffin 提交于
-
由 Rafael Mendonça França 提交于
It was being used by Rails for show the development logs but since Rails 4 it is not being used anymore on the framework. This class seems to be private but it were part of the public API we are deprecating before removing.
-
由 Rafael Mendonça França 提交于
Enable hstore in array tests
-
由 Sean Griffin 提交于
-
由 Rafael Mendonça França 提交于
Detect mutations of arrays and array members
-
由 Sean Griffin 提交于
-