myfinance 0.1.0 → 0.2.0

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: d09ddc92565a36e0009250bd61b5733458818546
4
- data.tar.gz: f6b1237ab8e1daa9d212e684fa4fba95b8bf7c6a
3
+ metadata.gz: 2a816590d9795f867bf791715ad87a56057513e6
4
+ data.tar.gz: 9ae9263ed7af1f079ca7483bd95a2351055cd8ca
5
5
  SHA512:
6
- metadata.gz: 8ff00542ac4bedf0301c1781447cc9f0eb0f06a01f7c0f4b300b593bcd432d2d86a24da84bbca56126ca0554329bf14cb995eead9c39dd3dda332a6c4c3d1969
7
- data.tar.gz: 95292e14d02929d8e0a52e61bf72d9de87d9f53d481e2c9272e73325885b3c8b73bfd6654ff471b19696add4102230a10f53946fb09258c95d540a80a98a6cf9
6
+ metadata.gz: 42164b2bd9722065052b6199cdde3d29adf4cc6a1e40f993491e8f9a4689c2f844768d40466c1ecb0c926f54a7cda35ecfdef1dd56e8a764fbebe50dcb70dfb1
7
+ data.tar.gz: 7cae9bd220cf606c5ba66bc48639ea58d35d5830c9d9803f3d604bdac957de9fd181d3b6738d8b283cc50606dc1bb19fed7cca91d32238cc51a69b7f1303ce0e
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- myfinance (0.1.0)
4
+ myfinance (0.2.0)
5
5
  multi_json (~> 1.9.0)
6
6
  typhoeus (~> 0.7.1)
7
7
  virtus (~> 1.0.5)
@@ -62,7 +62,7 @@ GEM
62
62
  simplecov-html (0.10.0)
63
63
  slop (3.6.0)
64
64
  thread_safe (0.3.5)
65
- typhoeus (0.7.2)
65
+ typhoeus (0.7.3)
66
66
  ethon (>= 0.7.4)
67
67
  vcr (2.9.3)
68
68
  virtus (1.0.5)
data/README.md CHANGED
@@ -92,6 +92,17 @@ client = Myfinance.client("YOUR_TOKEN_HERE")
92
92
  <code>client.payable_accounts.create</code>
93
93
  </td>
94
94
  </tr>
95
+ <tr>
96
+ <td><code>PUT</code></td>
97
+ <td>
98
+ <a href="https://app.myfinance.com.br/docs/api/payable_accounts#put_update" target="_blank">
99
+ /entities/:entity_id/payable_accounts/:id
100
+ </a>
101
+ </td>
102
+ <td>
103
+ <code>client.payable_accounts.update</code>
104
+ </td>
105
+ </tr>
95
106
  <tr>
96
107
  <td><code>PUT</code></td>
97
108
  <td>
@@ -146,6 +157,17 @@ client = Myfinance.client("YOUR_TOKEN_HERE")
146
157
  <code>client.receivable_accounts.create</code>
147
158
  </td>
148
159
  </tr>
160
+ <tr>
161
+ <td><code>PUT</code></td>
162
+ <td>
163
+ <a href="https://app.myfinance.com.br/docs/api/receivable_accounts#put_update" target="_blank">
164
+ /entities/:entity_id/receivable_accounts/:id
165
+ </a>
166
+ </td>
167
+ <td>
168
+ <code>client.receivable_accounts.update</code>
169
+ </td>
170
+ </tr>
149
171
  <tr>
150
172
  <td><code>PUT</code></td>
151
173
  <td>
@@ -21,6 +21,20 @@ module Myfinance
21
21
  request_and_build_response(:post, endpoint_for(nil, entity_id, :create), params)
22
22
  end
23
23
 
