tsubaiso-sdk 1.2.5 → 1.2.6

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
  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