Skip to content

Commit 61d887a

Browse files
committed
Rework :deferred => :completed
The default response from _save will still be :completed, and operations will return their default response codes. if _save returns any other value operations will return :accepted.
1 parent 8171321 commit 61d887a

3 files changed

Lines changed: 14 additions & 14 deletions

File tree

lib/jsonapi/operation.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def apply(context)
149149
resource = @resource_klass.create(context)
150150
result = resource.replace_fields(@data)
151151

152-
return JSONAPI::ResourceOperationResult.new((result == :deferred ? :accepted : :created), resource)
152+
return JSONAPI::ResourceOperationResult.new((result == :completed ? :created : :accepted), resource)
153153

154154
rescue JSONAPI::Exceptions::Error => e
155155
return JSONAPI::ErrorsOperationResult.new(e.errors[0].code, e.errors)
@@ -167,7 +167,7 @@ def apply(context)
167167
resource = @resource_klass.find_by_key(@resource_id, context: context)
168168
result = resource.remove
169169

170-
return JSONAPI::OperationResult.new(result == :deferred ? :accepted : :no_content)
170+
return JSONAPI::OperationResult.new(result == :completed ? :no_content : :accepted)
171171

172172
rescue JSONAPI::Exceptions::Error => e
173173
return JSONAPI::ErrorsOperationResult.new(e.errors[0].code, e.errors)
@@ -187,7 +187,7 @@ def apply(context)
187187
resource = @resource_klass.find_by_key(@resource_id, context: context)
188188
result = resource.replace_fields(data)
189189

190-
return JSONAPI::ResourceOperationResult.new(result == :deferred ? :accepted : :ok, resource)
190+
return JSONAPI::ResourceOperationResult.new(result == :completed ? :ok : :accepted, resource)
191191
end
192192
end
193193

@@ -205,7 +205,7 @@ def apply(context)
205205
resource = @resource_klass.find_by_key(@resource_id, context: context)
206206
result = resource.replace_has_one_link(@association_type, @key_value)
207207

208-
return JSONAPI::OperationResult.new(result == :deferred ? :accepted : :no_content)
208+
return JSONAPI::OperationResult.new(result == :completed ? :no_content : :accepted)
209209
end
210210
end
211211

@@ -223,7 +223,7 @@ def apply(context)
223223
resource = @resource_klass.find_by_key(@resource_id, context: context)
224224
result = resource.create_has_many_links(@association_type, @data)
225225

226-
return JSONAPI::OperationResult.new(result == :deferred ? :accepted : :no_content)
226+
return JSONAPI::OperationResult.new(result == :completed ? :no_content : :accepted)
227227
end
228228
end
229229

@@ -241,7 +241,7 @@ def apply(context)
241241
resource = @resource_klass.find_by_key(@resource_id, context: context)
242242
result = resource.replace_has_many_links(@association_type, @data)
243243

244-
return JSONAPI::OperationResult.new(result == :deferred ? :accepted : :no_content)
244+
return JSONAPI::OperationResult.new(result == :completed ? :no_content : :accepted)
245245
end
246246
end
247247

@@ -259,7 +259,7 @@ def apply(context)
259259
resource = @resource_klass.find_by_key(@resource_id, context: context)
260260
result = resource.remove_has_many_link(@association_type, @associated_key)
261261

262-
return JSONAPI::OperationResult.new(result == :deferred ? :accepted : :no_content)
262+
return JSONAPI::OperationResult.new(result == :completed ? :no_content : :accepted)
263263
end
264264
end
265265

@@ -276,7 +276,7 @@ def apply(context)
276276
resource = @resource_klass.find_by_key(@resource_id, context: context)
277277
result = resource.remove_has_one_link(@association_type)
278278

279-
return JSONAPI::OperationResult.new(result == :deferred ? :accepted : :no_content)
279+
return JSONAPI::OperationResult.new(result == :completed ? :no_content : :accepted)
280280
end
281281
end
282282
end

lib/jsonapi/resource.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,26 @@ def is_new?
3535
end
3636

3737
def change(callback)
38-
deferred = false
38+
completed = false
3939

4040
if @changing
4141
run_callbacks callback do
42-
deferred = true if yield == :deferred
42+
completed = (yield == :completed)
4343
end
4444
else
4545
run_callbacks is_new? ? :create : :update do
4646
@changing = true
4747
run_callbacks callback do
48-
deferred = true if yield == :deferred
48+
completed = (yield == :completed)
4949
end
5050

5151
if @save_needed || is_new?
52-
deferred = true if save == :deferred
52+
completed = (save == :completed)
5353
end
5454
end
5555
end
5656

57-
return deferred ? :deferred : :completed
57+
return completed ? :completed : :accepted
5858
end
5959

6060
def remove

test/fixtures/active_record.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,7 @@ def self.find_by_key(id, options = {})
710710

711711
def _save
712712
super
713-
return :deferred
713+
return :accepted
714714
end
715715
end
716716

0 commit comments

Comments
 (0)