Skip to content

Commit e30b2a4

Browse files
committed
Merge branch 'groyoh-follow_up_1535'
Needs followup - way we deprecate classes to be generalized - initialize old json api #1543 (comment) - consider restoring ensure #1543 (comment)
2 parents 79e6acb + dd94fe2 commit e30b2a4

24 files changed

+823
-614
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ Fixes:
2929
- [#1488](https://github.com/rails-api/active_model_serializers/pull/1488) Require ActiveSupport's string inflections (@nate00)
3030

3131
Misc:
32+
- [#1543](https://github.com/rails-api/active_model_serializers/pull/1543) Add the changes missing from #1535. (@groyoh)
33+
- [#1535](https://github.com/rails-api/active_model_serializers/pull/1535) Move the adapter and adapter folder to
34+
active_model_serializers folder and changes the module namespace. (@domitian @bf4)
3235
- [#1497](https://github.com/rails-api/active_model_serializers/pull/1497) Add JRuby-9000 to appveyor.yml(@corainchicago)
3336

3437
### v0.10.0.rc4 (2016/01/27 11:00 +00:00)

lib/active_model/serializer.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@
1818
# reified when subclassed to decorate a resource.
1919
module ActiveModel
2020
class Serializer
21+
extend ActiveSupport::Autoload
2122
include Configuration
2223
include Associations
2324
include Attributes
2425
include Caching
2526
include Links
2627
include Meta
2728
include Type
29+
autoload :Adapter
2830

2931
# @param resource [ActiveRecord::Base, ActiveModelSerializers::Model]
3032
# @return [ActiveModel::Serializer]
@@ -46,7 +48,7 @@ def self.serializer_for(resource, options = {})
4648
# @see ActiveModelSerializers::Adapter.lookup
4749
# Deprecated
4850
def self.adapter
49-
warn 'Calling adapter method in Serializer, please use the ActiveModelSerializers::configured_adapter'
51+
warn 'Calling adapter method in Serializer, please use the ActiveModelSerializers::Adapter.configured_adapter'
5052
ActiveModelSerializers::Adapter.lookup(config.adapter)
5153
end
5254

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
module ActiveModel
2+
class Serializer
3+
# @deprecated Use ActiveModelSerializers::Adapter instead
4+
module Adapter
5+
class << self
6+
def create(resource, options = {})
7+
warn_deprecation
8+
ActiveModelSerializers::Adapter.create(resource, options)
9+
end
10+
11+
def adapter_class(adapter)
12+
warn_deprecation
13+
ActiveModelSerializers::Adapter.adapter_class(adapter)
14+
end
15+
16+
def adapter_map
17+
warn_deprecation
18+
ActiveModelSerializers::Adapter.adapter_map
19+
end
20+
21+
def adapters
22+
warn_deprecation
23+
ActiveModelSerializers::Adapter.adapters
24+
end
25+
26+
def register(name, klass = name)
27+
warn_deprecation
28+
ActiveModelSerializers::Adapter.register(name, klass)
29+
end
30+
31+
def lookup(adapter)
32+
warn_deprecation
33+
ActiveModelSerializers::Adapter.lookup(adapter)
34+
end
35+
36+
def warn_deprecation
37+
warn "Calling deprecated #{name} (#{__FILE__}) from #{caller[1..3].join(', ')}. Please use ActiveModelSerializers::Adapter"
38+
end
39+
private :warn_deprecation
40+
end
41+
42+
require 'active_model/serializer/adapter/base'
43+
require 'active_model/serializer/adapter/null'
44+
require 'active_model/serializer/adapter/attributes'
45+
require 'active_model/serializer/adapter/json'
46+
require 'active_model/serializer/adapter/json_api'
47+
end
48+
end
49+
end
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
require 'active_model_serializers/adapter/attributes'
2+
3+
module ActiveModel
4+
class Serializer
5+
module Adapter
6+
class Attributes < DelegateClass(ActiveModelSerializers::Adapter::Attributes)
7+
def initialize(serializer, options = {})
8+
warn "Calling deprecated #{self.class.name} (#{__FILE__}) from #{caller[0..2].join(', ')}. Please use #{self.class.name.sub('ActiveModel::Serializer', 'ActiveModelSerializers')}"
9+
super(ActiveModelSerializers::Adapter::Attributes.new(serializer, options))
10+
end
11+
end
12+
end
13+
end
14+
end
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
module ActiveModel
2+
class Serializer
3+
module Adapter
4+
class Base < DelegateClass(ActiveModelSerializers::Adapter::Base)
5+
def self.inherited(base)
6+
warn "Inheriting deprecated ActiveModel::Serializer::Adapter::Base in #{caller[0..2].join(', ')}. Please use ActiveModelSerializers::Adapter::Base"
7+
super
8+
end
9+
10+
def initialize(serializer, options = {})
11+
super(ActiveModelSerializers::Adapter::Base.new(serializer, options))
12+
end
13+
end
14+
end
15+
end
16+
end
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
require 'active_model_serializers/adapter/json'
2+
3+
module ActiveModel
4+
class Serializer
5+
module Adapter
6+
class Json < DelegateClass(ActiveModelSerializers::Adapter::Json)
7+
def initialize(serializer, options = {})
8+
warn "Calling deprecated #{self.class.name} (#{__FILE__}) from #{caller[0..2].join(', ')}. Please use #{self.class.name.sub('ActiveModel::Serializer', 'ActiveModelSerializers')}"
9+
super(ActiveModelSerializers::Adapter::Json.new(serializer, options))
10+
end
11+
end
12+
end
13+
end
14+
end
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
require 'active_model_serializers/adapter/json_api'
2+
3+
module ActiveModel
4+
class Serializer
5+
module Adapter
6+
class JsonApi < DelegateClass(ActiveModelSerializers::Adapter::JsonApi)
7+
def initialize(serializer, options = {})
8+
warn "Calling deprecated #{self.class.name} (#{__FILE__}) from #{caller[0..2].join(', ')}. Please use #{self.class.name.sub('ActiveModel::Serializer', 'ActiveModelSerializers')}"
9+
super(ActiveModelSerializers::Adapter::JsonApi.new(serializer, options))
10+
end
11+
end
12+
end
13+
end
14+
end

lib/active_model/serializer/adapter/json_api/api_objects.rb

Lines changed: 0 additions & 13 deletions
This file was deleted.

lib/active_model/serializer/adapter/json_api/api_objects/relationship.rb

Lines changed: 0 additions & 56 deletions
This file was deleted.

lib/active_model/serializer/adapter/json_api/api_objects/resource_identifier.rb

Lines changed: 0 additions & 40 deletions
This file was deleted.

0 commit comments

Comments
 (0)