Skip to content

Commit 7c82258

Browse files
committed
Merge pull request #1177 from bf4/remove_adapter_autoloads
Remove Adapter autoloads in favor of require
2 parents a309132 + ad2ca3b commit 7c82258

File tree

13 files changed

+75
-58
lines changed

13 files changed

+75
-58
lines changed

.rubocop.yml

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,6 @@ AllCops:
88
DisplayCopNames: true
99
DisplayStyleGuide: true
1010

11-
Style/IndentationConsistency:
12-
Exclude:
13-
- lib/active_model/serializer/adapter/attributes.rb
14-
- lib/active_model/serializer/adapter/fragment_cache.rb
15-
- lib/active_model/serializer/adapter/json.rb
16-
- lib/active_model/serializer/adapter/json/fragment_cache.rb
17-
- lib/active_model/serializer/adapter/json_api.rb
18-
- lib/active_model/serializer/adapter/json_api/fragment_cache.rb
19-
- lib/active_model/serializer/adapter/json_api/pagination_links.rb
20-
- lib/active_model/serializer/adapter/null.rb
21-
22-
Style/IndentationWidth:
23-
Exclude:
24-
- lib/active_model/serializer/adapter/attributes.rb
25-
- lib/active_model/serializer/adapter/fragment_cache.rb
26-
- lib/active_model/serializer/adapter/json.rb
27-
- lib/active_model/serializer/adapter/json/fragment_cache.rb
28-
- lib/active_model/serializer/adapter/json_api.rb
29-
- lib/active_model/serializer/adapter/json_api/fragment_cache.rb
30-
- lib/active_model/serializer/adapter/json_api/pagination_links.rb
31-
- lib/active_model/serializer/adapter/null.rb
32-
33-
Style/AccessModifierIndentation:
34-
Exclude:
35-
- lib/active_model/serializer/adapter/attributes.rb
36-
- lib/active_model/serializer/adapter/fragment_cache.rb
37-
- lib/active_model/serializer/adapter/json.rb
38-
- lib/active_model/serializer/adapter/json/fragment_cache.rb
39-
- lib/active_model/serializer/adapter/json_api.rb
40-
- lib/active_model/serializer/adapter/json_api/fragment_cache.rb
41-
- lib/active_model/serializer/adapter/json_api/pagination_links.rb
42-
- lib/active_model/serializer/adapter/null.rb
43-
4411
Lint/NestedMethodDefinition:
4512
Enabled: false
4613
Exclude:

lib/active_model/serializer.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
module ActiveModel
1111
class Serializer
12-
extend ActiveSupport::Autoload
13-
1412
include Configuration
1513
include Associations
1614

lib/active_model/serializer/adapter.rb

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,8 @@ class Adapter
44
UnknownAdapterError = Class.new(ArgumentError)
55
ADAPTER_MAP = {}
66
private_constant :ADAPTER_MAP if defined?(private_constant)
7-
extend ActiveSupport::Autoload
8-
autoload :Attributes
9-
autoload :Null
10-
autoload :FragmentCache
11-
autoload :Json
12-
autoload :JsonApi
13-
autoload :CachedSerializer
7+
require 'active_model/serializer/adapter/fragment_cache'
8+
require 'active_model/serializer/adapter/cached_serializer'
149

1510
def self.create(resource, options = {})
1611
override = options.delete(:adapter)
@@ -131,6 +126,12 @@ def include_meta(json)
131126
json[meta_key] = meta if meta
132127
json
133128
end
129+
130+
# Gotta be at the bottom to use the code above it :(
131+
require 'active_model/serializer/adapter/null'
132+
require 'active_model/serializer/adapter/attributes'
133+
require 'active_model/serializer/adapter/json'
134+
require 'active_model/serializer/adapter/json_api'
134135
end
135136
end
136137
end

