Concrete adapter should provide serializable hash for Adapter#to_json method

This commit is contained in:
Tema Bolshakov 2014-08-27 09:33:14 +04:00
parent 2c7906e9ff
commit a6f9dae560
4 changed files with 2 additions and 16 deletions

View File

@ -15,8 +15,8 @@ module ActiveModel
raise NotImplementedError, 'This is abstract method. Should be implemented at concrete adapter.' raise NotImplementedError, 'This is abstract method. Should be implemented at concrete adapter.'
end end
def to_json(options = {}) def to_json(options={})
raise NotImplementedError, 'This is abstract method. Should be implemented at concrete adapter.' serializable_hash(options).to_json
end end
def self.adapter_for(serializer) def self.adapter_for(serializer)

View File

@ -5,10 +5,6 @@ module ActiveModel
def serializable_hash(options = {}) def serializable_hash(options = {})
{} {}
end end
def to_json(options = {})
serializable_hash.to_json
end
end end
end end
end end

View File

@ -7,10 +7,6 @@ module ActiveModel
h[attr] = value h[attr] = value
end end
end end
def to_json(options={})
serializable_hash(options).to_json
end
end end
end end
end end

View File

@ -15,12 +15,6 @@ module ActiveModel
end end
end end
def test_to_json_is_abstract_method
assert_raises(NotImplementedError) do
@adapter.to_json(only: [:name])
end
end
def test_serializer def test_serializer
assert_equal @serializer, @adapter.serializer assert_equal @serializer, @adapter.serializer
end end