desertcart 1.1.5 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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