24
+ #
25
+ # Updates a payable/receivable account
26
+ #
27
+ # [API]
28
+ # Method: <tt>PUT /entities/:entity_id/payable_accounts/:id</tt>
29
+ # Method: <tt>PUT /entities/:entity_id/receivable_accounts/:id</tt>
30
+ #
31
+ # Documentation: https://app.myfinance.com.br/docs/api/payable_accounts#put_update
32
+ # Documentation: https://app.myfinance.com.br/docs/api/receivable_accounts#put_update
33
+ #
34
+ def update(id, entity_id, params = {})
35
+ request_and_build_response(:put, endpoint_for(id, entity_id, :update), params)
36
+ end
37
+
24
38
  #
25
39
  # Destroys a payable/receivable account
26
40
  #
@@ -46,17 +60,18 @@ module Myfinance
46
60
  end
47
61
 
48
62
  def endpoint_for(id, entity_id, key)
49
- parameterize_endoint(id, entity_id, key)
63
+ parameterize_endpoint(id, entity_id, key)
50
64
  end
51
65
 
52
66
  def default_endpoints
53
67
  {
54
68
  create: "/entities/:entity_id/#{resource_key}s",
69
+ update: "/entities/:entity_id/#{resource_key}s/:id",
55
70
  destroy: "/entities/:entity_id/#{resource_key}s/:id"
56
71
  }
57
72
  end
58
73
 
59
- def parameterize_endoint(id, entity_id, key)
74
+ def parameterize_endpoint(id, entity_id, key)
60
75
  endpoints[key.to_sym].gsub(':entity_id', entity_id.to_s).gsub(':id', id.to_s)
61
76
  end
62
77
 
@@ -1,3 +1,3 @@
1
1
  module Myfinance
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -4,10 +4,11 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'myfinance/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "myfinance"
8
- spec.version = Myfinance::VERSION
9
- spec.authors = ["Eduardo Hertz", "Rodrigo Tassinari"]
10
- spec.email = ["eduardohertz@gmail.com", "rodrigo@pittlandia.net"]
7
+ spec.name = "myfinance"
8
+ spec.version = Myfinance::VERSION
9
+ spec.authors = ["Eduardo Hertz", "Rafael B. Tauil", "Rodrigo Tassinari"]
10
+ spec.email = ["eduardohertz@gmail.com", "rafael@tauil.com.br", "rodrigo@pittlandia.net"]
11
+ spec.required_ruby_version = '>= 2.0.0'
11
12
 
12
13
  spec.summary = %q{A Ruby client for the Myfinance REST API}
