myfinance 1.6.3 → 1.6.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
  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