aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/lib/active_support/json/encoding.rb8
-rw-r--r--activesupport/lib/active_support/time_with_zone.rb2
-rw-r--r--activesupport/test/json/encoding_test.rb6
3 files changed, 8 insertions, 8 deletions
diff --git a/activesupport/lib/active_support/json/encoding.rb b/activesupport/lib/active_support/json/encoding.rb
index 23896316e2..bafd629848 100644
--- a/activesupport/lib/active_support/json/encoding.rb
+++ b/activesupport/lib/active_support/json/encoding.rb
@@ -4,7 +4,7 @@ require 'active_support/core_ext/module/delegation'
module ActiveSupport
class << self
delegate :use_standard_json_time_format, :use_standard_json_time_format=,
- :subsecond_fraction_digits, :subsecond_fraction_digits=,
+ :time_precision, :time_precision=,
:escape_html_entities_in_json, :escape_html_entities_in_json=,
:encode_big_decimal_as_string, :encode_big_decimal_as_string=,
:json_encoder, :json_encoder=,
@@ -106,9 +106,9 @@ module ActiveSupport
# as a safety measure.
attr_accessor :escape_html_entities_in_json
- # Configures the inclusion of subsecond resolution when serializing instances
- # of ActiveSupport::TimeWithZone.
- attr_accessor :subsecond_fraction_digits
+ # Sets the precision of encoded time values.
+ # Defaults to 3 (equivalent to millisecond precision)
+ attr_accessor :time_precision
# Sets the encoder used by Rails to encode Ruby objects into JSON strings
# in +Object#to_json+ and +ActiveSupport::JSON.encode+.
diff --git a/activesupport/lib/active_support/time_with_zone.rb b/activesupport/lib/active_support/time_with_zone.rb
index 26d4e686fd..1ed18fa473 100644
--- a/activesupport/lib/active_support/time_with_zone.rb
+++ b/activesupport/lib/active_support/time_with_zone.rb
@@ -154,7 +154,7 @@ module ActiveSupport
# # => "2005/02/01 05:15:10 -1000"
def as_json(options = nil)
if ActiveSupport::JSON::Encoding.use_standard_json_time_format
- digits = ActiveSupport::JSON::Encoding.subsecond_fraction_digits || 3
+ digits = ActiveSupport::JSON::Encoding.time_precision || 3
xmlschema(digits)
else
%(#{time.strftime("%Y/%m/%d %H:%M:%S")} #{formatted_offset(false)})
diff --git a/activesupport/test/json/encoding_test.rb b/activesupport/test/json/encoding_test.rb
index ef76d63f29..52d2708d1e 100644
--- a/activesupport/test/json/encoding_test.rb
+++ b/activesupport/test/json/encoding_test.rb
@@ -466,15 +466,15 @@ EXPECTED
end
end
- def test_twz_to_json_with_custom_subsecond_resolution
+ def test_twz_to_json_with_custom_time_precision
with_standard_json_time_format(true) do
- ActiveSupport::JSON::Encoding.subsecond_fraction_digits = 0
+ ActiveSupport::JSON::Encoding.time_precision = 0
zone = ActiveSupport::TimeZone['Eastern Time (US & Canada)']
time = ActiveSupport::TimeWithZone.new(Time.utc(2000), zone)
assert_equal "\"1999-12-31T19:00:00-05:00\"", ActiveSupport::JSON.encode(time)
end
ensure
- ActiveSupport::JSON::Encoding.subsecond_fraction_digits = nil
+ ActiveSupport::JSON::Encoding.time_precision = nil
end
def test_twz_to_json_when_wrapping_a_date_time