myfinance 1.6.3 → 1.6.4

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
  SHA1:
3
- metadata.gz: 781a84bd31389b8d69d873da030851965902aafa
4
- data.tar.gz: 7c23572e2f4557a92249d1758cc38e304c9aa1b6
3
+ metadata.gz: 96cb950b2d9e9792d94d12ca1e1839084e39f7ce
4
+ data.tar.gz: d0fce854c096450de3358b2a84a418bcfa8b7004
5
5
  SHA512:
6
- metadata.gz: 05112cd8549d2af448f1c8564bb616598384ff12e17570373318a43a2327b1a889fbb150cfb4dfc411b45be282eb666b5d3c0e205a29b8d2be7185836ef39bad
7
- data.tar.gz: 56dc5b199580f075176b226e7467b8c1aa6974e2ce00c655aa07e070f4d16d9204b5a03a833c5110a4dc6e0172d0aa0fa6ada3841dda48220ee4d3ed15344775
6
+ metadata.gz: 898d79691eb444ff99029bc3cf607a9307500046cc5f45c58a82ec420957c22f5ae01280042088617e87322b201254a972e70d4dfc37bc2498e8a4e75ae90960
7
+ data.tar.gz: 105dbc69088d91a31a0ee814cfc795a90f5c6775aba78ebe39703bce1a8958901146b2e267c884fcd3624f7b72918da67106dc559a554298a48813ddc2de376f
@@ -1,4 +1,6 @@
1
1
  # Changelog
2
+ ## v1.6.4
3
+ - Add headers information in RequestError object
2
4
  ## v1.6.3
3
5
  - Change `mime-types` dependency to allow a broader range of versions so as to continue supporting Rails 3
4
6
  ## v1.6.2
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- myfinance (1.6.1)
4
+ myfinance (1.6.4)
5
5
  mime-types (>= 1.16, < 3.0)
6
6
  multi_json (~> 1.11)
7
7
  require_all (~> 1.4.0)
@@ -1,11 +1,12 @@
1
1
  module Myfinance
2
2
  class Exception < StandardError
3
- attr_accessor :code, :body
3
+ attr_accessor :code, :body, :headers
4
4
 
5
5
  def initialize(args = {})
6
6
  super(args[:message])
7
7
  @code = args[:code]
8
8
  @body = args[:body]
9
+ @headers = args[:headers]
9
10
  end
10
11
  end
11
12
  end
@@ -29,12 +29,12 @@ module Myfinance
29
29
  end
30
30
 
31
31
  def error!
