Add PORO serializable base class: ActiveModelSerializers::Model

This commit is contained in:
Benjamin Fleischer
2015-10-09 00:19:03 -05:00
parent 526b56e9a6
commit 124faaa829
10 changed files with 85 additions and 43 deletions

View File

@@ -80,8 +80,8 @@ module ActiveModel::Serializer::Lint
# arguments (Rails 4.0) or a splat (Rails 4.1+).
# Fails otherwise.
#
# <tt>cache_key</tt> returns a (self-expiring) unique key for the object,
# which is used by the adapter.
# <tt>cache_key</tt> returns a (self-expiring) unique key for the object, and
# is part of the (self-expiring) cache_key, which is used by the adapter.
# It is not required unless caching is enabled.
def test_cache_key
assert_respond_to resource, :cache_key
@@ -92,6 +92,19 @@ module ActiveModel::Serializer::Lint
assert_includes [-1, 0], actual_arity, "expected #{actual_arity.inspect} to be 0 or -1"
end
# Passes if the object responds to <tt>updated_at</tt> and if it takes no
# arguments.
# Fails otherwise.
#
# <tt>updated_at</tt> returns a Time object or iso8601 string and
# is part of the (self-expiring) cache_key, which is used by the adapter.
# It is not required unless caching is enabled.
def test_updated_at
assert_respond_to resource, :updated_at
actual_arity = resource.method(:updated_at).arity
assert_equal actual_arity, 0, "expected #{actual_arity.inspect} to be 0"
end
# Passes if the object responds to <tt>id</tt> and if it takes no
# arguments.
# Fails otherwise.