master_data_tool 0.5.0 → 0.9.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 +4 -4
- data/Appraisals +6 -6
- data/LICENSE +21 -0
- data/README.md +20 -15
- data/docker-compose.yml +1 -1
- data/exe/master_data_tool +11 -2
- data/gemfiles/{rails52.gemfile → activerecord52.gemfile} +1 -1
- data/gemfiles/{rails61.gemfile → activerecord61.gemfile} +1 -1
- data/gemfiles/{rails70.gemfile → activerecord70.gemfile} +1 -1
- data/lib/master_data_tool/config.rb +2 -2
- data/lib/master_data_tool/dump/executor.rb +1 -1
- data/lib/master_data_tool/import/executor.rb +38 -22
- data/lib/master_data_tool/master_data.rb +3 -3
- data/lib/master_data_tool/master_data_status.rb +1 -0
- data/lib/master_data_tool/report/print_affected_table_report.rb +0 -5
- data/lib/master_data_tool/report/printer.rb +8 -0
- data/lib/master_data_tool/version.rb +1 -1
- data/master_data_tool.gemspec +42 -0
- data/scripts/setup.sh +17 -0
- metadata +67 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0c1a8cf7753997cee7c6508d745c9eb9152261ea433dcd0ea436bd9684d2b57c
|
|
4
|
+
data.tar.gz: ae108bb9da67df2a46e15335cc7930a6568a0e359d599323e24683bc3db761c4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: be594e338ccd11ec1bb9621452c6ff1b0834c253326b74b89fd0f4e7285b3f040f5948f69cde7eae6028581503bf37f26ba8ce0950e7543184b529f44ec51e55
|
|
7
|
+
data.tar.gz: a3ceed39c0d391fb2ec5774371b54f66e25a7d3dc52fff323fd8235edb6e3d750022909782e482fa347ec950b55b2e75722440f3ce613569e7fd134a4b012069
|
data/Appraisals
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
appraise '
|
|
2
|
-
gem '
|
|
1
|
+
appraise 'activerecord52' do
|
|
2
|
+
gem 'activerecord', '~> 5.2'
|
|
3
3
|
end
|
|
4
4
|
|
|
5
|
-
appraise '
|
|
6
|
-
gem '
|
|
5
|
+
appraise 'activerecord61' do
|
|
6
|
+
gem 'activerecord', '~> 6.1'
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
if RUBY_VERSION >= '2.7.0'
|
|
10
|
-
appraise '
|
|
11
|
-
gem '
|
|
10
|
+
appraise 'activerecord70' do
|
|
11
|
+
gem 'activerecord', '~> 7.0'
|
|
12
12
|
end
|
|
13
13
|
end
|
data/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Takahiro Ooishi
|
|
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 all
|
|
13
|
+
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 THE
|
|
21
|
+
SOFTWARE.
|
data/README.md
CHANGED
|
@@ -35,13 +35,16 @@ Or install it yourself as:
|
|
|
35
35
|
|
|
36
36
|
### マスタデータの投入
|
|
37
37
|
|
|
38
|
-
| option | default | 内容
|
|
39
|
-
|----------------------| ---
|
|
40
|
-
| --dry-run | true | dry-runモードで実行する(データ変更は行わない)
|
|
41
|
-
| --verify | true | データ投入後に全テーブル・全レコードのバリデーションチェックを行う
|
|
42
|
-
| --only-import-tables | [] | 指定したテーブルのみデータ投入を行う
|
|
43
|
-
| --
|
|
44
|
-
| --
|
|
38
|
+
| option | default | 内容 |
|
|
39
|
+
|----------------------| --- |-----------------------------------|
|
|
40
|
+
| --dry-run | true | dry-runモードで実行する(データ変更は行わない) |
|
|
41
|
+
| --verify | true | データ投入後に全テーブル・全レコードのバリデーションチェックを行う |
|
|
42
|
+
| --only-import-tables | [] | 指定したテーブルのみデータ投入を行う |
|
|
43
|
+
| --except-import-tables | [] | 指定したテーブルのデータ投入を行わない |
|
|
44
|
+
| --only-verify-tables | [] | 指定したテーブルのみ投入後のバリデーションチェックを行う |
|
|
45
|
+
| --except-verify-tables | [] | 指定したテーブルのバリデーションチェックを行わない |
|
|
46
|
+
| --skip-no-change | true | CSVファイルに更新がないテーブルをスキップする |
|
|
47
|
+
| --silent | false | 結果の出力をやめる |
|
|
45
48
|
|
|
46
49
|
```bash
|
|
47
50
|
bundle exec master_data_tool import
|
|
@@ -54,8 +57,11 @@ bundle exec thor master_data_tool import \
|
|
|
54
57
|
--dry-run=true \
|
|
55
58
|
--verify=true \
|
|
56
59
|
--only-import-tables="" \
|
|
60
|
+
--except-import-tables="" \
|
|
57
61
|
--only-verify-tables="" \
|
|
58
|
-
--
|
|
62
|
+
--except-verify-tables="" \
|
|
63
|
+
--skip-no-change=true \
|
|
64
|
+
--silent=false
|
|
59
65
|
```
|
|
60
66
|
|
|
61
67
|
### ダンプ
|
|
@@ -155,24 +161,23 @@ docker-compose up -d
|
|
|
155
161
|
export DB_HOST=127.0.0.1
|
|
156
162
|
export DB_PORT=`docker port master_data_tool_mysql57 3306 | cut -f 2 -d ':'`
|
|
157
163
|
export DB_USERNAME=root
|
|
158
|
-
export DB_PASSWORD=
|
|
164
|
+
export DB_PASSWORD=f3WpxNreVT2NgQry
|
|
165
|
+
export DB_NAME=master_data_tool_test
|
|
159
166
|
```
|
|
160
167
|
|
|
161
168
|
- dockerでMySQLを立ち上げるたびにポートは変わるのでDB_PORTは都度設定する
|
|
162
169
|
- direnvを使っているならば `direnv reload` すればいい
|
|
163
170
|
|
|
164
171
|
```
|
|
165
|
-
|
|
166
|
-
RAILS_ENV=test bundle exec rake db:create
|
|
167
|
-
RAILS_ENV=test bundle exec rake db:migrate
|
|
172
|
+
./scripts/setup.sh
|
|
168
173
|
```
|
|
169
174
|
|
|
170
175
|
## rspec
|
|
171
176
|
|
|
172
177
|
```
|
|
173
|
-
bundle exec appraisal
|
|
174
|
-
bundle exec appraisal
|
|
175
|
-
bundle exec appraisal
|
|
178
|
+
bundle exec appraisal activerecord52 rspec
|
|
179
|
+
bundle exec appraisal activerecord61 rspec
|
|
180
|
+
bundle exec appraisal activerecord70 rspec
|
|
176
181
|
```
|
|
177
182
|
|
|
178
183
|
|
data/docker-compose.yml
CHANGED
data/exe/master_data_tool
CHANGED
|
@@ -12,22 +12,31 @@ module MasterDataTool
|
|
|
12
12
|
option :dry_run, default: true, type: :boolean
|
|
13
13
|
option :verify, default: true, type: :boolean
|
|
14
14
|
option :only_import_tables, default: [], type: :array
|
|
15
|
+
option :except_import_tables, default: [], type: :array
|
|
15
16
|
option :only_verify_tables, default: [], type: :array
|
|
17
|
+
option :except_verify_tables, default: [], type: :array
|
|
16
18
|
option :skip_no_change, default: true, type: :boolean
|
|
19
|
+
option :silent, default: false, type: :boolean
|
|
17
20
|
desc 'import', 'import'
|
|
18
21
|
def import
|
|
19
22
|
dry_run = options[:dry_run]
|
|
20
23
|
verify = options[:verify]
|
|
21
24
|
only_import_tables = options[:only_import_tables]
|
|
25
|
+
except_import_tables = options[:except_import_tables]
|
|
22
26
|
only_verify_tables = options[:only_verify_tables]
|
|
27
|
+
except_verify_tables = options[:except_verify_tables]
|
|
23
28
|
skip_no_change = options[:skip_no_change]
|
|
29
|
+
silent = options[:silent]
|
|
24
30
|
|
|
25
31
|
executor = MasterDataTool::Import::Executor.new(
|
|
26
32
|
dry_run: dry_run,
|
|
27
33
|
verify: verify,
|
|
28
34
|
only_import_tables: only_import_tables,
|
|
35
|
+
except_import_tables: except_import_tables,
|
|
29
36
|
only_verify_tables: only_verify_tables,
|
|
30
|
-
|
|
37
|
+
except_verify_tables: except_verify_tables,
|
|
38
|
+
skip_no_change: skip_no_change,
|
|
39
|
+
silent: silent
|
|
31
40
|
)
|
|
32
41
|
executor.execute
|
|
33
42
|
end
|
|
@@ -50,7 +59,7 @@ module MasterDataTool
|
|
|
50
59
|
verbose: verbose
|
|
51
60
|
)
|
|
52
61
|
errors = executor.execute
|
|
53
|
-
|
|
62
|
+
|
|
54
63
|
return if errors.empty?
|
|
55
64
|
|
|
56
65
|
message = errors.map { |error| "table:#{error.table}\tmessage:#{error.exception.message}" }.join("\n")
|
|
@@ -11,10 +11,10 @@ module MasterDataTool
|
|
|
11
11
|
|
|
12
12
|
def self.default_config
|
|
13
13
|
new.tap do |config|
|
|
14
|
-
config.master_data_dir = Rails.root.join('db/fixtures')
|
|
14
|
+
config.master_data_dir = nil # Rails.root.join('db/fixtures')
|
|
15
15
|
config.dump_ignore_tables = %w[]
|
|
16
16
|
config.dump_ignore_columns = %w[]
|
|
17
|
-
config.logger =
|
|
17
|
+
config.logger = Logger.new(nil)
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
end
|
|
@@ -3,13 +3,26 @@
|
|
|
3
3
|
module MasterDataTool
|
|
4
4
|
module Import
|
|
5
5
|
class Executor
|
|
6
|
-
def initialize(dry_run: true,
|
|
6
|
+
def initialize(dry_run: true,
|
|
7
|
+
verify: true,
|
|
8
|
+
only_import_tables: [],
|
|
9
|
+
except_import_tables: [],
|
|
10
|
+
only_verify_tables: [],
|
|
11
|
+
except_verify_tables: [],
|
|
12
|
+
skip_no_change: true,
|
|
13
|
+
silent: false,
|
|
14
|
+
report_printer: MasterDataTool::Report::DefaultPrinter.new)
|
|
15
|
+
|
|
7
16
|
@dry_run = dry_run
|
|
8
17
|
@verify = verify
|
|
9
18
|
@only_import_tables = Array(only_import_tables)
|
|
19
|
+
@except_import_tables = Array(except_import_tables)
|
|
10
20
|
@only_verify_tables = Array(only_verify_tables)
|
|
21
|
+
@except_verify_tables = Array(except_verify_tables)
|
|
11
22
|
@skip_no_change = skip_no_change
|
|
23
|
+
@silent = silent
|
|
12
24
|
@report_printer = report_printer
|
|
25
|
+
@report_printer.silent = silent
|
|
13
26
|
end
|
|
14
27
|
|
|
15
28
|
def execute
|
|
@@ -38,7 +51,7 @@ module MasterDataTool
|
|
|
38
51
|
table_name = MasterDataTool.resolve_table_name(path)
|
|
39
52
|
load_skip = load_skip_table?(table_name, path)
|
|
40
53
|
|
|
41
|
-
model_klass =
|
|
54
|
+
model_klass = Object.const_get(table_name.classify)
|
|
42
55
|
master_data = MasterData.new(path, model_klass)
|
|
43
56
|
master_data.load unless load_skip
|
|
44
57
|
|
|
@@ -47,13 +60,10 @@ module MasterDataTool
|
|
|
47
60
|
end
|
|
48
61
|
end
|
|
49
62
|
|
|
50
|
-
# 1. 変更があるかどうかのチェックをスキップした
|
|
51
|
-
# 2. 変更があるかどうかのチェックを実行し、変更がないので処理をスキップした
|
|
52
|
-
# 3. 変更があるかどうかのチェックを実行し、変更があるので実行した
|
|
53
|
-
# の3パターンがある
|
|
54
63
|
def import_all!(master_data_list)
|
|
55
64
|
master_data_list.each do |master_data|
|
|
56
65
|
next unless master_data.loaded?
|
|
66
|
+
next if import_skip_table?(master_data.table_name)
|
|
57
67
|
|
|
58
68
|
report = master_data.import!(dry_run: @dry_run)
|
|
59
69
|
report.print(@report_printer)
|
|
@@ -64,7 +74,7 @@ module MasterDataTool
|
|
|
64
74
|
master_data_list.each do |master_data|
|
|
65
75
|
next if verify_skip_table?(master_data.table_name)
|
|
66
76
|
|
|
67
|
-
report = master_data.verify!(
|
|
77
|
+
report = master_data.verify!(ignore_fail: @dry_run)
|
|
68
78
|
report.print(@report_printer)
|
|
69
79
|
end
|
|
70
80
|
end
|
|
@@ -72,6 +82,8 @@ module MasterDataTool
|
|
|
72
82
|
def save_master_data_statuses!(master_data_list)
|
|
73
83
|
records = []
|
|
74
84
|
master_data_list.each do |master_data|
|
|
85
|
+
next unless master_data.loaded?
|
|
86
|
+
|
|
75
87
|
records << MasterDataTool::MasterDataStatus.build(master_data.csv_path)
|
|
76
88
|
end
|
|
77
89
|
|
|
@@ -89,29 +101,33 @@ module MasterDataTool
|
|
|
89
101
|
end
|
|
90
102
|
|
|
91
103
|
def load_skip_table?(table_name, csv_path)
|
|
92
|
-
return
|
|
93
|
-
|
|
94
|
-
load_skip_table_when_target_changed_table?(table_name, csv_path)
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def load_skip_table_when_target_changed_table?(table_name, csv_path)
|
|
98
|
-
unless @only_import_tables.empty?
|
|
99
|
-
return true if @only_import_tables.exclude?(table_name)
|
|
100
|
-
end
|
|
104
|
+
return true if import_skip_table?(table_name)
|
|
105
|
+
return false unless @skip_no_change
|
|
101
106
|
|
|
102
107
|
!MasterDataTool::MasterDataStatus.master_data_will_change?(csv_path)
|
|
103
108
|
end
|
|
104
109
|
|
|
105
|
-
def
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
@only_import_tables.exclude?(table_name)
|
|
110
|
+
def import_skip_table?(table_name)
|
|
111
|
+
need_skip_table?(table_name, @only_import_tables, @except_import_tables)
|
|
109
112
|
end
|
|
110
113
|
|
|
111
114
|
def verify_skip_table?(table_name)
|
|
112
|
-
|
|
115
|
+
need_skip_table?(table_name, @only_verify_tables, @except_verify_tables)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# 1. onlyを指定した時点でそのリストに含まれるものだけになるべき
|
|
119
|
+
# 2. exceptのリストはどんな状況でも除外されるべき
|
|
120
|
+
# 3. それ以外はすべて実行する
|
|
121
|
+
def need_skip_table?(table_name, only, except)
|
|
122
|
+
only_result = only.presence&.include?(table_name)
|
|
123
|
+
except_result = except.presence&.include?(table_name)
|
|
124
|
+
|
|
125
|
+
# onlyが指定された時点でデフォルトはskipとする
|
|
126
|
+
default = only_result.nil? ? false : true
|
|
127
|
+
return true if except_result == true
|
|
128
|
+
return false if only_result == true
|
|
113
129
|
|
|
114
|
-
|
|
130
|
+
default
|
|
115
131
|
end
|
|
116
132
|
|
|
117
133
|
def extract_master_data_csv_paths
|
|
@@ -117,12 +117,12 @@ module MasterDataTool
|
|
|
117
117
|
end
|
|
118
118
|
end
|
|
119
119
|
|
|
120
|
-
def verify!(
|
|
120
|
+
def verify!(ignore_fail: false)
|
|
121
121
|
MasterDataTool::Report::VerifyReport.new(self).tap do |report|
|
|
122
|
-
@model_klass.all.find_each do |record|
|
|
122
|
+
@model_klass.order(id: :asc).all.find_each do |record|
|
|
123
123
|
valid = record.valid?
|
|
124
124
|
report.append(MasterDataTool::Report::VerifyReport.build_verify_record_report(self, record, valid))
|
|
125
|
-
next if
|
|
125
|
+
next if ignore_fail
|
|
126
126
|
|
|
127
127
|
raise MasterDataTool::VerifyFailed.new("[#{table_name}] id = #{record.id} is invalid") unless valid
|
|
128
128
|
end
|
|
@@ -5,11 +5,6 @@ module MasterDataTool
|
|
|
5
5
|
class PrintAffectedTableReport
|
|
6
6
|
include Core
|
|
7
7
|
|
|
8
|
-
def initialize(master_data)
|
|
9
|
-
super(master_data)
|
|
10
|
-
@reports = []
|
|
11
|
-
end
|
|
12
|
-
|
|
13
8
|
def print(printer)
|
|
14
9
|
printer.print(convert_to_ltsv({operation: :affected_table, table_name: @master_data.table_name}))
|
|
15
10
|
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "lib/master_data_tool/version"
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = "master_data_tool"
|
|
7
|
+
spec.version = MasterDataTool::VERSION
|
|
8
|
+
spec.authors = ["Takahiro Ooishi"]
|
|
9
|
+
spec.email = ["taka0125@gmail.com"]
|
|
10
|
+
|
|
11
|
+
spec.summary = "マスタデータの管理ツール"
|
|
12
|
+
spec.description = "システムが稼働する上で最初から必要なデータ(マスタデータ)を管理するツールです。"
|
|
13
|
+
spec.homepage = "https://github.com/taka0125/master_data_tool"
|
|
14
|
+
spec.required_ruby_version = ">= 2.6.0"
|
|
15
|
+
|
|
16
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
|
17
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
|
18
|
+
|
|
19
|
+
# Specify which files should be added to the gem when it is released.
|
|
20
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
21
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
22
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
|
23
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
spec.bindir = "exe"
|
|
27
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
28
|
+
spec.require_paths = ["lib"]
|
|
29
|
+
|
|
30
|
+
spec.add_development_dependency 'rspec'
|
|
31
|
+
spec.add_development_dependency 'mysql2'
|
|
32
|
+
spec.add_development_dependency 'psych', '~> 3.1'
|
|
33
|
+
spec.add_development_dependency 'appraisal'
|
|
34
|
+
spec.add_development_dependency 'ridgepole'
|
|
35
|
+
spec.add_development_dependency 'database_cleaner-active_record'
|
|
36
|
+
spec.add_development_dependency 'standalone_activerecord_boot_loader'
|
|
37
|
+
|
|
38
|
+
spec.add_dependency 'activerecord', '>= 5.1.7'
|
|
39
|
+
spec.add_dependency 'activesupport'
|
|
40
|
+
spec.add_dependency 'thor'
|
|
41
|
+
spec.add_dependency 'activerecord-import'
|
|
42
|
+
end
|
data/scripts/setup.sh
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -ex
|
|
3
|
+
|
|
4
|
+
CURRENT=$(cd $(dirname $0);pwd)
|
|
5
|
+
|
|
6
|
+
mysql \
|
|
7
|
+
-u ${DB_USERNAME} \
|
|
8
|
+
-h ${DB_HOST} \
|
|
9
|
+
-p${DB_PASSWORD} \
|
|
10
|
+
--port ${DB_PORT} \
|
|
11
|
+
-e "CREATE DATABASE IF NOT EXISTS ${DB_NAME}"
|
|
12
|
+
|
|
13
|
+
bundle exec ridgepole \
|
|
14
|
+
-c ${CURRENT}/../spec/dummy/config/database.yml \
|
|
15
|
+
--apply \
|
|
16
|
+
-f ${CURRENT}/../spec/dummy/db/Schemafile \
|
|
17
|
+
-E test
|
metadata
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: master_data_tool
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Takahiro Ooishi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-02-
|
|
11
|
+
date: 2022-02-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: rspec
|
|
14
|
+
name: rspec
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
@@ -67,7 +67,49 @@ dependencies:
|
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: ridgepole
|
|
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'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: database_cleaner-active_record
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: standalone_activerecord_boot_loader
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: activerecord
|
|
71
113
|
requirement: !ruby/object:Gem::Requirement
|
|
72
114
|
requirements:
|
|
73
115
|
- - ">="
|
|
@@ -80,6 +122,20 @@ dependencies:
|
|
|
80
122
|
- - ">="
|
|
81
123
|
- !ruby/object:Gem::Version
|
|
82
124
|
version: 5.1.7
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: activesupport
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - ">="
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0'
|
|
132
|
+
type: :runtime
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - ">="
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0'
|
|
83
139
|
- !ruby/object:Gem::Dependency
|
|
84
140
|
name: thor
|
|
85
141
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -119,6 +175,7 @@ files:
|
|
|
119
175
|
- ".rspec"
|
|
120
176
|
- Appraisals
|
|
121
177
|
- Gemfile
|
|
178
|
+
- LICENSE
|
|
122
179
|
- README.md
|
|
123
180
|
- Rakefile
|
|
124
181
|
- bin/console
|
|
@@ -126,9 +183,9 @@ files:
|
|
|
126
183
|
- docker-compose.yml
|
|
127
184
|
- exe/master_data_tool
|
|
128
185
|
- gemfiles/.bundle/config
|
|
129
|
-
- gemfiles/
|
|
130
|
-
- gemfiles/
|
|
131
|
-
- gemfiles/
|
|
186
|
+
- gemfiles/activerecord52.gemfile
|
|
187
|
+
- gemfiles/activerecord61.gemfile
|
|
188
|
+
- gemfiles/activerecord70.gemfile
|
|
132
189
|
- lib/generators/master_data_tool/install/install_generator.rb
|
|
133
190
|
- lib/generators/master_data_tool/install/templates/create_master_data_statuses.rb.erb
|
|
134
191
|
- lib/master_data_tool.rb
|
|
@@ -148,6 +205,8 @@ files:
|
|
|
148
205
|
- lib/master_data_tool/report/verify_report.rb
|
|
149
206
|
- lib/master_data_tool/version.rb
|
|
150
207
|
- log/test.log
|
|
208
|
+
- master_data_tool.gemspec
|
|
209
|
+
- scripts/setup.sh
|
|
151
210
|
- sig/master_data_tool.rbs
|
|
152
211
|
homepage: https://github.com/taka0125/master_data_tool
|
|
153
212
|
licenses: []
|
|
@@ -169,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
169
228
|
- !ruby/object:Gem::Version
|
|
170
229
|
version: '0'
|
|
171
230
|
requirements: []
|
|
172
|
-
rubygems_version: 3.
|
|
231
|
+
rubygems_version: 3.2.22
|
|
173
232
|
signing_key:
|
|
174
233
|
specification_version: 4
|
|
175
234
|
summary: マスタデータの管理ツール
|