kirico 0.1.3 → 0.1.4
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 +4 -4
- data/LICENSE.md +7 -0
- data/README.md +203 -18
- data/lib/kirico/validators/charset_validator.rb +2 -0
- data/lib/kirico/validators/sjis_bytesize_validator.rb +1 -1
- data/lib/kirico/version.rb +1 -1
- metadata +3 -3
- data/LICENSE.txt +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c4627b33a39bccf807dad907f29ac1a27759a1e
|
4
|
+
data.tar.gz: 01f7bcbd94b549c5355a399da93563694952c911
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1b217e440827287d6938b778aad6d15d042789323d2a3e33f721dec38ba3316c8bd24a9564c8e5c289afaa0be022dfe7e14e52618ddb6b2ec02b5f457c26c40
|
7
|
+
data.tar.gz: eb0ef8835a41d38e02abadd3a56ed7e6a2f02e34282864f7ec4b9be5a0e6d5733b1f43cd208079d04d5c2730bb703ed08ad8b04e220effc3a3e7daf12b595edb
|
data/LICENSE.md
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
Copyright (c) 2017 Kensuke NAITO and KUFU, Inc.
|
2
|
+
|
3
|
+
以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。
|
4
|
+
|
5
|
+
上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。
|
6
|
+
|
7
|
+
ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。
|
data/README.md
CHANGED
@@ -1,45 +1,230 @@
|
|
1
|
-
<img width="
|
1
|
+
<img width="300" alt="kirico-logo" src="https://cloud.githubusercontent.com/assets/2214179/22500174/267fa8a8-e8a6-11e6-905f-fc79a049afab.png">
|
2
2
|
|
3
|
-
#
|
3
|
+
# kirico
|
4
4
|
|
5
5
|
[](https://circleci.com/gh/kufu/kirico)
|
6
6
|
|
7
|
-
|
7
|
+
A Ruby implementation of 届書作成プログラム
|
8
8
|
|
9
|
-
|
9
|
+
## 理念
|
10
10
|
|
11
|
-
|
11
|
+
2008 年より[電子政府(e-Gov)のウェブサイト](http://www.e-gov.go.jp/shinsei/index.html)上で社会保険・労働保険関連手続きの電子申請の受付が開始されました。
|
12
|
+
2010 年には e-Gov の使い勝手の向上を図り、一括申請機能の提供が開始されました。
|
13
|
+
そして 2014 年 10 月、さらなる利便性の向上を目的に、外部連携 API 仕様が公開されました。
|
12
14
|
|
13
|
-
|
15
|
+
これまで様々な取組が行われてきた一方で、確定申告などで利用される国税の電子申告(e-Tax)と比べるとまだまだ普及度が低いのが実情です。
|
16
|
+
また、一部の電子申請では年金機構の公開する「届書作成プログラム」を利用して CSV ファイルを生成する必要があり、一般利用者、ソフトウェア開発者共に負担となるものでした。
|
17
|
+
|
18
|
+
わたしたちは kirico の開発・公開によって CSV 形式の電子申請への対応を容易にすることで e-Gov 外部連携 API に対応したソフトウェアが増えることを期待します。
|
19
|
+
そして、電子政府の認知度の向上、利用率の向上、及び利用の拡大に貢献し、もってユーザの利便性の向上を目指します。
|
20
|
+
|
21
|
+
|
22
|
+
## インストール
|
23
|
+
|
24
|
+
Gemfile に追記して:
|
14
25
|
|
15
26
|
```ruby
|
16
27
|
gem 'kirico'
|
17
28
|
```
|
18
29
|
|
19
|
-
|
30
|
+
bundle コマンドを実行します:
|
31
|
+
|
32
|
+
```bash
|
33
|
+
$ bundle
|
34
|
+
```
|
35
|
+
|
36
|
+
もしくは、直接インストール:
|
37
|
+
|
38
|
+
```bash
|
39
|
+
$ gem install kirico
|
40
|
+
```
|
41
|
+
|
42
|
+
## 使い方
|
43
|
+
|
44
|
+
|
45
|
+
<img width="500" alt="data structure" src="https://cloud.githubusercontent.com/assets/2214179/23646339/c7f056b6-0353-11e7-9632-b1aeb0ed3458.png">
|
46
|
+
|
47
|
+
_データ構造: 仕様書 p.6-2 より_
|
48
|
+
|
49
|
+
|
50
|
+
**FD 管理レコード**
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
require 'kirico'
|
54
|
+
require 'i18n'
|
55
|
+
I18n.locale = :ja
|
56
|
+
|
57
|
+
# FD 管理レコード
|
58
|
+
fd = Kirico::FDManagementRecord.new do |rec|
|
59
|
+
rec.area_code = '03'
|
60
|
+
rec.office_code = 'キリコ'
|
61
|
+
rec.fd_seq_number = '001'
|
62
|
+
rec.created_at = Date.new(2017, 1, 1)
|
63
|
+
end
|
64
|
+
|
65
|
+
fd.valid? #=> true
|
66
|
+
|
67
|
+
fd.office_code = 'ほげ'
|
68
|
+
fd.valid? #=> false
|
69
|
+
fd.errors #=> 略
|
70
|
+
```
|
71
|
+
|
72
|
+
**事業所情報**
|
73
|
+
|
74
|
+
```ruby
|
75
|
+
require 'kirico'
|
76
|
+
require 'i18n'
|
77
|
+
I18n.locale = :ja
|
78
|
+
|
79
|
+
# 事業所情報
|
80
|
+
company = Kirico::Company.new do |rec|
|
81
|
+
rec.area_code = '03'
|
82
|
+
rec.office_code = 'キリコ'
|
83
|
+
rec.office_number = '1234'
|
84
|
+
rec.zip_code1 = '123'
|
85
|
+
rec.zip_code2 = '4567'
|
86
|
+
rec.address = '東京都世田谷区上馬0-0-0'
|
87
|
+
rec.name = '株式会社印度カレー'
|
88
|
+
rec.owner_name = '内藤 キリコ'
|
89
|
+
rec.tel_number = '03-0000-0000'
|
90
|
+
end
|
91
|
+
|
92
|
+
company.valid? #=> true
|
93
|
+
|
94
|
+
company.name = '株式会社印度咖喱'
|
95
|
+
company.valid? #=> false
|
96
|
+
company.errors #=> 略
|
97
|
+
```
|
98
|
+
|
99
|
+
**データレコード(住所変更届)**
|
100
|
+
|
101
|
+
```ruby
|
102
|
+
# 住所変更届データレコード
|
103
|
+
address_record = Kirico::ChangingAddressRecord.new do |rec|
|
104
|
+
rec.area_code = '03'
|
105
|
+
rec.office_code = 'キリコ'
|
106
|
+
rec.ip_code = '100'
|
107
|
+
rec.basic_pension_number1 = '1234'
|
108
|
+
rec.basic_pension_number2 = '567890'
|
109
|
+
rec.birth_at = Date.new(1984, 7, 23)
|
110
|
+
rec.zip_code1 = '123'
|
111
|
+
rec.zip_code2 = '4567'
|
112
|
+
rec.new_address_yomi = 'トウキョウトシブヤクサクラガオカ'
|
113
|
+
rec.new_address = '東京都渋谷区桜丘'
|
114
|
+
rec.updated_at = Date.new(2017, 3, 7)
|
115
|
+
rec.ip_name_yomi = 'タナカ タロウ'
|
116
|
+
rec.ip_name = '田中 太郎'
|
117
|
+
rec.old_address_yomi = 'トウキョウトオオタクウノキ'
|
118
|
+
rec.old_address = '東京都大田区鵜の木'
|
119
|
+
rec.memo = 'メモメモ'
|
120
|
+
end
|
121
|
+
|
122
|
+
address_record.valid? #=> true
|
123
|
+
|
124
|
+
address_record.ip_name_yomi = 'タナカタロウ'
|
125
|
+
address_record.valid? #=> false
|
126
|
+
address_record.errors #=> 略
|
127
|
+
```
|
128
|
+
|
129
|
+
**CSV 生成用フォーム**
|
130
|
+
|
131
|
+
```ruby
|
132
|
+
|
133
|
+
# FD 管理用レコード
|
134
|
+
fd = Kirico::FDManagementRecord.new do |rec|
|
135
|
+
rec.area_code = '03'
|
136
|
+
# ...
|
137
|
+
end
|
138
|
+
|
139
|
+
company = Kirico::Company.new do |rec|
|
140
|
+
rec.area_code = '03'
|
141
|
+
# ...
|
142
|
+
end
|
143
|
+
|
144
|
+
address_record = Kirico::ChangingAddressRecord.new do |rec|
|
145
|
+
rec.area_code = '03'
|
146
|
+
# ...
|
147
|
+
end
|
148
|
+
|
149
|
+
form = Kirico::Form.new(fd: fd, company: company, records: [address_record])
|
150
|
+
form.valid? #=> true
|
151
|
+
|
152
|
+
# CSV ファイルの生成
|
153
|
+
File.open(Kirico::Form::FILE_NAME, 'w') do |f|
|
154
|
+
f.puts(form.to_csv)
|
155
|
+
end
|
156
|
+
```
|
157
|
+
|
158
|
+
|
159
|
+
## 生成した CSV の検証
|
20
160
|
|
21
|
-
|
161
|
+
日本年金機構の公開している検証プログラムで生成した CSV ファイルを検証することもできます。
|
162
|
+
※動作には Windows 環境が必要となります
|
22
163
|
|
23
|
-
|
164
|
+
<img width="400" alt="kirico-logo" src="https://cloud.githubusercontent.com/assets/2214179/23650706/609ed1e6-0366-11e7-92d9-625354982b9f.png">
|
24
165
|
|
25
|
-
|
166
|
+
検証プログラムのダウンロードはこちらから。
|
167
|
+
[届出システムを自社開発または市販ソフトを使用する場合|日本年金機構](https://www.nenkin.go.jp/denshibenri/setsumei/20150415.html)
|
26
168
|
|
27
|
-
## Usage
|
28
169
|
|
29
|
-
|
170
|
+
## 対応手続き
|
30
171
|
|
31
|
-
|
172
|
+
| データレコード | クラス名 | 実装状況 |
|
173
|
+
| ------ | ------ | ------ |
|
174
|
+
| 資格取得届データレコード | TBD | △ |
|
175
|
+
| 資格喪失届データレコード | TBD | △ |
|
176
|
+
| 住所変更届データレコード | Kirico::ChangingAddressRecord | ◯ |
|
177
|
+
| 算定基礎届データレコード | TBD | △ |
|
178
|
+
| 月額変更届データレコード | TBD | △ |
|
179
|
+
| 賞与支払届データレコード | TBD | △ |
|
180
|
+
| 被扶養者(異動)届データレコード | TBD | △ |
|
181
|
+
| 3号関係届(資格取得)データレコード | TBD | △ |
|
182
|
+
| 3号関係届(資格喪失)データレコード | TBD | △ |
|
183
|
+
| 3号関係届(志望)データレコード | TBD | △ |
|
184
|
+
| 国民年金第3号被保険者<br><br/>被扶養配偶者非該当届データレコード | TBD | △ |
|
32
185
|
|
33
|
-
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
34
186
|
|
35
|
-
|
187
|
+
※実装状況について
|
188
|
+
|
189
|
+
- ◯: 実装、テスト済み
|
190
|
+
- △: 実装予定
|
191
|
+
|
192
|
+
## 参考リンク
|
193
|
+
|
194
|
+
- [届出システムを自社開発または市販ソフトを使用する場合|日本年金機構](https://www.nenkin.go.jp/denshibenri/setsumei/20150415.html)
|
195
|
+
届書作成プログラム仕様について
|
36
196
|
|
37
197
|
## Contributing
|
38
198
|
|
39
|
-
|
199
|
+
1. Fork it ( https://github.com/kufu/kirico/fork )
|
200
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
201
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
202
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
203
|
+
5. Create a new Pull Request
|
204
|
+
|
205
|
+
|
206
|
+
## Copyright
|
207
|
+
|
208
|
+
Copyright (c) 2017 Kensuke NAITO and KUFU, Inc.
|
209
|
+
ライセンスはこちら: [kirico/LICENSE.md](https://github.com/kufu/kirico/blob/master/LICENSE.md)
|
210
|
+
|
211
|
+
|
212
|
+
# KUFU について
|
213
|
+
|
214
|
+

|
215
|
+
|
216
|
+
kirico は株式会社 KUFU によってメンテナンス、開発が行われています。
|
217
|
+
わたしたちは OSS の力を信じています。
|
218
|
+
|
219
|
+
KUFU では OSS 活動に積極的なエンジニアを募集しています!
|
40
220
|
|
221
|
+
[「雇用」×「国のAPI」をハックする Ruby エンジニア募集!](https://www.wantedly.com/projects/3788)
|
41
222
|
|
42
|
-
## License
|
43
223
|
|
44
|
-
|
224
|
+
# kirico について
|
45
225
|
|
226
|
+
切子(kirico)とは江戸時代末期より生産されている伝統的なガラス細工です。
|
227
|
+
中でも薩摩切子は薩摩藩御用達の工芸品であり、多くの大名に珍重されてきました。
|
228
|
+
色付きの厚いガラスを被せ文様を彫るため、薄く繊細な江戸切子と比較すると、重厚な印象が特徴的です。
|
229
|
+
幕末の動乱の中で生産設備に壊滅的な被害を受け、その技術は一時途絶えていましたが、
|
230
|
+
近年、各地の職人の努力により復刻に成功しました。
|
@@ -68,6 +68,8 @@ module Kirico
|
|
68
68
|
# value.blank? はタブ文字等の場合でも true となるため注意
|
69
69
|
return error_chars if value.nil? || value.empty?
|
70
70
|
|
71
|
+
# e-Gov では U+FF0D (FULLWIDTH HYPHEN-MINUS) を許容しているようだ
|
72
|
+
# -> Shift_JIS ではなく CP932 が適当
|
71
73
|
match = regex(options[:accept]).match(value.encode('CP932'))
|
72
74
|
return error_chars if match.nil?
|
73
75
|
|
@@ -48,7 +48,7 @@ module Kirico
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def validate_each(record, attribute, value = '')
|
51
|
-
value_length = value.to_s.encode('
|
51
|
+
value_length = value.to_s.encode('CP932', undef: :replace).bytesize
|
52
52
|
|
53
53
|
errors_options = options.except(*RESERVED_OPTIONS)
|
54
54
|
|
data/lib/kirico/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kirico
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kakipo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -248,7 +248,7 @@ files:
|
|
248
248
|
- ".ruby-version"
|
249
249
|
- Gemfile
|
250
250
|
- Guardfile
|
251
|
-
- LICENSE.
|
251
|
+
- LICENSE.md
|
252
252
|
- README.md
|
253
253
|
- Rakefile
|
254
254
|
- bin/console
|
data/LICENSE.txt
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2016 kakipo
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|