arxutils_sqlite3 0.1.59 → 0.1.61

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3fe12a6d2e70fa7bd8b2756e9f855bdba38dbe8afceee110a35b8d5922423e4
4
- data.tar.gz: 4492d9e180393bbba47ef444903462ac7f329380620383cd52f4df48ed6796af
3
+ metadata.gz: 17be2bd82bd6e648b09f7e49c16ef003b4c61404796620641a1f7f1a6a63e704
4
+ data.tar.gz: 2407844b80f1b15b74781a71a88f134c1538dc0900cc2a8cd71d8c621e4f4217
5
5
  SHA512:
6
- metadata.gz: e2ae6d7ce1900a90b3f748a5458580942b3c248906c7faa48ebbeaf0d4d8bd7b2c9db67ff582d9eeb8f26c6094a635e9322b01034774a93f7a3dccc0b9763348
7
- data.tar.gz: 9b36ec2adb56b5e6f2e03a1e99c20be60058574855b6a77221b9cae9886015e04a2b7c10aac089640e7a1fe39e0dbf9f4487dce4f81860ba8bd24ad9940abadd
6
+ metadata.gz: 8de44db00668e653da29e044f0b4b3bd25256aa7ae466b6747a3417da40ae081954dd6bf45250ce6ea5978393a55620d6e0c75289c0607f8de690a2aca154024
7
+ data.tar.gz: b5c8de59e6bb28ac0c41ad1e0320ab98982107434141c57a25e030a5261aed9ed0ed940efc6d8a0074a426c76709b167568b342e4332a664d57e53aace842cc6
data/Gemfile CHANGED
@@ -5,34 +5,28 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in arxutils_sqlite3.gemspec
6
6
  gemspec
7
7
 
8
- gem 'simpleoptparse'
9
- # gem "ykutils"
10
- # gem "ykutils" , :path => "C:\Users\ykomi\cur\ruby\ykutils"
11
- # gem "ykutils" , :path => "../ykutils"
12
- # gem "ykutils" , :github => "ykominami/ykutils"
13
- gem 'ykutils', '> 0.1.3'
14
- gem 'ykxutils', '> 0.1.0'
15
- # gem "ykxutils", path: "../ykxutils"
16
-
17
- gem 'activesupport'
18
- # spec.add_runtime_dependency "erb"
19
- # spec.add_runtime_dependency "activerecord", "~> 4.2"
20
8
  gem 'activerecord', '~> 6.1'
21
- gem 'sqlite3'
22
- # spec.add_runtime_dependency "mysql2" , "~> 0.4.1"
23
- # gem "encx"
24
-
25
- # spec.add_development_dependency "bundler", "~> 2.2.10"
9
+ gem 'activesupport'
10
+ gem 'bundler'
26
11
  gem 'rake', '~> 13.0'
27
- gem 'rspec', '~> 3.0'
28
-
29
- gem 'rubocop', '~> 1.7'
30
- gem 'rubocop-rake'
31
- gem 'rubocop-rspec'
12
+ gem 'simpleoptparse'
13
+ gem 'sqlite3'
14
+ gem 'ykutils'
15
+ gem 'ykxutils'
32
16
 
33
17
  group :development do
34
18
  gem 'yard'
35
19
  end
36
20
 
21
+ group :test, optional: true do
22
+ gem 'rspec', '~> 3.0'
23
+ # gem "rspec"
24
+ gem 'power_assert', '~> 1.1.5'
25
+ gem 'rubocop', '~> 1.7'
26
+ gem 'rubocop-performance'
27
+ gem 'rubocop-rake'
28
+ gem 'rubocop-rspec'
29
+ end
30
+
37
31
  # group :test do
38
32
  # end
data/Gemfile.lock CHANGED
@@ -1,9 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- arxutils_sqlite3 (0.1.59)
4
+ arxutils_sqlite3 (0.1.61)
5
5
  activerecord (~> 6.1)
6
6
  activesupport
7
+ bundler
8
+ rake (~> 13.0)
7
9
  simpleoptparse
8
10
  sqlite3
9
11
  ykutils
@@ -39,9 +41,10 @@ GEM
39
41
  parallel (1.22.1)
40
42
  parser (3.1.2.1)
41
43
  ast (~> 2.4.1)
44
+ power_assert (1.1.7)
42
45
  rainbow (3.1.1)
43
46
  rake (13.0.6)
44
- regexp_parser (2.5.0)
47
+ regexp_parser (2.6.0)
45
48
  rexml (3.2.5)
46
49
  rspec (3.11.0)