lib/active_model/serializer/adapter/attributes.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
class ActiveModel::Serializer::Adapter::Attributes < ActiveModel::Serializer::Adapter
1+
module ActiveModel
2+
class Serializer
3+
class Adapter
4+
class Attributes < Adapter
25
def serializable_hash(options = nil)
36
options ||= {}
47
if serializer.respond_to?(:each)
@@ -47,4 +50,7 @@ def fragment_cache(cached_hash, non_cached_hash)
4750
def include_meta(json)
4851
json
4952
end
53+
end
54+
end
55+
end
5056
end

lib/active_model/serializer/adapter/fragment_cache.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
class ActiveModel::Serializer::Adapter::FragmentCache
1+
module ActiveModel
2+
class Serializer
3+
class Adapter
4+
class FragmentCache
25
attr_reader :serializer
36

47
def initialize(adapter, serializer, options)
@@ -76,4 +79,7 @@ def fragment_serializer(name, klass)
7679
def to_valid_const_name(name)
7780
name.gsub('::', '_')
7881
end
82+
end
83+
end
84+
end
7985
end

lib/active_model/serializer/adapter/json.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
class ActiveModel::Serializer::Adapter::Json < ActiveModel::Serializer::Adapter
1+
module ActiveModel
2+
class Serializer
3+
class Adapter
4+
class Json < Adapter
25
extend ActiveSupport::Autoload
36
autoload :FragmentCache
47

@@ -12,4 +15,7 @@ def serializable_hash(options = nil)
1215
def fragment_cache(cached_hash, non_cached_hash)
1316
ActiveModel::Serializer::Adapter::Json::FragmentCache.new.fragment_cache(cached_hash, non_cached_hash)
1417
end
18+
end
19+
end
20+
end
1521
end
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1-
class ActiveModel::Serializer::Adapter::Json::FragmentCache
1+
module ActiveModel
2+
class Serializer
3+
class Adapter
4+
class Json
5+
class FragmentCache
26
def fragment_cache(cached_hash, non_cached_hash)
37
non_cached_hash.merge cached_hash
48
end
9+
end
10+
end
11+
end
12+
end
513
end

lib/active_model/serializer/adapter/json_api.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
class ActiveModel::Serializer::Adapter::JsonApi < ActiveModel::Serializer::Adapter
1+
module ActiveModel
2+
class Serializer
3+
class Adapter
4+
class JsonApi < Adapter
25
extend ActiveSupport::Autoload
36
autoload :PaginationLinks
47
autoload :FragmentCache
@@ -157,4 +160,7 @@ def _included_for(serializer, includes)
157160
def links_for(serializer, options)
158161
JsonApi::PaginationLinks.new(serializer.object, options[:context]).serializable_hash(options)
159162
end
163+
end
164+
end
165+
end
160166
end

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
class ActiveModel::Serializer::Adapter::JsonApi::FragmentCache
1+
module ActiveModel
2+
class Serializer
3+
class Adapter
4+
class JsonApi
5+
class FragmentCache
26
def fragment_cache(root, cached_hash, non_cached_hash)
37
hash = {}
48
core_cached = cached_hash.first
@@ -10,4 +14,8 @@ def fragment_cache(root, cached_hash, non_cached_hash)
1014

1115
hash.deep_merge no_root_non_cache.deep_merge no_root_cache
1216
end
17+
end
18+
end
19+
end
20+
end
1321
end

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
class ActiveModel::Serializer::Adapter::JsonApi::PaginationLinks
1+
module ActiveModel
2+
class Serializer
3+
class Adapter
4+
class JsonApi < Adapter
5+
class PaginationLinks
26
FIRST_PAGE = 1
37

48
attr_reader :collection, :context
@@ -47,4 +51,8 @@ def original_url
4751
def query_parameters
4852
@query_parameters ||= context.query_parameters
4953
end
54+
end
55+
end
56+
end
57+
end
5058
end

0 commit comments

Comments
 (0)