dashamail 0.0.1 → 0.0.4

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: 5d2c728ffb09c95b083de2c4b08bcd8a34f1c166268c86a48439f32467b931a1
4
- data.tar.gz: f0e530ceb02f64cdfa5609acbe77fca6b4b93b6785c003a85e5120eef6e57ca5
3
+ metadata.gz: 3d68d9cc7d8695b77731a6b3e6e89cf4fb1de57e886f7768462a16e47791260a
4
+ data.tar.gz: 6f86142fdc56b15a7d77436a6111ab44bea94eb90fe6e4b208320e66fe5d2bdc
5
5
  SHA512:
6
- metadata.gz: 324cafa5e4245819c9a1d4b8f678661094ba3c8798faa1f105834caa574aedc533cc843a2b65a3e7efe874b5cfc84bac7d72ec9606e6ec4ec6189d5a8c46f7fe
7
- data.tar.gz: 7e3043e79386bc7e44f00ec02f2f2a1b8fd8d793c839d53786c7a71d34b3bcce30ab028a0cb4f2e08b04d8deaea1a3f2d9b479eb65065607fefcf0abcf0f575b
6
+ metadata.gz: 5476bc80014e4a5a4c0c88fa30792cc3e9f0b24e3ad0df9be3c1ae44eaac1194ed8f89c704f2b6ae00ba8f4248dde7987780e8d2bbf8e568ac48b3a94347610a
7
+ data.tar.gz: 2d5ad7b713b318a37c1a0e322a59cb7cda86f3dabc1ef747b733ded74d67848d5e71e0427b573bd1748ceb4a863b07cc49a0ac114b189af371f7d5fae646f03e
@@ -164,6 +164,13 @@ 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
+ err_text = body.dig(:response, :msg, :text)
170
+ error_params = { title: err_text, status_code: err_code }
171
+ error = Error.new("Ошибка #{err_code}: #{err_text}", error_params)
172
+ raise error
173
+ end
167
174
  parsed_response = Response.new(headers: headers, body: body)
168
175
  rescue MultiJson::ParseError
169
176
  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.4"
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.4
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: []
@@ -66,7 +80,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
66
80
  requirements:
67
81
  - - ">="
68
82
  - !ruby/object:Gem::Version
69
- version: 2.3.8
83
+ version: '2.5'
70
84
  required_rubygems_version: !ruby/object:Gem::Requirement
71
85
  requirements:
72
86
  - - ">="