47
50
  rspec-core (~> 3.11.0)
@@ -68,13 +71,16 @@ GEM
68
71
  unicode-display_width (>= 1.4.0, < 3.0)
69
72
  rubocop-ast (1.21.0)
70
73
  parser (>= 3.1.1.0)
74
+ rubocop-performance (1.15.0)
75
+ rubocop (>= 1.7.0, < 2.0)
76
+ rubocop-ast (>= 0.4.0)
71
77
  rubocop-rake (0.6.0)
72
78
  rubocop (~> 1.0)
73
79
  rubocop-rspec (2.13.2)
74
80
  rubocop (~> 1.33)
75
81
  ruby-progressbar (1.11.0)
76
82
  simpleoptparse (0.1.2)
77
- sqlite3 (1.5.0-x86_64-linux)
83
+ sqlite3 (1.5.2-x86_64-linux)
78
84
  tilt (2.0.11)
79
85
  tzinfo (2.0.5)
80
86
  concurrent-ruby (~> 1.0)
@@ -82,12 +88,12 @@ GEM
82
88
  webrick (1.7.0)
83
89
  yard (0.9.28)
84
90
  webrick (~> 1.7.0)
85
- ykutils (0.1.6)
91
+ ykutils (0.1.7)
86
92
  erubi
87
93
  filex
88
94
  tilt
89
95
  ykxutils (0.1.7)
90
- zeitwerk (2.6.0)
96
+ zeitwerk (2.6.1)
91
97
 
92
98
  PLATFORMS
93
99
  x86_64-linux
@@ -97,16 +103,18 @@ DEPENDENCIES
97
103
  activesupport
98
104
  arxutils_sqlite3!
99
105
  bundler
106
+ power_assert (~> 1.1.5)
100
107
  rake (~> 13.0)
101
108
  rspec (~> 3.0)
102
109
  rubocop (~> 1.7)
110
+ rubocop-performance
103
111
  rubocop-rake
104
112
  rubocop-rspec
105
113
  simpleoptparse
106
114
  sqlite3
107
115
  yard
108
- ykutils (> 0.1.3)
109
- ykxutils (> 0.1.0)
116
+ ykutils
117
+ ykxutils
110
118
 
111
119
  BUNDLED WITH
112
120
  2.3.22
data/Rakefile CHANGED
@@ -1,23 +1,39 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bundler/gem_tasks'
4
- # require "rake/testtask"
5
4
 
6
- # Rake::TestTask.new do |t|
7
- # t.libs << "test"
8
- # end
9
-
10
- # desc "Run test"
11
- # task default: :test
12
-
13
- require 'rspec/core/rake_task'
14
-
15
- RSpec::Core::RakeTask.new(:spec)
16
-
17
- require 'rubocop/rake_task'
18
-
19
- RuboCop::RakeTask.new
20
-
21
- # task default: %i[spec rubocop]
22
-
23
- require 'arxutils_sqlite3/rake_task'
5
+ begin
6
+ require 'rspec/core/rake_task'
7
+ rescue LoadError => e
8
+ puts e.message
9
+ end
10
+
11
+ begin
12
+ RSpec::Core::RakeTask.new(:spec)
13
+ rescue NameError, LoadError => e
14
+ puts e.message
15
+ end
16
+
17
+ begin
18
+ require 'rubocop/rake_task'
19
+ rescue LoadError => e
20
+ puts e.message
21
+ end
22
+
23
+ begin
24
+ RuboCop::RakeTask.new
25
+ rescue NameError, LoadError => e
26
+ puts e.message
27
+ end
28
+
29
+ begin
30
+ require 'arxutils_sqlite3/rake_task'
31
+ rescue LoadError => e
32
+ puts e.message
33
+ end
34
+
35
+ begin
36
+ task default: %i[spec rubocop]
37
+ rescue LoadError => e
38
+ puts e.message
39
+ end
@@ -33,20 +33,21 @@ Gem::Specification.new do |spec|
33
33
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
34
34
  # p spec.executables
35
35
  spec.require_paths = ['lib']
36
- spec.add_runtime_dependency 'activesupport'
37
- # spec.add_runtime_dependency "erb"
38
- # spec.add_runtime_dependency "activerecord", "~> 4.2"
36
+
37
+ spec.add_runtime_dependency 'bundler'
39
38
 
40
39
  spec.add_runtime_dependency 'activerecord', '~> 6.1'
40
+ spec.add_runtime_dependency 'activesupport'
41
+ spec.add_runtime_dependency 'rake', '~> 13.0'
41
42
  spec.add_runtime_dependency 'simpleoptparse'
