Add a JsonSerializationError class instead of raising SecurityError

This commit is contained in:
Robert Speicher 2017-12-01 11:33:02 -06:00
parent 2f92238a6e
commit 8d0ad36bcf
2 changed files with 6 additions and 4 deletions

View File

@ -5,8 +5,10 @@
module BlocksJsonSerialization module BlocksJsonSerialization
extend ActiveSupport::Concern extend ActiveSupport::Concern
def to_json(*args) JsonSerializationError = Class.new(StandardError)
raise SecurityError,
def to_json(*)
raise JsonSerializationError,
"JSON serialization has been disabled on #{self.class.name}" "JSON serialization has been disabled on #{self.class.name}"
end end

View File

@ -7,11 +7,11 @@ describe BlocksJsonSerialization do
it 'blocks as_json' do it 'blocks as_json' do
expect { DummyModel.new.to_json } expect { DummyModel.new.to_json }
.to raise_error(SecurityError, "JSON serialization has been disabled on DummyModel") .to raise_error(described_class::JsonSerializationError, /DummyModel/)
end end
it 'blocks to_json' do it 'blocks to_json' do
expect { DummyModel.new.to_json } expect { DummyModel.new.to_json }
.to raise_error(SecurityError, "JSON serialization has been disabled on DummyModel") .to raise_error(described_class::JsonSerializationError, /DummyModel/)
end end
end end