diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index 9b0a84678a..87ec6f2a2c 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,5 +1,8 @@ *Edge* +* Changed the default ActiveSupport.use_standard_json_time_format from false to true and +ActiveSupport.escape_html_entities_in_json from true to false to match previously announced Rails 3 defaults [DHH] + * Added Object#presence that returns the object if it's #present? otherwise returns nil [DHH/Colin Kelley] * Add Enumerable#exclude? to bring parity to Enumerable#include? and avoid if !x.include?/else calls [DHH] diff --git a/activesupport/lib/active_support/json/encoding.rb b/activesupport/lib/active_support/json/encoding.rb index c8415d5449..8ba45f7ea2 100644 --- a/activesupport/lib/active_support/json/encoding.rb +++ b/activesupport/lib/active_support/json/encoding.rb @@ -114,7 +114,8 @@ module ActiveSupport end end - self.escape_html_entities_in_json = true + self.use_standard_json_time_format = true + self.escape_html_entities_in_json = false end CircularReferenceError = Deprecation::DeprecatedConstantProxy.new('ActiveSupport::JSON::CircularReferenceError', Encoding::CircularReferenceError) diff --git a/activesupport/lib/active_support/time_with_zone.rb b/activesupport/lib/active_support/time_with_zone.rb index 6b554e7158..710dce78de 100644 --- a/activesupport/lib/active_support/time_with_zone.rb +++ b/activesupport/lib/active_support/time_with_zone.rb @@ -32,7 +32,6 @@ module ActiveSupport # t.is_a?(Time) # => true # t.is_a?(ActiveSupport::TimeWithZone) # => true class TimeWithZone - def self.name 'Time' # Report class name as 'Time' to thwart type checking end @@ -114,9 +113,9 @@ module ActiveSupport end alias_method :iso8601, :xmlschema - # Coerces the date to a string for JSON encoding. - # - # ISO 8601 format is used if ActiveSupport::JSON::Encoding.use_standard_json_time_format is set. + # Coerces the date to a string for JSON encoding. The default format is ISO 8601. You can get + # %Y/%m/%d %H:%M:%S +offset style by setting ActiveSupport::JSON::Encoding.use_standard_json_time_format + # to false. # # ==== Examples # diff --git a/railties/lib/rails/generators/rails/app/templates/config/initializers/new_rails_defaults.rb b/railties/lib/rails/generators/rails/app/templates/config/initializers/new_rails_defaults.rb index 8ec3186c84..91a8fdb688 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/initializers/new_rails_defaults.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/initializers/new_rails_defaults.rb @@ -4,16 +4,6 @@ # for Rails 3. You can remove this initializer when Rails 3 is released. if defined?(ActiveRecord) - # Include Active Record class name as root for JSON serialized output. - ActiveRecord::Base.include_root_in_json = true - # Store the full class name (including module namespace) in STI type column. ActiveRecord::Base.store_full_sti_class = true -end - -# Use ISO 8601 format for JSON serialized times and dates. -ActiveSupport.use_standard_json_time_format = true - -# Don't escape HTML entities in JSON, leave that for the #json_escape helper. -# if you're including raw json in an HTML page. -ActiveSupport.escape_html_entities_in_json = false \ No newline at end of file +end \ No newline at end of file