提交 9c4730d0 编写于 作者: M miloops 提交者: gbuesing

Base.skip_time_zone_conversion_for_attributes uses class_inheritable_accessor,...

Base.skip_time_zone_conversion_for_attributes uses class_inheritable_accessor, so that subclasses don't overwrite Base [#346 state:resolved]
上级 d28c724b
*Edge* *Edge*
* Base.skip_time_zone_conversion_for_attributes uses class_inheritable_accessor, so that subclasses don't overwrite Base [#346 state:resolved] [miloops]
* Added find_last_by dynamic finder #762 [miloops] * Added find_last_by dynamic finder #762 [miloops]
* Internal API: configurable association options and build_association method for reflections so plugins may extend and override. #985 [Hongli Lai] * Internal API: configurable association options and build_association method for reflections so plugins may extend and override. #985 [Hongli Lai]
......
...@@ -10,7 +10,7 @@ def self.included(base) ...@@ -10,7 +10,7 @@ def self.included(base)
base.attribute_types_cached_by_default = ATTRIBUTE_TYPES_CACHED_BY_DEFAULT base.attribute_types_cached_by_default = ATTRIBUTE_TYPES_CACHED_BY_DEFAULT
base.cattr_accessor :time_zone_aware_attributes, :instance_writer => false base.cattr_accessor :time_zone_aware_attributes, :instance_writer => false
base.time_zone_aware_attributes = false base.time_zone_aware_attributes = false
base.cattr_accessor :skip_time_zone_conversion_for_attributes, :instance_writer => false base.class_inheritable_accessor :skip_time_zone_conversion_for_attributes, :instance_writer => false
base.skip_time_zone_conversion_for_attributes = [] base.skip_time_zone_conversion_for_attributes = []
end end
......
require "cases/helper" require "cases/helper"
require 'models/topic' require 'models/topic'
require 'models/minimalistic'
class AttributeMethodsTest < ActiveRecord::TestCase class AttributeMethodsTest < ActiveRecord::TestCase
fixtures :topics fixtures :topics
...@@ -219,6 +220,14 @@ def test_setting_time_zone_aware_attribute_in_current_time_zone ...@@ -219,6 +220,14 @@ def test_setting_time_zone_aware_attribute_in_current_time_zone
end end
end end
def test_setting_time_zone_conversion_for_attributes_should_write_value_on_class_variable
Topic.skip_time_zone_conversion_for_attributes = [:field_a]
Minimalistic.skip_time_zone_conversion_for_attributes = [:field_b]
assert_equal [:field_a], Topic.skip_time_zone_conversion_for_attributes
assert_equal [:field_b], Minimalistic.skip_time_zone_conversion_for_attributes
end
private private
def time_related_columns_on_topic def time_related_columns_on_topic
Topic.columns.select{|c| [:time, :date, :datetime, :timestamp].include?(c.type)}.map(&:name) Topic.columns.select{|c| [:time, :date, :datetime, :timestamp].include?(c.type)}.map(&:name)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册