Skip to content

Commit 42dc46a

Browse files
committed
Add poro_without_caching builder
1 parent 266d7a3 commit 42dc46a

File tree

3 files changed

+18
-13
lines changed

3 files changed

+18
-13
lines changed

test/active_model_serializers/model_test.rb

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class BasicModelTest < ActiveSupport::TestCase
4444
end
4545

4646
def test_initialization_with_string_keys
47-
klass = subclass_without_caching_support do
47+
klass = poro_without_caching_support do
4848
attributes :key
4949
end
5050
value = 'value'
@@ -55,7 +55,7 @@ def test_initialization_with_string_keys
5555
end
5656

5757
def test_attributes_can_be_read_for_serialization
58-
klass = subclass_without_caching_support do
58+
klass = poro_without_caching_support do
5959
attributes :one, :two, :three
6060
end
6161
original_attributes = { one: 1, two: 2, three: 3 }
@@ -77,18 +77,8 @@ def test_attributes_can_be_read_for_serialization
7777
end
7878

7979
def test_does_not_include_caching_module
80-
klass = subclass_without_caching_support
80+
klass = poro_without_caching_support
8181
refute klass.included_modules.include?(ActiveModelSerializers::Model::Caching)
8282
end
83-
84-
def subclass_without_caching_support(&block)
85-
original_caching_support = ActiveModelSerializers::Model.add_caching_support
86-
ActiveModelSerializers::Model.add_caching_support = false
87-
Class.new(ActiveModelSerializers::Model) do
88-
instance_exec(&block) if block
89-
end
90-
ensure
91-
ActiveModelSerializers::Model.add_caching_support = original_caching_support
92-
end
9383
end
9484
end

test/support/poro.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module ActiveModelSerializersPoroSupport
2+
def poro_without_caching_support(superklass = ActiveModelSerializers::Model, &block)
3+
original_caching_support = superklass.add_caching_support
4+
superklass.add_caching_support = false
5+
Class.new(superklass) do
6+
instance_exec(&block) if block
7+
end
8+
ensure
9+
superklass.add_caching_support = original_caching_support
10+
end
11+
end
12+
Minitest::Test.include ActiveModelSerializersPoroSupport
13+
Minitest::Test.extend ActiveModelSerializersPoroSupport

test/test_helper.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ def serialization_options(options)
4848

4949
require 'support/rails5_shims'
5050

51+
require 'support/poro'
52+
5153
require 'fixtures/active_record'
5254

5355
require 'fixtures/poro'

0 commit comments

Comments
 (0)