kandata 0.3.4 → 0.4.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/.circleci/config.yml +3 -3
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -1
- data/Gemfile +0 -3
- data/Guardfile +1 -1
- data/exe/kandata +1 -1
- data/kandata.gemspec +21 -12
- data/lib/kandata/active_record.rb +2 -2
- data/lib/kandata/cli.rb +2 -2
- data/lib/kandata/database.rb +6 -3
- data/lib/kandata/tsv_file.rb +1 -0
- data/lib/kandata/version.rb +1 -1
- metadata +64 -31
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2f3d863acb9605090ab1242e8f4ea5c4426f16d00d0ddc68db2435010ad2ee70
|
|
4
|
+
data.tar.gz: 47043a6fef183709ad0a9e0e6fe0ea482d45cb7ea4111c1647996d03551cc858
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 284e1aa98ba6358b2511ccaeb426c1f1a05994c73b05bf47e3e1a9cbf769c4bfb724842ca4bc02d7dc88101be7b90adc5744712d6e61ae2a8094658a6175669e
|
|
7
|
+
data.tar.gz: 9373e9091c00712f81e2122aa8ae494923512920476f9234b624e1bc619c269f23c79c205e8ade0823b4861192c49377be4ae7928638b3a8554fcf478a7cbc83
|
data/.circleci/config.yml
CHANGED
|
@@ -27,7 +27,7 @@ jobs:
|
|
|
27
27
|
# To see the list of pre-built images that CircleCI provides for most common languages see
|
|
28
28
|
# https://circleci.com/docs/2.0/circleci-images/
|
|
29
29
|
docker:
|
|
30
|
-
- image: cimg/ruby:
|
|
30
|
+
- image: cimg/ruby:3.3
|
|
31
31
|
environment:
|
|
32
32
|
LANG: ja_JP.UTF-8
|
|
33
33
|
LC_ALL: en_US.UTF-8
|
|
@@ -59,8 +59,8 @@ jobs:
|
|
|
59
59
|
- v1-dep-
|
|
60
60
|
# The following line was run implicitly in your 1.0 builds based on what CircleCI inferred about the structure of your project. In 2.0 you need to be explicit about which commands should be run. In some cases you can discard inferred commands if they are not relevant to your project.
|
|
61
61
|
- run: echo -e "export RAILS_ENV=test\nexport RACK_ENV=test" >> $BASH_ENV
|
|
62
|
-
- run:
|
|
63
|
-
|
|
62
|
+
- run: bundle config set path vendor/bundle
|
|
63
|
+
- run: bundle check || bundle install --jobs=4 --retry=3
|
|
64
64
|
# Save dependency cache
|
|
65
65
|
- save_cache:
|
|
66
66
|
key: v1-dep-{{ .Branch }}-{{ epoch }}
|
data/.rubocop.yml
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3.3.7
|
data/Gemfile
CHANGED
|
@@ -6,9 +6,6 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
|
|
6
6
|
# Specify your gem's dependencies in kandata.gemspec
|
|
7
7
|
gemspec
|
|
8
8
|
|
|
9
|
-
# ffi >= 1.17 は Ruby 3.0 以上を要求するため、Ruby 2.7 との互換性のためバージョンを固定
|
|
10
|
-
gem 'ffi', '~> 1.16.0'
|
|
11
|
-
|
|
12
9
|
group :development do
|
|
13
10
|
gem 'guard'
|
|
14
11
|
gem 'guard-rspec'
|
data/Guardfile
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
#
|
|
17
17
|
# and, you'll have to watch "config/Guardfile" instead of "Guardfile"
|
|
18
18
|
|
|
19
|
-
#
|
|
19
|
+
# NOTE: The cmd option is now required due to the increasing number of ways
|
|
20
20
|
# rspec may be run, below are examples of the most common uses.
|
|
21
21
|
# * bundler: 'bundle exec rspec'
|
|
22
22
|
# * bundler binstubs: 'bin/rspec'
|
data/exe/kandata
CHANGED
data/kandata.gemspec
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
|
|
2
1
|
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
# NOTE: require 'kandata/version' してしまうと、
|
|
4
|
+
# bundler/setup 経由で spec_helper より先に lib/kandata/version.rb が
|
|
5
|
+
# load されてしまい、simplecov のカバレッジ計測対象から漏れる。
|
|
6
|
+
# そのため version 文字列はファイルから直接抜き出している。
|
|
7
|
+
version_file = File.expand_path('lib/kandata/version.rb', __dir__)
|
|
8
|
+
version_match = File.read(version_file).match(/VERSION\s*=\s*['"]([^'"]+)['"]/)
|
|
9
|
+
raise "Failed to extract VERSION from #{version_file}" unless version_match
|
|
10
|
+
|
|
11
|
+
version = version_match[1]
|
|
6
12
|
|
|
7
13
|
Gem::Specification.new do |spec|
|
|
8
14
|
spec.name = 'kandata'
|
|
9
|
-
spec.version =
|
|
15
|
+
spec.version = version
|
|
10
16
|
spec.authors = ['Yuya TAMANO']
|
|
11
17
|
spec.email = ['everfree.main@gmail.com']
|
|
12
18
|
|
|
13
19
|
spec.summary = 'Provides function to import TSV file to MySQL table without create table DDL'
|
|
14
20
|
spec.homepage = 'https://github.com/tamano/kandata'
|
|
21
|
+
spec.license = nil
|
|
22
|
+
spec.required_ruby_version = '>= 3.0'
|
|
15
23
|
|
|
16
24
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
17
25
|
f.match(%r{^(test|spec|features)/})
|
|
@@ -20,14 +28,15 @@ Gem::Specification.new do |spec|
|
|
|
20
28
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
29
|
spec.require_paths = ['lib']
|
|
22
30
|
|
|
23
|
-
spec.add_development_dependency 'bundler', '>=
|
|
31
|
+
spec.add_development_dependency 'bundler', '>= 2.0', '< 5.0'
|
|
24
32
|
spec.add_development_dependency 'rake', '~> 10.0'
|
|
25
|
-
spec.add_development_dependency 'reek'
|
|
33
|
+
spec.add_development_dependency 'reek', '~> 6.0'
|
|
26
34
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
27
|
-
spec.add_development_dependency 'rubocop', '
|
|
28
|
-
spec.add_development_dependency 'simplecov'
|
|
35
|
+
spec.add_development_dependency 'rubocop', '~> 1.0'
|
|
36
|
+
spec.add_development_dependency 'simplecov', '>= 0.22', '< 1.0'
|
|
29
37
|
|
|
30
|
-
spec.add_dependency 'activerecord'
|
|
31
|
-
spec.add_dependency 'mysql2'
|
|
32
|
-
spec.add_dependency '
|
|
38
|
+
spec.add_dependency 'activerecord', '>= 6.0', '< 9.0'
|
|
39
|
+
spec.add_dependency 'mysql2', '~> 0.5'
|
|
40
|
+
spec.add_dependency 'nkf', '~> 0.2'
|
|
41
|
+
spec.add_dependency 'thor', '~> 1.0'
|
|
33
42
|
end
|
|
@@ -5,8 +5,8 @@ class Kandata
|
|
|
5
5
|
class ActiveRecord < ActiveRecord::Base
|
|
6
6
|
def self.connect
|
|
7
7
|
establish_connection(
|
|
8
|
-
adapter:
|
|
9
|
-
host:
|
|
8
|
+
adapter: 'mysql2',
|
|
9
|
+
host: Kandata::Database::ConnectionInfo.host,
|
|
10
10
|
username: Kandata::Database::ConnectionInfo.user_name,
|
|
11
11
|
database: Kandata::Database::ConnectionInfo.database_name
|
|
12
12
|
)
|
data/lib/kandata/cli.rb
CHANGED
|
@@ -13,8 +13,8 @@ class Kandata
|
|
|
13
13
|
method_option :force, type: :boolean, aliases: '-f', default: false, desc: '既にテーブルがある場合、一度削除して作成し直す'
|
|
14
14
|
def load_tsv(filename)
|
|
15
15
|
puts Kandata.load_tsv(filename, options['force'])
|
|
16
|
-
rescue StandardError =>
|
|
17
|
-
puts "ERROR: #{
|
|
16
|
+
rescue StandardError => e
|
|
17
|
+
puts "ERROR: #{e.message}"
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
end
|
data/lib/kandata/database.rb
CHANGED
|
@@ -34,9 +34,12 @@ class Kandata
|
|
|
34
34
|
|
|
35
35
|
begin
|
|
36
36
|
client.query("SHOW CREATE DATABASE `#{database_name}`")
|
|
37
|
-
rescue Mysql2::Error =>
|
|
38
|
-
raise
|
|
37
|
+
rescue Mysql2::Error => e
|
|
38
|
+
raise e unless e.message == "Unknown database '#{database_name}'"
|
|
39
|
+
|
|
39
40
|
client.query("CREATE DATABASE `#{database_name}`")
|
|
41
|
+
ensure
|
|
42
|
+
client.close
|
|
40
43
|
end
|
|
41
44
|
end
|
|
42
45
|
|
|
@@ -51,7 +54,7 @@ class Kandata
|
|
|
51
54
|
columns.delete('id')
|
|
52
55
|
|
|
53
56
|
columns_text = columns.map { |column| "#{column} TEXT" }.join(',')
|
|
54
|
-
columns_text =
|
|
57
|
+
columns_text = "id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,#{columns_text}"
|
|
55
58
|
|
|
56
59
|
query("CREATE TABLE `#{database_name}`.`#{table_name}` (#{columns_text})")
|
|
57
60
|
end
|
data/lib/kandata/tsv_file.rb
CHANGED
data/lib/kandata/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kandata
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yuya TAMANO
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-05-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,14 +16,20 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '2.0'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '5.0'
|
|
20
23
|
type: :development
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
27
|
- - ">="
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
29
|
+
version: '2.0'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '5.0'
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: rake
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -42,16 +48,16 @@ dependencies:
|
|
|
42
48
|
name: reek
|
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
|
44
50
|
requirements:
|
|
45
|
-
- - "
|
|
51
|
+
- - "~>"
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
53
|
+
version: '6.0'
|
|
48
54
|
type: :development
|
|
49
55
|
prerelease: false
|
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
57
|
requirements:
|
|
52
|
-
- - "
|
|
58
|
+
- - "~>"
|
|
53
59
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
60
|
+
version: '6.0'
|
|
55
61
|
- !ruby/object:Gem::Dependency
|
|
56
62
|
name: rspec
|
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -70,73 +76,99 @@ dependencies:
|
|
|
70
76
|
name: rubocop
|
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
|
72
78
|
requirements:
|
|
73
|
-
- - "
|
|
79
|
+
- - "~>"
|
|
74
80
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0
|
|
81
|
+
version: '1.0'
|
|
76
82
|
type: :development
|
|
77
83
|
prerelease: false
|
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
85
|
requirements:
|
|
80
|
-
- - "
|
|
86
|
+
- - "~>"
|
|
81
87
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0
|
|
88
|
+
version: '1.0'
|
|
83
89
|
- !ruby/object:Gem::Dependency
|
|
84
90
|
name: simplecov
|
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
|
86
92
|
requirements:
|
|
87
93
|
- - ">="
|
|
88
94
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0'
|
|
95
|
+
version: '0.22'
|
|
96
|
+
- - "<"
|
|
97
|
+
- !ruby/object:Gem::Version
|
|
98
|
+
version: '1.0'
|
|
90
99
|
type: :development
|
|
91
100
|
prerelease: false
|
|
92
101
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
102
|
requirements:
|
|
94
103
|
- - ">="
|
|
95
104
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0'
|
|
105
|
+
version: '0.22'
|
|
106
|
+
- - "<"
|
|
107
|
+
- !ruby/object:Gem::Version
|
|
108
|
+
version: '1.0'
|
|
97
109
|
- !ruby/object:Gem::Dependency
|
|
98
110
|
name: activerecord
|
|
99
111
|
requirement: !ruby/object:Gem::Requirement
|
|
100
112
|
requirements:
|
|
101
113
|
- - ">="
|
|
102
114
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0'
|
|
115
|
+
version: '6.0'
|
|
116
|
+
- - "<"
|
|
117
|
+
- !ruby/object:Gem::Version
|
|
118
|
+
version: '9.0'
|
|
104
119
|
type: :runtime
|
|
105
120
|
prerelease: false
|
|
106
121
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
122
|
requirements:
|
|
108
123
|
- - ">="
|
|
109
124
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
125
|
+
version: '6.0'
|
|
126
|
+
- - "<"
|
|
127
|
+
- !ruby/object:Gem::Version
|
|
128
|
+
version: '9.0'
|
|
111
129
|
- !ruby/object:Gem::Dependency
|
|
112
130
|
name: mysql2
|
|
113
131
|
requirement: !ruby/object:Gem::Requirement
|
|
114
132
|
requirements:
|
|
115
|
-
- - "
|
|
133
|
+
- - "~>"
|
|
116
134
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0'
|
|
135
|
+
version: '0.5'
|
|
118
136
|
type: :runtime
|
|
119
137
|
prerelease: false
|
|
120
138
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
139
|
requirements:
|
|
122
|
-
- - "
|
|
140
|
+
- - "~>"
|
|
123
141
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
142
|
+
version: '0.5'
|
|
143
|
+
- !ruby/object:Gem::Dependency
|
|
144
|
+
name: nkf
|
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
|
146
|
+
requirements:
|
|
147
|
+
- - "~>"
|
|
148
|
+
- !ruby/object:Gem::Version
|
|
149
|
+
version: '0.2'
|
|
150
|
+
type: :runtime
|
|
151
|
+
prerelease: false
|
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
153
|
+
requirements:
|
|
154
|
+
- - "~>"
|
|
155
|
+
- !ruby/object:Gem::Version
|
|
156
|
+
version: '0.2'
|
|
125
157
|
- !ruby/object:Gem::Dependency
|
|
126
158
|
name: thor
|
|
127
159
|
requirement: !ruby/object:Gem::Requirement
|
|
128
160
|
requirements:
|
|
129
|
-
- - "
|
|
161
|
+
- - "~>"
|
|
130
162
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: '0'
|
|
163
|
+
version: '1.0'
|
|
132
164
|
type: :runtime
|
|
133
165
|
prerelease: false
|
|
134
166
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
167
|
requirements:
|
|
136
|
-
- - "
|
|
168
|
+
- - "~>"
|
|
137
169
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: '0'
|
|
139
|
-
description:
|
|
170
|
+
version: '1.0'
|
|
171
|
+
description:
|
|
140
172
|
email:
|
|
141
173
|
- everfree.main@gmail.com
|
|
142
174
|
executables:
|
|
@@ -169,9 +201,10 @@ files:
|
|
|
169
201
|
- lib/kandata/tsv_file.rb
|
|
170
202
|
- lib/kandata/version.rb
|
|
171
203
|
homepage: https://github.com/tamano/kandata
|
|
172
|
-
licenses:
|
|
204
|
+
licenses:
|
|
205
|
+
-
|
|
173
206
|
metadata: {}
|
|
174
|
-
post_install_message:
|
|
207
|
+
post_install_message:
|
|
175
208
|
rdoc_options: []
|
|
176
209
|
require_paths:
|
|
177
210
|
- lib
|
|
@@ -179,15 +212,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
179
212
|
requirements:
|
|
180
213
|
- - ">="
|
|
181
214
|
- !ruby/object:Gem::Version
|
|
182
|
-
version: '0'
|
|
215
|
+
version: '3.0'
|
|
183
216
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
184
217
|
requirements:
|
|
185
218
|
- - ">="
|
|
186
219
|
- !ruby/object:Gem::Version
|
|
187
220
|
version: '0'
|
|
188
221
|
requirements: []
|
|
189
|
-
rubygems_version: 3.
|
|
190
|
-
signing_key:
|
|
222
|
+
rubygems_version: 3.5.22
|
|
223
|
+
signing_key:
|
|
191
224
|
specification_version: 4
|
|
192
225
|
summary: Provides function to import TSV file to MySQL table without create table
|
|
193
226
|
DDL
|