@@ -3,12 +3,13 @@ class Operation
33 attr_reader :resource_klass , :options , :transactional
44
55 def initialize ( resource_klass , options = { } )
6+ @context = options [ :context ]
67 @resource_klass = resource_klass
78 @options = options
89 @transactional = true
910 end
1011
11- def apply ( context )
12+ def apply
1213 end
1314 end
1415
@@ -20,7 +21,8 @@ def initialize(resource_klass, options = {})
2021 @include_directives = options [ :include_directives ]
2122 @sort_criteria = options . fetch ( :sort_criteria , [ ] )
2223 @paginator = options [ :paginator ]
23- super ( resource_klass , false )
24+ @transactional = false
25+ super ( resource_klass , options )
2426 end
2527
2628 def record_count
@@ -39,9 +41,9 @@ def pagination_params
3941 end
4042 end
4143
42- def apply ( context )
43- resource_records = @resource_klass . find ( @resource_klass . verify_filters ( @filters , context ) ,
44- context : context ,
44+ def apply
45+ resource_records = @resource_klass . find ( @resource_klass . verify_filters ( @filters , @ context) ,
46+ context : @ context,
4547 include_directives : @include_directives ,
4648 sort_criteria : @sort_criteria ,
4749 paginator : @paginator )
@@ -74,11 +76,11 @@ def initialize(resource_klass, options = {})
7476 super ( resource_klass , options )
7577 end
7678
77- def apply ( context )
78- key = @resource_klass . verify_key ( @id , context )
79+ def apply
80+ key = @resource_klass . verify_key ( @id , @ context)
7981
8082 resource_record = resource_klass . find_by_key ( key ,
81- context : context ,
83+ context : @ context,
8284 include_directives : @include_directives )
8385
8486 return JSONAPI ::ResourceOperationResult . new ( :ok , resource_record )
@@ -98,8 +100,8 @@ def initialize(resource_klass, options = {})
98100 super ( resource_klass , options )
99101 end
100102
101- def apply ( context )
102- parent_resource = resource_klass . find_by_key ( @parent_key , context : context )
103+ def apply
104+ parent_resource = resource_klass . find_by_key ( @parent_key , context : @ context)
103105
104106 return JSONAPI ::LinksObjectOperationResult . new ( :ok ,
105107 parent_resource ,
@@ -121,8 +123,8 @@ def initialize(resource_klass, options = {})
121123 super ( resource_klass , options )
122124 end
123125
124- def apply ( context )
125- source_resource = @source_klass . find_by_key ( @source_id , context : context )
126+ def apply
127+ source_resource = @source_klass . find_by_key ( @source_id , context : @ context)
126128
127129 related_resource = source_resource . send ( @association_type )
128130
@@ -147,8 +149,8 @@ def initialize(resource_klass, options = {})
147149 super ( resource_klass , options )
148150 end
149151
150- def apply ( context )
151- source_resource = @source_klass . find_by_key ( @source_id , context : context )
152+ def apply
153+ source_resource = @source_klass . find_by_key ( @source_id , context : @ context)
152154
153155 related_resource = source_resource . send ( @association_type ,
154156 {
@@ -172,8 +174,8 @@ def initialize(resource_klass, options = {})
172174 super ( resource_klass , options )
173175 end
174176
175- def apply ( context )
176- resource = @resource_klass . create ( context )
177+ def apply
178+ resource = @resource_klass . create ( @ context)
177179 result = resource . replace_fields ( @data )
178180
179181 return JSONAPI ::ResourceOperationResult . new ( ( result == :completed ? :created : :accepted ) , resource )
@@ -190,8 +192,8 @@ def initialize(resource_klass, options = {})
190192 super ( resource_klass , options )
191193 end
192194
193- def apply ( context )
194- resource = @resource_klass . find_by_key ( @resource_id , context : context )
195+ def apply
196+ resource = @resource_klass . find_by_key ( @resource_id , context : @ context)
195197 result = resource . remove
196198
197199 return JSONAPI ::OperationResult . new ( result == :completed ? :no_content : :accepted )
@@ -210,8 +212,8 @@ def initialize(resource_klass, options = {})
210212 super ( resource_klass , options )
211213 end
212214
213- def apply ( context )
214- resource = @resource_klass . find_by_key ( @resource_id , context : context )
215+ def apply
216+ resource = @resource_klass . find_by_key ( @resource_id , context : @ context)
215217 result = resource . replace_fields ( data )
216218
217219 return JSONAPI ::ResourceOperationResult . new ( result == :completed ? :ok : :accepted , resource )
@@ -228,8 +230,8 @@ def initialize(resource_klass, options = {})
228230 super ( resource_klass , options )
229231 end
230232
231- def apply ( context )
232- resource = @resource_klass . find_by_key ( @resource_id , context : context )
233+ def apply
234+ resource = @resource_klass . find_by_key ( @resource_id , context : @ context)
233235 result = resource . replace_has_one_link ( @association_type , @key_value )
234236
235237 return JSONAPI ::OperationResult . new ( result == :completed ? :no_content : :accepted )
@@ -246,8 +248,8 @@ def initialize(resource_klass, options)
246248 super ( resource_klass , options )
247249 end
248250
249- def apply ( context )
250- resource = @resource_klass . find_by_key ( @resource_id , context : context )
251+ def apply
252+ resource = @resource_klass . find_by_key ( @resource_id , context : @ context)
251253 result = resource . create_has_many_links ( @association_type , @data )
252254
253255 return JSONAPI ::OperationResult . new ( result == :completed ? :no_content : :accepted )
@@ -264,8 +266,8 @@ def initialize(resource_klass, options)
264266 super ( resource_klass , options )
265267 end
266268
267- def apply ( context )
268- resource = @resource_klass . find_by_key ( @resource_id , context : context )
269+ def apply
270+ resource = @resource_klass . find_by_key ( @resource_id , context : @ context)
269271 result = resource . replace_has_many_links ( @association_type , @data )
270272
271273 return JSONAPI ::OperationResult . new ( result == :completed ? :no_content : :accepted )
@@ -282,8 +284,8 @@ def initialize(resource_klass, options)
282284 super ( resource_klass , options )
283285 end
284286
285- def apply ( context )
286- resource = @resource_klass . find_by_key ( @resource_id , context : context )
287+ def apply
288+ resource = @resource_klass . find_by_key ( @resource_id , context : @ context)
287289 result = resource . remove_has_many_link ( @association_type , @associated_key )
288290
289291 return JSONAPI ::OperationResult . new ( result == :completed ? :no_content : :accepted )
@@ -299,8 +301,8 @@ def initialize(resource_klass, options)
299301 super ( resource_klass , options )
300302 end
301303
302- def apply ( context )
303- resource = @resource_klass . find_by_key ( @resource_id , context : context )
304+ def apply
305+ resource = @resource_klass . find_by_key ( @resource_id , context : @ context)
304306 result = resource . remove_has_one_link ( @association_type )
305307
306308 return JSONAPI ::OperationResult . new ( result == :completed ? :no_content : :accepted )
0 commit comments