japan_net_bank 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/workflows/testing.yml +18 -0
- data/japan_net_bank.gemspec +1 -1
- data/lib/japan_net_bank/transfer.rb +2 -2
- data/lib/japan_net_bank/transfer/csv.rb +3 -3
- data/lib/japan_net_bank/transfer/row.rb +10 -8
- data/lib/japan_net_bank/version.rb +1 -1
- data/spec/japan_net_bank/transfer_spec.rb +50 -2
- metadata +8 -10
- data/.travis.yml +0 -3
- data/wercker.yml +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d0770dc9e2afa8e4654c0c742dc05e38af018f53d0cd9af2bcee36bc7ba08932
|
4
|
+
data.tar.gz: d89409cf9243ff092e3326d54cfafebf3e75bb1b8e500104ad0f13aaa922d302
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 429a566832224066df5b8143e67448e4b04ab452db1234ef5d181424d13dbf457aadb7275ba62b30dc7f2b5aae0fcf14ff2734c87ef28ec1b65c951ffc88895d
|
7
|
+
data.tar.gz: ffa3b3f730940902c483eff3a5ab94f7e6241eb9357fc57620038e2827d8e762f7f54df8a265a3e73e337f7a61762af17a13765598048e92150e9d47c729865c
|
@@ -0,0 +1,18 @@
|
|
1
|
+
name: Testing
|
2
|
+
on:
|
3
|
+
- push
|
4
|
+
jobs:
|
5
|
+
rspec:
|
6
|
+
runs-on: ubuntu-latest
|
7
|
+
strategy:
|
8
|
+
matrix:
|
9
|
+
ruby: ['2.6', '2.7']
|
10
|
+
name: Rspec with Ruby ${{ matrix.ruby }}
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v2
|
13
|
+
- uses: actions/setup-ruby@v1
|
14
|
+
with:
|
15
|
+
ruby-version: ${{ matrix.ruby }}
|
16
|
+
- run: |
|
17
|
+
bundle install --path vendor/bundle --quiet --jobs 4 --retry 3
|
18
|
+
bundle exec rspec
|
data/japan_net_bank.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_runtime_dependency "activemodel"
|
22
|
-
spec.add_development_dependency "bundler"
|
22
|
+
spec.add_development_dependency "bundler"
|
23
23
|
spec.add_development_dependency "rake"
|
24
24
|
spec.add_development_dependency "rspec"
|
25
25
|
spec.add_development_dependency "pry"
|
@@ -104,10 +104,10 @@ module JapanNetBank
|
|
104
104
|
append_row(row)
|
105
105
|
end
|
106
106
|
|
107
|
-
def to_csv
|
107
|
+
def to_csv(opts = {})
|
108
108
|
JapanNetBank::Transfer::CSV.generate do |csv|
|
109
109
|
@rows.each do |row|
|
110
|
-
csv << row.to_a
|
110
|
+
csv << row.to_a(**opts)
|
111
111
|
end
|
112
112
|
|
113
113
|
csv << trailer_row if @rows_count > 0
|
@@ -4,9 +4,9 @@ module JapanNetBank
|
|
4
4
|
class Transfer
|
5
5
|
class CSV
|
6
6
|
def self.generate
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
::CSV.generate(row_sep: "\r\n", encoding: Encoding::Shift_JIS) do |csv|
|
8
|
+
yield(csv)
|
9
|
+
end
|
10
10
|
end
|
11
11
|
|
12
12
|
def self.parse(csv_string)
|
@@ -31,15 +31,17 @@ module JapanNetBank
|
|
31
31
|
raise ArgumentError, errors.full_messages unless valid?
|
32
32
|
end
|
33
33
|
|
34
|
-
def to_a
|
34
|
+
def to_a(name_length_limit: 48)
|
35
|
+
name = convert_to_hankaku_katakana(@name).slice(0, name_length_limit)
|
36
|
+
|
35
37
|
[
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
38
|
+
@record_type,
|
39
|
+
@bank_code,
|
40
|
+
@branch_code,
|
41
|
+
account_type_code,
|
42
|
+
@number,
|
43
|
+
name.encode('Shift_JIS'),
|
44
|
+
@amount.to_s,
|
43
45
|
]
|
44
46
|
end
|
45
47
|
|
@@ -158,12 +158,60 @@ describe JapanNetBank::Transfer do
|
|
158
158
|
end
|
159
159
|
|
160
160
|
describe '#to_csv' do
|
161
|
-
it 'CSV 文字列を取得できる' do
|
161
|
+
it 'Shift JIS の CSV 文字列を取得できる' do
|
162
162
|
row_array1 = JapanNetBank::Transfer::Row.new(row_hash1).to_a.join(',')
|
163
163
|
row_array2 = JapanNetBank::Transfer::Row.new(row_hash2).to_a.join(',')
|
164
164
|
trailer_row_array = [JapanNetBank::Transfer::Row::RECORD_TYPE_TRAILER, nil, nil, nil, nil, 2, 4800].join(',')
|
165
165
|
|
166
|
-
|
166
|
+
csv = transfer.to_csv
|
167
|
+
|
168
|
+
expect(csv).to eq row_array1 + "\r\n" + row_array2 + "\r\n" + trailer_row_array + "\r\n"
|
169
|
+
expect(csv.encoding).to eq Encoding::Shift_JIS
|
170
|
+
end
|
171
|
+
|
172
|
+
describe 'name_length_limit オプション' do
|
173
|
+
context '指定した場合' do
|
174
|
+
let(:row_hashes) do
|
175
|
+
common = {
|
176
|
+
bank_code: '0123',
|
177
|
+
branch_code: '012',
|
178
|
+
account_type: 'ordinary',
|
179
|
+
number: '0123456',
|
180
|
+
amount: 3200,
|
181
|
+
}
|
182
|
+
|
183
|
+
names = ['サトウハナコ', 'カ)ニホンシヨウジ', 'タブチ']
|
184
|
+
|
185
|
+
names.map {|name| common.merge(name: name) }
|
186
|
+
end
|
187
|
+
|
188
|
+
it '口座名義の長さを制限できる' do
|
189
|
+
csv = transfer.to_csv(name_length_limit: 2)
|
190
|
+
|
191
|
+
expect(csv).to include ',' + 'サト'.encode('Shift_JIS') + ','
|
192
|
+
expect(csv).to include ',' + 'カ)'.encode('Shift_JIS') + ','
|
193
|
+
expect(csv).to include ',' + 'タフ'.encode('Shift_JIS') + ','
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
context '無指定の場合' do
|
198
|
+
let(:row_hashes) do
|
199
|
+
[{
|
200
|
+
bank_code: '0123',
|
201
|
+
branch_code: '012',
|
202
|
+
account_type: 'ordinary',
|
203
|
+
number: '0123456',
|
204
|
+
name: 'ア' * 50,
|
205
|
+
amount: 3200,
|
206
|
+
}]
|
207
|
+
end
|
208
|
+
|
209
|
+
it '48 文字で切る' do
|
210
|
+
csv = transfer.to_csv
|
211
|
+
|
212
|
+
expect(csv).to include ',' + ('ア' * 48).encode('Shift_JIS') + ','
|
213
|
+
end
|
214
|
+
end
|
167
215
|
end
|
168
216
|
end
|
169
217
|
|
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.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- INOUE Takuya
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -87,9 +87,9 @@ executables: []
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
+
- ".github/workflows/testing.yml"
|
90
91
|
- ".gitignore"
|
91
92
|
- ".rspec"
|
92
|
-
- ".travis.yml"
|
93
93
|
- Gemfile
|
94
94
|
- LICENSE.txt
|
95
95
|
- README.md
|
@@ -105,7 +105,6 @@ files:
|
|
105
105
|
- spec/japan_net_bank/transfer_spec.rb
|
106
106
|
- spec/japan_net_bank_spec.rb
|
107
107
|
- spec/spec_helper.rb
|
108
|
-
- wercker.yml
|
109
108
|
homepage: https://github.com/pepabo/japan_net_bank
|
110
109
|
licenses:
|
111
110
|
- MIT
|
@@ -125,8 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
124
|
- !ruby/object:Gem::Version
|
126
125
|
version: '0'
|
127
126
|
requirements: []
|
128
|
-
|
129
|
-
rubygems_version: 2.2.2
|
127
|
+
rubygems_version: 3.0.3
|
130
128
|
signing_key:
|
131
129
|
specification_version: 4
|
132
130
|
summary: A toolkit for generating Japan Net Bank CSV to transfer.
|
data/.travis.yml
DELETED
data/wercker.yml
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
box: wercker/rvm
|
2
|
-
# Build definition
|
3
|
-
build:
|
4
|
-
# The steps that will be executed on build
|
5
|
-
# See the Ruby section on the wercker devcenter:
|
6
|
-
# http://devcenter.wercker.com/articles/languages/ruby.html
|
7
|
-
steps:
|
8
|
-
- rvm-use:
|
9
|
-
version: 2.1.1
|
10
|
-
|
11
|
-
# A step that executes `bundle install` command
|
12
|
-
- bundle-install
|
13
|
-
|
14
|
-
# A custom script step, name value is used in the UI
|
15
|
-
# and the code value contains the command that get executed
|
16
|
-
- script:
|
17
|
-
name: echo ruby information
|
18
|
-
code: |
|
19
|
-
echo "ruby version $(ruby --version) running"
|
20
|
-
echo "from location $(which ruby)"
|
21
|
-
echo -p "gem list: $(gem list)"
|
22
|
-
- script:
|
23
|
-
name: rake spec
|
24
|
-
code: bundle exec rake spec
|
25
|
-
|
26
|
-
after-steps:
|
27
|
-
- 2get/ikachan-notify@0.0.2:
|
28
|
-
url: http://irc.paperboy.co.jp:4979/privmsg
|
29
|
-
channel: "#kiteco"
|
30
|
-
passed-message: "%02[CI]%0f $WERCKER_APPLICATION_NAME: $WERCKER_BUILD_URL build of $WERCKER_GIT_BRANCH %02%0301,03PASSED%0f"
|
31
|
-
failed-message: "%02[CI]%0f $WERCKER_APPLICATION_NAME: $WERCKER_BUILD_URL build of $WERCKER_GIT_BRANCH %02%0301,04FAILED%0f"
|