13
14
  spec.description = %q{A Ruby client for the Myfinance REST API: https://app.myfinance.com.br/docs/api}
@@ -9,7 +9,7 @@ describe Myfinance::Resources::PayableAccount do
9
9
 
10
10
  context "with success" do
11
11
  it "creates a new object" do
12
- expect(subject.id).to eq(1215631)
12
+ expect(subject.id).to eq(1235050)
13
13
  expect(subject.due_date).to eq(Date.new(2015, 8, 15))
14
14
  expect(subject.entity_id).to eq(entity_id)
15
15
  expect(subject.status).to eq(1)
@@ -32,8 +32,8 @@ describe Myfinance::Resources::PayableAccount do
32
32
  expect(subject.expected_deposit_account_id).to be_nil
33
33
  expect(subject.recurrence_id).to be_nil
34
34
  expect(subject.person_id).to be_nil
35
- expect(subject.created_at).to eq(DateTime.parse("2015-08-05T10:31:28-03:00"))
36
- expect(subject.updated_at).to eq(DateTime.parse("2015-08-05T10:31:28-03:00"))
35
+ expect(subject.created_at).to eq(DateTime.parse("2015-08-13T16:24:47-03:00"))
36
+ expect(subject.updated_at).to eq(DateTime.parse("2015-08-13T16:24:47-03:00"))
37
37
  expect(subject.recurrent).to be_falsy
38
38
  expect(subject.parcelled).to be_falsy
39
39
  expect(subject.recurrence_period).to be_nil
@@ -126,6 +126,24 @@ describe Myfinance::Resources::PayableAccount do
126
126
  end
127
127
  end
128
128
 
129
+ describe "#update", vcr: true do
130
+ subject { client.payable_accounts.update(1235050, entity_id, { amount: 100.00 }) }
131
+
132
+ context "when payable account exists" do
133
+ it "returns true" do
134
+ expect(subject).to be_truthy
135
+ end
136
+ end
137
+
138
+ context "when payable account does not exist" do
139
+ subject { client.payable_accounts.update(9999999, entity_id, { amount: 100.00 }) }
140
+
141
+ it "raises request error" do
142
+ expect { subject }.to raise_error(Myfinance::RequestError)
143
+ end
144
+ end
145
+ end
146
+
129
147
  describe "#destroy", vcr: true do
130
148
  subject { client.payable_accounts.destroy(1215631, entity_id) }
131
149
 
@@ -9,7 +9,7 @@ describe Myfinance::Resources::ReceivableAccount do
9
9
 
10
10
  context "with success" do
11
11
  it "creates a new object" do
12
- expect(subject.id).to eq(1215634)
12
+ expect(subject.id).to eq(1235051)
13
13
  expect(subject.due_date).to eq(Date.new(2015, 8, 15))
14
14
  expect(subject.entity_id).to eq(entity_id)
15
15
  expect(subject.status).to eq(1)
@@ -32,8 +32,8 @@ describe Myfinance::Resources::ReceivableAccount do
32
32
  expect(subject.expected_deposit_account_id).to be_nil
33
33
  expect(subject.recurrence_id).to be_nil
34
34
  expect(subject.person_id).to be_nil
35
- expect(subject.created_at).to eq(DateTime.parse("2015-08-05T11:59:05-03:00"))
36
- expect(subject.updated_at).to eq(DateTime.parse("2015-08-05T11:59:05-03:00"))
35
+ expect(subject.created_at).to eq(DateTime.parse("2015-08-13T16:29:06-03:00"))
36
+ expect(subject.updated_at).to eq(DateTime.parse("2015-08-13T16:29:06-03:00"))
37
37
  expect(subject.recurrent).to be_falsy
38
38
  expect(subject.parcelled).to be_falsy
39
39
  expect(subject.recurrence_period).to be_nil
@@ -126,6 +126,24 @@ describe Myfinance::Resources::ReceivableAccount do
126
126
  end
127
127
  end
128
128
 
129
+ describe "#update", vcr: true do
130
+ subject { client.receivable_accounts.update(1235051, entity_id, { amount: 100.00 }) }
131
+
132
+ context "when payable account exists" do
133
+ it "returns true" do
134
+ expect(subject).to be_truthy
135
+ end
136
+ end
137
+
138
+ context "when payable account does not exist" do
139
+ subject { client.receivable_accounts.update(9999999, entity_id, { amount: 100.00 }) }
140
+
141
+ it "raises request error" do
142
+ expect { subject }.to raise_error(Myfinance::RequestError)
143
+ end
144
+ end
145
+ end
146
+
129
147
  describe "#destroy", vcr: true do
130
148
  subject { client.receivable_accounts.destroy(1215634, entity_id) }
131
149
 
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myfinance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo Hertz
8
+ - Rafael B. Tauil
8
9
  - Rodrigo Tassinari
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2015-08-11 00:00:00.000000000 Z
13
+ date: 2015-08-17 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: typhoeus
@@ -196,6 +197,7 @@ dependencies:
196
197
  description: 'A Ruby client for the Myfinance REST API: https://app.myfinance.com.br/docs/api'
197
198
  email:
198
199
  - eduardohertz@gmail.com
200
+ - rafael@tauil.com.br
199
201
  - rodrigo@pittlandia.net
200
202
  executables:
201
203
  - console
@@ -270,7 +272,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
270
272
  requirements:
271
273
  - - ">="
272
274
  - !ruby/object:Gem::Version
273
- version: '0'
275
+ version: 2.0.0
274
276
  required_rubygems_version: !ruby/object:Gem::Requirement
275
277
  requirements:
276
278
  - - ">="