mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
remove meaningless AS::FrozenObjectError
This commit is contained in:
parent
5f638161f7
commit
7bc224dda0
7 changed files with 4 additions and 12 deletions
|
@ -1,5 +1,4 @@
|
|||
require 'action_controller/metal/exceptions'
|
||||
require 'active_support/core_ext/exception'
|
||||
require 'active_support/core_ext/class/attribute_accessors'
|
||||
|
||||
module ActionDispatch
|
||||
|
|
|
@ -113,7 +113,7 @@ module ActiveRecord
|
|||
# other than the writer method.
|
||||
#
|
||||
# The immutable requirement is enforced by Active Record by freezing any object assigned as a value
|
||||
# object. Attempting to change it afterwards will result in a ActiveSupport::FrozenObjectError.
|
||||
# object. Attempting to change it afterwards will result in a RuntimeError.
|
||||
#
|
||||
# Read more about value objects on http://c2.com/cgi/wiki?ValueObject and on the dangers of not
|
||||
# keeping value objects immutable on http://c2.com/cgi/wiki?ValueObjectsShouldBeImmutable
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
require "cases/helper"
|
||||
require 'models/customer'
|
||||
require 'active_support/core_ext/exception'
|
||||
|
||||
class AggregationsTest < ActiveRecord::TestCase
|
||||
fixtures :customers
|
||||
|
@ -26,7 +25,7 @@ class AggregationsTest < ActiveRecord::TestCase
|
|||
|
||||
def test_immutable_value_objects
|
||||
customers(:david).balance = Money.new(100)
|
||||
assert_raise(ActiveSupport::FrozenObjectError) { customers(:david).balance.instance_eval { @amount = 20 } }
|
||||
assert_raise(RuntimeError) { customers(:david).balance.instance_eval { @amount = 20 } }
|
||||
end
|
||||
|
||||
def test_inferred_mapping
|
||||
|
|
|
@ -26,7 +26,6 @@ require 'models/bird'
|
|||
require 'models/car'
|
||||
require 'models/bulb'
|
||||
require 'rexml/document'
|
||||
require 'active_support/core_ext/exception'
|
||||
|
||||
class FirstAbstractClass < ActiveRecord::Base
|
||||
self.abstract_class = true
|
||||
|
|
|
@ -16,7 +16,6 @@ require 'models/person'
|
|||
require 'models/pet'
|
||||
require 'models/toy'
|
||||
require 'rexml/document'
|
||||
require 'active_support/core_ext/exception'
|
||||
|
||||
class PersistencesTest < ActiveRecord::TestCase
|
||||
|
||||
|
@ -365,7 +364,7 @@ class PersistencesTest < ActiveRecord::TestCase
|
|||
client.delete
|
||||
assert client.frozen?
|
||||
assert_kind_of Firm, client.firm
|
||||
assert_raise(ActiveSupport::FrozenObjectError) { client.name = "something else" }
|
||||
assert_raise(RuntimeError) { client.name = "something else" }
|
||||
end
|
||||
|
||||
def test_destroy_new_record
|
||||
|
@ -379,7 +378,7 @@ class PersistencesTest < ActiveRecord::TestCase
|
|||
client.destroy
|
||||
assert client.frozen?
|
||||
assert_kind_of Firm, client.firm
|
||||
assert_raise(ActiveSupport::FrozenObjectError) { client.name = "something else" }
|
||||
assert_raise(RuntimeError) { client.name = "something else" }
|
||||
end
|
||||
|
||||
def test_update_attribute
|
||||
|
|
|
@ -3,7 +3,6 @@ require 'zlib'
|
|||
require 'active_support/core_ext/array/extract_options'
|
||||
require 'active_support/core_ext/array/wrap'
|
||||
require 'active_support/core_ext/benchmark'
|
||||
require 'active_support/core_ext/exception'
|
||||
require 'active_support/core_ext/class/attribute_accessors'
|
||||
require 'active_support/core_ext/numeric/bytes'
|
||||
require 'active_support/core_ext/numeric/time'
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
module ActiveSupport
|
||||
FrozenObjectError = RuntimeError
|
||||
end
|
Loading…
Reference in a new issue