mr_speedy_ruby 1.0.0.pre.alpha.4 → 1.0.0.pre.alpha.6

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: 5d2c2406e33ada4b65dd88f1ab38466a18290dd9d83f0c29df982c419c660f48
4
- data.tar.gz: 4d201453a1d10a717e4f338692f2c94fe6362ee1c94632d23377dcec6277616d
3
+ metadata.gz: a1e0002485b9bc4db8045c792a8d5a5e439ecb726cf39d08ff2ea3966fe928ec
4
+ data.tar.gz: 7a8b284eec6852baeef910382ea720df6a4f0854dffd3f5e3bbf9266eb588484
5
5
  SHA512:
6
- metadata.gz: 1ac74e3e6d1ea3def5a5154248c1ed121659c410baea0a8009d8f35aba30ac65e0f54cce422eaf2fcfd0219a1409eb2fd36ba83277980e6c2fabe7ee142198a7
7
- data.tar.gz: cdcf8e9499ff5e501a76bcf7ce259d36edfeefd2e39029ff63872241df60948308022150b30730eb22ca6a6e38a9a552517cabade835bd7b930dda90fc44b285
6
+ metadata.gz: 6b8bff1e5e413ba37b0d9b0c95f600b3187d69e7e3aa4ef17fd035441095c94f3d244499630ada8d0d1ec462691f983412d65ff2e8176f55f02a0df151ae91cd
7
+ data.tar.gz: 139799fd6c6ca76763b3c26078aaf62556697a45a2cd65809d718b55fb1973a949d85e5ec57f6aa2d04f793dfe058b839ce450119148105aea564770243396cb
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mr_speedy_ruby (1.0.0.pre.alpha.4)
4
+ mr_speedy_ruby (1.0.0.pre.alpha.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://robotapitest.mrspeedy.ph/api/business/1.1/create-order
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"matter":null,"vehicle_type_id":8,"points":[{"address":"","contact_person":{"name":"","phone":""},"packages":[]},{"address":"Unit
9
+ 802, EcoTower, 32nd Street corner 9th Avenue, BGC, Taguig, 1634 Metro Manila","contact_person":{"name":"Reciever","phone":"639123456789"},"packages":[]}]}'
10
+ headers:
11
+ Accept-Encoding:
12
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
13
+ Accept:
14
+ - "*/*"
15
+ User-Agent:
16
+ - Ruby
17
+ Host:
18
+ - robotapitest.mrspeedy.ph
19
+ X-Dv-Auth-Token:
20
+ - 70B4ABCA8A35AC50E1585E27F217DF160F740D46
21
+ response:
22
+ status:
23
+ code: 400
24
+ message: Bad Request
25
+ headers:
26
+ Server:
27
+ - nginx
28
+ Date:
29
+ - Tue, 27 Oct 2020 08:37:50 GMT
30
+ Content-Type:
31
+ - application/json; charset=utf-8
32
+ Transfer-Encoding:
33
+ - chunked
34
+ Connection:
35
+ - keep-alive
36
+ X-Frame-Options:
37
+ - DENY
38
+ X-Content-Type-Options:
39
+ - nosniff
40
+ X-Xss-Protection:
41
+ - 1; mode=block;
42
+ Strict-Transport-Security:
43
+ - max-age=63072000; includeSubDomains
44
+ body:
45
+ encoding: UTF-8
46
+ string: '{"is_successful":false,"errors":["invalid_parameters"],"parameter_errors":{"matter":["not_nullable"],"points":[{"address":["min_length"],"contact_person":{"phone":["invalid_phone"]}},null]}}'
47
+ http_version:
48
+ recorded_at: Tue, 27 Oct 2020 08:37:50 GMT
49
+ recorded_with: VCR 5.1.0
@@ -7,7 +7,7 @@ module MrSpeedyRuby
7
7
  require "json"
8
8
 
9
9
  AUTH_TOKEN_HEADER="X-DV-Auth-Token".freeze
10
- PRODUCTION_BASE_URL="http://robot.mrspeedy.ph".freeze
10
+ PRODUCTION_BASE_URL="https://robot.mrspeedy.ph".freeze
11
11
  STAGING_BASE_URL="https://robotapitest.mrspeedy.ph".freeze
12
12
 
13
13
  # Constructor method
@@ -109,7 +109,12 @@ module MrSpeedyRuby
109
109
  def validate_error(response:)
110
110
  success = response["is_successful"]
111
111
  error = response["errors"]&.first || ""
112
- MrSpeedyRuby::ErrorParser.raise_errors_from(code: error) unless success
112
+ unless success
113
+ MrSpeedyRuby::ErrorParser.raise_errors_from(
114
+ code: error,
115
+ errors: response["parameter_errors"]
116
+ )
117
+ end
113
118
  end
114
119
  end
115
120
  end
@@ -33,8 +33,8 @@ module MrSpeedyRuby
33
33
  class << self
34
34
  # Raise Error from Response Status
35
35
  # @param code [String] error code
36
- def raise_errors_from(code:)
37
- raise_error_for(code)
36
+ def raise_errors_from(code:, errors: nil)
37
+ raise_error_for(code, errors)
38
38
 
39
39
  # Default to Unexpected Error
40
40
  raise UnexpectedError
@@ -48,12 +48,19 @@ module MrSpeedyRuby
48
48
  # @private
49
49
  #
50
50
  # @raise [MrSpeedyRuby::MrSpeedyError] raise code based error
51
- def raise_error_for(code)
51
+ def raise_error_for(code, errors)
52
52
  error = ERROR_CODES[code]
53
+ return unless error
53
54
 
54
- # Constantize string class
55
- # @see https://stackoverflow.com/a/5924541
56
- raise Object.const_get("MrSpeedyRuby::#{error}") if error
55
+ if error == MrSpeedyRuby::InvalidParameters
56
+ # Include parameter errors
57
+ msg = "Request parameters contain errors, ERRORS: #{errors.inspect}"
58
+ raise MrSpeedyRuby::InvalidParameters, msg
59
+ else
60
+ # Constantize string class
61
+ # @see https://stackoverflow.com/a/5924541
62
+ raise Object.const_get("MrSpeedyRuby::#{error}")
63
+ end
57
64
  end
58
65
  end
59
66
  end
@@ -1,3 +1,3 @@
1
1
  module MrSpeedyRuby
2
- VERSION = "1.0.0-alpha.4"
2
+ VERSION = "1.0.0-alpha.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mr_speedy_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre.alpha.4
4
+ version: 1.0.0.pre.alpha.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter John Alvarado
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-14 00:00:00.000000000 Z
11
+ date: 2020-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -133,6 +133,7 @@ files:
133
133
  - fixtures/vcr_cassettes/orders_with_limit.yml
134
134
  - fixtures/vcr_cassettes/orders_with_offset.yml
135
135
  - fixtures/vcr_cassettes/place_order.yml
136
+ - fixtures/vcr_cassettes/raise_invalid_parameters.yml
136
137
  - lib/mr_speedy_ruby.rb
137
138
  - lib/mr_speedy_ruby/base.rb
138
139
  - lib/mr_speedy_ruby/client.rb
@@ -148,7 +149,7 @@ licenses:
148
149
  metadata:
149
150
  homepage_uri: https://github.com/redjoker011/mr_speedy_ruby
150
151
  source_code_uri: https://github.com/redjoker011/mr_speedy_ruby
151
- post_install_message:
152
+ post_install_message:
152
153
  rdoc_options:
153
154
  - "--title"
154
155
  - MrSpeedyRuby - mr.speedy api integration for ruby
@@ -170,9 +171,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
171
  - !ruby/object:Gem::Version
171
172
  version: 1.3.1
172
173
  requirements: []
173
- rubyforge_project:
174
- rubygems_version: 2.7.3
175
- signing_key:
174
+ rubyforge_project:
175
+ rubygems_version: 2.7.6
176
+ signing_key:
176
177
  specification_version: 4
177
178
  summary: Mr.speedy api integration for ruby
178
179
  test_files: []