- 12 5月, 2016 1 次提交
-
-
由 Tom Kadwill 提交于
-
- 21 4月, 2016 19 次提交
-
-
由 Xavier Noria 提交于
When you come here without context, it is important to hightlight that checking the predicate is worthwhile due to the observation that blank strings are often empty. So you complicate the code (which has a cost in terms of readability and aesthetics), but statistically makes sense. Then, you also need to explain why the second operand is so convoluted. Otherwise, you wonder why this line is written precisely this way. That is what code comments are for.
-
由 Jeremy Daer 提交于
Remove unused `BLANK_RE`
-
由 Rafael França 提交于
Add #18323 to 5.0 release notes
-
由 Rafael França 提交于
Update delegate to use newer Ruby syntax
-
由 प्रथमेश Sonpatki 提交于
Revert "add doc for `:type` option of `#create_join_table` [ci skip]"
-
由 प्रथमेश Sonpatki 提交于
-
由 प्रथमेश Sonpatki 提交于
add doc for `:type` option of `#create_join_table` [ci skip]
-
由 yuuji.yaginuma 提交于
Follow up to #24221.
-
由 Todd Lynam 提交于
This commit updates `delegate` to use the keyword argument syntax added in Ruby 2. I left the `ArgumentError` when `to` is missing, because it better explains how to correctly use `delegate`. We could instead rely on the default `ArgumentError` that would be raised if `to` were a required keyword argument.
-
由 Jon Moss 提交于
Fix small typos [ci skip]
-
由 Ryuta Kamizono 提交于
Follow up to #24658.
-
由 Tom Copeland 提交于
-
由 Jon Moss 提交于
Fixes #23643. [ci skip]
-
由 Xavier Noria 提交于
Speed up String#blank? Regex
-
由 schneems 提交于
Follow up on https://github.com/rails/rails/commit/697384df36a939e565b7c08725017d49dc83fe40#commitcomment-17184696. The regex to detect a blank string `/\A[[:space:]]*\z/` will loop through every character in the string to ensure that all of them are a `:space:` type. We can invert this logic and instead look for any non-`:space:` characters. When that happens, we would return on the first character found and the regex engine does not need to keep looking. Thanks @nellshamrell for the regex talk at LSRC. By defining a "blank" string as any string that does not have a non-whitespace character (yes, double negative) we can get a substantial speed bump. Also an inline regex is (barely) faster than a regex in a constant, since it skips the constant lookup. A regex literal is frozen by default. ```ruby require 'benchmark/ips' def string_generate str = " abcdefghijklmnopqrstuvwxyz\t".freeze str[rand(0..(str.length - 1))] * rand(0..23) end strings = 100.times.map { string_generate } ALL_WHITESPACE_STAR = /\A[[:space:]]*\z/ Benchmark.ips do |x| x.report('current regex ') { strings.each {|str| str.empty? || ALL_WHITESPACE_STAR === str } } x.report('+ instead of * ') { strings.each {|str| str.empty? || /\A[[:space:]]+\z/ === str } } x.report('not a non-whitespace char') { strings.each {|str| str.empty? || !(/[[:^space:]]/ === str) } } x.compare! end # Warming up -------------------------------------- # current regex # 1.744k i/100ms # not a non-whitespace char # 2.264k i/100ms # Calculating ------------------------------------- # current regex # 18.078k (± 8.9%) i/s - 90.688k # not a non-whitespace char # 23.580k (± 7.1%) i/s - 117.728k # Comparison: # not a non-whitespace char: 23580.3 i/s # current regex : 18078.2 i/s - 1.30x slower ``` This makes the method roughly 30% faster `(23.580 - 18.078)/18.078 * 100`. cc/ @fxn
-
由 Kasper Timm Hansen 提交于
create_join_table should work with uuid
-
由 Rafael França 提交于
Use of `whether or not` instead of `regardless if ... or not`
-
由 Mohit Natoo 提交于
-
由 Jeremy Daer 提交于
Dump indexes in `create_table` for generates SQL in one query
-
- 20 4月, 2016 20 次提交
-
-
由 Xavier Noria 提交于
See the rationale in the comment in this patch. To benchmark this I ran a number of variations, ultimately narrowing to require 'benchmark/ips' str = '' regexp = /\A[[:space:]]*\z/ Benchmark.ips do |x| x.report('regexp') { regexp === str } x.report('empty') { str.empty? || regexp === str } x.compare! end This benchmark has consistently reported speedups around 3.5x: Calculating ------------------------------------- regexp 69.197k i/100ms empty 115.468k i/100ms ------------------------------------------------- regexp 2. 6.3%) i/s - 13.839M empty 9. 8.8%) i/s - 47.804M Comparison: empty: 9642607.6 i/s regexp: 2768351.9 i/s - 3.48x slower Sometimes even reaching 4x. Running the same bechmark on strings of 10 or 100 characters (with whitespace or present) has shown a slowdown of just about 1.01/1.02. Marginal, we seem to have a worthwhile trade-off here.
-
由 Vipul A M 提交于
use rails command in `time:zones` task desc [ci skip]
-
由 yuuji.yaginuma 提交于
-
由 Rafael França 提交于
Fix example for css_class_attribute and fix indentation
-
由 Prathamesh Sonpatki 提交于
-
由 प्रथमेश Sonpatki 提交于
[ci skip] Small grammar fix
-
由 Abhishek Jain 提交于
-
由 Ryuta Kamizono 提交于
-
由 Jeremy Daer 提交于
Add ActiveSupport::TimeZone.country_zones helper
-
由 Rafael Mendonça França 提交于
date_select helper with_css_classes option also accept a hash
-
由 Rafael Mendonça França 提交于
[ci skip]
-
由 Rafael França 提交于
Add html_safe support to ActionView Array#OutputSafetyHelper
-
由 Jeremy Daer 提交于
Object#inspect recursively inspects instance variables, exposing all internal state, including sensitive internal cache objects. Override Cache#inspect to give a high-level summary that never interferes with concurrent cache writes.
-
由 Ryuta Kamizono 提交于
If the adapter supports indexes in create table, it generates SQL in one query.
-
由 Rafael França 提交于
Fix `test_blank_columns_created_in_block`
-
由 Ryuta Kamizono 提交于
Follow up to 1683410c.
-
由 Jeremy Daer 提交于
Do not destructively mutate passed options hash in route definitions
-
由 Yves Senn 提交于
remove rails 4 specification in bin/rails for plugins [ci skip]
-
由 Ben A. Morgan 提交于
-
由 Kasper Timm Hansen 提交于
Remove unecessary comment
-