desertcart 1.1.5 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a637e22006f9d352ebc0923d6f2f65c7969fc06ffa0c5377dc042305e0161dc3
4
- data.tar.gz: dbae41374368e20b87076d7f31311934eb34c5b4bc6cc382428d60e30dd704ec
3
+ metadata.gz: eb1774c9afba0ecfdc1996971f199d0d539cdcf35a971655b97e51cd4fd980c1
4
+ data.tar.gz: 72dc553eefd4d1366793af206de71644eab755170af4fa9fdc033e8bd414eb6a
5
5
  SHA512:
6
- metadata.gz: 16eed42bd6ee7add8cf93cd53f4eed49c3063fdadafd3bbf98520541cd9a3cf6a85cf5195cdb5431adb0fdc9b10d6c3d642c1c7ccbe290bbed0e2514250b8a46
7
- data.tar.gz: f8a5b2280fbcb3ebad9df05b7fd469f73268ed0ad13dcbd318c596e93369a74592205f61ea6dfb154061442426bf60d63eec1400b0c2d9662ebe1bb96aef92c1
6
+ metadata.gz: eabdcc7f7f4448dd43077e824149d8783d72fa366900700006c6269c8f980cce579347948cf2a9c3c3e18c2d22addb6a9b442c34e56739225783857fd1bc4e82
7
+ data.tar.gz: 9c1e71137ae6c00fee7a8aac8e1e733d85a01f288bac2b70ed61df982fb82cbd85d3d71b222204f541890ab2ebc54a8d41af199d13d3dc4b591582d6a2b9bad3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [1.2.0] - 2021-12-27
4
+
5
+ - Feature: Create Operation succeeds only with 201 status code
6
+ - Feature: Update Operation succeeds only with 200 status code
7
+ - Feature: Create and Update Operation fails with `UnprocessableEntityError` for 422 status code
8
+
3
9
  ## [1.1.5] - 2021-12-16
4
10
 
5
11
  - Chore: Update LedgerSync to 2.3.1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- desertcart (1.1.5)
4
+ desertcart (1.2.0)
5
5
  ledger_sync (~> 2.3.1)
6
6
 
7
7
  GEM
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LedgerSync
4
+ class Error
5
+ class OperationError
6
+ class UnprocessableEntityError < OperationError; end
7
+ end
8
+ end
9
+ end
@@ -10,9 +10,14 @@ module Desertcart
10
10
  private
11
11
 
12
12
  def create_in_ledger
13
- return LedgerSync::Result.Success(response) if response.success?
14
-
15
- fail(response.status)
13
+ case response.status
14
+ when 201
15
+ LedgerSync::Result.Success(response)
16
+ when 422
17
+ rejected
18
+ else
19
+ fail(response.status)
20
+ end
16
21
  end
17
22
 
18
23
  def operate
@@ -44,6 +49,16 @@ module Desertcart
44
49
  resource: @resource
45
50
  )
46
51
  end
52
+
53
+ def rejected
54
+ failure(
55
+ LedgerSync::Error::OperationError::UnprocessableEntityError.new(
56
+ operation: self,
57
+ response: response
58
+ ),
59
+ resource: @resource
60
+ )
61
+ end
47
62
  end
48
63
  end
49
64
  end
@@ -10,9 +10,16 @@ module Desertcart
10
10
  private
11
11
 
12
12
  def update_in_ledger
13
- return LedgerSync::Result.Success(response) if response.success?
14
-
15
- fail(response.status)
13
+ case response.status
14
+ when 200
15
+ LedgerSync::Result.Success(response)
16
+ when 404
17
+ not_found
18
+ when 422
19
+ rejected
20
+ else
21
+ fail(response.status)
22
+ end
16
23
  end
17
24
 
18
25
  def operate
@@ -44,6 +51,26 @@ module Desertcart
44
51
  resource: @resource
45
52
  )
46
53
  end
54
+
55
+ def not_found
56
+ failure(
57
+ LedgerSync::Error::OperationError::NotFoundError.new(
58
+ operation: self,
59
+ response: response
60
+ ),
61
+ resource: @resource
62
+ )
63
+ end
64
+
65
+ def rejected
66
+ failure(
67
+ LedgerSync::Error::OperationError::UnprocessableEntityError.new(
68
+ operation: self,
69
+ response: response
70
+ ),
71
+ resource: @resource
72
+ )
73
+ end
47
74
  end
48
75
  end
49
76
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Desertcart
4
- VERSION = '1.1.5'
4
+ VERSION = '1.2.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: desertcart
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jozef Vaclavik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-16 00:00:00.000000000 Z
11
+ date: 2021-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ledger_sync
@@ -81,6 +81,7 @@ files:
81
81
  - lib/desertcart/client.rb
82
82
  - lib/desertcart/config.rb
83
83
  - lib/desertcart/deserializer.rb
84
+ - lib/desertcart/error.rb
84
85
  - lib/desertcart/marketplace/authorizations/operations/create.rb
85
86
  - lib/desertcart/marketplace/authorizations/serializer.rb
86
87
  - lib/desertcart/marketplace/movement/deserializer.rb