32
- error = RequestError.new(
32
+ raise RequestError.new(
33
33
  code: code,
34
34
  message: request_error_message,
35
- body: parsed_body
35
+ body: parsed_body,
36
+ headers: headers
36
37
  )
37
- raise error
38
38
  end
39
39
 
40
40
  def request_error_message
@@ -1,3 +1,3 @@
1
1
  module Myfinance
2
- VERSION = "1.6.3".freeze
2
+ VERSION = "1.6.4".freeze
3
3
  end
@@ -89,7 +89,7 @@ describe Myfinance::Resources::Attachment, vcr: true do
89
89
  end
90
90
 
91
91
  it "adds information on request error object" do
92
- expect(Myfinance::RequestError).to receive(:new).with(code: 422, message: "Unprocessable Entity", body: { "attachment" => ["não pode ser vazio."] }).and_call_original
92
+ expect(Myfinance::RequestError).to receive(:new).with(code: 422, message: "Unprocessable Entity", body: { "attachment" => ["não pode ser vazio."] }, headers: instance_of(Typhoeus::Response::Header)).and_call_original
93
93
  expect { subject }.to raise_error(Myfinance::RequestError)
94
94
  end
95
95
  end
@@ -102,7 +102,7 @@ describe Myfinance::Resources::Attachment, vcr: true do
102
102
  end
103
103
 
104
104
  it "adds information on request error object" do
105
- expect(Myfinance::RequestError).to receive(:new).with(code: 403, message: "Forbidden", body: {"error" => "Você não tem permissão para acessar este recurso." }).and_call_original
105
+ expect(Myfinance::RequestError).to receive(:new).with(code: 403, message: "Forbidden", body: {"error" => "Você não tem permissão para acessar este recurso." }, headers: instance_of(Typhoeus::Response::Header)).and_call_original
106
106
  expect { subject }.to raise_error(Myfinance::RequestError)
107
107
  end
108
108
  end
@@ -144,7 +144,7 @@ describe Myfinance::Resources::PayableAccount do
144
144
 
145
145
  it "adds information on request error object" do
146
146
  body = { "competency_month" => ["não pode ser vazio"], "due_date" => ["não é uma data válida"] }
147
- expect(request_error).to receive(:new).with(code: 422, message: "", body: body).and_call_original
147
+ expect(request_error).to receive(:new).with(code: 422, message: "", body: body, headers: instance_of(Typhoeus::Response::Header)).and_call_original
148
148
  expect { subject }.to raise_error(request_error)
149
149
  end
150
150
  end
@@ -158,7 +158,7 @@ describe Myfinance::Resources::PayableAccount do
158
158
 
159
159
  it "adds information on request error object" do
160
160
  body = {"error" => "Você não tem permissão para acessar este recurso." }
161
- expect(request_error).to receive(:new).with(code: 403, message: "Forbidden", body: body).and_call_original
161
+ expect(request_error).to receive(:new).with(code: 403, message: "Forbidden", body: body, headers: instance_of(Typhoeus::Response::Header)).and_call_original
162
162
  expect { subject }.to raise_error(request_error)
163
163
  end
164
164
  end
@@ -11,7 +11,7 @@ describe Myfinance::Resources::ReceivableAccount do
11
11
  before :each do
12
12
  subject.build
13
13
  end
14
-
14
+
15
15
  context "with pagination" do
16
16
  subject { client.receivable_accounts.find_all(entity_id, page) }
17
17
 
@@ -145,7 +145,7 @@ describe Myfinance::Resources::ReceivableAccount do
145
145
 
146
146
  it "adds information on request error object" do
147
147
  body = { "competency_month" => ["não pode ser vazio"], "due_date" => ["não é uma data válida"] }
148
- expect(request_error).to receive(:new).with(code: 422, message: "", body: body).and_call_original
148
+ expect(request_error).to receive(:new).with(code: 422, message: "", body: body, headers: instance_of(Typhoeus::Response::Header)).and_call_original
149
149
  expect { subject }.to raise_error(request_error)
150
150
  end
151
151
  end
@@ -159,7 +159,7 @@ describe Myfinance::Resources::ReceivableAccount do
159
159
 
160
160
  it "adds information on request error object" do
161
161
  body = { "error" => "Você não tem permissão para acessar este recurso." }
162
- expect(request_error).to receive(:new).with(code: 403, message: "Forbidden", body: body).and_call_original
162
+ expect(request_error).to receive(:new).with(code: 403, message: "Forbidden", body: body, headers: instance_of(Typhoeus::Response::Header)).and_call_original
163
163
  expect { subject }.to raise_error(request_error)
164
164
  end
165
165
  end
@@ -29,7 +29,20 @@ describe Myfinance::Response do
29
29
  end
30
30
 
31
31
  context 'when not success neither timeout' do
32
- let(:response) { double(success?: false, timed_out?: false, code: 301, status_message: 'Moved Permanently', body: '') }
32
+ let(:headers) do
33
+ {
34
+ "Date" => "Tue, 17 Apr 2018 15:47:10 GMT", "Expires" => "-1",
35
+ "Cache-Control"=>"private, max-age=0"
36
+ }
37
+ end
38
+
39
+ let(:response) do
40
+ double({
41
+ success?: false, timed_out?: false, code: 301,
42
+ status_message: 'Moved Permanently', body: '',
43
+ headers: headers
44
+ })
45
+ end
33
46
 
34
47
  it 'raises RequestError' do
35
48
  expect { subject.resolve! }.to raise_error do |error|
@@ -37,12 +50,13 @@ describe Myfinance::Response do
37
50
  expect(error.code).to eq(301)
38
51
  expect(error.message).to eq("Moved Permanently")
39
52
  expect(error.body).to eq({})
53
+ expect(error.headers).to eq(headers)
40
54
  end
41
55
  end
42
56
 
43
57
  context "when status_message is empty" do
44
58
  context "when body has an 'error' key" do
45
- let(:response) { double(success?: false, timed_out?: false, code: 301, status_message: '', body: '{"error": "My custom error message"}') }
59
+ let(:response) { double(success?: false, timed_out?: false, code: 301, status_message: '', body: '{"error": "My custom error message"}', headers: {}) }
46
60
 
47
61
  it "raises RequestError with custom message" do
48
62
  expect { subject.resolve! }.to raise_error do |error|
@@ -55,7 +69,7 @@ describe Myfinance::Response do
55
69
  end
56
70
 
57
71
  context "when body has an 'error' key" do
58
- let(:response) { double(success?: false, timed_out?: false, code: 301, status_message: '', body: '') }
72
+ let(:response) { double(success?: false, timed_out?: false, code: 301, status_message: '', body: '', headers: {}) }
59
73
 
60
74
  it "raises RequestError with empty message" do
61
75
  expect { subject.resolve! }.to raise_error do |error|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myfinance
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3
4
+ version: 1.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo Hertz
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2018-04-12 00:00:00.000000000 Z
15
+ date: 2018-04-17 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: typhoeus
@@ -433,7 +433,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
433
433
  version: '0'
434
434
  requirements: []
435
435
  rubyforge_project:
436
- rubygems_version: 2.5.2.2
436
+ rubygems_version: 2.6.14
437
437
  signing_key:
438
438
  specification_version: 4
439
439
  summary: A Ruby client for the Myfinance REST API