42
43
  spec.add_runtime_dependency 'sqlite3'
43
44
  spec.add_runtime_dependency 'ykutils'
44
45
  spec.add_runtime_dependency 'ykxutils'
45
- # spec.add_development_dependency "bundler", "~> 2.2.10"
46
- spec.add_development_dependency 'bundler'
47
- spec.add_development_dependency 'rake', '~> 13.0'
46
+
47
+ spec.add_development_dependency 'power_assert', '~> 1.1.5'
48
48
  spec.add_development_dependency 'rspec', '~> 3.0'
49
49
  spec.add_development_dependency 'rubocop', '~> 1.7'
50
+ spec.add_development_dependency 'rubocop-performance'
50
51
  spec.add_development_dependency 'rubocop-rake'
51
52
  spec.add_development_dependency 'rubocop-rspec'
52
53
  spec.add_development_dependency 'yard'
@@ -12,13 +12,13 @@ module Arxutils_Sqlite3
12
12
  # nameというメソッド/アトリビュート(string)を持つ。"'/'を区切り文字として持つ階層を表す文字列
13
13
  # registerメソッドを呼び出す時は、hier_symbolのみを指定してcreate出来なければならない(そうでなければSQLの制約違反発生)
14
14
  attr_reader :base_klass
15
+ # IDの親子関係で階層処理を実現するクラス名(DB中のテーブルに対応するActiveRecordの子クラス)
16
+ # parent_id(integer) , child_id(integer) , leve(integer)というメソッド/アトリビュートを持つ
17
+ attr_reader :hier_klass
15
18
  # '/'が区切り文字の文字列で階層処理を実現するクラスのカレントに対応するクラス名(DB中のテーブルに対応するActiveRecordの子クラス)
16
19
  attr_reader :current_klass
17
20
  # '/'が区切り文字の文字列で階層処理を実現するクラスのインバリッドに対応するクラス名(DB中のテーブルに対応するActiveRecordの子クラス)
18
21
  attr_reader :invalid_klass
19
- # IDの親子関係で階層処理を実現するクラス名(DB中のテーブルに対応するActiveRecordの子クラス)
20
- # parent_id(integer) , child_id(integer) , leve(integer)というメソッド/アトリビュートを持つ
21
- attr_reader :hier_klass
22
22
 
23
23
  # 初期化
24
24
  def initialize(field_name, hier_symbol, _hier_name, base_klass, hier_klass, current_klass, invalid_klass)
@@ -27,7 +27,7 @@ module Arxutils_Sqlite3
27
27
  # '/'が区切り文字の文字列で階層処理を実現するクラスの階層構造を表す文字列を持つメソッド/アトリビュートを表すシンボ
28
28
  @hier_symbol = hier_symbol
29
29
  # '/'が区切り文字の文字列で階層処理を実現するクラスのクラス名(DB中のテーブルに対応するActiveRecordの子クラス)
30
- @base_klass = base_klass
30
+ @base_klass = base_klass
31
31
  # '/'が区切り文字の文字列で階層処理を実現するクラスのカレントに対応するクラス名(DB中のテーブルに対応するActiveRecordの子クラス)
32
32
  @current_klass = current_klass
33
33
  # '/'が区切り文字の文字列で階層処理を実現するクラスのインバリッドに対応するクラス名(DB中のテーブルに対応するActiveRecordの子クラス)
@@ -43,16 +43,19 @@ module Arxutils_Sqlite3
43
43
  id = nil
44
44
  base = @base_klass.find_by({ @hier_symbol => hier })
45
45
  if base
46
- delete_at(base.org_id)
47
- @base_klass.delete_at(base.id)
46
+ delete_at(base.id)
47
+ # @base_klass.delete_at(base.id)
48
+ @base_klass.delete(base.id)
48
49
  end
49
50
  id
50
51
  end
51
52
 
52
53
  def delete_by_id(id)
53
- base = @base_klass.find_by(org_id: id)
54
+ # base = @base_klass.find_by(id: id)
55
+ base = @base_klass.find(id)
54
56
  delete_at(id)
55
57
  @base_klass.delete_at(base.id)
58
+ @base_klass.delete_at(base.id)
56
59
  end
57
60
 
58
61
  # 文字列で指定した階層を移動
@@ -142,15 +145,22 @@ module Arxutils_Sqlite3
142
145
  def delete_at(num)
143
146
  # 子として探す
144
147
  hier = @hier_klass.find_by(child_id: num)
