shiprocket_api 0.2.0 → 0.3.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: 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