mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-25 15:23:06 +00:00
Merge pull request #748 from raphaelpereira/0-9-stable
Propagate serialization_options across associations
This commit is contained in:
7
test/fixtures/poro.rb
vendored
7
test/fixtures/poro.rb
vendored
@@ -109,6 +109,13 @@ end
|
||||
class PostSerializer < ActiveModel::Serializer
|
||||
attributes :title, :body
|
||||
|
||||
def title
|
||||
keyword = serialization_options[:highlight_keyword]
|
||||
title = object.read_attribute_for_serialization(:title)
|
||||
title = title.gsub(keyword,"'#{keyword}'") if keyword
|
||||
title
|
||||
end
|
||||
|
||||
has_many :comments
|
||||
end
|
||||
|
||||
|
||||
@@ -176,7 +176,7 @@ module ActiveModel
|
||||
|
||||
def test_associations_embedding_objects_using_a_given_array_serializer
|
||||
@association.serializer_from_options = Class.new(ArraySerializer) do
|
||||
def serializable_object
|
||||
def serializable_object(options={})
|
||||
{ my_content: ['fake'] }
|
||||
end
|
||||
end
|
||||
|
||||
@@ -21,6 +21,9 @@ module ActiveModel
|
||||
serialization_options[:force_the_description]
|
||||
end
|
||||
end
|
||||
|
||||
@category = Category.new({name: 'Category 1'})
|
||||
@category_serializer = CategorySerializer.new(@category)
|
||||
end
|
||||
|
||||
def test_filtered_attributes_serialization
|
||||
@@ -29,6 +32,11 @@ module ActiveModel
|
||||
'profile' => { name: 'Name 1', description: forced_description }
|
||||
}, @profile_serializer.as_json(force_the_description: forced_description))
|
||||
end
|
||||
|
||||
def test_filtered_attributes_serialization_across_association
|
||||
assert_equal("'T1'",
|
||||
@category_serializer.as_json(highlight_keyword: 'T1')['category'][:posts][0][:title])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user