tsubaiso-sdk 1.2.5 → 1.2.6

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
  SHA256:
3
- metadata.gz: 7692d60351cf486110092b0504852ade90ab4c232a945033989859b3086733f6
4
- data.tar.gz: d1a24ea0e75784def364657a318f67b7d1994ba1ef90cc3e14537090f552e90f
3
+ metadata.gz: 2a8fcdac9b405b2c3bbb5725352eb209fd9e11b8932a4d7d817eaf949169a4cc
4
+ data.tar.gz: f214e4a11b5bcd4ebf8b80e7771011eed14c15e4c43057b14f8f32eb9625a1d8
5
5
  SHA512:
6
- metadata.gz: c7aada144d360b894e23fc6f65aee45f19b56e5abbc8d4a9a652bcec5a052d91d62c7f96b1f0c928e431350e2a08e339597b89a06c760eb808b51b5746fbae80
7
- data.tar.gz: e7c8d1a4964791d2c013fb8d72a2f9570db1d7955cd19fc717e46bb0bb5196fed886e3ccbe2f89b419cefc34543cc23d43e29e534bbd5e65ff55c76bd4261dd3
6
+ metadata.gz: dcd2ee90dcc53b1e9fd810f2a219166b729bc3b7e512413e738b633daaa513167425474d0b8cabc9e47343022bc8e65b6111edaea0546c09497eb6a2ebc2b24b
7
+ data.tar.gz: 2bee4d449797c0211a5f607e639815a3fb0134475bf50f1db0a042a546e3ae08e38bb4206f592125e85105ff8835b5ca1af8b5b741deb020dc53d6c6cf9fcd3c
data/Rakefile CHANGED
@@ -4,5 +4,5 @@ Rake::TestTask.new do |t|
4
4
  t.libs << 'test'
5
5
  end
6
6
 
7
- desc "Run tests"
7
+ desc 'Run tests'
8
8
  task :default => :test
@@ -1,7 +1,7 @@
1
1
  # ..
2
2
  class TsubaisoAPI
3
- require "net/http"
4
- require "json"
3
+ require 'net/http'
4
+ require 'json'
5
5
 
6
6
  def initialize(options = {})
7
7
  @base_url = options[:base_url] || 'https://tsubaiso.net'
@@ -9,45 +9,45 @@ class TsubaisoAPI
9
9
  end
10
10
 
11
11
  def list(resource, params = {})
12
- api_request(url_parse(resource + '/list'), "GET", params)
12
+ api_request(url_parse(resource + '/list'), 'GET', params)
13
13
  end
14
14
 
15
15
  def show(resource, params = {})
16
- api_request(url_parse(resource + "/show/#{params[:id]}"), "GET", params)
16
+ api_request(url_parse(resource + "/show/#{params[:id]}"), 'GET', params)
17
17
  end
18
18
 
19
19
  def create(resource, params = {})
20
- api_request(url_parse(resource + '/create'), "POST", params)
20
+ api_request(url_parse(resource + '/create'), 'POST', params)
21
21
  end
22
22
 
23
23
  def update(resource, params = {})
24
- api_request(url_parse(resource + '/update'), "POST", params)
24
+ api_request(url_parse(resource + '/update'), 'POST', params)
25
25
  end
26
26
 
27
27
  def destroy(resource, params = {})
28
- api_request(url_parse(resource + '/destroy'), "POST", params)
28
+ api_request(url_parse(resource + '/destroy'), 'POST', params)
29
29
  end
30
30
 
31
31
  def get(url, params = {})
32
- api_request(url_parse(url), "GET", params)
32
+ api_request(url_parse(url), 'GET', params)
33
33
  end
34
34
 
35
35
  def post(url, params = {})
36
- api_request(url_parse(url), "POST", params)
36
+ api_request(url_parse(url), 'POST', params)
37
37
  end
38
38
 
39
39
  private
40
40
 
41
41
  def api_request(uri, http_verb, params)
42
42
  http = Net::HTTP.new(uri.host, uri.port)
43
- initheader = {'Content-Type' => 'application/json', "Accept" => "application/json"}
43
+ initheader = { 'Content-Type' => 'application/json', 'Accept' => 'application/json' }
44
44
  http.use_ssl = true if @base_url =~ /^https/
45
- if http_verb == "GET"
45
+ if http_verb == 'GET'
46
46
  request = Net::HTTP::Get.new(uri.path, initheader)
47
47
  else
48
48
  request = Net::HTTP::Post.new(uri.path, initheader)
49
49
  end
50
- request["Access-Token"] = @access_token
50
+ request['Access-Token'] = @access_token
51
51
  request.body = params.to_json
52
52
  response = http.request(request)
53
53
  if response.body
@@ -1,6 +1,6 @@
1
1
  class TsubaisoSDK
2
- require "net/http"
3
- require "json"
2
+ require 'net/http'
3
+ require 'json'
4
4
 
5
5
  def initialize(options = {})
6
6
  @base_url = options[:base_url] || 'https://tsubaiso.net'
@@ -8,355 +8,413 @@ class TsubaisoSDK
8
8
  end
9
9
 
10
10
  def list_sales(year, month)
11
- params = { "year" => year,
12
- "month" => month,
13
- "format" => "json"
14
- }
15
- uri = URI.parse(@base_url + "/ar/list/")
16
- api_request(uri, "GET", params)
11
+ params = {
12
+ 'year' => year,
13
+ 'month' => month,
14
+ 'format' => 'json'
15
+ }
16
+ uri = URI.parse(@base_url + '/ar/list/')
17
+ api_request(uri, 'GET', params)
17
18
  end
18
19
 
19
20
  def list_sales_and_account_balances(year, month, options = {})
