shiprocket_api 0.2.0 → 0.3.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: 30bfb2da1528a9aa32926bf70d3994bf1dcaca94e10d80456e70cee9877f6693
4
- data.tar.gz: 641b677f8661394d9d23c883485edce06314e3ab918f104a75d52c66a8ce5885
3
+ metadata.gz: c057099ffcbca01d9bd58bc897b1c4fabc88ba62829936265fae8501fe878eb1
4
+ data.tar.gz: 9181af583fd91e33238fc6ea455eef127493a94297efcebda5ec58514de46265
5
5
  SHA512:
6
- metadata.gz: 2a5aaeb431053c527f944491046c7e3d0aaa00792d7805707c3fa1018c3cd7edc5ed918badea5e39133aadd87a20eeb871a42ac94289ad60d381cfa38c7c3b3e
7
- data.tar.gz: 84317f05d64897c3964ad59373fc769958456422b8deb53510e640c5eea6e58b5732ca5ba4f330b50ac39820f33cf4642ff70ccf9ed4acd9f9074bfbb565b2c4
6
+ metadata.gz: 6c07cca3490315c4c51dfde8a58bac0230468e7d6f958f0e4c858cb06b64e360877aefbece413c1b43fca23fe5b94bb019c981a168c13d519aa5acbe9495b87d
7
+ data.tar.gz: 54d5ff95903c61046d096f711dad7058c6bcc3e9d3ee7fbcee7391b9a8cfbdfa2a8df6b897c665b7e921322111123a8c4623c0f56d038984d2b00e4a6afafcef
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shiprocket_api (0.1.0)
4
+ shiprocket_api (0.2.0)
5
5
  activeresource (~> 5.0)
6
6
  http
7
7
 
@@ -8,6 +8,7 @@ loader.inflector.inflect(
8
8
  loader.push_dir("./lib")
9
9
  loader.collapse("./lib/shiprocket_api/resources")
10
10
  loader.ignore("#{__dir__}/config.rb")
11
+ loader.ignore("./lib/shiprocket_api/errors.rb")
11
12
  loader.enable_reloading
12
13
  # loader.log!
13
14
  loader.setup
@@ -6,6 +6,7 @@ module ShiprocketAPI
6
6
 
7
7
  require 'shiprocket_api/configuration'
8
8
  require 'shiprocket_api/connection'
9
+ require 'shiprocket_api/errors'
9
10
 
10
11
  require 'shiprocket_api/resources/base'
11
12
  require 'shiprocket_api/resources/session'
@@ -16,4 +17,5 @@ module ShiprocketAPI
16
17
  require 'shiprocket_api/resources/channel'
17
18
  require 'shiprocket_api/resources/courier_serviceability'
18
19
  require 'shiprocket_api/resources/tracking'
20
+
19
21
  end
@@ -30,5 +30,14 @@ module ShiprocketAPI
30
30
  rescue OpenSSL::SSL::SSLError => e
31
31
  raise ActiveResource::SSLError.new(e.message)
32
32
  end
33
+
34
+ # Handles response and error codes from the remote service.
35
+ def handle_response(response)
36
+ if response.code.to_i == 200 && JSON.parse(response.body).keys.include?("message")
37
+ raise CreationError.new(response)
38
+ else
39
+ super
40
+ end
41
+ end
33
42
  end
34
43
  end
@@ -0,0 +1,12 @@
1
+ module ShiprocketAPI
2
+ class CreationError < ActiveResource::ConnectionError
3
+
4
+ def data
5
+ JSON.parse(@response.body).dig("data", "data")
6
+ end
7
+
8
+ def to_s
9
+ JSON.parse(@response.body)["message"]
10
+ end
11
+ end
12
+ end
@@ -21,6 +21,14 @@ module ShiprocketAPI
21
21
  self.connection.bearer_token = nil
22
22
  end
23
23
 
24
+ def with_temp_session(email:, password:, &block)
25
+ raise ArgumentError, "A block must be given" unless block
26
+
27
+ create_session(email: email, password: password)
28
+ yield
29
+ clear_session
30
+ end
31
+
24
32
  def set_resource(resource)
25
33
  ori_prefix = self.prefix
26
34
  self.prefix = self.prefix.split("/")[0..-2].append(resource).join("/")
@@ -49,7 +49,5 @@ module ShiprocketAPI
49
49
  ewaybill_no: "",
50
50
  customer_gstin: ""
51
51
  }
52
-
53
-
54
52
  end
55
53
  end
@@ -1,3 +1,3 @@
1
1
  module ShiprocketAPI
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shiprocket_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Chong
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-09 00:00:00.000000000 Z
11
+ date: 2020-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -131,6 +131,7 @@ files:
131
131
  - lib/shiprocket_api.rb
132
132
  - lib/shiprocket_api/configuration.rb
133
133
  - lib/shiprocket_api/connection.rb
134
+ - lib/shiprocket_api/errors.rb
134
135
  - lib/shiprocket_api/resources/base.rb
135
136
  - lib/shiprocket_api/resources/channel.rb
136
137
  - lib/shiprocket_api/resources/courier_serviceability.rb