tiramizoo 0.1.9 → 0.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
  SHA1:
3
- metadata.gz: c5e938e60cc50b2644d5cdd7201e72a7052b2ef1
4
- data.tar.gz: bfe12e64de2a541dab8235f74f70d330aec0e1fe
3
+ metadata.gz: 9b2c355314ff771cfa5258c36aa2519a6ff7d95e
4
+ data.tar.gz: de36ba269b5ee0166755a240734816e33716038f
5
5
  SHA512:
6
- metadata.gz: 0be5860d11f7849d3b7999aae9decd1c5e915c756a9be70212f3ea78ac1e9078a8b4b4d92f518e71d015c4335c198fd1857f9a25f2b40539751db11d5010d929
7
- data.tar.gz: 5fd1e219ffdc63463ca85a1d1c464027593972433d47a90427b1154de2cab71fcacbac73a100caa63e59de5e01e0c3642a30fb926bcac12c5faa3182b6c43ee8
6
+ metadata.gz: db3c9d45c84069cd5eef2851b2e71ee2f6bcf2f9d64d1bb6870a9fa01b66b36bba399e503b6cfb4b87fb1a10e928b019f7ca1a1e8e231dfe0e1348b4843a0aee
7
+ data.tar.gz: 2f37d5a936372e63be8b7771359432964d5d3f3165bf76b727144140211f2f87a9676a99dcaf2df3a4a1a63003d6de99dd8ec6306b4b6583a2c34d7a9ce54204
@@ -5,6 +5,7 @@ module Tiramizoo
5
5
  class Api
6
6
  class InvalidApiToken < StandardError; end
7
7
  class ServerError < StandardError; end
8
+ class NotFound < StandardError; end
8
9
  class UnprocessableEntity < StandardError; end
9
10
  class ServerIsUndergoingMaintenance < StandardError; end
10
11
  class UnknownError < StandardError; end
@@ -119,6 +120,36 @@ module Tiramizoo
119
120
  end
120
121
  end
121
122
 
123
+ def cancel_order(order_identifier)
124
+ body = {
125
+ "state" => "cancelled",
126
+ "cancellation_reason" => "user"
127
+ }
128
+
129
+ response = connection.put({
130
+ :path => "/api/v1/orders/#{order_identifier}",
131
+ :headers => {"Api-Token" => api_token, "Content-Type" => "application/json"},
132
+ :body => body.to_json
133
+ })
134
+
135
+ case response.status
136
+ when 200
137
+ JSON.parse(response.body)
138
+ when 401
139
+ raise InvalidApiToken
140
+ when 404
141
+ raise NotFound
142
+ when 422
143
+ raise UnprocessableEntity.new(response.body.force_encoding("utf-8"))
144
+ when 500
145
+ raise ServerError
146
+ when 503
147
+ raise ServerIsUndergoingMaintenance
148
+ else
149
+ raise UnknownError
150
+ end
151
+ end
152
+
122
153
  def calculate_distance(origin, destination)
123
154
  response = connection.get({
124
155
  :path => "/api/v1/distance",
@@ -1,3 +1,3 @@
1
1
  module Tiramizoo
2
- VERSION = "0.1.9"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiramizoo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiramizoo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-04-06 00:00:00.000000000 Z
11
+ date: 2016-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon