japan_net_bank 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +57 -9
- data/japan_net_bank.gemspec +1 -0
- data/lib/japan_net_bank/transfer/csv.rb +5 -1
- data/lib/japan_net_bank/transfer/row.rb +3 -7
- data/lib/japan_net_bank/transfer.rb +106 -22
- data/lib/japan_net_bank/version.rb +1 -1
- data/spec/files/sample_jnb.csv +11 -0
- data/spec/japan_net_bank/transfer/{row_spec.rb → data_row_spec.rb} +0 -0
- data/spec/japan_net_bank/transfer_spec.rb +98 -36
- data/spec/japan_net_bank_spec.rb +10 -2
- data/spec/spec_helper.rb +1 -0
- metadata +20 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7d22972368c9139936b4526f77b0a443b73778c
|
4
|
+
data.tar.gz: 7b9c3e388f6c9895e749b9069003e713c75aea4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21770efe16d422c55a16e49406c09db77be0f314cc2a735cc54a34dfe54dc8e3addd41804dbeffba19d202385d5b68fef001517ef539bac2b1c9171ccc9a596a
|
7
|
+
data.tar.gz: 95222b332853af3347b6f536252dff7c43366968ba5b1a765549e60ce48d1e661ddd5ae3086f56619e4e5fe08f13ac5530b29e61419bcf282f4ad379ab455c85
|
data/README.md
CHANGED
@@ -45,7 +45,7 @@ Or install it yourself as:
|
|
45
45
|
|
46
46
|
## Usage
|
47
47
|
|
48
|
-
###
|
48
|
+
### Generate CSV for transfer (1)
|
49
49
|
|
50
50
|
```ruby
|
51
51
|
transfer_data = [
|
@@ -58,26 +58,74 @@ transfer_data = [
|
|
58
58
|
amount: 1600,
|
59
59
|
},
|
60
60
|
{
|
61
|
-
bank_code: '
|
62
|
-
branch_code: '
|
61
|
+
bank_code: '0234',
|
62
|
+
branch_code: '023',
|
63
63
|
account_type: 'ordinary',
|
64
|
-
number: '
|
64
|
+
number: '0234567',
|
65
65
|
name: 'サトウハナコ',
|
66
66
|
amount: 3200,
|
67
67
|
}
|
68
68
|
]
|
69
69
|
|
70
|
-
csv_string = JapanNetBank::Transfer.
|
71
|
-
# or csv_string = JNB::Transfer.
|
70
|
+
csv_string = JapanNetBank::Transfer.from_hash_array(transfer_data).to_csv
|
71
|
+
# or csv_string = JNB::Transfer.from_hash_array(transfer_data).to_csv
|
72
72
|
|
73
|
-
puts csv_string #=> "1,0123,012,1,0123456,サトウキテコ,1600\r\n1,
|
73
|
+
puts csv_string #=> "1,0123,012,1,0123456,サトウキテコ,1600\r\n1,0234,023,1,0234567,サトウハナコ,3200\r\n2,,,,,2,4800\r\n"
|
74
74
|
```
|
75
75
|
|
76
|
-
###
|
76
|
+
### Generate CSV for transfer (2)
|
77
|
+
|
78
|
+
```ruby
|
79
|
+
row1 = JapanNetBank::Transfer::Row.new(
|
80
|
+
bank_code: '0123',
|
81
|
+
branch_code: '012',
|
82
|
+
account_type: 'ordinary', # ordinary / checking / savings
|
83
|
+
number: '0123456',
|
84
|
+
name: 'サトウキテコ',
|
85
|
+
amount: 1600,
|
86
|
+
)
|
87
|
+
|
88
|
+
row2 = JapanNetBank::Transfer::Row.new(
|
89
|
+
bank_code: '0234',
|
90
|
+
branch_code: '023',
|
91
|
+
account_type: 'ordinary',
|
92
|
+
number: '0234567',
|
93
|
+
name: 'サトウハナコ',
|
94
|
+
amount: 3200,
|
95
|
+
)
|
96
|
+
|
97
|
+
transfer = JapanNetBank::Transfer.generate do |t|
|
98
|
+
t << row1
|
99
|
+
t << row2
|
100
|
+
end
|
101
|
+
|
102
|
+
puts transfer.to_csv #=> "1,0123,012,1,0123456,サトウキテコ,1600\r\n1,0234,023,1,0234567,サトウハナコ,3200\r\n2,,,,,2,4800\r\n"
|
103
|
+
```
|
104
|
+
|
105
|
+
### Parse CSV for transfer
|
106
|
+
|
107
|
+
```ruby
|
108
|
+
puts csv_string #=> "1,0123,012,1,0123456,サトウキテコ,1600\r\n1,0234,023,1,0234567,サトウハナコ,3200\r\n2,,,,,2,4800\r\n"
|
109
|
+
|
110
|
+
transfer = JapanNetBank::Transfer.parse_csv(csv_string)
|
111
|
+
# or transfer = JNB::Transfer.parse_csv(csv_string)
|
112
|
+
|
113
|
+
transfer.each do |row|
|
114
|
+
puts row.record_type #=> "1"
|
115
|
+
puts row.bank_code #=> "0123"
|
116
|
+
puts row.branch_code #=> "012"
|
117
|
+
puts row.account_type #=> "ordinary" # ordinary / checking / savings
|
118
|
+
puts row.number #=> "0123456"
|
119
|
+
puts row.name #=> "サトウキテコ"
|
120
|
+
puts row.amount #=> 1600
|
121
|
+
end
|
122
|
+
```
|
123
|
+
|
124
|
+
### Transfer fee
|
77
125
|
|
78
126
|
```ruby
|
79
127
|
transfer_fee = JapanNetBank::Transfer.fee_for(bank_code: '0123', amount: 30_000)
|
80
|
-
# or JNB::Transfer.fee_for(bank_code: '0123', amount: 30_000)
|
128
|
+
# or transfer_fee = JNB::Transfer.fee_for(bank_code: '0123', amount: 30_000)
|
81
129
|
|
82
130
|
puts transfer_fee #=> 270
|
83
131
|
```
|
data/japan_net_bank.gemspec
CHANGED
@@ -10,18 +10,14 @@ module JapanNetBank
|
|
10
10
|
|
11
11
|
RECORD_TYPE_DATA = '1'
|
12
12
|
RECORD_TYPE_TRAILER = '2'
|
13
|
+
ACCOUNT_TYPES = { '1' => 'ordinary', '2' => 'checking', '4' => 'savings' }
|
13
14
|
|
14
15
|
validates :bank_code, format: { with: /\A\d{4}\z/ }
|
15
16
|
validates :branch_code, format: { with: /\A\d{3}\z/ }
|
16
17
|
validates :account_type, inclusion: { in: %w(ordinary checking savings) }
|
17
18
|
validates :number, format: { with: /\A\d{7}\z/ }
|
18
19
|
validates :name, presence: true
|
19
|
-
|
20
|
-
validates :amount,
|
21
|
-
numericality: {
|
22
|
-
only_integer: true,
|
23
|
-
greater_than_or_equal_to: 1
|
24
|
-
}
|
20
|
+
validates :amount, numericality: { only_integer: true, greater_than_or_equal_to: 1 }
|
25
21
|
|
26
22
|
def initialize(record_type: RECORD_TYPE_DATA, bank_code: nil, branch_code: nil, account_type: nil, number: nil, name: nil, amount: nil)
|
27
23
|
@record_type = record_type
|
@@ -30,7 +26,7 @@ module JapanNetBank
|
|
30
26
|
@account_type = account_type
|
31
27
|
@number = number
|
32
28
|
@name = name
|
33
|
-
@amount = amount
|
29
|
+
@amount = amount.to_i
|
34
30
|
|
35
31
|
raise ArgumentError, errors.full_messages unless valid?
|
36
32
|
end
|
@@ -1,63 +1,147 @@
|
|
1
1
|
require 'japan_net_bank/transfer/row'
|
2
2
|
require 'japan_net_bank/transfer/csv'
|
3
|
+
require 'nkf'
|
3
4
|
|
4
5
|
module JapanNetBank
|
5
6
|
class Transfer
|
6
|
-
|
7
|
+
include Enumerable
|
8
|
+
|
9
|
+
#
|
10
|
+
# == row_hash, row_array, row の違い
|
11
|
+
#
|
12
|
+
# row_hash = {
|
13
|
+
# bank_code: '0123',
|
14
|
+
# branch_code: '012',
|
15
|
+
# account_type: 'ordinary',
|
16
|
+
# number: '0123456',
|
17
|
+
# name: 'サトウキテコ',
|
18
|
+
# amount: 1600,
|
19
|
+
# }
|
20
|
+
#
|
21
|
+
# row_array: ['1', '0123', '012', '1', '0123456', 'サトウキテコ', '1600']
|
22
|
+
#
|
23
|
+
# row:
|
24
|
+
# JapanNetBank::Transfer::DataRow オブジェクト or
|
25
|
+
# JapanNetBank::Transfer::TrailerRow オブジェクト
|
26
|
+
#
|
7
27
|
|
8
28
|
FEE_TO_JAPAN_NET_BANK = 54
|
9
29
|
FEE_FOR_AMOUNT_UNDER_30_000 = 172
|
10
30
|
FEE_FOR_AMOUNT_AND_OVER_30_000 = 270
|
11
31
|
|
12
|
-
|
13
|
-
|
32
|
+
class << self
|
33
|
+
def from_hash_array(row_hashes)
|
34
|
+
transfer = self.new
|
35
|
+
transfer.append_row_hashes(row_hashes)
|
36
|
+
|
37
|
+
transfer
|
38
|
+
end
|
39
|
+
|
40
|
+
def generate
|
41
|
+
transfer = self.new
|
42
|
+
yield(transfer)
|
14
43
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
44
|
+
transfer
|
45
|
+
end
|
46
|
+
|
47
|
+
def parse_csv(csv_string)
|
48
|
+
transfer = self.new
|
49
|
+
row_arrays = JapanNetBank::Transfer::CSV.parse(encode_to_utf8(csv_string))
|
50
|
+
data_row_arrays = select_data_row_arrays(row_arrays)
|
51
|
+
|
52
|
+
transfer.append_row_arrays(data_row_arrays)
|
53
|
+
|
54
|
+
transfer
|
55
|
+
end
|
56
|
+
|
57
|
+
def fee_for(bank_code: nil, amount: nil)
|
58
|
+
raise ArgumentError if bank_code.nil? || amount.nil?
|
59
|
+
|
60
|
+
if bank_code == JapanNetBank::BANK_CODE
|
61
|
+
FEE_TO_JAPAN_NET_BANK
|
62
|
+
elsif amount < 30_000
|
63
|
+
FEE_FOR_AMOUNT_UNDER_30_000
|
64
|
+
elsif amount >= 30_000
|
65
|
+
FEE_FOR_AMOUNT_AND_OVER_30_000
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
private
|
70
|
+
|
71
|
+
def select_data_row_arrays(row_arrays)
|
72
|
+
row_arrays.select { |row_array| row_array[0] == JapanNetBank::Transfer::Row::RECORD_TYPE_DATA }
|
73
|
+
end
|
74
|
+
|
75
|
+
def encode_to_utf8(string)
|
76
|
+
# 単純に下記だと、"カ)" の部分が落ちてしまうため
|
77
|
+
# NKF.nkf('-w -X', string)
|
78
|
+
|
79
|
+
NKF.nkf('-w -X', string.encode('UTF-8', NKF.guess(string).to_s))
|
21
80
|
end
|
22
81
|
end
|
23
82
|
|
24
|
-
|
83
|
+
attr_reader :rows_count, :total_amount, :rows
|
84
|
+
|
85
|
+
def initialize
|
25
86
|
@rows = []
|
26
87
|
@rows_count = 0
|
27
88
|
@total_amount = 0
|
89
|
+
end
|
28
90
|
|
29
|
-
|
30
|
-
|
91
|
+
def append_row_hashes(row_hashes)
|
92
|
+
row_hashes.each do |row_hash|
|
93
|
+
append_row(JapanNetBank::Transfer::Row.new(row_hash))
|
31
94
|
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def append_row_arrays(row_arrays)
|
98
|
+
row_arrays.each do |row_array|
|
99
|
+
append_row(JapanNetBank::Transfer::Row.new(row_array_to_hash(row_array)))
|
100
|
+
end
|
101
|
+
end
|
32
102
|
|
33
|
-
|
103
|
+
def <<(row)
|
104
|
+
append_row(row)
|
34
105
|
end
|
35
106
|
|
36
107
|
def to_csv
|
37
|
-
|
108
|
+
JapanNetBank::Transfer::CSV.generate do |csv|
|
38
109
|
@rows.each do |row|
|
39
|
-
csv << row
|
110
|
+
csv << row.to_a
|
40
111
|
end
|
112
|
+
|
113
|
+
csv << trailer_row if @rows_count > 0
|
41
114
|
end
|
115
|
+
end
|
42
116
|
|
43
|
-
|
117
|
+
def each
|
118
|
+
@rows.each do |row|
|
119
|
+
yield row
|
120
|
+
end
|
44
121
|
end
|
45
122
|
|
46
123
|
private
|
47
124
|
|
48
125
|
def append_row(row)
|
49
|
-
@rows <<
|
126
|
+
@rows << row
|
50
127
|
@rows_count += 1
|
51
|
-
@total_amount += row
|
128
|
+
@total_amount += row.amount
|
52
129
|
end
|
53
130
|
|
54
|
-
def
|
55
|
-
|
56
|
-
|
131
|
+
def row_array_to_hash(row_array)
|
132
|
+
{
|
133
|
+
record_type: row_array[0],
|
134
|
+
bank_code: sprintf('%04d', row_array[1]),
|
135
|
+
branch_code: sprintf('%03d', row_array[2]),
|
136
|
+
account_type: JapanNetBank::Transfer::Row::ACCOUNT_TYPES[row_array[3]],
|
137
|
+
number: sprintf('%07d', row_array[4]),
|
138
|
+
name: row_array[5],
|
139
|
+
amount: row_array[6],
|
140
|
+
}
|
57
141
|
end
|
58
142
|
|
59
143
|
def trailer_row
|
60
|
-
[Row::RECORD_TYPE_TRAILER, nil, nil, nil, nil, @rows_count, @total_amount]
|
144
|
+
[JapanNetBank::Transfer::Row::RECORD_TYPE_TRAILER, nil, nil, nil, nil, @rows_count, @total_amount]
|
61
145
|
end
|
62
146
|
end
|
63
147
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
1,33,1,1,1111111,�)��ݼֳ��,1000,�������۳
|
2
|
+
1,33,1,1,2222222,�)���ļֳ��,1000,�������۳
|
3
|
+
1,33,1,1,3333333,��ݺ���ֳ(�,1000,�������۳
|
4
|
+
1,33,1,1,4444444,����ֳ��(�,1000,�������۳
|
5
|
+
1,33,1,1,5555555,�ij�ź,1000,�������۳
|
6
|
+
1,33,1,1,6666666,�ij�۳,1000,�������۳
|
7
|
+
1,33,1,1,7777777,�)���ٷֳ��,1000,�������۳
|
8
|
+
1,33,1,1,8888888,�-.��-�i�,1000,�������۳
|
9
|
+
1,33,1,1,9999999,����(�)��ݼ�Ѽ�,1000,�������۳
|
10
|
+
1,33,1,1,1234567,����ݸ���(�,1000,�������۳
|
11
|
+
2,,,,,10,10000,
|
File without changes
|
@@ -24,8 +24,84 @@ describe JapanNetBank::Transfer do
|
|
24
24
|
}
|
25
25
|
}
|
26
26
|
|
27
|
-
let(:
|
28
|
-
let(:transfer) { JapanNetBank::Transfer.
|
27
|
+
let(:row_hashes) { [row_hash1, row_hash2] }
|
28
|
+
let(:transfer) { JapanNetBank::Transfer.from_hash_array(row_hashes) }
|
29
|
+
let(:transfer_data) { File.read('spec/files/sample_jnb.csv') } # Shift_JIS
|
30
|
+
|
31
|
+
describe 'self.from_hash_array' do
|
32
|
+
context '正しい振込データが渡されたとき' do
|
33
|
+
it 'データ行が追加されたデータを生成できる' do
|
34
|
+
data_row1 = transfer.rows.first
|
35
|
+
|
36
|
+
expect(data_row1.bank_code).to eq '0123'
|
37
|
+
expect(data_row1.branch_code).to eq '012'
|
38
|
+
expect(data_row1.account_type).to eq 'ordinary'
|
39
|
+
expect(data_row1.number).to eq '0123456'
|
40
|
+
expect(data_row1.name).to eq 'サトウキテコ'
|
41
|
+
expect(data_row1.amount).to eq 1600
|
42
|
+
|
43
|
+
expect(transfer.rows_count).to eq 2
|
44
|
+
expect(transfer.total_amount).to eq 4800
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'フォーマットの誤った振込データが渡されたとき' do
|
49
|
+
let(:invalid_row_hash) {
|
50
|
+
{
|
51
|
+
bank_code: '012',
|
52
|
+
branch_code: '01',
|
53
|
+
account_type: 'invalid',
|
54
|
+
number: '012345',
|
55
|
+
# name: を削除している
|
56
|
+
amount: 1.5,
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
it 'ArgumentError が発生する' do
|
61
|
+
expect {
|
62
|
+
JapanNetBank::Transfer.from_hash_array([invalid_row_hash])
|
63
|
+
}.to raise_error(ArgumentError)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe 'self.generate' do
|
69
|
+
let(:row1) { JapanNetBank::Transfer::Row.new(row_hash1) }
|
70
|
+
let(:row2) { JapanNetBank::Transfer::Row.new(row_hash2) }
|
71
|
+
|
72
|
+
it 'Transfer#rows に Row オブジェクトが追加される' do
|
73
|
+
transfer = JapanNetBank::Transfer.generate do |t|
|
74
|
+
t << row1
|
75
|
+
t << row2
|
76
|
+
end
|
77
|
+
|
78
|
+
data_row1 = transfer.rows.first
|
79
|
+
|
80
|
+
expect(data_row1.bank_code).to eq '0123'
|
81
|
+
expect(data_row1.branch_code).to eq '012'
|
82
|
+
expect(data_row1.account_type).to eq 'ordinary'
|
83
|
+
expect(data_row1.number).to eq '0123456'
|
84
|
+
expect(data_row1.name).to eq 'サトウキテコ'
|
85
|
+
expect(data_row1.amount).to eq 1600
|
86
|
+
|
87
|
+
expect(transfer.rows_count).to eq 2
|
88
|
+
expect(transfer.total_amount).to eq 4800
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe 'self.parse_csv' do
|
93
|
+
it 'CSV データを読み込むことができる' do
|
94
|
+
row1 = JapanNetBank::Transfer.parse_csv(transfer_data).rows.first
|
95
|
+
|
96
|
+
expect(row1.record_type).to eq '1'
|
97
|
+
expect(row1.bank_code).to eq '0033'
|
98
|
+
expect(row1.branch_code).to eq '001'
|
99
|
+
expect(row1.account_type).to eq 'ordinary'
|
100
|
+
expect(row1.number).to eq '1111111'
|
101
|
+
expect(row1.name).to eq 'カ)ニホンシヨウジ'
|
102
|
+
expect(row1.amount).to eq 1000
|
103
|
+
end
|
104
|
+
end
|
29
105
|
|
30
106
|
describe 'self.fee_for' do
|
31
107
|
context 'ジャパンネット銀行への振込のとき' do
|
@@ -52,37 +128,19 @@ describe JapanNetBank::Transfer do
|
|
52
128
|
end
|
53
129
|
end
|
54
130
|
|
55
|
-
describe '
|
56
|
-
context '
|
57
|
-
it '
|
58
|
-
|
59
|
-
row2 = JapanNetBank::Transfer::Row.new(row_hash2).to_a
|
60
|
-
|
61
|
-
trailer_row = [
|
62
|
-
JapanNetBank::Transfer::Row::RECORD_TYPE_TRAILER,
|
63
|
-
nil, nil, nil, nil, 2, 4800
|
64
|
-
]
|
65
|
-
|
66
|
-
expect(transfer.rows).to eq [row1, row2, trailer_row]
|
131
|
+
describe 'self.encode_to_utf8' do
|
132
|
+
context 'Shift_JIS の文字列を渡したとき' do
|
133
|
+
it 'UTF-8 の文字列を取得できる(全角カタカナ)' do
|
134
|
+
expect(JapanNetBank::Transfer.send(:encode_to_utf8, transfer_data)).to match 'カ\)ニホンシヨウジ'
|
67
135
|
end
|
68
136
|
end
|
69
137
|
|
70
|
-
context '
|
71
|
-
let(:
|
72
|
-
{
|
73
|
-
bank_code: '012',
|
74
|
-
branch_code: '01',
|
75
|
-
account_type: 'invalid',
|
76
|
-
number: '012345',
|
77
|
-
# name: を削除している
|
78
|
-
amount: 1.5,
|
79
|
-
}
|
80
|
-
}
|
138
|
+
context '既に UTF-8 に変換した文字列を渡したとき' do
|
139
|
+
let(:utf8_string) { transfer_data.encode('UTF-8', 'Shift_JIS') }
|
81
140
|
|
82
|
-
it '
|
83
|
-
expect
|
84
|
-
|
85
|
-
}.to raise_error(ArgumentError)
|
141
|
+
it 'UTF-8 の文字列を取得できる(全角カタカナ)' do
|
142
|
+
expect(utf8_string).to match /カ\)ニホンシヨウジ/
|
143
|
+
expect(JapanNetBank::Transfer.send(:encode_to_utf8, utf8_string)).to match 'カ\)ニホンシヨウジ'
|
86
144
|
end
|
87
145
|
end
|
88
146
|
end
|
@@ -101,15 +159,19 @@ describe JapanNetBank::Transfer do
|
|
101
159
|
|
102
160
|
describe '#to_csv' do
|
103
161
|
it 'CSV 文字列を取得できる' do
|
104
|
-
|
105
|
-
|
162
|
+
row_array1 = JapanNetBank::Transfer::Row.new(row_hash1).to_a.join(',')
|
163
|
+
row_array2 = JapanNetBank::Transfer::Row.new(row_hash2).to_a.join(',')
|
164
|
+
trailer_row_array = [JapanNetBank::Transfer::Row::RECORD_TYPE_TRAILER, nil, nil, nil, nil, 2, 4800].join(',')
|
106
165
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
].join(',')
|
166
|
+
expect(transfer.to_csv).to eq row_array1 + "\r\n" + row_array2 + "\r\n" + trailer_row_array + "\r\n"
|
167
|
+
end
|
168
|
+
end
|
111
169
|
|
112
|
-
|
170
|
+
describe '#each' do
|
171
|
+
it 'rows を走査できる' do
|
172
|
+
JapanNetBank::Transfer.parse_csv(transfer_data).each do |row|
|
173
|
+
expect(row.class).to eq JapanNetBank::Transfer::Row
|
174
|
+
end
|
113
175
|
end
|
114
176
|
end
|
115
177
|
end
|
data/spec/japan_net_bank_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe JapanNetBank do
|
|
6
6
|
end
|
7
7
|
|
8
8
|
it 'JNB でもアクセスできる' do
|
9
|
-
|
9
|
+
row_hashes = [
|
10
10
|
{
|
11
11
|
bank_code: '0123',
|
12
12
|
branch_code: '012',
|
@@ -14,11 +14,19 @@ describe JapanNetBank do
|
|
14
14
|
number: '0123456',
|
15
15
|
name: 'サトウキテコ',
|
16
16
|
amount: 1600,
|
17
|
+
},
|
18
|
+
{
|
19
|
+
bank_code: '0123',
|
20
|
+
branch_code: '012',
|
21
|
+
account_type: 'ordinary',
|
22
|
+
number: '0999999',
|
23
|
+
name: 'サトウハナコ',
|
24
|
+
amount: 3200,
|
17
25
|
}
|
18
26
|
]
|
19
27
|
|
20
28
|
expect {
|
21
|
-
JNB::Transfer.
|
29
|
+
JNB::Transfer.from_hash_array(row_hashes).to_csv
|
22
30
|
}.not_to raise_error
|
23
31
|
end
|
24
32
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: japan_net_bank
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- INOUE Takuya
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
description: The best way to generate Japan Net Bank CSV to transfer.
|
70
84
|
email:
|
71
85
|
- inouetakuya5@gmail.com
|
@@ -86,7 +100,8 @@ files:
|
|
86
100
|
- lib/japan_net_bank/transfer/csv.rb
|
87
101
|
- lib/japan_net_bank/transfer/row.rb
|
88
102
|
- lib/japan_net_bank/version.rb
|
89
|
-
- spec/
|
103
|
+
- spec/files/sample_jnb.csv
|
104
|
+
- spec/japan_net_bank/transfer/data_row_spec.rb
|
90
105
|
- spec/japan_net_bank/transfer_spec.rb
|
91
106
|
- spec/japan_net_bank_spec.rb
|
92
107
|
- spec/spec_helper.rb
|
@@ -116,7 +131,8 @@ signing_key:
|
|
116
131
|
specification_version: 4
|
117
132
|
summary: A toolkit for generating Japan Net Bank CSV to transfer.
|
118
133
|
test_files:
|
119
|
-
- spec/
|
134
|
+
- spec/files/sample_jnb.csv
|
135
|
+
- spec/japan_net_bank/transfer/data_row_spec.rb
|
120
136
|
- spec/japan_net_bank/transfer_spec.rb
|
121
137
|
- spec/japan_net_bank_spec.rb
|
122
138
|
- spec/spec_helper.rb
|