20
- params = { "year" => year,
21
- "month" => month,
22
- "customer_master_id" => options[:customer_master_id],
23
- "ar_segment" => options[:ar_segment],
24
- "format" => "json"
21
+ params = {
22
+ 'year' => year,
23
+ 'month' => month,
24
+ 'customer_master_id' => options[:customer_master_id],
25
+ 'ar_segment' => options[:ar_segment],
26
+ 'format' => 'json'
25
27
  }
26
- uri = URI.parse(@base_url + "/ar_receipts/balance/")
27
- api_request(uri, "GET", params)
28
+ uri = URI.parse(@base_url + '/ar_receipts/balance/')
29
+ api_request(uri, 'GET', params)
28
30
  end
29
31
 
30
32
  def list_purchases(year, month)
31
- params = { "year" => year,
32
- "month" => month,
33
- "format" => "json"
34
- }
35
- uri = URI.parse(@base_url + "/ap_payments/list/")
36
- api_request(uri, "GET", params)
33
+ params = {
34
+ 'year' => year,
35
+ 'month' => month,
36
+ 'format' => 'json'
37
+ }
38
+ uri = URI.parse(@base_url + '/ap_payments/list/')
39
+ api_request(uri, 'GET', params)
37
40
  end
38
41
 
39
42
  def list_purchases_and_account_balances(year, month, options = {})
40
- params = { "year" => year,
41
- "month" => month,
42
- "customer_master_id" => options[:customer_master_id],
43
- "ap_segment" => options[:ap_segment],
44
- "format" => "json"
43
+ params = {
44
+ 'year' => year,
45
+ 'month' => month,
46
+ 'customer_master_id' => options[:customer_master_id],
47
+ 'ap_segment' => options[:ap_segment],
48
+ 'format' => 'json'
45
49
  }
46
- uri = URI.parse(@base_url + "/ap_payments/balance/")
47
- api_request(uri, "GET", params)
50
+ uri = URI.parse(@base_url + '/ap_payments/balance/')
51
+ api_request(uri, 'GET', params)
48
52
  end
49
53
 
50
54
  def list_customers
51
- params = { "format" => "json" }
52
- uri = URI.parse(@base_url + "/customer_masters/list/")
53
- api_request(uri, "GET", params)
55
+ params = { 'format' => 'json' }
56
+ uri = URI.parse(@base_url + '/customer_masters/list/')
57
+ api_request(uri, 'GET', params)
54
58
  end
55
59
 
56
60
  def list_payrolls(year, month)
57
- params = { "format" => "json",
58
- "year" => year,
59
- "month" => month
60
- }
61
- uri = URI.parse(@base_url + "/payrolls/list/")
62
- api_request(uri, "GET", params)
61
+ params = {
62
+ 'format' => 'json',
63
+ 'year' => year,
64
+ 'month' => month
65
+ }
66
+ uri = URI.parse(@base_url + '/payrolls/list/')
67
+ api_request(uri, 'GET', params)
63
68
  end
64
69
 
65
70
  def list_staff
66
- params = { "format" => "json"}
67
- uri = URI.parse(@base_url + "/staffs/list/")
68
- api_request(uri, "GET", params)
71
+ params = { 'format' => 'json' }
72
+ uri = URI.parse(@base_url + '/staffs/list/')
73
+ api_request(uri, 'GET', params)
69
74
  end
70
75
 
71
76
  def list_staff_data(staff_id)
72
- params = {"format" => "json",
73
- "staff_id" => staff_id}
74
- uri = URI.parse(@base_url + "/staff_data/list/")
75
- api_request(uri, "GET", params)
77
+ params = {
78
+ 'format' => 'json',
79
+ 'staff_id' => staff_id
80
+ }
81
+ uri = URI.parse(@base_url + '/staff_data/list/')
82
+ api_request(uri, 'GET', params)
76
83
  end
77
84
 
78
85
  def list_staff_datum_masters
79
- params = { "format" => "json" }
80
- uri = URI.parse(@base_url + "/staff_datum_masters/list/")
81
- api_request(uri, "GET", params)
86
+ params = { 'format' => 'json' }
87
+ uri = URI.parse(@base_url + '/staff_datum_masters/list/')
88
+ api_request(uri, 'GET', params)
82
89
  end
83
90
 
84
91
  def list_reimbursements(year, month)
85
- params = { "format" => "json",
86
- "year" => year,
87
- "month" => month
88
- }
89
- uri = URI.parse(@base_url + "/reimbursements/list/")
90
- api_request(uri, "GET", params)
92
+ params = {
93
+ 'format' => 'json',
94
+ 'year' => year,
95
+ 'month' => month
96
+ }
97
+ uri = URI.parse(@base_url + '/reimbursements/list/')
98
+ api_request(uri, 'GET', params)
91
99
  end
92
100
 
93
101
  def list_reimbursement_transactions(reimbursement_id)
94
- params = { "format" => "json",
95
- "id" => reimbursement_id.to_i
96
- }
97
- uri = URI.parse(@base_url + "/reimbursement_transactions/list/")
98
- api_request(uri, "GET", params)
102
+ params = {
103
+ 'format' => 'json',
104
+ 'id' => reimbursement_id.to_i
105
+ }
106
+ uri = URI.parse(@base_url + '/reimbursement_transactions/list/')
107
+ api_request(uri, 'GET', params)
99
108
  end
100
109
 
101
110
  def list_reimbursement_reason_masters
102
- params = { "format" => "json" }
103
- uri = URI.parse(@base_url + "/reimbursement_reason_masters/list/")
104
- api_request(uri, "GET", params)
111
+ params = { 'format' => 'json' }
112
+ uri = URI.parse(@base_url + '/reimbursement_reason_masters/list/')
113
+ api_request(uri, 'GET', params)
105
114
  end
106
115
 
107
116
  def list_manual_journals(year = nil, month = nil)
108
- params = { "year" => year,
109
- "month" => month,
110
- "format" => "json"
111
- }
112
- uri = URI.parse(@base_url + "/manual_journals/list/")
113
- api_request(uri, "GET", params)
117
+ params = {
118
+ 'year' => year,
119
+ 'month' => month,
120
+ 'format' => 'json'
121
+ }
122
+ uri = URI.parse(@base_url + '/manual_journals/list/')
123
+ api_request(uri, 'GET', params)
114
124
  end
115
125
 
116
126
  def list_journals(options)
117
- params = { "start_date" => options[:start_date],
118
- "finish_date" => options[:finish_date],
119
- "start_created_at" => options[:start_created_at],
120
- "finish_created_at" => options[:finish_created_at],
121
- "timestamp_order" => options[:timestamp_order],
122
- "account_codes" => options[:account_codes],
123
- "price" => options[:price],
124
- "memo" => options[:memo],
125
- "dept_code" => options[:dept_code],
126
- "tag_list" => options[:tag_list],
127
- "id" => options[:id],
128
- "format" => "json"
129
- }
130
- uri = URI.parse(@base_url + "/journals/list/")
131
- api_request(uri, "GET", params)
127
+ params = {
128
+ 'start_date' => options[:start_date],
129
+ 'finish_date' => options[:finish_date],
130
+ 'start_created_at' => options[:start_created_at],
131
+ 'finish_created_at' => options[:finish_created_at],
132
+ 'timestamp_order' => options[:timestamp_order],
133
+ 'account_codes' => options[:account_codes],
134
+ 'price' => options[:price],
135
+ 'memo' => options[:memo],
136
+ 'dept_code' => options[:dept_code],
137
+ 'tag_list' => options[:tag_list],
138
+ 'id' => options[:id],
139
+ 'format' => 'json'
140
+ }
141
+ uri = URI.parse(@base_url + '/journals/list/')
142
+ api_request(uri, 'GET', params)
132
143
  end
133
144
 
134
145
  def list_depts
135
- params = { "format" => "json" }
136
- uri = URI.parse(@base_url + "/depts/list/")
137
- api_request(uri, "GET", params)
146
+ params = { 'format' => 'json' }
147
+ uri = URI.parse(@base_url + '/depts/list/')
148
+ api_request(uri, 'GET', params)
138
149
  end
139
150
 
140
151
  def list_tags
141
- params = { "format" => "json" }
142
- uri = URI.parse(@base_url + "/tags/list/")
143
- api_request(uri, "GET", params)
152
+ params = { 'format' => 'json' }
153
+ uri = URI.parse(@base_url + '/tags/list/')
154
+ api_request(uri, 'GET', params)
144
155
  end
145
156
 
146
157
  def list_bonuses(bonus_no, target_year)
147
- params = { "format" => "json",
148
- "bonus_no" => bonus_no,
149
- "target_year" => target_year
150
- }
151
- uri = URI.parse(@base_url + "/bonuses/list/")
152
- api_request(uri, "GET", params)
158
+ params = {
159
+ 'format' => 'json',
160
+ 'bonus_no' => bonus_no,
161
+ 'target_year' => target_year
162
+ }
163
+ uri = URI.parse(@base_url + '/bonuses/list/')
164
+ api_request(uri, 'GET', params)
153
165
  end
154
166
 
155
167
  def list_ap_reason_masters
156
- params = { "format" => "json" }
157
- uri = URI.parse(@base_url + "/ap_reason_masters/list")
158
- api_request(uri, "GET", params)
168
+ params = { 'format' => 'json' }
169
+ uri = URI.parse(@base_url + '/ap_reason_masters/list')
170
+ api_request(uri, 'GET', params)
159
171
  end
160
172
 
161
173
  def list_ar_reason_masters
162
- params = { "format" => "json" }
163
- uri = URI.parse(@base_url + "/ar_reason_masters/list/")
164
- api_request(uri, "GET", params)
174
+ params = { 'format' => 'json' }
175
+ uri = URI.parse(@base_url + '/ar_reason_masters/list/')
176
+ api_request(uri, 'GET', params)
165
177
  end
166
178
 
167
179
  # Alpha version now.
168
180
  def list_fixed_assets
169
- params = { "format" => "json" }
170
- uri = URI.parse(@base_url + "/fixed_assets/list/")
171
- api_request(uri, "GET", params)
181
+ params = { 'format' => 'json' }
182
+ uri = URI.parse(@base_url + '/fixed_assets/list/')
183
+ api_request(uri, 'GET', params)
172
184
  end
173
185
 
174
186
  def show_sale(voucher)
175
- sale_id = voucher.scan(/\d/).join("")
176
- params = { "format" => "json" }
187
+ sale_id = voucher.scan(/\d/).join('')
188
+ params = { 'format' => 'json' }
177
189
  uri = URI.parse(@base_url + "/ar/show/#{sale_id}")
178
- api_request(uri, "GET", params)
190
+ api_request(uri, 'GET', params)
179
191
  end
180
192
 
181
193
  def show_purchase(voucher)
182
- purchase_id = voucher.scan(/\d/).join("")
183
- params = { "format" => "json" }
194
+ purchase_id = voucher.scan(/\d/).join('')
195
+ params = { 'format' => 'json' }
184
196
  uri = URI.parse(@base_url + "/ap_payments/show/#{purchase_id}")
185
- api_request(uri, "GET", params)
197
+ api_request(uri, 'GET', params)
186
198
  end
187
199
 
188
200
  def show_customer(customer_id)
189
201
  customer_id = customer_id.to_i
190
- params = { "format" => "json" }
202
+ params = { 'format' => 'json' }
191
203
  uri = URI.parse(@base_url + "/customer_masters/show/#{customer_id}")
192
- api_request(uri, "GET", params)
204
+ api_request(uri, 'GET', params)
193
205
  end
194
206
 
195
207
  def show_staff(staff_id)
196
208
  staff_id = staff_id.to_i
197
- params = { "format" => "json" }
209
+ params = { 'format' => 'json' }
198
210
  uri = URI.parse(@base_url + "/staffs/show/#{staff_id}")
199
- api_request(uri, "GET", params)
211
+ api_request(uri, 'GET', params)
200
212
  end
201
213
 
202
214
  def show_staff_data(options)
203
215
  if options.is_a?(Hash)
204
- params = { "staff_id" => options[:staff_id],
205
- "code" => options[:code],
206
- "time" => options[:time],
207
- "format" => "json"
208
- }
216
+ params = {
217
+ 'staff_id' => options[:staff_id],
218
+ 'code' => options[:code],
219
+ 'time' => options[:time],
220
+ 'format' => 'json'
221
+ }
209
222
  id = options[:id]
210
223
  else
211
- params = { "format" => "json" }
224
+ params = { 'format' => 'json' }
212
225
  id = options
213
226
  end
214
227
  uri = URI.parse(@base_url + "/staff_data/show/#{id}")
215
- api_request(uri, "GET", params)
228
+ api_request(uri, 'GET', params)
216
229
  end
217
230
 
218
231
  def show_staff_datum_master(options)
219
232
  if options.is_a?(Hash)
220
- params = { "code" => options[:code],
221
- "format" => "json"
222
- }
233
+ params = {
234
+ 'code' => options[:code],
235
+ 'format' => 'json'
236
+ }
223
237
  id = options[:id]
224
238
  else
225
- params = { "format" => "json" }
239
+ params = { 'format' => 'json' }
226
240
  id = options
227
241
  end
228
242
  uri = URI.parse(@base_url + "/staff_datum_masters/show/#{id}")
229
- api_request(uri, "GET", params)
243
+ api_request(uri, 'GET', params)
230
244
  end
231
245
 
232
246
  def show_manual_journal(manual_journal_id)
233
- params = { "format" => "json" }
247
+ params = { 'format' => 'json' }
234
248
  uri = URI.parse(@base_url + "/manual_journals/show/#{manual_journal_id}")
235
- api_request(uri, "GET", params)
249
+ api_request(uri, 'GET', params)
236
250
  end
237
251
 
238
252
  def show_journal(journal_id)
239
- params = { "format" => "json" }
253
+ params = { 'format' => 'json' }
240
254
  uri = URI.parse(@base_url + "/journals/show/#{journal_id}")
241
- api_request(uri, "GET", params)
255
+ api_request(uri, 'GET', params)
242
256
  end
243
257
 
244
258
  def show_reimbursement(reimbursement_id)
245
- params = { "format" => "json" }
259
+ params = { 'format' => 'json' }
246
260
  uri = URI.parse(@base_url + "/reimbursements/show/#{reimbursement_id}")
247
- api_request(uri, "GET", params)
261
+ api_request(uri, 'GET', params)
248
262
  end
249
263
 
250
264
  def show_reimbursement_transaction(reimbursement_transaction_id)
251
- params = { "format" => "json" }
265
+ params = { 'format' => 'json' }
252
266
  uri = URI.parse(@base_url + "/reimbursement_transactions/show/#{reimbursement_transaction_id}")
253
- api_request(uri, "GET", params)
267
+ api_request(uri, 'GET', params)
254
268
  end
255
269
 
256
270
  def show_reimbursement_reason_master(reimbursement_reason_master_id)
257
- params = { "format" => "json" }
271
+ params = { 'format' => 'json' }
258
272
  uri = URI.parse(@base_url + "/reimbursement_reason_masters/show/#{reimbursement_reason_master_id}")
259
- api_request(uri, "GET", params)
273
+ api_request(uri, 'GET', params)
260
274
  end
261
275
 
262
276
  def show_dept(dept_id)
263
- params = { "format" => "json" }
277
+ params = { 'format' => 'json' }
264
278
  uri = URI.parse(@base_url + "/depts/show/#{dept_id}")
265
- api_request(uri, "GET", params)
279
+ api_request(uri, 'GET', params)
266
280
  end
267
281
 
268
282
  def show_tag(tag_id)
269
- params = { "format" => "json" }
283
+ params = { 'format' => 'json' }
270
284
  uri = URI.parse(@base_url + "/tags/show/#{tag_id}")
271
- api_request(uri, "GET", params)
285
+ api_request(uri, 'GET', params)
272
286
  end
273
287
 
274
288
  def show_bonus(bonus_id)
275
- params = { "format" => "json" }
289
+ params = { 'format' => 'json' }
276
290
  uri = URI.parse(@base_url + "/bonuses/show/#{bonus_id}")
277
- api_request(uri, "GET", params)
291
+ api_request(uri, 'GET', params)
278
292
  end
279
293
 
280
294
  def show_payroll(payroll_id)
281
- params = { "format" => "json" }
295
+ params = { 'format' => 'json' }
282
296
  uri = URI.parse(@base_url + "/payrolls/show/#{payroll_id}")
283
- api_request(uri, "GET", params)
297
+ api_request(uri, 'GET', params)
284
298
  end
285
299
 
286
300
  def show_ar_reason_master(ar_reason_master_id)
287
- params = { "format" => "json" }
301
+ params = { 'format' => 'json' }
288
302
  uri = URI.parse(@base_url + "/ar_reason_masters/show/#{ar_reason_master_id}")
289
- api_request(uri, "GET", params)
303
+ api_request(uri, 'GET', params)
290
304
  end
291
305
 
292
306
  def show_ap_reason_master(ap_reason_master_id)
293
- params = { "format" => "json" }
307
+ params = { 'format' => 'json' }
294
308
  uri = URI.parse(@base_url + "/ap_reason_masters/show/#{ap_reason_master_id}")
295
- api_request(uri, "GET", params)
309
+ api_request(uri, 'GET', params)
296
310
  end
297
311
 
298
312
  def create_customer(options)
299
- params = { "name" => options[:name],
300
- "name_kana" => options[:name_kana],
301
- "code" => options[:code],
302
- "tax_type_for_remittance_charge" => options[:tax_type_for_remittance_charge],
303
- "used_in_ar" => options[:used_in_ar],
304
- "used_in_ap" => options[:used_in_ap],
305
- "ar_account_code" => options[:ar_account_code],
306
- "ap_account_code" => options[:ap_account_code],
307
- "is_valid" => options[:is_valid],
308
- "format" => "json"
309
- }
313
+ available_keys = [
314
+ 'accountant_email',
315
+ 'address',
316
+ 'administrator_name',
317
+ 'ap_account_code',
318
+ 'ap_reason_selections',
319
+ 'ar_account_code',
320
+ 'ar_reason_selections',
321
+ 'bank_account_number',
322
+ 'bank_branch_code',
323
+ 'bank_branch_name',
324
+ 'bank_code',
325
+ 'bank_course',
326
+ 'bank_name',
327
+ 'bank_nominee',
328
+ 'bill_detail_round_rule',
329
+ 'code',
330
+ 'dept_code',
331
+ 'email',
332
+ 'fax',
333
+ 'finish_timestamp',
334
+ 'foreign_currency',
335
+ 'is_valid',
336
+ 'locale',
337
+ 'name',
338
+ 'name_kana',
339
+ 'need_tax_deductions',
340
+ 'pay_closing_schedule',
341
+ 'pay_interface_id',
342
+ 'pay_sight',
343
+ 'receive_closing_schedule',
344
+ 'receive_interface_id',
345
+ 'receive_sight',
346
+ 'sender_name',
347
+ 'sort_no',
348
+ 'start_timestamp',
349
+ 'tax_type_for_remittance_charge',
350
+ 'tel',
351
+ 'memo',
352
+ 'used_in_ap',
353
+ 'used_in_ar',
354
+ 'withholding_tax_base',
355
+ 'withholding_tax_segment',
356
+ 'zip',
357
+ 'data_partner'
358
+ ]
359
+ params = {}
360
+ available_keys.each do |key|
361
+ params[key.to_s] = options[key.to_sym]
362
+ end
363
+ params['format'] = 'json'
364
+
310
365
  uri = URI.parse(@base_url + '/customer_masters/create')
311
- api_request(uri, "POST", params)
366
+ api_request(uri, 'POST', params)
312
367
  end
313
368
 
314
369
  def create_sale(options)
315
- params = { "price_including_tax" => options[:price_including_tax],
316
- "realization_timestamp" => options[:realization_timestamp],
317
- "customer_master_code" => options[:customer_master_code],
318
- "dept_code" => options[:dept_code],
319
- "reason_master_code" => options[:reason_master_code],
320
- "dc" => options[:dc],
321
- "memo" => options[:memo],
322
- "tax_code" => options[:tax_code],
323
- "sales_tax" => options[:sales_tax],
324
- "scheduled_memo" => options[:scheduled_memo],
325
- "scheduled_receive_timestamp" => options[:scheduled_receive_timestamp],
326
- "tag_list" => options[:tag_list],
327
- "data_partner" => options[:data_partner],
328
- "format" => "json"
329
- }
370
+ params = {
371
+ 'price_including_tax' => options[:price_including_tax],
372
+ 'realization_timestamp' => options[:realization_timestamp],
373
+ 'customer_master_code' => options[:customer_master_code],
374
+ 'dept_code' => options[:dept_code],
375
+ 'reason_master_code' => options[:reason_master_code],
376
+ 'dc' => options[:dc],
377
+ 'memo' => options[:memo],
378
+ 'tax_code' => options[:tax_code],
379
+ 'sales_tax' => options[:sales_tax],
380
+ 'scheduled_memo' => options[:scheduled_memo],
381
+ 'scheduled_receive_timestamp' => options[:scheduled_receive_timestamp],
382
+ 'tag_list' => options[:tag_list],
383
+ 'data_partner' => options[:data_partner],
384
+ 'format' => 'json'
385
+ }
330
386
  uri = URI.parse(@base_url + '/ar/create')
331
- api_request(uri, "POST", params)
387
+ api_request(uri, 'POST', params)
332
388
  end
333
389
 
334
390
  def create_purchase(options)
335
- params = { "price_including_tax" => options[:price_including_tax],
336
- "accrual_timestamp" => options[:accrual_timestamp],
337
- "customer_master_code" => options[:customer_master_code],
338
- "dept_code" => options[:dept_code],
339
- "reason_master_code" => options[:reason_master_code],
340
- "dc" => options[:dc],
341
- "memo" => options[:memo],
342
- "tax_code" => options[:tax_code],
343
- "port_type" => options[:port_type],
344
- "tag_list" => options[:tag_list],
345
- "data_partner" => options[:data_partner],
346
- "format" => "json"
347
- }
391
+ params = {
392
+ 'price_including_tax' => options[:price_including_tax],
393
+ 'accrual_timestamp' => options[:accrual_timestamp],
394
+ 'customer_master_code' => options[:customer_master_code],
395
+ 'dept_code' => options[:dept_code],
396
+ 'reason_master_code' => options[:reason_master_code],
397
+ 'dc' => options[:dc],
398
+ 'memo' => options[:memo],
399
+ 'tax_code' => options[:tax_code],
400
+ 'port_type' => options[:port_type],
401
+ 'tag_list' => options[:tag_list],
402
+ 'data_partner' => options[:data_partner],
403
+ 'format' => 'json'
404
+ }
348
405
  uri = URI.parse(@base_url + '/ap_payments/create')
349
- api_request(uri, "POST", params)
406
+ api_request(uri, 'POST', params)
350
407
  end
351
408
 
352
409
  def create_staff_data(options)
353
- params = { "staff_id" => options[:staff_id],
354
- "code" => options[:code],
355
- "memo" => options[:memo],
356
- "value" => options[:value],
357
- "start_timestamp" => options[:start_timestamp],
358
- "format" => "json"
359
- }
410
+ params = {
411
+ 'staff_id' => options[:staff_id],
412
+ 'code' => options[:code],
413
+ 'memo' => options[:memo],
414
+ 'value' => options[:value],
415
+ 'start_timestamp' => options[:start_timestamp],
416
+ 'format' => 'json'
417
+ }
360
418
 
361
419
  if options[:finish_timestamp]
362
420
  params[:finish_timestamp] = options[:finish_timestamp]
@@ -365,132 +423,180 @@ class TsubaisoSDK
365
423
  end
366
424
 
367
425
  uri = URI.parse(@base_url + '/staff_data/create')
368
- api_request(uri, "POST", params)
426
+ api_request(uri, 'POST', params)
369
427
  end
370
428
 
371
429
  def create_manual_journal(options)
372
- params = { "journal_timestamp" => options[:journal_timestamp],
373
- "journal_dcs" => make_journal_dcs(options[:journal_dcs]),
374
- "data_partner" => options[:data_partner],
375
- "format" => "json" }
430
+ params = {
431
+ 'journal_timestamp' => options[:journal_timestamp],
432
+ 'journal_dcs' => make_journal_dcs(options[:journal_dcs]),
433
+ 'data_partner' => options[:data_partner],
434
+ 'format' => 'json'
435
+ }
376
436
 
377
437
  uri = URI.parse(@base_url + '/manual_journals/create')
378
- api_request(uri, "POST", params)
438
+ api_request(uri, 'POST', params)
379
439
  end
380
440
 
381
441
  def create_reimbursement(options)
382
- params = { "format" => "json",
383
- "applicant" => options[:applicant],
384
- "application_term" => options[:application_term],
385
- "staff_code" => options[:staff_code],
386
- "dept_code" => options[:dept_code],
387
- "memo" => options[:memo]
388
- }
389
- uri = URI.parse(@base_url + "/reimbursements/create/")
390
- api_request(uri, "POST", params)
442
+ params = {
443
+ 'format' => 'json',
444
+ 'applicant' => options[:applicant],
445
+ 'application_term' => options[:application_term],
446
+ 'staff_code' => options[:staff_code],
447
+ 'dept_code' => options[:dept_code],
448
+ 'memo' => options[:memo]
449
+ }
450
+ uri = URI.parse(@base_url + '/reimbursements/create/')
451
+ api_request(uri, 'POST', params)
391
452
  end
392
453
 
393
454
  def create_reimbursement_transaction(options)
394
- params = { "format" => "json",
395
- "reimbursement_id" => options[:reimbursement_id].to_i,
396
- "transaction_timestamp" => options[:transaction_timestamp],
397
- "price_value" => options[:price_value],
398
- "reason_code" => options[:reason_code],
399
- "port_type" => options[:port_type],
400
- "dc" => options[:dc],
401
- "brief" => options[:brief],
402
- "memo" => options[:memo],
403
- "tag_list" => options[:tag_list],
404
- "tax_type" => options[:tax_type],
405
- "data_partner" => options[:data_partner]
406
- }
455
+ params = {
456
+ 'format' => 'json',
457
+ 'reimbursement_id' => options[:reimbursement_id].to_i,
458
+ 'transaction_timestamp' => options[:transaction_timestamp],
459
+ 'price_value' => options[:price_value],
460
+ 'reason_code' => options[:reason_code],
461
+ 'port_type' => options[:port_type],
462
+ 'dc' => options[:dc],
463
+ 'brief' => options[:brief],
464
+ 'memo' => options[:memo],
465
+ 'tag_list' => options[:tag_list],
466
+ 'tax_type' => options[:tax_type],
467
+ 'data_partner' => options[:data_partner]
468
+ }
407
469
  uri = URI.parse(@base_url + '/reimbursement_transactions/create/')
408
- api_request(uri, "POST", params)
470
+ api_request(uri, 'POST', params)
409
471
  end
410
472
 
411
473
  def create_dept(options)
412
- params = { "format" => "json",
413
- "sort_no" => options[:sort_no],
414
- "code" => options[:code],
415
- "name" => options[:name],
416
- "name_abbr" => options[:name_abbr],
417
- "color" => options[:color],
418
- "memo" => options[:memo],
419
- "start_date" => options[:start_date],
420
- "finish_date" => options[:finish_date]
421
- }
474
+ params = {
475
+ 'format' => 'json',
476
+ 'sort_no' => options[:sort_no],
477
+ 'code' => options[:code],
478
+ 'name' => options[:name],
479
+ 'name_abbr' => options[:name_abbr],
480
+ 'color' => options[:color],
481
+ 'memo' => options[:memo],
482
+ 'start_date' => options[:start_date],
483
+ 'finish_date' => options[:finish_date]
484
+ }
422
485
  uri = URI.parse(@base_url + '/depts/create/')
423
- api_request(uri, "POST", params)
486
+ api_request(uri, 'POST', params)
424
487
  end
425
488
 
426
489
  def create_tag(options)
427
- params = { "format" => "json",
428
- "code" => options[:code],
429
- "name" => options[:name],
430
- "sort_no" => options[:sort_no],
431
- "tag_group_code" => options[:tag_group_code],
432
- "start_ymd" => options[:start_ymd],
433
- "finish_ymd" => options[:finish_ymd]
434
- }
490
+ params = {
491
+ 'format' => 'json',
492
+ 'code' => options[:code],
493
+ 'name' => options[:name],
494
+ 'sort_no' => options[:sort_no],
495
+ 'tag_group_code' => options[:tag_group_code],
496
+ 'start_ymd' => options[:start_ymd],
497
+ 'finish_ymd' => options[:finish_ymd]
498
+ }
435
499
  uri = URI.parse(@base_url + '/tags/create/')
436
- api_request(uri, "POST", params)
500
+ api_request(uri, 'POST', params)
437
501
  end
438
502
 
439
503
  def create_journal_distribution(options)
440
- params = { "format" => "json",
441
- "search_conditions" => {
442
- "start_date" => options[:start_date],
443
- "finish_date" => options[:finish_date],
444
- "account_codes" => options[:account_codes],
445
- "dept_code" => options[:dept_code],
446
- "tag_list" => options[:tag_list]
447
- },
448
- "title" => options[:title],
449
- "target_timestamp" => options[:target_timestamp],
450
- "memo" => options[:memo],
451
- "criteria" => options[:criteria],
452
- "distribution_conditions" => options[:distribution_conditions]
453
- }
504
+ params = {
505
+ 'format' => 'json',
506
+ 'search_conditions' => {
507
+ 'start_date' => options[:start_date],
508
+ 'finish_date' => options[:finish_date],
509
+ 'account_codes' => options[:account_codes],
510
+ 'dept_code' => options[:dept_code],
511
+ 'tag_list' => options[:tag_list]
512
+ },
513
+ 'title' => options[:title],
514
+ 'target_timestamp' => options[:target_timestamp],
515
+ 'memo' => options[:memo],
516
+ 'criteria' => options[:criteria],
517
+ 'distribution_conditions' => options[:distribution_conditions]
518
+ }
454
519
  uri = URI.parse(@base_url + '/journal_distributions/create/')
455
- api_request(uri, "POST", params)
520
+ api_request(uri, 'POST', params)
456
521
  end
457
522
 
458
523
  def update_sale(options)
459
- params = options.merge({"format" => "json"})
524
+ params = options.merge({ 'format' => 'json' })
460
525
  uri = URI.parse(@base_url + "/ar/update/#{options[:id]}")
461
- api_request(uri, "POST", params)
526
+ api_request(uri, 'POST', params)
462
527
  end
463
528
 
464
529
  def update_purchase(options)
465
- params = options.merge({"format" => "json"})
530
+ params = options.merge({ 'format' => 'json' })
466
531
 
467
532
  uri = URI.parse(@base_url + "/ap_payments/update/#{options[:id]}")
468
- api_request(uri, "POST", params)
533
+ api_request(uri, 'POST', params)
469
534
  end
470
535
 
471
536
  def update_customer(options)
472
- params = { "name" => options[:name],
473
- "name_kana" => options[:name_kana],
474
- "code" => options[:code],
475
- "tax_type_for_remittance_charge" => options[:tax_type_for_remittance_charge],
476
- "used_in_ar" => options[:used_in_ar],
477
- "used_in_ap" => options[:used_in_ap],
478
- "ar_account_code" => options[:ar_account_code],
479
- "ap_account_code" => options[:ap_account_code],
480
- "is_valid" => options[:is_valid],
481
- "format" => "json"
482
- }
537
+ available_keys = [
538
+ 'accountant_email',
539
+ 'address',
540
+ 'administrator_name',
541
+ 'ap_account_code',
542
+ 'ap_reason_selections',
543
+ 'ar_account_code',
544
+ 'ar_reason_selections',
545
+ 'bank_account_number',
546
+ 'bank_branch_code',
547
+ 'bank_branch_name',
548
+ 'bank_code',
549
+ 'bank_course',
550
+ 'bank_name',
551
+ 'bank_nominee',
552
+ 'bill_detail_round_rule',
553
+ 'code',
554
+ 'dept_code',
555
+ 'email',
556
+ 'fax',
557
+ 'finish_timestamp',
558
+ 'foreign_currency',
559
+ 'is_valid',
560
+ 'locale',
561
+ 'name',
562
+ 'name_kana',
563
+ 'need_tax_deductions',
564
+ 'pay_closing_schedule',
565
+ 'pay_interface_id',
566
+ 'pay_sight',
567
+ 'receive_closing_schedule',
568
+ 'receive_interface_id',
569
+ 'receive_sight',
570
+ 'sender_name',
571
+ 'sort_no',
572
+ 'start_timestamp',
573
+ 'tax_type_for_remittance_charge',
574
+ 'tel',
575
+ 'memo',
576
+ 'used_in_ap',
577
+ 'used_in_ar',
578
+ 'withholding_tax_base',
579
+ 'withholding_tax_segment',
580
+ 'zip',
581
+ 'data_partner'
582
+ ]
583
+ params = {}
584
+ available_keys.each do |key|
585
+ params[key.to_s] = options[key.to_sym]
586
+ end
587
+ params['format'] = 'json'
483
588
 
484
589
  uri = URI.parse(@base_url + "/customer_masters/update/#{options[:id]}")
485
- api_request(uri, "POST", params)
590
+ api_request(uri, 'POST', params)
486
591
  end
487
592
 
488
593
  def update_staff_data(options)
489
- params = { "memo" => options[:memo],
490
- "value" => options[:value],
491
- "start_timestamp" => options[:start_timestamp],
492
- "format" => "json"
493
- }
594
+ params = {
595
+ 'memo' => options[:memo],
596
+ 'value' => options[:value],
597
+ 'start_timestamp' => options[:start_timestamp],
598
+ 'format' => 'json'
599
+ }
494
600
 
495
601
  if options[:finish_timestamp]
496
602
  params[:finish_timestamp] = options[:finish_timestamp]
@@ -499,162 +605,168 @@ class TsubaisoSDK
499
605
  end
500
606
 
501
607
  uri = URI.parse(@base_url + "/staff_data/update/#{options[:id]}")
502
- api_request(uri, "POST", params)
608
+ api_request(uri, 'POST', params)
503
609
  end
504
610
 
505
611
  def update_manual_journal(options)
506
- params = { "journal_timestamp" => options[:journal_timestamp],
507
- "journal_dcs" => make_journal_dcs(options[:journal_dcs]),
508
- "data_partner" => options[:data_partner],
509
- "format" => "json" }
612
+ params = {
613
+ 'journal_timestamp' => options[:journal_timestamp],
614
+ 'journal_dcs' => make_journal_dcs(options[:journal_dcs]),
615
+ 'data_partner' => options[:data_partner],
616
+ 'format' => 'json'
617
+ }
510
618
 
511
619
  uri = URI.parse(@base_url + "/manual_journals/update/#{options[:id]}")
512
- api_request(uri, "POST", params)
620
+ api_request(uri, 'POST', params)
513
621
  end
514
622
 
515
623
  def update_reimbursement(reimbursement_id, options)
516
- params = { "format" => "json",
517
- "applicant" => options[:applicant],
518
- "application_term" => options[:application_term],
519
- "staff_code" => options[:staff_code],
520
- "dept_code" => options[:dept_code],
521
- "memo" => options[:memo]
522
- }
624
+ params = {
625
+ 'format' => 'json',
626
+ 'applicant' => options[:applicant],
627
+ 'application_term' => options[:application_term],
628
+ 'staff_code' => options[:staff_code],
629
+ 'dept_code' => options[:dept_code],
630
+ 'memo' => options[:memo]
631
+ }
523
632
  uri = URI.parse(@base_url + "/reimbursements/update/#{reimbursement_id}")
524
- api_request(uri, "POST", params)
633
+ api_request(uri, 'POST', params)
525
634
  end
526
635
 
527
636
  def update_reimbursement_transaction(options)
528
- params = { "format" => "json",
529
- "port_type" => options[:port_type],
530
- "transaction_timestamp" => options[:transaction_timestamp],
531
- "price_value" => options[:price_value],
532
- "dc" => options[:dc],
533
- "reason_code" => options[:reason_code],
534
- "brief" => options[:brief],
535
- "memo" => options[:memo],
536
- "tag_list" => options[:tag_list],
537
- "tax_type" => options[:tax_type],
538
- "data_partner" => options[:data_partner]
539
- }
637
+ params = {
638
+ 'format' => 'json',
639
+ 'port_type' => options[:port_type],
640
+ 'transaction_timestamp' => options[:transaction_timestamp],
641
+ 'price_value' => options[:price_value],
642
+ 'dc' => options[:dc],
643
+ 'reason_code' => options[:reason_code],
644
+ 'brief' => options[:brief],
645
+ 'memo' => options[:memo],
646
+ 'tag_list' => options[:tag_list],
647
+ 'tax_type' => options[:tax_type],
648
+ 'data_partner' => options[:data_partner]
649
+ }
540
650
  uri = URI.parse(@base_url + "/reimbursement_transactions/update/#{options[:id]}")
541
- api_request(uri, "POST", params)
651
+ api_request(uri, 'POST', params)
542
652
  end
543
653
 
544
654
  def update_dept(dept_id, options)
545
- params = { "format" => "json",
546
- "sort_no" => options[:sort_no],
547
- "code" => options[:code],
548
- "name" => options[:name],
549
- "name_abbr" => options[:name_abbr],
550
- "color" => options[:color],
551
- "memo" => options[:memo],
552
- "start_date" => options[:start_date],
553
- "finish_date" => options[:finish_date]
554
- }
655
+ params = {
656
+ 'format' => 'json',
657
+ 'sort_no' => options[:sort_no],
658
+ 'code' => options[:code],
659
+ 'name' => options[:name],
660
+ 'name_abbr' => options[:name_abbr],
661
+ 'color' => options[:color],
662
+ 'memo' => options[:memo],
663
+ 'start_date' => options[:start_date],
664
+ 'finish_date' => options[:finish_date]
665
+ }
555
666
  uri = URI.parse(@base_url + "/depts/update/#{dept_id}")
556
- api_request(uri, "POST", params)
667
+ api_request(uri, 'POST', params)
557
668
  end
558
669
 
559
670
  def update_tag(tag_id, options)
560
- params = { "format" => "json",
561
- "code" => options[:code],
562
- "name" => options[:name],
563
- "sort_no" => options[:sort_no],
564
- "tag_group_code" => options[:tag_group_code],
565
- "start_ymd" => options[:start_ymd],
566
- "finish_ymd" => options[:finish_ymd]
567
- }
671
+ params = {
672
+ 'format' => 'json',
673
+ 'code' => options[:code],
674
+ 'name' => options[:name],
675
+ 'sort_no' => options[:sort_no],
676
+ 'tag_group_code' => options[:tag_group_code],
677
+ 'start_ymd' => options[:start_ymd],
678
+ 'finish_ymd' => options[:finish_ymd]
679
+ }
568
680
  uri = URI.parse(@base_url + "/tags/update/#{tag_id}")
569
- api_request(uri, "POST", params)
681
+ api_request(uri, 'POST', params)
570
682
  end
571
683
 
572
684
  def destroy_sale(voucher)
573
- sale_id = voucher.scan(/\d/).join("")
574
- params = { "format" => "json" }
685
+ sale_id = voucher.scan(/\d/).join('')
686
+ params = { 'format' => 'json' }
575
687
  uri = URI.parse(@base_url + "/ar/destroy/#{sale_id}")
576
- api_request(uri, "POST", params)
688
+ api_request(uri, 'POST', params)
577
689
  end
578
690
 
579
691
  def destroy_purchase(voucher)
580
- purchase_id = voucher.scan(/\d/).join("")
581
- params = { "format" => "json" }
692
+ purchase_id = voucher.scan(/\d/).join('')
693
+ params = { 'format' => 'json' }
582
694
  uri = URI.parse(@base_url + "/ap/destroy/#{purchase_id}")
583
- api_request(uri, "POST", params)
695
+ api_request(uri, 'POST', params)
584
696
  end
585
697
 
586
698
  def destroy_customer(customer_id)
587
- params = { "format" => "json" }
699
+ params = { 'format' => 'json' }
588
700
  uri = URI.parse(@base_url + "/customer_masters/destroy/#{customer_id}")
589
- api_request(uri, "POST", params)
701
+ api_request(uri, 'POST', params)
590
702
  end
591
703
 
592
704
  def destroy_staff_data(staff_data_id)
593
- params = { "format" => "json" }
705
+ params = { 'format' => 'json' }
594
706
  uri = URI.parse(@base_url + "/staff_data/destroy/#{staff_data_id}")
595
- api_request(uri, "POST", params)
707
+ api_request(uri, 'POST', params)
596
708
  end
597
709
 
598
710
  def destroy_manual_journal(manual_journal_id)
599
- params = { "format" => "json" }
711
+ params = { 'format' => 'json' }
600
712
  uri = URI.parse(@base_url + "/manual_journals/destroy/#{manual_journal_id}")
601
- api_request(uri, "POST", params)
713
+ api_request(uri, 'POST', params)
602
714
  end
603
715
 
604
716
  def destroy_reimbursement(reimbursement_id)
605
- params = { "format" => "json" }
717
+ params = { 'format' => 'json' }
606
718
  uri = URI.parse(@base_url + "/reimbursements/destroy/#{reimbursement_id}")
607
- api_request(uri, "POST", params)
719
+ api_request(uri, 'POST', params)
608
720
  end
609
721
 
610
722
  def destroy_reimbursement_transaction(reimbursement_transaction_id)
611
- params = { "format" => "json" }
723
+ params = { 'format' => 'json' }
612
724
  uri = URI.parse(@base_url + "/reimbursement_transactions/destroy/#{reimbursement_transaction_id}")
613
- api_request(uri, "POST", params)
725
+ api_request(uri, 'POST', params)
614
726
  end
615
727
 
616
728
  def destroy_dept(dept_id)
617
- params = { "format" => "json" }
729
+ params = { 'format' => 'json' }
618
730
  uri = URI.parse(@base_url + "/depts/destroy/#{dept_id}")
619
- api_request(uri, "POST", params)
731
+ api_request(uri, 'POST', params)
620
732
  end
621
733
 
622
734
  def destroy_tag(tag_id)
623
- params = { "format" => "json" }
735
+ params = { 'format' => 'json' }
624
736
  uri = URI.parse(@base_url + "/tags/destroy/#{tag_id}")
625
- api_request(uri, "POST", params)
737
+ api_request(uri, 'POST', params)
626
738
  end
627
739
 
628
740
  def destroy_journal_distribution(journal_distribution_id)
629
- params = { "format" => "json" }
741
+ params = { 'format' => 'json' }
630
742
  uri = URI.parse(@base_url + "/journal_distributions/destroy/#{journal_distribution_id}")
631
- api_request(uri, "POST", params)
743
+ api_request(uri, 'POST', params)
632
744
  end
633
745
 
634
746
  # Alpha version now.
635
747
  def destroy_fixed_asset(fixed_asset_id)
636
- params = { "format" => "json" }
748
+ params = { 'format' => 'json' }
637
749
  uri = URI.parse(@base_url + "/fixed_assets/destroy/#{fixed_asset_id}")
638
- api_request(uri, "POST", params)
750
+ api_request(uri, 'POST', params)
639
751
  end
640
752
 
641
753
  private
642
754
 
643
755
  def api_request(uri, http_verb, params)
644
756
  http = Net::HTTP.new(uri.host, uri.port)
645
- initheader = {'Content-Type' => 'application/json'}
757
+ initheader = { 'Content-Type' => 'application/json' }
646
758
  http.use_ssl = true if @base_url =~ /^https/
647
- if http_verb == "GET"
759
+ if http_verb == 'GET'
648
760
  request = Net::HTTP::Get.new(uri.path, initheader)
649
761
  else
650
762
  request = Net::HTTP::Post.new(uri.path, initheader)
651
763
  end
652
- request["Access-Token"] = @access_token
764
+ request['Access-Token'] = @access_token
653
765
  request.body = params.to_json
654
766
  response = http.request(request)
655
767
  if response.body
656
768
  begin
657
- {:status => response.code, :json => recursive_symbolize_keys(JSON.load(response.body))}
769
+ { :status => response.code, :json => recursive_symbolize_keys(JSON.parse(response.body)) }
658
770
  rescue
659
771
  response.body
660
772
  end
@@ -668,7 +780,7 @@ class TsubaisoSDK
668
780
  when Hash
669
781
  Hash[
670
782
  data.map do |k, v|
671
- [ k.respond_to?(:to_sym) ? k.to_sym : k, recursive_symbolize_keys(v) ]
783
+ [k.respond_to?(:to_sym) ? k.to_sym : k, recursive_symbolize_keys(v)]
672
784
  end
673
785
  ]
674
786
  when Enumerable
@@ -680,22 +792,29 @@ class TsubaisoSDK
680
792
 
681
793
  def make_journal_dcs(journal_dcs)
682
794
  return nil if journal_dcs.nil?
683
- journal_dcs.map {|journal_dc| make_journal_dc(journal_dc)}
795
+ journal_dcs.map { |journal_dc| make_journal_dc(journal_dc) }
684
796
  end
685
797
 
686
798
  def make_journal_dc(journal_dc)
687
- { "debit" => make_journal_dc_oneside(journal_dc[:debit]),
688
- "credit" => make_journal_dc_oneside(journal_dc[:credit]),
689
- "dept_code" => journal_dc[:dept_code],
690
- "memo" => journal_dc[:memo] }
799
+ { 'debit' => make_journal_dc_oneside(journal_dc[:debit]),
800
+ 'credit' => make_journal_dc_oneside(journal_dc[:credit]),
801
+ 'dept_code' => journal_dc[:dept_code],
802
+ 'memo' => journal_dc[:memo] }
691
803
  end
692
804
 
693
805
  def make_journal_dc_oneside(side)
694
806
  return nil if side.nil?
695
- { "account_code" => side[:account_code].to_s,
696
- "price_including_tax" => side[:price_including_tax],
697
- "tax_type" => side[:tax_type],
698
- "sales_tax" => side[:sales_tax]
807
+ { 'account_code' => side[:account_code].to_s,
808
+ 'price_including_tax' => side[:price_including_tax],
809
+ 'tax_type' => side[:tax_type],
810
+ 'sales_tax' => side[:sales_tax] }
811
+ end
812
+
813
+ def next_customer_code
814
+ params = {
815
+ 'format' => 'json'
699
816
  }
817
+ uri = URI.parse(@base_url + '/customer_masters/next_code')
818
+ api_request(uri, 'GET', params)
700
819
  end
701
820
  end