145
- level = hier.level
146
- parent_id = hier.parent_id
147
- # base = @base_klass.find_by(ord_id: num)
148
-
149
- # parent_base = @base_klass.find_by(ord_id: parent_id)
150
- # parent_hier_string = parent_base.__send__ @hier_symbol
148
+ if hier
149
+ level = hier.level
150
+ parent_id = hier.parent_id
151
+ end
151
152
 
153
+ parent = @base_klass.find(num)
154
+ parent_hier = get_name(parent)
152
155
  # 属する子を探す
153
156
  children_hier = @hier_klass.where(parent_id: num)
157
+ return unless children_hier
158
+
159
+ adjust_children_hier(children_hier, level, parent_id, parent_hier)
160
+ end
161
+
162
+ # 子の階層の調整
163
+ def adjust_children_hier(children_hier, level, parent_id, parent_hier)
154
164
  # 属する子の階層レベルを調整する(削除するのでlevel - 1になる)
155
165
  children_hier.map { |x| level_adjust(x, level - 1) }
156
166
  # 属する子の親を、親の親にする
@@ -160,7 +170,7 @@ module Arxutils_Sqlite3
160
170
  end
161
171
  # 属する子のhierを調整する
162
172
  children_hier.map do |x|
163
- child_base = @base_klass.find_by(org_id: x.child_id)
173
+ child_base = @base_klass.find_by(id: x.child_id)
164
174
  name = get_name(child_base)
165
175
  child_base.hier = make_hier(parent_hier, name)
166
176
  child_base.save
@@ -183,14 +193,16 @@ module Arxutils_Sqlite3
183
193
  # 階層を表すデータ構造で指定された階層の下部階層の名前を調整する
184
194
  def hier_adjust(base)
185
195
  parent_hier_string = base.__send__ @hier_symbol
186
- parent_num = base.org_id
196
+ # parent_num = base.org_id
197
+ parent_num = base.id
187
198
 
188
199
  tbl_rows = @hier_klass.where(parent_id: parent_num)
189
200
  return if tbl_rows.size.zero?
190
201
 
191
202
  tbl_rows.map do |x|
192
203
  child_num = x.child_id
193
- item_row = @base_klass.find_by(org_id: child_num)
204
+ # item_row = @base_klass.find_by(org_id: child_num)
205
+ item_row = @base_klass.find(child_num)
194
206
  item_row.hier = make_hier(parent_hier_string, get_name(item_row))
195
207
  item_row.save
196
208
  hier_adjust(item_row)
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Arxutils_Sqlite3
4
4
  # バージョン番号
5
- VERSION = '0.1.59'
5
+ VERSION = '0.1.61'
6
6
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arxutils_sqlite3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.59
4
+ version: 0.1.61
5
5
  platform: ruby
6
6
  authors:
7
7
  - yasuo kominami
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-01 00:00:00.000000000 Z
11
+ date: 2022-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activesupport
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '6.1'
41
41
  - !ruby/object:Gem::Dependency
42
- name: simpleoptparse
42
+ name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,21 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: sqlite3
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '13.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '13.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simpleoptparse
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ">="
@@ -67,7 +81,7 @@ dependencies:
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
- name: ykutils
84
+ name: sqlite3
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - ">="
@@ -81,7 +95,7 @@ dependencies:
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
- name: ykxutils
98
+ name: ykutils
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -95,13 +109,13 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: bundler
112
+ name: ykxutils
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - ">="
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
- type: :development
118
+ type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
@@ -109,19 +123,19 @@ dependencies:
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
- name: rake
126
+ name: power_assert
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '13.0'
131
+ version: 1.1.5
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '13.0'
138
+ version: 1.1.5
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: rspec
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +164,20 @@ dependencies:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
166
  version: '1.7'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rubocop-performance
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'
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: rubocop-rake
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -250,7 +278,7 @@ licenses:
250
278
  metadata:
251
279
  homepage_uri: https://ykominami.github.io/arxutils_sqlite3/
252
280
  rubygems_mfa_required: 'true'
253
- post_install_message:
281
+ post_install_message:
254
282
  rdoc_options: []
255
283
  require_paths:
256
284
  - lib
@@ -265,8 +293,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
265
293
  - !ruby/object:Gem::Version
266
294
  version: '0'
267
295
  requirements: []
268
- rubygems_version: 3.3.7
269
- signing_key:
296
+ rubygems_version: 3.1.6
297
+ signing_key:
270
298
  specification_version: 4
271
299
  summary: utility functions for ActiveRecord.
272
300
  test_files: []