freee 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: 7553a7f12177b2231a3857a57d0f478bbc7db57f
4
- data.tar.gz: e3ad6a1d35ab04daed124a24cc425296da48ddf6
3
+ metadata.gz: 772fefdcda5f60cc2d92a7e148274a70268a3a39
4
+ data.tar.gz: bd5dd303d2271136e679fa3587b2d87e5e71cfe4
5
5
  SHA512:
6
- metadata.gz: 357b72ff2086975b4162e8c784d884f2934f5d5f1b56af3b40e05b8430a527f1845a525b53a10493d68a83159dac743f9e1320c20c814f52b71fccf1fa2f4b9a
7
- data.tar.gz: c2bb1afbe46044d67400ffc92500854f49d92b856b95033309fcac34568da7ba23ca3c811c11e662c6d891cbd6607a856554f2d6e184ab7bb5db897ecd0f6a32
6
+ metadata.gz: 21c3ae9c0f051f2b5d62d74833a401a52fdea806ccf09bf26ced58852ea667b6c71ff1cbdb1458f012c588036cd21c26e9aa0e343fcf13efa31c7c9727432dd0
7
+ data.tar.gz: f290e988adc618e9d684d3c10f01a99f449c9a6d3894e762c64e771f7aa338770ecd693b16f1cb62eb90a52ef85156ae7393a5dd10dcadfedf9f1334343b5dca
@@ -5,33 +5,12 @@ require 'httpauth'
5
5
  require 'thor'
6
6
 
7
7
  $:.unshift(File.dirname(__FILE__))
8
- require 'freee/version'
9
- require 'freee/base'
10
- require 'freee/account'
11
- require 'freee/amount'
12
- require 'freee/company'
13
- require 'freee/deal'
14
- require 'freee/item'
15
- require 'freee/partner'
16
- require 'freee/tax'
17
- require 'freee/transfer'
18
- require 'freee/user'
19
- require 'freee/util'
20
- require 'freee/wallet'
21
- require 'freee/walletable'
22
8
 
9
+ require 'freee/base'
23
10
  require 'freee/obj/response'
24
- require 'freee/obj/account'
25
- require 'freee/obj/amount'
26
- require 'freee/obj/company'
27
- require 'freee/obj/deal'
28
- require 'freee/obj/item'
29
- require 'freee/obj/partner'
30
- require 'freee/obj/tax'
31
- require 'freee/obj/transfer'
32
- require 'freee/obj/user'
33
- require 'freee/obj/wallet'
34
- require 'freee/obj/walletable'
11
+
12
+ Freee.includes(__FILE__, 'freee/*')
13
+ Freee.includes(__FILE__, 'freee/obj/*')
35
14
 
36
15
  module Freee
37
16
  OPTIONS = {
@@ -15,6 +15,13 @@ module Freee
15
15
  end
16
16
  module_function :encode_params
17
17
 
18
+ def includes(file_path, search_path)
19
+ Dir.glob(File.realpath(File.dirname(file_path)) + '/' + search_path).map do |f|
20
+ require f if FileTest.file?(f)
21
+ end
22
+ end
23
+ module_function :includes
24
+
18
25
  class Base
19
26
 
20
27
  @@client_id = nil
@@ -55,6 +62,11 @@ module Freee
55
62
  return Freee::Response::Type.convert(response, type)
56
63
  end
57
64
 
65
+ def post(path, type=nil, **kwargs)
66
+ response = @client.post(path, { params: kwargs }).response.env[:body]
67
+ return Freee::Response::Type.convert(response, type)
68
+ end
69
+
58
70
  private
59
71
  def create_client
60
72
  OAuth2::Client.new(@@client_id, @@secret_key, OPTIONS) do |con|
@@ -1,3 +1,3 @@
1
1
  module Freee
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  module Freee
2
2
  class Wallet < Freee::Base
3
- def self.create
4
- #client.post('/api/1/wallet_txns')
3
+ def self.create(**kwargs)
4
+ Freee.client.post('/api/1/wallet_txns', :wallet, **kwargs)
5
5
  end
6
6
 
7
7
  def self.list(company_id, **kwargs)
@@ -28,6 +28,10 @@ def get_company_id
28
28
  ENV["FREEE_COMPANY_ID"]
29
29
  end
30
30
 
31
+ def get_walletable_id
32
+ ENV["FREEE_WALLETABLE_ID"]
33
+ end
34
+
31
35
  RSpec.configure do |config|
32
36
  config.treat_symbols_as_metadata_keys_with_true_values = true
33
37
  config.run_all_when_everything_filtered = true
@@ -5,7 +5,18 @@ describe Freee::Wallet do
5
5
  let(:secret_key) { get_secret_key }
6
6
  let(:token) { get_token }
7
7
  let(:company_id) { get_company_id }
8
+ let(:walletable_id) { get_walletable_id }
8
9
  let(:wallet) { Freee::Wallet }
10
+ let(:response) do
11
+ wallet.create(
12
+ company_id: company_id,
13
+ walletable_id: walletable_id,
14
+ date: '2014-07-10',
15
+ walletable_type: 'bank_account',
16
+ amount: '1000000',
17
+ entry_side: 'income'
18
+ )['wallet_txn']
19
+ end
9
20
 
10
21
  before(:each) do
11
22
  Freee::Base.config(client_id, secret_key, token)
@@ -58,4 +69,21 @@ describe Freee::Wallet do
58
69
  it { is_expected.not_to be_nil }
59
70
  it { is_expected.to eq 2 }
60
71
  end
72
+
73
+ it "should set information of one's wallet txns" do
74
+ expect(response).to include('id')
75
+ expect(response).to include('company_id')
76
+ expect(response).to include('walletable_id')
77
+ expect(response).to include('date')
78
+ expect(response).to include('walletable_type')
79
+ expect(response).to include('amount')
80
+ expect(response).to include('entry_side')
81
+
82
+ expect(response['company_id']).to eq company_id.to_i
83
+ expect(response['walletable_id']).to eq walletable_id.to_i
84
+ expect(response['date']).to eq '2014-07-10'
85
+ expect(response['walletable_type']).to eq 'bank_account'
86
+ expect(response['amount']).to eq 1000000
87
+ expect(response['entry_side']).to eq 'income'
88
+ end
61
89
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freee
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
  - Keiji Matsuzaki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-04 00:00:00.000000000 Z
11
+ date: 2014-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2