| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
|/ /
| |
| |
| |
| |
| | |
Same as #12710 but for the time module this time. This time it should
fix the Active Model test suite in isolation avoiding a TypeError to
be raised about the superclass of the DateTime object.
|
| |
| |
| |
| |
| |
| |
| |
| | |
If we try to monkey-patch the class before requiring it, then a
"superclass mismatch" (TypeError) error is raised and the build can't
run correctly.
Fixes #12708
|
|\ \
| | |
| | | |
Eagerload active_support/json/encoding in active_support/core_ext/object/to_json
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
TL;DR The primary driver is to remove autoload surprise.
This is related to #12106. (The root cause for that ticket is that
json/add defines Regexp#to_json among others, but here I'll reproduce
the problem without json/add.)
Before:
>> require 'active_support/core_ext/to_json'
=> true
>> //.as_json
NoMethodError: undefined method `as_json' for //:Regexp
from (irb):3
from /Users/godfrey/.rvm/rubies/ruby-2.0.0-p195/bin/irb:16:in `<main>'
>> //.to_json
=> "\"(?-mix:)\""
>> //.as_json
=> "(?-mix:)"
After:
>> require 'active_support/core_ext/to_json'
=> true
>> //.as_json
=> "(?-mix:)"
This is because ActiveSupport::JSON is autoloaded the first time
Object#to_json is called, which causes additional core extentions
(previously defined in active_support/json/encoding.rb) to be loaded.
When someone require 'active_support/core_ext', the expectation is
that it would add certain methods to the core classes NOW. The
previous behaviour causes additional methods to be loaded the first
time you call `to_json`, which could cause nasty surprises and other
unplesant side-effects.
This change moves all core extensions in to core_ext/json. AS::JSON is
still autoloaded on first #to_json call, but since it nolonger
include the core extensions, it should address the aforementioned bug.
*Requiring core_ext/object/to_json now causes a deprecation warnning*
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Due to changes from http://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/39628 current `singleton_class?` implementation fails.
Changed based on reference from http://bugs.ruby-lang.org/issues/7609
|
|\ \ \
| |/ /
|/| | |
Prevent server blow up when iterating over TimeWithZone Range
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Generalize backtrace check on DelegationError.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Different Ruby implementations present backtraces differently, as
it should be an information consumed by humans.
A better implementation should use data from the error, in this case
returned by NoMethodError#name.
Fixes issues with Rubinius, which presents backtraces differently from
MRI.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
#11831
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
actionview/README.rdoc
activerecord/lib/active_record/migration.rb
guides/source/development_dependencies_install.md
guides/source/getting_started.md
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This reverts commit 70d6e16fbad75b89dd1798ed697e7732b8606fa3, reversing
changes made to ea4db3bc078fb3093ecdddffdf4f2f4ff3e1e8f9.
Seems to be a code merge done by mistake.
|
| | | | | |
|
| |/ / /
|/| | |
| | | |
| | | | |
String#gsub(pattern, '')
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Jruby cannot unlink a tempfile unless it is closed first.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Similar implementations of #in_time_zone exists for Date, Time and DateTime so
method is extracted into its own module. Also some logic is extracted into
private method.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Methods: :past? and :future? are already defined identically
in date_and_time/calculations.rb which is included in Date.
Because DateTime is a subclass of Date, it can call them.
|
|\ \ \ \
| | | | |
| | | | | |
Added Time#middle_of_day method
|
| | | | |
| | | | |
| | | | |
| | | | | |
Added middle_of_day method to Date and DateTime
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use a lambda to ensure that the generated string respects the offset of
the time value. Also add DateTime#to_s(:iso8601) and Date#to_s(:iso8601)
for completeness.
|
| |/ / /
|/| | |
| | | |
| | | | |
for easy Javascript date parsing
|
|\ \ \ \ |
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Minor refactor - Uses Enumerable#to_a instead of iterate and add to an array
|
| | | | |
| | | | |
| | | | |
| | | | | |
array
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
|
| |\ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Array#to_s calls each element's inspect since ruby 1.9
|
| |/ / / / |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This fixes situations where nested NoMethodError exceptions are masked
by delegations. This would cause confusion especially where there was a
problem in the Rails booting process because of a delegation in the
routes reloading code.
Fixes #10559
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If the DateTime core extensions were loaded before the Date core extensions
then you would get a superclass mismatch as DateTime hasn't been defined
yet so it gets set to Object by the acts_like core extension.
Fixes #11206
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Benchmark:
user system total real
old 0.510000 0.000000 0.510000 ( 0.506749)
new 0.330000 0.000000 0.330000 ( 0.336187)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Benchmark:
user system total real
old 1.550000 0.040000 1.590000 ( 1.585866)
new 1.250000 0.040000 1.290000 ( 1.287693)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Benchmark:
1000000.times { str.to(30) }
user system total real
old 0.490000 0.110000 0.600000 ( 0.607374)
new 0.390000 0.000000 0.390000 ( 0.387306)
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The standard Ruby behavior for Time.at is to return the same type of
time when passing an instance of Time as a single argument. Since the
an ActiveSupport::TimeWithZone instance may be a different timezone than
the system timezone and DateTime just understands offsets the best we
can do is to return an instance of Time with the correct offset.
Fixes #11350.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When Time.at_with_coercion (wraps Time.at) is called with a single
argument that "acts_like?(:time)" it is coerced to integer thus losing
it's microsecond percision.
This commits changes this to use `#to_f` to prevent the problem
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
core extensions (`core_ext/string/encoding`).
|
| | | |
| | | |
| | | | |
in favor of `Module#local_constants`
|