diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index 281c98fc..e9edf41a 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -136,8 +136,9 @@ end @only = options[:only] ? Array(options[:only]) : nil @except = options[:except] ? Array(options[:except]) : nil @key_format = options[:key_format] + @context = options[:context] end - attr_accessor :object, :scope, :root, :meta_key, :meta, :key_format + attr_accessor :object, :scope, :root, :meta_key, :meta, :key_format, :context def json_key key = if root == true || root.nil? diff --git a/test/unit/active_model/serializer/options_test.rb b/test/unit/active_model/serializer/options_test.rb new file mode 100644 index 00000000..986d2071 --- /dev/null +++ b/test/unit/active_model/serializer/options_test.rb @@ -0,0 +1,15 @@ +require 'test_helper' + +module ActiveModel + class Serializer + class OptionsTest < Minitest::Test + def setup + @serializer = ProfileSerializer.new(nil, context: {foo: :bar}) + end + + def test_custom_options_are_accessible_from_serializer + assert_equal({foo: :bar}, @serializer.context) + end + end + end +end