dashamail 0.0.1 → 0.0.2

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: 5d2c728ffb09c95b083de2c4b08bcd8a34f1c166268c86a48439f32467b931a1
4
- data.tar.gz: f0e530ceb02f64cdfa5609acbe77fca6b4b93b6785c003a85e5120eef6e57ca5
3
+ metadata.gz: f48ec737a49d93bb7d4dd55bfce8cf3b51ea2815fad8580da6f1915c629c043a
4
+ data.tar.gz: 1b4b2585e485821f4687449a4d22ef9653abb53647f88416ea7eac5b95c9edd4
5
5
  SHA512:
6
- metadata.gz: 324cafa5e4245819c9a1d4b8f678661094ba3c8798faa1f105834caa574aedc533cc843a2b65a3e7efe874b5cfc84bac7d72ec9606e6ec4ec6189d5a8c46f7fe
7
- data.tar.gz: 7e3043e79386bc7e44f00ec02f2f2a1b8fd8d793c839d53786c7a71d34b3bcce30ab028a0cb4f2e08b04d8deaea1a3f2d9b479eb65065607fefcf0abcf0f575b
6
+ metadata.gz: 387c198f5698dd19f88f6c1764fc54953bb96cd285bfc73a9cf3ef423effb32aeb76c60ca8f37956450badc4a1f0c4ca3d9053f731d3094d044ebd9fdff749dc
7
+ data.tar.gz: 54eabe15dc9ebae600d605f650ee9c1f2e4b8fa2e2aeb8e3b013a1b6bc369d50963d9bc6671d925168120810e68f03adcaf6fa5ce2a57bd99596c34cbfa9f558
@@ -164,6 +164,10 @@ module Dashamail
164
164
  begin
165
165
  headers = response.headers
166
166
  body = MultiJson.load(response.body, symbolize_keys: symbolize_keys)
167
+ err_code = body.dig(:response, :msg, :err_code).to_i
168
+ if err_code > 0 && err_code != 4
169
+ raise Dashamail::Error, "Ошибка #{body.dig(:response, :msg, :err_code)}: #{body.dig(:response, :msg, :text)}"
170
+ end
167
171
  parsed_response = Response.new(headers: headers, body: body)
168
172
  rescue MultiJson::ParseError
169
173
  error_params = { title: "UNPARSEABLE_RESPONSE", status_code: 500 }
@@ -43,31 +43,31 @@ module Dashamail
43
43
  @path_parts.join('.')
44
44
  end
45
45
 
46
- def create(params: nil, headers: nil, body: {})
46
+ def create!(params: nil, headers: nil, body: {})
47
47
  APIRequest.new(builder: self).post(params: params, headers: headers, body: body)
48
48
  ensure
49
49
  reset
50
50
  end
51
51
 
52
- def update(params: nil, headers: nil, body: {})
52
+ def update!(params: nil, headers: nil, body: {})
53
53
  APIRequest.new(builder: self).patch(params: params, headers: headers, body: body)
54
54
  ensure
55
55
  reset
56
56
  end
57
57
 
58
- def upsert(params: nil, headers: nil, body: {})
58
+ def upsert!(params: nil, headers: nil, body: {})
59
59
  APIRequest.new(builder: self).put(params: params, headers: headers, body: body)
60
60
  ensure
61
61
  reset
62
62
  end
63
63
 
64
- def retrieve(params: nil, headers: nil)
64
+ def retrieve!(params: nil, headers: nil)
65
65
  APIRequest.new(builder: self).get(params: params, headers: headers)
66
66
  ensure
67
67
  reset
68
68
  end
69
69
 
70
- def delete(params: nil, headers: nil)
70
+ def delete!(params: nil, headers: nil)
71
71
  APIRequest.new(builder: self).delete(params: params, headers: headers)
72
72
  ensure
73
73
  reset
@@ -5,6 +5,10 @@ module Dashamail
5
5
  def initialize(body: {}, headers: {})
6
6
  @body = body
7
7
  @headers = headers
8
- end
8
+ end
9
+
10
+ def data
11
+ body.try(:dig, :response, :data)
12
+ end
9
13
  end
10
14
  end
@@ -1,3 +1,3 @@
1
1
  module Dashamail
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dashamail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Osetrov
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.11.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: irb
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 1.3.6
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.3.6
41
55
  description: ''
42
56
  email: pavel.osetrov@me.com
43
57
  executables: []