aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #18885 from ypxing/masterRafael Mendonça França2015-02-121-12/+7
|\ | | | | remove unnecessary assignment/parameter passing in AS::Callbacks...::Around (master branch)
| * remove unnecessary assignment and parameter passing in ↵rxing2015-02-111-12/+7
| | | | | | | | ActiveSupport::Callbacks::Filters::Around
* | Properly dump primitive-like AS::SafeBuffer strings as YAMLGodfrey Chan2015-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `coder.represent_scalar` means something along the lines of "Here is a quoted string, you can just add it to the output", which is not the case here. It only works for simple strings that can appear unquoted in YAML, but causes problems for e.g. primitive-like strings ("1", "true"). `coder.represent_object` on the other hand, means that "This is the Ruby-object representation for this thing suitable for use in YAML dumping", which is what we want here. Before: YAML.load ActiveSupport::SafeBuffer.new("Hello").to_yaml # => "Hello" YAML.load ActiveSupport::SafeBuffer.new("true").to_yaml # => true YAML.load ActiveSupport::SafeBuffer.new("false").to_yaml # => false YAML.load ActiveSupport::SafeBuffer.new("1").to_yaml # => 1 YAML.load ActiveSupport::SafeBuffer.new("1.1").to_yaml # => 1.1 After: YAML.load ActiveSupport::SafeBuffer.new("Hello").to_yaml # => "Hello" YAML.load ActiveSupport::SafeBuffer.new("true").to_yaml # => "true" YAML.load ActiveSupport::SafeBuffer.new("false").to_yaml # => "false" YAML.load ActiveSupport::SafeBuffer.new("1").to_yaml # => "1" YAML.load ActiveSupport::SafeBuffer.new("1.1").to_yaml # => "1.1" If we ever want Ruby to behave more like PHP or JavaScript though, this is an excellent trick to use ;)
* | Revert 88d08f2ec9f89ba431cba8d0c06ac9ebc204bbbbRafael Mendonça França2015-02-111-12/+24
| | | | | | | | | | | | | | This caused a performance regression since we were decided to do the nil check in run time not in the load time. See https://github.com/rails/rails/pull/15187#issuecomment-71760058
* | Reduce object allocations in ActiveSupport::Subscribereileencodes2015-02-111-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | Freezing the string literal reduces the number of objects allocated during integration test runs. AllocationTracer before: ``` [["/rack/lib/rack/utils.rb", 499, :T_STRING], [50939, 2737, 78553, 0, 13, 1783920]] [["/rails/activesupport/lib/active_support/subscriber.rb", 99, :T_STRING], [44959, 0, 42633, 0, 2, 1670800]] [["/rack/lib/rack/utils.rb", 662, :T_STRING], [32979, 0, 31263, 0, 1, 1226009]] [["/rack/lib/rack/body_proxy.rb", 34, :T_ARRAY], [29988, 0, 28438, 0, 1, 1114320]] [["/rails/activesupport/lib/active_support/callbacks.rb", 165, :T_DATA], [29968, 0, 28422, 0, 2, 3675936]] ``` AllocationTracer after: ``` [["/rack/lib/rack/utils.rb", 499, :T_STRING], [50983, 4080, 67269, 0, 12, 1815600]] [["/rack/lib/rack/utils.rb", 662, :T_STRING], [33001, 0, 28420, 0, 2, 1230809]] [["/rack/lib/rack/body_proxy.rb", 34, :T_ARRAY], [29990, 0, 25812, 0, 1, 1118000]] [["/rails/activesupport/lib/active_support/subscriber.rb", 99, :T_STRING], [29986, 0, 25803, 0, 1, 1117840]] [["/rails/activesupport/lib/active_support/notifications/instrumenter.rb", 52, :T_HASH], [29984, 28, 26133, 0, 11, 4953280]]
* NameError#missing_name? can jsut use NameError#name if the arg is a SymbolYuki Nishijima2015-02-071-2/+1
| | | | | | NameError#name returns a missing name as a symbol, so if the given name is a symbol, it doesn't have to use #missing_name to get the last constant name in the error message.
* make zones_map privateTony Miller2015-02-061-7/+8
| | | | | Conflicts: activesupport/lib/active_support/values/time_zone.rb
* Merge branch 'rm-ntp'Rafael Mendonça França2015-02-062-27/+32
|\ | | | | | | Merge #12067 rebasing and improving the code.
| * Merge pull request #12067 from jackxxu/keep_precisionRafael Mendonça França2015-02-062-27/+32
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Enable number_to_percentage to keep the number's precision by allowing :precision option value to be nil Conflicts: activesupport/CHANGELOG.md activesupport/lib/active_support/number_helper.rb activesupport/test/number_helper_test.rb
| | * Enable number_to_percentage to keep the number's precision by allowing ↵Jack Xu2013-08-281-16/+22
| | | | | | | | | | | | | | | | | | :precision to be nil number_helper.number_to_percentage(1000, precision: nil) # => "1000%"
* | | Revert "Improve the performance of HWIDA `select` and `reject`"Sean Griffin2015-02-061-4/+4
|/ / | | | | | | This reverts commit 9c47b874d112414df7f80f9ed852adb48ba6d268.
* | Improve the performance of HWIDA `select` and `reject`Sean Griffin2015-02-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are (potentially, depending on input) called in several places in both the router, and Active Record. The code also becomes much cleaner. This results in ~33% performance gain in both methods. Calculating ------------------------------------- before 15.696k i/100ms after 19.865k i/100ms ------------------------------------------------- before 303.064k (± 2.6%) i/s - 1.523M after 446.734k (± 2.4%) i/s - 2.245M On Ruby 2.2, a warning will be emitted about states not being copied, because we're calling `super` from a subclass. We can safely ignore it, however, since we're converting the result back into a HWIDA
* | Merge pull request #14028 from uberllama/json_escape_commentsRafael Mendonça França2015-02-061-0/+5
|\ \ | | | | | | Amended json_escape comments
| * | Amended json_escape comment to clarify that user-generated content must ↵Yuval Kordov2014-02-121-0/+5
| | | | | | | | | | | | still be html_escaped if being inserted ingot he DOM via JQuery's html() method.
* | | Merge pull request #18526 from vipulnsward/add-silence-streamRafael Mendonça França2015-02-051-0/+42
|\ \ \ | | | | | | | | Extracted silence_stream method to new module in activesupport/testing
| * | | - Extracted silence_stream method to new module in activesupport/testing.Vipul A M2015-01-201-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added include for the same in ActiveSupport::Test. - Removed occurrences of silence_stream being used elsewhere. - Reordered activesupport testcase requires alphabetically. - Removed require of silence stream from test_case - Moved quietly method to stream helper - Moved capture output to stream helper module and setup requires for the same elsewhere
* | | | Use keyword argumentsRafael Mendonça França2015-02-051-4/+4
| | | | | | | | | | | | | | | | | | | | Also remove the default value since it will be always passed and Array(nil) returns an empty array
* | | | Merge pull request #18747 from vipulnsward/merge-skip-callbackRafael Mendonça França2015-02-051-2/+2
|\ \ \ \ | | | | | | | | | | Rename AS::Callback#merge
| * | | | Callback#merge merges options for a callback skip instead of a callback. ↵Vipul A M2015-02-011-2/+2
| | | | | | | | | | | | | | | | | | | | Renamed it to indicate what it actually does.
* | | | | Privatize config_accessor as with attr_accessorAkira Matsuda2015-02-061-0/+1
| | | | |
* | | | | Merge pull request #18758 from yuki24/change-travel-to-stub-datetime-tooRafael Mendonça França2015-02-031-0/+1
|\ \ \ \ \ | | | | | | | | | | | | Change AS::Testing::TimeHelpers#travel_to to also stub DateTime.now
| * | | | | Change AS::Testing::TimeHelpers#travel_to to also stub DateTime.nowYuki Nishijima2015-02-031-0/+1
| | | | | |
* | | | | | Removed magic comments # encoding: utf-8 , since its default from ruby 2.0 ↵Vipul A M2015-02-031-1/+0
|/ / / / / | | | | | | | | | | | | | | | onwards.
* | | | | Fix typo in Time#change docsJohn Duff2015-02-021-1/+1
| | | | |
* | | | | Use public Module#include, in favor of https://bugs.ruby-lang.org/issues/8846robertomiranda2015-01-314-6/+6
|/ / / / | | | | | | | | | | | | ref: https://github.com/rails/rails/pull/18763#issuecomment-72349769
* | | | let dependencies use Module#const_defined?Xavier Noria2015-01-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Module#const_defined? accepts constant paths in modern Ruby, we no longer need our qualified_* extensions. References #17845.
* | | | introduce `ActiveSupport::Testing::FileFixtures`.Yves Senn2015-01-282-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | It's a thin layer to provide easy access to sample files throughout test-cases. This adds the directory `test/fixtures/files` to newly generated applications.
* | | | Return value of yielded block in File.atomic_writeIan Ker-Seymer2015-01-281-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Staying true to Ruby convention, we now return the value of the yielded block from `File.atomic_write {...}`. This mimics the behavior of MRI's `File.open {...}`.
* | | | Merge pull request #18450 from tonytonyjan/patch-1Rafael Mendonça França2015-01-191-0/+2
|\ \ \ \ | | | | | | | | | | fix dependency
| * | | | fix dependencyJian Weihang2015-01-121-0/+2
| | | | |
* | | | | Merge pull request #18554 from mechanicles/use-take-methodSantiago Pastorino2015-01-171-1/+1
|\ \ \ \ \ | | | | | | | | | | | | A little performance improvement using 'take' method over 'first'
| * | | | | A little performance improvement using 'take' method over 'first'Santosh Wadghule2015-01-161-1/+1
| | | | | |
* | | | | | Fix assignment for frozen value in HWIAAditya Kapoor2015-01-171-1/+1
|/ / / / /
* | | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-01-152-81/+71
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Fix docs for ActiveSupport::Inflector methodsclaudiob2015-01-032-81/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many methods in ActiveSupport::Inflector were actually documenting the String methods with the same name. For instance the doc for `camelize` said: > If the argument to +camelize+ is set to <tt>:lower</tt>... while it should say: > If the +uppercase_first_letter+ parameter is set to false [ci skip]
* | | | | Add missing time zone definitions for Russian FederationAndrey Novikov2015-01-131-1/+4
| | | | | | | | | | | | | | | | | | | | Also sync Russian Federation time zones with `zone.tab` file from tzdata version 2014j.
* | | | | Removing :en in favor of I18n.default_locale in duration#inspectDominik Masur2015-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi there, i have an app without english as available locale. So i got an error when we try to inspect something like 1.day. This is done automatically when we use the dalli cache. I would like to change the :en to ::I18n.default_locale to be sure that this is always constant and is an available locale. Tests are all green with this change. Calculating ------------------------------------- :locale => :en 2.024k i/100ms :locale => ::I18n.default_locale 2.236k i/100ms ------------------------------------------------- :locale => :en 25.758k (±26.3%) i/s - 117.392k :locale => ::I18n.default_locale 26.311k (±18.1%) i/s - 127.452k
* | | | | Merge pull request #18436 from deepj/fork-detectionCarlos Antonio da Silva2015-01-111-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Better fork detection in ActiveSupport::Testing::Isolation
| * | | | | Better fork detection in ActiveSupport::Testing::Isolationdeepj2015-01-101-3/+1
| | |/ / / | |/| | | | | | | | | | | | | | | | | | Process.respond_to?(:fork) returns false if fork is not available. More on http://www.ruby-doc.org/core-2.0.0/Process.html#method-c-fork
* / | | | No need of requiring `rbconfig`, it is by-default loadedKuldeep Aggarwal2015-01-102-3/+0
|/ / / /
* | | | Add missing requireGuillermo Iguaran2015-01-091-0/+2
| | | |
* | | | Add SecureRandom.base58Guillermo Iguaran2015-01-091-0/+21
| | | |
* | | | Use Ruby's #include? to avoid relying on AS extensionCarlos Antonio da Silva2015-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The build has failed when running the date/time ext tests in isolation due to the missing extension, so better than adding a require is using just Ruby in this case. https://travis-ci.org/rails/rails/jobs/46107954#L1077
* | | | Add #prev_day and #next_day as counterparts to #yesterday and #tomorrow for ↵George Claghorn2015-01-061-6/+16
| | | | | | | | | | | | | | | | Date, Time, and DateTime
* | | | Add same_time option to #prev_week and #next_week for Date, Time, and DateTimeGeorge Claghorn2015-01-061-17/+22
| | | |
* | | | Add #on_weekend?, #next_weekday, and #prev_weekday methods to Date, Time, ↵George Claghorn2015-01-061-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and DateTime `#on_weekend?` returns true if the receiving date/time falls on a Saturday or Sunday. `#next_weekday` returns a new date/time representing the next day that does not fall on a Saturday or Sunday. `#prev_weekday` returns a new date/time representing the previous day that does not fall on a Saturday or Sunday.
* | | | adding documentation for 'remove_possible_method' and 'redefine_method' [ci ↵George Millo2015-01-051-0/+3
| | | | | | | | | | | | | | | | skip]
* | | | Merge pull request #18090 from egilburg/patch-3Rafael Mendonça França2015-01-041-9/+1
|\ \ \ \ | | | | | | | | | | | | | | | simplify ActiveSupport.test_order definition
| * | | | simplify ActiveSupport.test_order definitionEugene Gilburg2014-12-181-9/+2
| | | | |
* | | | | Merge pull request #18328 from brainopia/remove_tz_proxyRafael Mendonça França2015-01-041-2/+2
|\ \ \ \ \ | | | | | | | | | | | | Use directly TZInfo::Timezone without proxy