Skip to content

Commit 610775a

Browse files
committed
Merge pull request #1129 from bf4/remove_serializable_resource_serialize
Remove SerializableResource.serialize in favor of `.new`
2 parents 2111ae8 + 7eddbe4 commit 610775a

File tree

2 files changed

+12
-25
lines changed

2 files changed

+12
-25
lines changed

lib/action_controller/serialization.rb

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,20 @@ def serialization_scope
2222
def get_serializer(resource, options = {})
2323
if !use_adapter?
2424
warn 'ActionController::Serialization#use_adapter? has been removed. '\
25-
"Please pass 'adapter: false' or see ActiveSupport::SerializableResource#serialize"
25+
"Please pass 'adapter: false' or see ActiveSupport::SerializableResource.new"
2626
options[:adapter] = false
2727
end
28-
ActiveModel::SerializableResource.serialize(resource, options) do |serializable_resource|
29-
if serializable_resource.serializer?
30-
serializable_resource.serialization_scope ||= serialization_scope
31-
serializable_resource.serialization_scope_name = _serialization_scope
32-
begin
33-
serializable_resource.adapter
34-
rescue ActiveModel::Serializer::ArraySerializer::NoSerializerError
35-
resource
36-
end
37-
else
28+
serializable_resource = ActiveModel::SerializableResource.new(resource, options)
29+
if serializable_resource.serializer?
30+
serializable_resource.serialization_scope ||= serialization_scope
31+
serializable_resource.serialization_scope_name = _serialization_scope
32+
begin
33+
serializable_resource.adapter
34+
rescue ActiveModel::Serializer::ArraySerializer::NoSerializerError
3835
resource
3936
end
37+
else
38+
resource
4039
end
4140
end
4241

lib/active_model/serializable_resource.rb

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ module ActiveModel
33
class SerializableResource
44
ADAPTER_OPTION_KEYS = Set.new([:include, :fields, :adapter])
55

6+
# Primary interface to composing a resource with a serializer and adapter.
7+
# @return the serializable_resource, ready for #as_json/#to_json/#serializable_hash.
68
def initialize(resource, options = {})
79
@resource = resource
810
@adapter_opts, @serializer_opts =
@@ -11,20 +13,6 @@ def initialize(resource, options = {})
1113

1214
delegate :serializable_hash, :as_json, :to_json, to: :adapter
1315

14-
# Primary interface to building a serializer (with adapter)
15-
# If no block is given,
16-
# returns the serializable_resource, ready for #as_json/#to_json/#serializable_hash.
17-
# Otherwise, yields the serializable_resource and
18-
# returns the contents of the block
19-
def self.serialize(resource, options = {})
20-
serializable_resource = SerializableResource.new(resource, options)
21-
if block_given?
22-
yield serializable_resource
23-
else
24-
serializable_resource
25-
end
26-
end
27-
2816
def serialization_scope=(scope)
2917
serializer_opts[:scope] = scope
3018
end

0 commit comments

Comments
 (0)