super_tools 4.0.1 → 4.0.2
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/.github/workflows/publish.yml +118 -0
- data/.github/workflows/test.yml +10 -0
- data/Appraisals +24 -0
- data/Gemfile.lock +12 -5
- data/gemfiles/.bundle/config +1 -0
- data/gemfiles/ruby_3.3_rails_8.0.gemfile +9 -0
- data/gemfiles/ruby_3.3_rails_8.1.gemfile +9 -0
- data/gemfiles/ruby_3.4_rails_8.0.gemfile +9 -0
- data/gemfiles/ruby_3.4_rails_8.1.gemfile +9 -0
- data/lib/super_tools/version.rb +1 -1
- data/super_tools.gemspec +3 -2
- metadata +34 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 11b6465ef1039a90639e547c72ab685b1e3d840fa80764bfebcf9107c7566ad3
|
|
4
|
+
data.tar.gz: 0da0c85d12729f52be820e06fbca0b470e69cc028ff6f7da1931058ef633c6b5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fde641009c70f4dd521c275f3a2ad613b77b4a1b6191354f847d2938698c5b3c1586b767bf6fbe8e83c6e29bb7d5857483a4110805cd10879551c7a1b742fbd3
|
|
7
|
+
data.tar.gz: d6423fbb5a62f446933f50dd7345ad340fcde7f3594ed63faa3500678ee05f29db94ba39b58df016335d1c1c5a575bd65d13b9cd684e0b3d9b1eba972a4f8b93
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
name: Publish gem
|
|
2
|
+
|
|
3
|
+
# master 上 gemspec 版本號尚未發佈到 rubygems.org 時,自動以 Trusted Publishing (OIDC) 發佈。
|
|
4
|
+
# 版本已存在則跳過;不使用任何儲存的 RubyGems API key。
|
|
5
|
+
on:
|
|
6
|
+
push:
|
|
7
|
+
branches:
|
|
8
|
+
- master
|
|
9
|
+
workflow_dispatch:
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
|
|
14
|
+
concurrency:
|
|
15
|
+
group: publish-gem-${{ github.repository }}
|
|
16
|
+
cancel-in-progress: false
|
|
17
|
+
|
|
18
|
+
env:
|
|
19
|
+
# 與 test.yml 的 Ruby 3.4 / Rails 8.1 矩陣一致(根目錄 Gemfile.lock 的 nokogiri 1.15.7 不支援 Ruby >= 3.3)
|
|
20
|
+
RUBY_VERSION: '3.4.11'
|
|
21
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/ruby_3.4_rails_8.1.gemfile
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
check:
|
|
25
|
+
name: Check version on rubygems.org
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
outputs:
|
|
28
|
+
should_publish: ${{ steps.check.outputs.should_publish }}
|
|
29
|
+
gem_name: ${{ steps.spec.outputs.name }}
|
|
30
|
+
gem_version: ${{ steps.spec.outputs.version }}
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
33
|
+
with:
|
|
34
|
+
persist-credentials: false
|
|
35
|
+
|
|
36
|
+
- uses: ruby/setup-ruby@b1da4809b005e0178fe08a1d57317bffc00b7b4c # v1.332.0
|
|
37
|
+
with:
|
|
38
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
39
|
+
|
|
40
|
+
- name: Read gem name and version from gemspec
|
|
41
|
+
id: spec
|
|
42
|
+
run: |
|
|
43
|
+
ruby -e 'spec = Gem::Specification.load(Dir["*.gemspec"].first) or abort("cannot load gemspec"); puts "name=#{spec.name}"; puts "version=#{spec.version}"' >> "$GITHUB_OUTPUT"
|
|
44
|
+
cat "$GITHUB_OUTPUT"
|
|
45
|
+
|
|
46
|
+
- name: Check whether this version already exists on rubygems.org
|
|
47
|
+
id: check
|
|
48
|
+
env:
|
|
49
|
+
GEM_NAME: ${{ steps.spec.outputs.name }}
|
|
50
|
+
GEM_VERSION: ${{ steps.spec.outputs.version }}
|
|
51
|
+
run: |
|
|
52
|
+
set -euo pipefail
|
|
53
|
+
status=$(curl -sS -o versions.json -w '%{http_code}' "https://rubygems.org/api/v1/versions/${GEM_NAME}.json")
|
|
54
|
+
if [ "$status" = "404" ]; then
|
|
55
|
+
echo "Gem ${GEM_NAME} not found on rubygems.org; will publish."
|
|
56
|
+
echo "should_publish=true" >> "$GITHUB_OUTPUT"
|
|
57
|
+
exit 0
|
|
58
|
+
fi
|
|
59
|
+
if [ "$status" != "200" ]; then
|
|
60
|
+
echo "::error::rubygems.org API returned HTTP ${status}"
|
|
61
|
+
exit 1
|
|
62
|
+
fi
|
|
63
|
+
if jq -e --arg v "$GEM_VERSION" 'any(.[]; .number == $v)' versions.json > /dev/null; then
|
|
64
|
+
echo "${GEM_NAME} ${GEM_VERSION} already on rubygems.org; skip publish."
|
|
65
|
+
echo "should_publish=false" >> "$GITHUB_OUTPUT"
|
|
66
|
+
else
|
|
67
|
+
echo "${GEM_NAME} ${GEM_VERSION} not on rubygems.org yet; will publish."
|
|
68
|
+
echo "should_publish=true" >> "$GITHUB_OUTPUT"
|
|
69
|
+
fi
|
|
70
|
+
|
|
71
|
+
test:
|
|
72
|
+
name: Test (Ruby 3.4 / Rails 8.1)
|
|
73
|
+
needs: check
|
|
74
|
+
if: needs.check.outputs.should_publish == 'true'
|
|
75
|
+
runs-on: ubuntu-latest
|
|
76
|
+
steps:
|
|
77
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
78
|
+
with:
|
|
79
|
+
persist-credentials: false
|
|
80
|
+
|
|
81
|
+
- uses: ruby/setup-ruby@b1da4809b005e0178fe08a1d57317bffc00b7b4c # v1.332.0
|
|
82
|
+
with:
|
|
83
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
84
|
+
bundler-cache: true
|
|
85
|
+
|
|
86
|
+
- run: bundle exec rake t
|
|
87
|
+
|
|
88
|
+
publish:
|
|
89
|
+
name: Publish ${{ needs.check.outputs.gem_name }} ${{ needs.check.outputs.gem_version }}
|
|
90
|
+
needs: [check, test]
|
|
91
|
+
if: needs.check.outputs.should_publish == 'true' && github.ref == 'refs/heads/master'
|
|
92
|
+
runs-on: ubuntu-latest
|
|
93
|
+
environment: gem-publish
|
|
94
|
+
permissions:
|
|
95
|
+
id-token: write # Trusted Publishing (OIDC)
|
|
96
|
+
contents: write # rake release 推送 vX.Y.Z tag
|
|
97
|
+
steps:
|
|
98
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
99
|
+
with:
|
|
100
|
+
persist-credentials: false
|
|
101
|
+
|
|
102
|
+
- uses: ruby/setup-ruby@b1da4809b005e0178fe08a1d57317bffc00b7b4c # v1.332.0
|
|
103
|
+
with:
|
|
104
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
105
|
+
bundler-cache: true
|
|
106
|
+
|
|
107
|
+
# setup-ruby 的 bundler-cache 會把 BUNDLE_PATH 等設定寫進已被 git 追蹤的
|
|
108
|
+
# gemfiles/.bundle/config,導致 rake release 的 guard_clean 判定工作目錄不乾淨。
|
|
109
|
+
# 這只是 CI 執行時的本機設定,不屬於發佈內容,故標記為 assume-unchanged。
|
|
110
|
+
- name: Ignore CI-only bundler config change
|
|
111
|
+
run: |
|
|
112
|
+
git status --porcelain
|
|
113
|
+
git update-index --assume-unchanged gemfiles/.bundle/config
|
|
114
|
+
git status --porcelain
|
|
115
|
+
|
|
116
|
+
# 透過 rubygems/configure-rubygems-credentials 取得短效 OIDC token,
|
|
117
|
+
# 再執行 bundle exec rake release(build、建立並推送 vX.Y.Z tag、push gem)
|
|
118
|
+
- uses: rubygems/release-gem@7f9650160c1a4e7989fdc9855807bdbd421d8b6b # v1.4.1
|
data/.github/workflows/test.yml
CHANGED
|
@@ -30,6 +30,16 @@ jobs:
|
|
|
30
30
|
gemfile: gemfiles/ruby_3.1_rails_6.gemfile
|
|
31
31
|
- ruby: '3.1.7'
|
|
32
32
|
gemfile: gemfiles/ruby_3.1_rails_7.gemfile
|
|
33
|
+
# Ruby 3.3.12 + Rails 8
|
|
34
|
+
- ruby: '3.3.12'
|
|
35
|
+
gemfile: gemfiles/ruby_3.3_rails_8.0.gemfile
|
|
36
|
+
- ruby: '3.3.12'
|
|
37
|
+
gemfile: gemfiles/ruby_3.3_rails_8.1.gemfile
|
|
38
|
+
# Ruby 3.4.11 + Rails 8
|
|
39
|
+
- ruby: '3.4.11'
|
|
40
|
+
gemfile: gemfiles/ruby_3.4_rails_8.0.gemfile
|
|
41
|
+
- ruby: '3.4.11'
|
|
42
|
+
gemfile: gemfiles/ruby_3.4_rails_8.1.gemfile
|
|
33
43
|
env:
|
|
34
44
|
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
|
35
45
|
steps:
|
data/Appraisals
CHANGED
|
@@ -27,3 +27,27 @@ end
|
|
|
27
27
|
appraise "ruby-3.1-rails-7" do
|
|
28
28
|
gem "rails", "~> 7.0.0"
|
|
29
29
|
end
|
|
30
|
+
|
|
31
|
+
# Ruby 3.3 with Rails 8.0.5.1
|
|
32
|
+
appraise "ruby-3.3-rails-8.0" do
|
|
33
|
+
gem "rails", "8.0.5.1"
|
|
34
|
+
gem "sqlite3", ">= 1.7", "< 3"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Ruby 3.3 with Rails 8.1.3.1
|
|
38
|
+
appraise "ruby-3.3-rails-8.1" do
|
|
39
|
+
gem "rails", "8.1.3.1"
|
|
40
|
+
gem "sqlite3", ">= 1.7", "< 3"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Ruby 3.4 with Rails 8.0.5.1
|
|
44
|
+
appraise "ruby-3.4-rails-8.0" do
|
|
45
|
+
gem "rails", "8.0.5.1"
|
|
46
|
+
gem "sqlite3", ">= 1.7", "< 3"
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Ruby 3.4 with Rails 8.1.3.1
|
|
50
|
+
appraise "ruby-3.4-rails-8.1" do
|
|
51
|
+
gem "rails", "8.1.3.1"
|
|
52
|
+
gem "sqlite3", ">= 1.7", "< 3"
|
|
53
|
+
end
|
data/Gemfile.lock
CHANGED
|
@@ -10,13 +10,14 @@ GIT
|
|
|
10
10
|
PATH
|
|
11
11
|
remote: .
|
|
12
12
|
specs:
|
|
13
|
-
super_tools (4.0.
|
|
13
|
+
super_tools (4.0.2)
|
|
14
|
+
csv
|
|
14
15
|
dry-logic (= 1.2.0)
|
|
15
16
|
dry-types (= 1.5.1)
|
|
16
17
|
fast_excel
|
|
17
18
|
forwardable
|
|
18
19
|
nokogiri (>= 1.6)
|
|
19
|
-
rails (>= 6.1, < 8)
|
|
20
|
+
rails (>= 6.1, < 8.2)
|
|
20
21
|
reform (= 2.6.2)
|
|
21
22
|
reform-rails
|
|
22
23
|
roo
|
|
@@ -103,6 +104,7 @@ GEM
|
|
|
103
104
|
descendants_tracker (~> 0.0.1)
|
|
104
105
|
concurrent-ruby (1.3.6)
|
|
105
106
|
crass (1.0.6)
|
|
107
|
+
csv (3.3.6)
|
|
106
108
|
date (3.5.1)
|
|
107
109
|
declarative (0.0.20)
|
|
108
110
|
descendants_tracker (0.0.4)
|
|
@@ -151,6 +153,7 @@ GEM
|
|
|
151
153
|
marcel (1.1.0)
|
|
152
154
|
method_source (1.1.0)
|
|
153
155
|
mini_mime (1.1.5)
|
|
156
|
+
mini_portile2 (2.8.9)
|
|
154
157
|
minitest (5.26.1)
|
|
155
158
|
net-imap (0.4.23)
|
|
156
159
|
date
|
|
@@ -162,6 +165,9 @@ GEM
|
|
|
162
165
|
net-smtp (0.5.1)
|
|
163
166
|
net-protocol
|
|
164
167
|
nio4r (2.7.5)
|
|
168
|
+
nokogiri (1.15.7)
|
|
169
|
+
mini_portile2 (~> 2.8.2)
|
|
170
|
+
racc (~> 1.4)
|
|
165
171
|
nokogiri (1.15.7-arm64-darwin)
|
|
166
172
|
racc (~> 1.4)
|
|
167
173
|
nokogiri (1.15.7-x86_64-linux)
|
|
@@ -232,7 +238,8 @@ GEM
|
|
|
232
238
|
actionpack (>= 6.1)
|
|
233
239
|
activesupport (>= 6.1)
|
|
234
240
|
sprockets (>= 3.0.0)
|
|
235
|
-
sqlite3 (1.
|
|
241
|
+
sqlite3 (1.7.3-arm64-darwin)
|
|
242
|
+
sqlite3 (1.7.3-x86_64-linux)
|
|
236
243
|
thor (1.2.1)
|
|
237
244
|
thread_safe (0.3.6)
|
|
238
245
|
timeout (0.6.0)
|
|
@@ -265,9 +272,9 @@ DEPENDENCIES
|
|
|
265
272
|
rake (>= 12.2)
|
|
266
273
|
reform-rails!
|
|
267
274
|
shoulda-context
|
|
268
|
-
sqlite3 (
|
|
275
|
+
sqlite3 (>= 1.4, < 2)
|
|
269
276
|
super_tools!
|
|
270
277
|
warning
|
|
271
278
|
|
|
272
279
|
BUNDLED WITH
|
|
273
|
-
2.
|
|
280
|
+
2.7.2
|
data/gemfiles/.bundle/config
CHANGED
data/lib/super_tools/version.rb
CHANGED
data/super_tools.gemspec
CHANGED
|
@@ -28,11 +28,12 @@ Gem::Specification.new do |spec|
|
|
|
28
28
|
spec.add_development_dependency "minitest", "~> 5.0"
|
|
29
29
|
spec.add_development_dependency "shoulda-context"
|
|
30
30
|
spec.add_development_dependency "warning"
|
|
31
|
-
spec.add_development_dependency "sqlite3", "1.4
|
|
31
|
+
spec.add_development_dependency "sqlite3", ">= 1.4", "< 2"
|
|
32
32
|
spec.add_development_dependency "appraisal"
|
|
33
33
|
|
|
34
|
-
spec.add_dependency "rails", ">= 6.1", "< 8"
|
|
34
|
+
spec.add_dependency "rails", ">= 6.1", "< 8.2"
|
|
35
35
|
spec.add_dependency "nokogiri", ">= 1.6"
|
|
36
|
+
spec.add_dependency "csv"
|
|
36
37
|
spec.add_dependency "fast_excel"
|
|
37
38
|
spec.add_dependency "roo"
|
|
38
39
|
spec.add_dependency "roo-xls", "1.2.0"
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: super_tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.0.
|
|
4
|
+
version: 4.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- eddie
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: bundler
|
|
@@ -90,16 +89,22 @@ dependencies:
|
|
|
90
89
|
name: sqlite3
|
|
91
90
|
requirement: !ruby/object:Gem::Requirement
|
|
92
91
|
requirements:
|
|
93
|
-
- -
|
|
92
|
+
- - ">="
|
|
93
|
+
- !ruby/object:Gem::Version
|
|
94
|
+
version: '1.4'
|
|
95
|
+
- - "<"
|
|
94
96
|
- !ruby/object:Gem::Version
|
|
95
|
-
version:
|
|
97
|
+
version: '2'
|
|
96
98
|
type: :development
|
|
97
99
|
prerelease: false
|
|
98
100
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
101
|
requirements:
|
|
100
|
-
- -
|
|
102
|
+
- - ">="
|
|
103
|
+
- !ruby/object:Gem::Version
|
|
104
|
+
version: '1.4'
|
|
105
|
+
- - "<"
|
|
101
106
|
- !ruby/object:Gem::Version
|
|
102
|
-
version:
|
|
107
|
+
version: '2'
|
|
103
108
|
- !ruby/object:Gem::Dependency
|
|
104
109
|
name: appraisal
|
|
105
110
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -123,7 +128,7 @@ dependencies:
|
|
|
123
128
|
version: '6.1'
|
|
124
129
|
- - "<"
|
|
125
130
|
- !ruby/object:Gem::Version
|
|
126
|
-
version: '8'
|
|
131
|
+
version: '8.2'
|
|
127
132
|
type: :runtime
|
|
128
133
|
prerelease: false
|
|
129
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -133,7 +138,7 @@ dependencies:
|
|
|
133
138
|
version: '6.1'
|
|
134
139
|
- - "<"
|
|
135
140
|
- !ruby/object:Gem::Version
|
|
136
|
-
version: '8'
|
|
141
|
+
version: '8.2'
|
|
137
142
|
- !ruby/object:Gem::Dependency
|
|
138
143
|
name: nokogiri
|
|
139
144
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -148,6 +153,20 @@ dependencies:
|
|
|
148
153
|
- - ">="
|
|
149
154
|
- !ruby/object:Gem::Version
|
|
150
155
|
version: '1.6'
|
|
156
|
+
- !ruby/object:Gem::Dependency
|
|
157
|
+
name: csv
|
|
158
|
+
requirement: !ruby/object:Gem::Requirement
|
|
159
|
+
requirements:
|
|
160
|
+
- - ">="
|
|
161
|
+
- !ruby/object:Gem::Version
|
|
162
|
+
version: '0'
|
|
163
|
+
type: :runtime
|
|
164
|
+
prerelease: false
|
|
165
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
166
|
+
requirements:
|
|
167
|
+
- - ">="
|
|
168
|
+
- !ruby/object:Gem::Version
|
|
169
|
+
version: '0'
|
|
151
170
|
- !ruby/object:Gem::Dependency
|
|
152
171
|
name: fast_excel
|
|
153
172
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -323,6 +342,7 @@ executables: []
|
|
|
323
342
|
extensions: []
|
|
324
343
|
extra_rdoc_files: []
|
|
325
344
|
files:
|
|
345
|
+
- ".github/workflows/publish.yml"
|
|
326
346
|
- ".github/workflows/test.yml"
|
|
327
347
|
- ".gitignore"
|
|
328
348
|
- ".ruby-version"
|
|
@@ -345,6 +365,10 @@ files:
|
|
|
345
365
|
- gemfiles/ruby_3.0_rails_7.gemfile
|
|
346
366
|
- gemfiles/ruby_3.1_rails_6.gemfile
|
|
347
367
|
- gemfiles/ruby_3.1_rails_7.gemfile
|
|
368
|
+
- gemfiles/ruby_3.3_rails_8.0.gemfile
|
|
369
|
+
- gemfiles/ruby_3.3_rails_8.1.gemfile
|
|
370
|
+
- gemfiles/ruby_3.4_rails_8.0.gemfile
|
|
371
|
+
- gemfiles/ruby_3.4_rails_8.1.gemfile
|
|
348
372
|
- lib/super_form/basic.rb
|
|
349
373
|
- lib/super_form/concerns/atomic_save.rb
|
|
350
374
|
- lib/super_form/reform.rb
|
|
@@ -390,7 +414,6 @@ homepage: https://github.com/superlanding/super_tools
|
|
|
390
414
|
licenses:
|
|
391
415
|
- MIT
|
|
392
416
|
metadata: {}
|
|
393
|
-
post_install_message:
|
|
394
417
|
rdoc_options: []
|
|
395
418
|
require_paths:
|
|
396
419
|
- lib
|
|
@@ -405,8 +428,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
405
428
|
- !ruby/object:Gem::Version
|
|
406
429
|
version: '0'
|
|
407
430
|
requirements: []
|
|
408
|
-
rubygems_version: 3.
|
|
409
|
-
signing_key:
|
|
431
|
+
rubygems_version: 3.6.9
|
|
410
432
|
specification_version: 4
|
|
411
433
|
summary: Rails 開發環境常用工具 Forms/Process/Spreadsheet
|
|
412
434
|
test_files: []
|