kirico 0.1.0
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 +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/.rubocop.yml +41 -0
- data/.rubocop_todo.yml +47 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/Guardfile +15 -0
- data/LICENSE.txt +21 -0
- data/README.md +45 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/circle.yml +7 -0
- data/kirico.gemspec +48 -0
- data/lib/kirico.rb +15 -0
- data/lib/kirico/config/locales/en.yml +12 -0
- data/lib/kirico/config/locales/ja.yml +59 -0
- data/lib/kirico/csv_generator.rb +29 -0
- data/lib/kirico/models/changing_address_record.rb +79 -0
- data/lib/kirico/models/company.rb +48 -0
- data/lib/kirico/models/company_count.rb +18 -0
- data/lib/kirico/models/company_identifier.rb +14 -0
- data/lib/kirico/models/data_identifier.rb +14 -0
- data/lib/kirico/models/fd_management_record.rb +39 -0
- data/lib/kirico/models/helper.rb +84 -0
- data/lib/kirico/models/mappers.yml +16 -0
- data/lib/kirico/validators/charset_validator.rb +91 -0
- data/lib/kirico/validators/sjis_bytesize_validator.rb +77 -0
- data/lib/kirico/version.rb +4 -0
- metadata +284 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 11278a08f4962c88c18f859a5cf9daddc36aab19
|
4
|
+
data.tar.gz: 84a22bef5d2bd17da7e46795fae2519fe9202426
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9a62c56c52fe852eb286108e56b7b7243e973381f0313bbf51a74457e649c7f214023cfb3e1d025ba84ba623ab4984599a7802fd5c292685e91a3a6d24ca45a7
|
7
|
+
data.tar.gz: dc24d98d2e5e99b4fe6b93518139c7e760b8793505e9875cff5f29b7458d10f652d215d70aee9f1ed62b259c31e57df05c4067a58037a70da70e2f41e4865dce
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
inherit_from: '.rubocop_todo.yml'
|
2
|
+
|
3
|
+
Style/AsciiComments:
|
4
|
+
Enabled: false
|
5
|
+
|
6
|
+
Style/BlockDelimiters:
|
7
|
+
Enabled: false
|
8
|
+
|
9
|
+
Style/Documentation:
|
10
|
+
Enabled: false
|
11
|
+
|
12
|
+
Style/DoubleNegation:
|
13
|
+
Enabled: false
|
14
|
+
|
15
|
+
Style/FrozenStringLiteralComment:
|
16
|
+
Enabled: true
|
17
|
+
|
18
|
+
Style/MutableConstant:
|
19
|
+
Enabled: false
|
20
|
+
|
21
|
+
Metrics/AbcSize:
|
22
|
+
Max: 50
|
23
|
+
|
24
|
+
Metrics/BlockLength:
|
25
|
+
Enabled: false
|
26
|
+
|
27
|
+
Metrics/ClassLength:
|
28
|
+
Max: 200
|
29
|
+
|
30
|
+
Metrics/CyclomaticComplexity:
|
31
|
+
Exclude:
|
32
|
+
- lib/kirico/csv_generator.rb
|
33
|
+
- lib/kirico/validators/sjis_bytesize_validator.rb
|
34
|
+
|
35
|
+
Metrics/LineLength:
|
36
|
+
Max: 200
|
37
|
+
Exclude:
|
38
|
+
- 'kirico.gemspec'
|
39
|
+
|
40
|
+
Metrics/MethodLength:
|
41
|
+
Max: 30
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2016-12-23 20:27:11 +0900 using RuboCop version 0.46.0.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
Style/Documentation:
|
10
|
+
Exclude:
|
11
|
+
- 'spec/**/*'
|
12
|
+
- 'test/**/*'
|
13
|
+
- 'lib/kirico.rb'
|
14
|
+
|
15
|
+
# Offense count: 9
|
16
|
+
# Cop supports --auto-correct.
|
17
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
18
|
+
# SupportedStyles: when_needed, always
|
19
|
+
Style/FrozenStringLiteralComment:
|
20
|
+
Exclude:
|
21
|
+
- 'Gemfile'
|
22
|
+
- 'Guardfile'
|
23
|
+
- 'Rakefile'
|
24
|
+
- 'bin/console'
|
25
|
+
- 'kirico.gemspec'
|
26
|
+
|
27
|
+
# Offense count: 1
|
28
|
+
# Configuration parameters: MinBodyLength.
|
29
|
+
Style/GuardClause:
|
30
|
+
Exclude:
|
31
|
+
- 'kirico.gemspec'
|
32
|
+
|
33
|
+
# Offense count: 1
|
34
|
+
# Cop supports --auto-correct.
|
35
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
36
|
+
# SupportedStyles: only_raise, only_fail, semantic
|
37
|
+
Style/SignalException:
|
38
|
+
Exclude:
|
39
|
+
- 'kirico.gemspec'
|
40
|
+
|
41
|
+
# Offense count: 1
|
42
|
+
# Cop supports --auto-correct.
|
43
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, ConsistentQuotesInMultiline.
|
44
|
+
# SupportedStyles: single_quotes, double_quotes
|
45
|
+
Style/StringLiterals:
|
46
|
+
Exclude:
|
47
|
+
- 'kirico.gemspec'
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.3.1
|
data/Gemfile
ADDED
data/Guardfile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
guard :rspec, cmd: 'bundle exec rspec', failed_mode: :focus do
|
2
|
+
watch(%r{^spec/.+_spec\.rb$})
|
3
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
4
|
+
watch(%r{^spec/factories/(.+)\.rb$}) { |m| "spec/kirico/models/#{m[1]}_spec.rb" }
|
5
|
+
watch('spec/spec_helper.rb') { 'spec' }
|
6
|
+
end
|
7
|
+
|
8
|
+
guard :bundler do
|
9
|
+
watch('Gemfile')
|
10
|
+
watch(/^.+\.gemspec/)
|
11
|
+
end
|
12
|
+
|
13
|
+
guard :rubocop, all_on_start: true, cli: ['-D', '--format', 'clang'] do
|
14
|
+
watch(/.+\.rb$/)
|
15
|
+
end
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
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.
|
data/README.md
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
<img width="446" alt="kirico-logo" src="https://cloud.githubusercontent.com/assets/2214179/22500174/267fa8a8-e8a6-11e6-905f-fc79a049afab.png">
|
2
|
+
|
3
|
+
# Kirico
|
4
|
+
|
5
|
+
[](https://circleci.com/gh/kufu/kirico)
|
6
|
+
|
7
|
+
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/kirico`. To experiment with that code, run `bin/console` for an interactive prompt.
|
8
|
+
|
9
|
+
TODO: Delete this and the text above, and describe your gem
|
10
|
+
|
11
|
+
## Installation
|
12
|
+
|
13
|
+
Add this line to your application's Gemfile:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
gem 'kirico'
|
17
|
+
```
|
18
|
+
|
19
|
+
And then execute:
|
20
|
+
|
21
|
+
$ bundle
|
22
|
+
|
23
|
+
Or install it yourself as:
|
24
|
+
|
25
|
+
$ gem install kirico
|
26
|
+
|
27
|
+
## Usage
|
28
|
+
|
29
|
+
TODO: Write usage instructions here
|
30
|
+
|
31
|
+
## Development
|
32
|
+
|
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
|
+
|
35
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
36
|
+
|
37
|
+
## Contributing
|
38
|
+
|
39
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/kirico.
|
40
|
+
|
41
|
+
|
42
|
+
## License
|
43
|
+
|
44
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
45
|
+
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'kirico'
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require 'irb'
|
14
|
+
IRB.start
|
data/bin/setup
ADDED
data/circle.yml
ADDED
data/kirico.gemspec
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'kirico/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'kirico'
|
8
|
+
spec.version = Kirico::VERSION
|
9
|
+
spec.authors = ['kakipo']
|
10
|
+
spec.email = ['kakipo@gmail.com']
|
11
|
+
|
12
|
+
spec.summary = 'Write a short summary, because Rubygems requires one.'
|
13
|
+
spec.description = 'Write a longer description or delete this line.'
|
14
|
+
spec.homepage = 'https://github.com/kufu/kirico'
|
15
|
+
spec.license = 'MIT'
|
16
|
+
|
17
|
+
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
18
|
+
# delete this section to allow pushing this gem to any host.
|
19
|
+
if spec.respond_to?(:metadata)
|
20
|
+
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
21
|
+
else
|
22
|
+
fail 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
|
23
|
+
end
|
24
|
+
|
25
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
26
|
+
spec.bindir = 'exe'
|
27
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
|
+
spec.require_paths = ['lib']
|
29
|
+
|
30
|
+
spec.required_ruby_version = '>= 2.3.1'
|
31
|
+
|
32
|
+
spec.add_dependency 'activesupport'
|
33
|
+
spec.add_dependency 'activemodel'
|
34
|
+
spec.add_dependency 'era_ja'
|
35
|
+
spec.add_dependency 'validates_timeliness'
|
36
|
+
spec.add_dependency 'virtus'
|
37
|
+
|
38
|
+
spec.add_development_dependency 'bundler', '~> 1.10'
|
39
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
40
|
+
spec.add_development_dependency 'rspec'
|
41
|
+
spec.add_development_dependency 'factory_girl'
|
42
|
+
spec.add_development_dependency 'guard'
|
43
|
+
spec.add_development_dependency 'guard-rspec'
|
44
|
+
spec.add_development_dependency 'guard-bundler'
|
45
|
+
spec.add_development_dependency 'guard-rubocop'
|
46
|
+
spec.add_development_dependency 'pry'
|
47
|
+
spec.add_development_dependency 'pry-byebug'
|
48
|
+
end
|
data/lib/kirico.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'kirico/version'
|
3
|
+
require 'kirico/models/changing_address_record'
|
4
|
+
require 'kirico/models/company_count'
|
5
|
+
require 'kirico/models/company_identifier'
|
6
|
+
require 'kirico/models/company'
|
7
|
+
require 'kirico/models/data_identifier'
|
8
|
+
require 'kirico/models/fd_management_record'
|
9
|
+
require 'kirico/models/helper'
|
10
|
+
require 'kirico/csv_generator'
|
11
|
+
|
12
|
+
module Kirico
|
13
|
+
locale_path = Dir.glob("#{File.dirname(__FILE__)}/kirico/config/locales/*.yml")
|
14
|
+
I18n.load_path += locale_path unless I18n.load_path.include?(locale_path)
|
15
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
en:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
invalid_charset: "has invalid character(s): %{error_chars}"
|
5
|
+
invalid_date: "is not a valid date"
|
6
|
+
invalid_time: "is not a valid time"
|
7
|
+
invalid_datetime: "is not a valid datetime"
|
8
|
+
is_at: "must be at %{restriction}"
|
9
|
+
before: "must be before %{restriction}"
|
10
|
+
on_or_before: "must be on or before %{restriction}"
|
11
|
+
after: "must be after %{restriction}"
|
12
|
+
on_or_after: "must be on or after %{restriction}"
|
@@ -0,0 +1,59 @@
|
|
1
|
+
ja:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
invalid_charset: "に利用できない文字が入力されています。%{error_chars}"
|
5
|
+
too_long: は%{count}文字以内で入力してください。
|
6
|
+
too_short: は%{count}文字以上で入力してください。
|
7
|
+
wrong_length: は%{count}文字で入力してください。
|
8
|
+
invalid_date: "は正しい形式で入力してください。"
|
9
|
+
invalid_time: "は正しい形式で入力してください。"
|
10
|
+
invalid_datetime: "は正しい形式で入力してください。"
|
11
|
+
is_at: "は %{restriction} である必要があります。"
|
12
|
+
before: "は %{restriction} より前を指定してください。"
|
13
|
+
on_or_before: "は %{restriction} 以前を指定してください。"
|
14
|
+
after: "は %{restriction} より後を指定してください。"
|
15
|
+
on_or_after: "は %{restriction} 以降を指定してください。"
|
16
|
+
activemodel:
|
17
|
+
models:
|
18
|
+
kirico/changing_address_record: 住所変更データレコード
|
19
|
+
kirico/company_count: 事業所数情報
|
20
|
+
kirico/company_identifier: 事業所識別符号
|
21
|
+
kirico/company: 事業所情報
|
22
|
+
kirico/data_identifier: データ識別符号
|
23
|
+
kirico/fd_management_record: FD管理レコード
|
24
|
+
attributes:
|
25
|
+
kirico/changing_address_record:
|
26
|
+
area_code: 都市区符号
|
27
|
+
office_code: 事業所記号
|
28
|
+
ip_code: 被保険者整理番号
|
29
|
+
basic_pension_number1: 基礎年金番号(課所符号)
|
30
|
+
basic_pension_number2: 基礎年金番号(一連番号)
|
31
|
+
birth_at: 生年月日
|
32
|
+
zip_code1: 郵便番号(親番号)
|
33
|
+
zip_code2: 郵便番号(子番号)
|
34
|
+
new_address_yomi: 変更後被保険者住所(カナ)
|
35
|
+
new_address: 変更後被保険者住所(漢字)
|
36
|
+
updated_at: 変更年月日
|
37
|
+
ip_name_yomi: 被保険者氏名(カナ)
|
38
|
+
ip_name: 被保険者氏名(漢字)
|
39
|
+
old_address_yomi: 変更前被保険者住所(カナ)
|
40
|
+
old_address: 変更前被保険者住所(漢字)
|
41
|
+
memo: 備考欄
|
42
|
+
kirico/company:
|
43
|
+
sr_name: 社会保険労務士氏名
|
44
|
+
count: 事業所数情報
|
45
|
+
area_code: 都市区符号
|
46
|
+
office_code: 事業所記号
|
47
|
+
office_number: 事業所番号
|
48
|
+
zip_code1: 郵便番号.親番号
|
49
|
+
zip_code2: 郵便番号.子番号
|
50
|
+
address: 事業所所在地
|
51
|
+
name: 事業所名称
|
52
|
+
owner_name: 事業主氏名
|
53
|
+
tel_number: 電話番号
|
54
|
+
kirico/fd_management_record:
|
55
|
+
area_code: 都市区符号
|
56
|
+
office_code: 事業所記号
|
57
|
+
fd_seq_number: FD通番
|
58
|
+
created_at: 作成年月日
|
59
|
+
main_doc_code: 代表届書コード
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Kirico
|
3
|
+
class CSVGenerator
|
4
|
+
def initialize(fd_management_record, company, data = [])
|
5
|
+
@fd_management_record = fd_management_record
|
6
|
+
@company_identifier = CompanyIdentifier.new
|
7
|
+
@company_count = CompanyCount.new
|
8
|
+
@company = company
|
9
|
+
@data_identifier = DataIdentifier.new
|
10
|
+
@data = data
|
11
|
+
end
|
12
|
+
|
13
|
+
# 1 件: FD 管理レコード
|
14
|
+
# 1 件: 事業所識別符号
|
15
|
+
# 1 件: 事業所数情報
|
16
|
+
# 1 件: データ識別符号
|
17
|
+
# n 件: データレコード
|
18
|
+
def generate
|
19
|
+
[
|
20
|
+
@fd_management_record,
|
21
|
+
@company_identifier,
|
22
|
+
@company_count,
|
23
|
+
@company,
|
24
|
+
@data_identifier,
|
25
|
+
@data
|
26
|
+
].flatten.map(&:to_csv).join("\n")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'virtus'
|
3
|
+
require 'active_model'
|
4
|
+
require 'kirico/models/helper'
|
5
|
+
require 'validates_timeliness'
|
6
|
+
|
7
|
+
module Kirico
|
8
|
+
class ChangingAddressRecord
|
9
|
+
include Virtus.model
|
10
|
+
include ActiveModel::Validations
|
11
|
+
extend Kirico::Helper
|
12
|
+
|
13
|
+
DOC_CODE = '22187041'
|
14
|
+
|
15
|
+
attribute :area_code, String
|
16
|
+
attribute :office_code, String
|
17
|
+
attribute :ip_code, String
|
18
|
+
attribute :basic_pension_number1, String
|
19
|
+
attribute :basic_pension_number2, String
|
20
|
+
attribute :birth_at, Date
|
21
|
+
attribute :zip_code1, String
|
22
|
+
attribute :zip_code2, String
|
23
|
+
attribute :new_address_yomi, String
|
24
|
+
attribute :new_address, String
|
25
|
+
attribute :updated_at, Date
|
26
|
+
attribute :ip_name_yomi, String
|
27
|
+
attribute :ip_name, String
|
28
|
+
attribute :old_address_yomi, String
|
29
|
+
attribute :old_address, String
|
30
|
+
attribute :memo, String
|
31
|
+
|
32
|
+
validates :area_code, charset: { accept: [:numeric] }, sjis_bytesize: { is: 2 }
|
33
|
+
validates :office_code, charset: { accept: [:numeric, :latin, :katakana] }, sjis_bytesize: { in: 1..4 }
|
34
|
+
validates :ip_code, charset: { accept: [:numeric] }, sjis_bytesize: { in: 1..6 }
|
35
|
+
validates :basic_pension_number1, charset: { accept: [:numeric] }, sjis_bytesize: { is: 4 }, allow_blank: true
|
36
|
+
validates :basic_pension_number2, charset: { accept: [:numeric] }, sjis_bytesize: { is: 6 }, allow_blank: true
|
37
|
+
validates :zip_code1, charset: { accept: [:numeric] }, sjis_bytesize: { is: 3 }
|
38
|
+
validates :zip_code2, charset: { accept: [:numeric] }, sjis_bytesize: { is: 4 }
|
39
|
+
validates :new_address_yomi, charset: { accept: [:numeric, :latin, :katakana] }, sjis_bytesize: { in: 1..75 }
|
40
|
+
validates :new_address, charset: { accept: [:all] }, sjis_bytesize: { in: 0..74 }, allow_blank: true
|
41
|
+
validates :updated_at, timeliness: { on_or_before: :today, type: :date }
|
42
|
+
validates :ip_name_yomi, charset: { accept: [:katakana] }, sjis_bytesize: { in: 1..25 }
|
43
|
+
validates :ip_name, charset: { accept: [:all] }, sjis_bytesize: { in: 0..24 }, allow_blank: true
|
44
|
+
validates :old_address_yomi, charset: { accept: [:numeric, :latin, :katakana] }, sjis_bytesize: { in: 1..75 }
|
45
|
+
validates :old_address, charset: { accept: [:all] }, sjis_bytesize: { in: 0..74 }, allow_blank: true
|
46
|
+
validates :memo, charset: { accept: [:all] }, sjis_bytesize: { in: 0..75 }, allow_blank: true
|
47
|
+
|
48
|
+
define_format_date_method :birth_at, :updated_at
|
49
|
+
define_code_mapper_method :birth_at_era_nengo, :updated_at_era_nengo
|
50
|
+
|
51
|
+
def initialize
|
52
|
+
yield(self) if block_given?
|
53
|
+
end
|
54
|
+
|
55
|
+
def to_csv
|
56
|
+
[
|
57
|
+
DOC_CODE,
|
58
|
+
area_code,
|
59
|
+
office_code,
|
60
|
+
ip_code,
|
61
|
+
basic_pension_number1,
|
62
|
+
basic_pension_number2,
|
63
|
+
mapped_birth_at_era_nengo,
|
64
|
+
fmt_era_ymd_birth_at,
|
65
|
+
zip_code1,
|
66
|
+
zip_code2,
|
67
|
+
new_address_yomi,
|
68
|
+
new_address,
|
69
|
+
mapped_updated_at_era_nengo,
|
70
|
+
fmt_era_ymd_updated_at,
|
71
|
+
ip_name_yomi,
|
72
|
+
ip_name,
|
73
|
+
old_address_yomi,
|
74
|
+
old_address,
|
75
|
+
memo
|
76
|
+
].join(',')
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'virtus'
|
3
|
+
require 'active_model'
|
4
|
+
|
5
|
+
module Kirico
|
6
|
+
class Company
|
7
|
+
include Virtus.model
|
8
|
+
include ActiveModel::Validations
|
9
|
+
|
10
|
+
attribute :area_code, String
|
11
|
+
attribute :office_code, String
|
12
|
+
attribute :office_number, String
|
13
|
+
attribute :zip_code1, String
|
14
|
+
attribute :zip_code2, String
|
15
|
+
attribute :address, String
|
16
|
+
attribute :name, String
|
17
|
+
attribute :owner_name, String
|
18
|
+
attribute :tel_number, String
|
19
|
+
|
20
|
+
validates :area_code, charset: { accept: [:numeric] }, sjis_bytesize: { is: 2 }
|
21
|
+
validates :office_code, charset: { accept: [:numeric, :latin, :katakana] }, sjis_bytesize: { in: 1..4 }
|
22
|
+
validates :office_number, charset: { accept: [:numeric] }, sjis_bytesize: { in: 1..5 }
|
23
|
+
validates :zip_code1, charset: { accept: [:numeric] }, sjis_bytesize: { is: 3 }
|
24
|
+
validates :zip_code2, charset: { accept: [:numeric] }, sjis_bytesize: { is: 4 }
|
25
|
+
validates :address, charset: { accept: [:all] }, sjis_bytesize: { in: 1..75 }
|
26
|
+
validates :name, charset: { accept: [:katakana, :kanji] }, sjis_bytesize: { in: 1..50 }
|
27
|
+
validates :owner_name, charset: { accept: [:katakana, :kanji] }, sjis_bytesize: { in: 1..25 }
|
28
|
+
validates :tel_number, charset: { accept: [:latin, :number] }, sjis_bytesize: { in: 1..12 }
|
29
|
+
|
30
|
+
def initialize
|
31
|
+
yield(self) if block_given?
|
32
|
+
end
|
33
|
+
|
34
|
+
def to_csv
|
35
|
+
[
|
36
|
+
area_code,
|
37
|
+
office_code,
|
38
|
+
office_number,
|
39
|
+
zip_code1,
|
40
|
+
zip_code2,
|
41
|
+
address,
|
42
|
+
name,
|
43
|
+
owner_name,
|
44
|
+
tel_number
|
45
|
+
].join(',')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'virtus'
|
3
|
+
require 'active_model'
|
4
|
+
require 'kirico/models/helper'
|
5
|
+
|
6
|
+
module Kirico
|
7
|
+
class FDManagementRecord
|
8
|
+
include Virtus.model
|
9
|
+
include ActiveModel::Validations
|
10
|
+
extend Kirico::Helper
|
11
|
+
|
12
|
+
MAIN_DOC_CODE = '22223'
|
13
|
+
|
14
|
+
attribute :area_code, String
|
15
|
+
attribute :office_code, String
|
16
|
+
attribute :fd_seq_number, String
|
17
|
+
attribute :created_at, Date
|
18
|
+
|
19
|
+
validates :area_code, charset: { accept: [:numeric] }, sjis_bytesize: { is: 2 }
|
20
|
+
validates :office_code, charset: { accept: [:numeric, :latin, :katakana] }, sjis_bytesize: { in: 1..4 }
|
21
|
+
validates :fd_seq_number, charset: { accept: [:numeric] }, sjis_bytesize: { is: 3 }
|
22
|
+
|
23
|
+
define_format_date_method :created_at
|
24
|
+
|
25
|
+
def initialize
|
26
|
+
yield(self) if block_given?
|
27
|
+
end
|
28
|
+
|
29
|
+
def to_csv
|
30
|
+
[
|
31
|
+
area_code,
|
32
|
+
office_code,
|
33
|
+
fd_seq_number,
|
34
|
+
fmt_ymd_created_at,
|
35
|
+
MAIN_DOC_CODE
|
36
|
+
].join(',')
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'era_ja'
|
3
|
+
require 'active_support/core_ext/object'
|
4
|
+
require 'yaml'
|
5
|
+
require 'kirico/validators/charset_validator'
|
6
|
+
require 'kirico/validators/sjis_bytesize_validator'
|
7
|
+
|
8
|
+
module Kirico
|
9
|
+
module Helper
|
10
|
+
# Validator の追加
|
11
|
+
ActiveModel::Validations::CharsetValidator = Kirico::CharsetValidator
|
12
|
+
ActiveModel::Validations::SjisBytesizeValidator = Kirico::SjisBytesizeValidator
|
13
|
+
|
14
|
+
# 指定した date 型のフィールドを整形するメソッドを生やす
|
15
|
+
#
|
16
|
+
# 例:
|
17
|
+
# created_at メソッドを整形
|
18
|
+
#
|
19
|
+
# # 2015/04/09 => 20150409
|
20
|
+
# def fmt_ymd_created_at
|
21
|
+
# return nil if submit_at.nil?
|
22
|
+
# submit_at.try(:to_era, '%Y%m%d')
|
23
|
+
# end
|
24
|
+
#
|
25
|
+
# # 2015/04/09 => 270409
|
26
|
+
# def fmt_era_ymd_created_at
|
27
|
+
# return nil if submit_at.nil?
|
28
|
+
# submit_at.try(:to_era, '%E%m%d')
|
29
|
+
# end
|
30
|
+
#
|
31
|
+
# # 2015/04/09 => H
|
32
|
+
# def submit_at_era_nengo
|
33
|
+
# submit_at.try(:to_era, '%o%E').try(:[], 0)
|
34
|
+
# end
|
35
|
+
#
|
36
|
+
# # 2015/04/09 => 平成
|
37
|
+
# def submit_at_era_nengo_kanji
|
38
|
+
# submit_at.try(:to_era, '%O%E').try(:gsub, /\d+\z/, '')
|
39
|
+
# end
|
40
|
+
def define_format_date_method(*fields)
|
41
|
+
fields.each do |attr_name|
|
42
|
+
define_method("fmt_ymd_#{attr_name}") do
|
43
|
+
send(attr_name).try(:strftime, '%Y%m%d')
|
44
|
+
end
|
45
|
+
|
46
|
+
define_method("fmt_era_ymd_#{attr_name}") do
|
47
|
+
send(attr_name).try(:to_era, '%E%m%d')
|
48
|
+
end
|
49
|
+
|
50
|
+
define_method("#{attr_name}_era_nengo") do
|
51
|
+
send(attr_name).try(:to_era, '%o%E').try(:[], 0)
|
52
|
+
end
|
53
|
+
|
54
|
+
define_method("#{attr_name}_era_nengo_kanji") do
|
55
|
+
send(attr_name).try(:to_era, '%O%E').try(:gsub, /\d+\z/, '')
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# 指定したフィールドの値と区分値の値とをマッピングする
|
61
|
+
# メソッドを生やす。
|
62
|
+
# 対応表は models/mappers.ja.yml 参照
|
63
|
+
#
|
64
|
+
# 例:
|
65
|
+
# cause_cd フィールドをマッピングするメソッド
|
66
|
+
#
|
67
|
+
# def mapped_birth_at_era
|
68
|
+
# value = object.send('cause_cd').try(:to_sym)
|
69
|
+
# class_name = object.class.underscore
|
70
|
+
# I18n.t("mappers.#{class_name}")[attr_name][value]
|
71
|
+
# end
|
72
|
+
def define_code_mapper_method(*fields)
|
73
|
+
fields.each do |attr_name|
|
74
|
+
define_method("mapped_#{attr_name}") do
|
75
|
+
value = send(attr_name)
|
76
|
+
return if value.nil?
|
77
|
+
class_name = self.class.name.underscore
|
78
|
+
@mappers ||= YAML.load_file(File.join(__dir__, 'mappers.yml'))
|
79
|
+
@mappers['mappers'][class_name.to_s].try(:[], attr_name.to_s).try(:[], value.to_s)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'active_model'
|
3
|
+
require 'active_model/validator'
|
4
|
+
|
5
|
+
# 文字種別を検証する
|
6
|
+
#
|
7
|
+
# 設定例:
|
8
|
+
# validate :area_code, charset: { accept: [:numeric] }
|
9
|
+
# validate :office_code, charset: { accept: [:numeric, :latin, :katakana] }
|
10
|
+
# validate :office_address, charset: { accept: [:all] }
|
11
|
+
# validate :office_name, charset: { accept: [:kanji, :katakana] }
|
12
|
+
#
|
13
|
+
# accept に指定可能なオプション:
|
14
|
+
#
|
15
|
+
# :numeric
|
16
|
+
# 0~9 の1 バイトの半角文字
|
17
|
+
#
|
18
|
+
# :latin
|
19
|
+
# アルファベットおよび記号の 1 バイトの半角文字
|
20
|
+
#
|
21
|
+
# :katakana
|
22
|
+
# カタカナの1バイトの半角文字(スペースを含む)
|
23
|
+
#
|
24
|
+
# :kanji
|
25
|
+
# 2 バイトの全角文字
|
26
|
+
# see: http://charset.7jp.net/sjis2.html
|
27
|
+
#
|
28
|
+
# 特殊記号(間隔) 8140
|
29
|
+
# 特殊記号(記述記号) 8141-8164
|
30
|
+
# 特殊記号(括弧記号) 8165-817A
|
31
|
+
# 特殊記号(学術記号) 817B-818A
|
32
|
+
# 特殊記号(単位記号) 818B-8193
|
33
|
+
# 特殊記号(一般記号) 8194-819E, 819F-81AC
|
34
|
+
# 数字 824F-8258
|
35
|
+
# ローマ字 8260-8279, 8281-829A
|
36
|
+
# 平仮名 829F-82F1
|
37
|
+
# 片仮名 8340-8396
|
38
|
+
# ギリシア文字 839F-83B6, 83BF-83D6
|
39
|
+
# ロシア文字 8440-8460, 8470-8491
|
40
|
+
# 漢字 889F-9872, 989F-EAA4
|
41
|
+
module Kirico
|
42
|
+
class CharsetValidator < ActiveModel::EachValidator
|
43
|
+
NUMERIC_RULE = '0-9'
|
44
|
+
LATIN_RULE = 'A-Za-z\- '
|
45
|
+
KATAKANA_RULE = ' ヲ-゚'
|
46
|
+
KANJI_RULE = ' -〓0-я亜-腕弌-熙'
|
47
|
+
|
48
|
+
CHECKS = {
|
49
|
+
numeric: NUMERIC_RULE,
|
50
|
+
latin: LATIN_RULE,
|
51
|
+
katakana: KATAKANA_RULE,
|
52
|
+
kanji: KANJI_RULE,
|
53
|
+
all: [NUMERIC_RULE, LATIN_RULE, KATAKANA_RULE, KANJI_RULE].join
|
54
|
+
}.freeze
|
55
|
+
|
56
|
+
def check_validity!
|
57
|
+
keys = CHECKS.keys & ([options[:accept]].flatten || [])
|
58
|
+
raise ArgumentError, ':accept unspecified. Specify the :numeric, :latin, :katakana, :kanji, or :all option.' if keys.empty?
|
59
|
+
end
|
60
|
+
|
61
|
+
def validate_each(record, attribute, value)
|
62
|
+
error_chars = retrieve_error_chars(value)
|
63
|
+
|
64
|
+
record.errors.add(attribute, (options[:message] || :invalid_charset), error_chars: error_chars.join(', ')) unless error_chars.empty?
|
65
|
+
end
|
66
|
+
|
67
|
+
def retrieve_error_chars(value, error_chars = [])
|
68
|
+
# value.blank? はタブ文字等の場合でも true となるため注意
|
69
|
+
return error_chars if value.nil? || value.empty?
|
70
|
+
|
71
|
+
match = regex(options[:accept]).match(value.encode('CP932'))
|
72
|
+
return error_chars if match.nil?
|
73
|
+
|
74
|
+
ch = match.captures[0].encode('UTF-8')
|
75
|
+
error_chars << ch
|
76
|
+
retrieve_error_chars(value.gsub(/#{ch}/, ''), error_chars)
|
77
|
+
rescue Encoding::UndefinedConversionError => e
|
78
|
+
ch = e.error_char
|
79
|
+
error_chars << ch
|
80
|
+
retrieve_error_chars(value.gsub(/#{ch}/, ''), error_chars)
|
81
|
+
end
|
82
|
+
|
83
|
+
private
|
84
|
+
|
85
|
+
def regex(accept = [])
|
86
|
+
joined_rules = CHECKS.select { |k, _v| accept.include?(k) }.values.join
|
87
|
+
str = "[^#{joined_rules}]".encode('CP932')
|
88
|
+
/(#{str})/
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'active_model'
|
3
|
+
require 'active_model/validator'
|
4
|
+
|
5
|
+
# SJIS 換算の文字長を検証する
|
6
|
+
#
|
7
|
+
# 設定例:
|
8
|
+
# validate :address, sjis_bytesize: { in: 1..30 }
|
9
|
+
#
|
10
|
+
# 参考: https://github.com/rails/rails/blob/fe1f4b2ad56f010a4e9b93d547d63a15953d9dc2/activemodel/lib/active_model/validations/length.rb
|
11
|
+
module Kirico
|
12
|
+
class SjisBytesizeValidator < ActiveModel::EachValidator
|
13
|
+
MESSAGES = { is: :wrong_length, minimum: :too_short, maximum: :too_long }.freeze
|
14
|
+
CHECKS = { is: :==, minimum: :>=, maximum: :<= }.freeze
|
15
|
+
|
16
|
+
RESERVED_OPTIONS = [:minimum, :maximum, :within, :is, :too_short, :too_long]
|
17
|
+
|
18
|
+
def initialize(options)
|
19
|
+
range = (options.delete(:in) || options.delete(:within))
|
20
|
+
if range
|
21
|
+
raise ArgumentError, ':in and :within must be a Range' unless range.is_a?(Range)
|
22
|
+
options[:minimum] = range.min
|
23
|
+
options[:maximum] = range.max
|
24
|
+
end
|
25
|
+
|
26
|
+
if options[:allow_blank] == false && options[:minimum].nil? && options[:is].nil?
|
27
|
+
options[:minimum] = 1
|
28
|
+
end
|
29
|
+
|
30
|
+
super
|
31
|
+
end
|
32
|
+
|
33
|
+
def check_validity!
|
34
|
+
keys = CHECKS.keys & options.keys
|
35
|
+
|
36
|
+
if keys.empty?
|
37
|
+
raise ArgumentError, 'Range unspecified. Specify the :in, :within, :maximum, :minimum, or :is option.'
|
38
|
+
end
|
39
|
+
|
40
|
+
keys.each do |key|
|
41
|
+
value = options[key]
|
42
|
+
|
43
|
+
unless (value.is_a?(Integer) && value >= 0) || value == Float::INFINITY
|
44
|
+
raise ArgumentError, ":#{key} must be a nonnegative Integer or Infinity"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def validate_each(record, attribute, value = '')
|
50
|
+
value_length = value.to_s.encode('Shift_JIS').bytesize
|
51
|
+
|
52
|
+
errors_options = options.except(*RESERVED_OPTIONS)
|
53
|
+
|
54
|
+
CHECKS.each do |key, validity_check|
|
55
|
+
check_value = options[key]
|
56
|
+
next unless check_value
|
57
|
+
|
58
|
+
if !value.nil? || skip_nil_check?(key)
|
59
|
+
next if value_length.send(validity_check, check_value)
|
60
|
+
end
|
61
|
+
|
62
|
+
errors_options[:count] = check_value
|
63
|
+
|
64
|
+
default_message = options[MESSAGES[key]]
|
65
|
+
errors_options[:message] ||= default_message if default_message
|
66
|
+
|
67
|
+
record.errors.add(attribute, MESSAGES[key], errors_options)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
private
|
72
|
+
|
73
|
+
def skip_nil_check?(key)
|
74
|
+
key == :maximum && options[:allow_nil].nil? && options[:allow_blank].nil?
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
metadata
ADDED
@@ -0,0 +1,284 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: kirico
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- kakipo
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-02-16 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activemodel
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: era_ja
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: validates_timeliness
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: virtus
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: bundler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.10'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.10'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rake
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '10.0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '10.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rspec
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: factory_girl
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: guard
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: guard-rspec
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: guard-bundler
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: guard-rubocop
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: pry
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: pry-byebug
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
description: Write a longer description or delete this line.
|
224
|
+
email:
|
225
|
+
- kakipo@gmail.com
|
226
|
+
executables: []
|
227
|
+
extensions: []
|
228
|
+
extra_rdoc_files: []
|
229
|
+
files:
|
230
|
+
- ".gitignore"
|
231
|
+
- ".rspec"
|
232
|
+
- ".rubocop.yml"
|
233
|
+
- ".rubocop_todo.yml"
|
234
|
+
- ".ruby-version"
|
235
|
+
- Gemfile
|
236
|
+
- Guardfile
|
237
|
+
- LICENSE.txt
|
238
|
+
- README.md
|
239
|
+
- Rakefile
|
240
|
+
- bin/console
|
241
|
+
- bin/setup
|
242
|
+
- circle.yml
|
243
|
+
- kirico.gemspec
|
244
|
+
- lib/kirico.rb
|
245
|
+
- lib/kirico/config/locales/en.yml
|
246
|
+
- lib/kirico/config/locales/ja.yml
|
247
|
+
- lib/kirico/csv_generator.rb
|
248
|
+
- lib/kirico/models/changing_address_record.rb
|
249
|
+
- lib/kirico/models/company.rb
|
250
|
+
- lib/kirico/models/company_count.rb
|
251
|
+
- lib/kirico/models/company_identifier.rb
|
252
|
+
- lib/kirico/models/data_identifier.rb
|
253
|
+
- lib/kirico/models/fd_management_record.rb
|
254
|
+
- lib/kirico/models/helper.rb
|
255
|
+
- lib/kirico/models/mappers.yml
|
256
|
+
- lib/kirico/validators/charset_validator.rb
|
257
|
+
- lib/kirico/validators/sjis_bytesize_validator.rb
|
258
|
+
- lib/kirico/version.rb
|
259
|
+
homepage: https://github.com/kufu/kirico
|
260
|
+
licenses:
|
261
|
+
- MIT
|
262
|
+
metadata:
|
263
|
+
allowed_push_host: https://rubygems.org
|
264
|
+
post_install_message:
|
265
|
+
rdoc_options: []
|
266
|
+
require_paths:
|
267
|
+
- lib
|
268
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
269
|
+
requirements:
|
270
|
+
- - ">="
|
271
|
+
- !ruby/object:Gem::Version
|
272
|
+
version: 2.3.1
|
273
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
274
|
+
requirements:
|
275
|
+
- - ">="
|
276
|
+
- !ruby/object:Gem::Version
|
277
|
+
version: '0'
|
278
|
+
requirements: []
|
279
|
+
rubyforge_project:
|
280
|
+
rubygems_version: 2.5.1
|
281
|
+
signing_key:
|
282
|
+
specification_version: 4
|
283
|
+
summary: Write a short summary, because Rubygems requires one.
|
284
|
+
test_files: []
|