xdelivery 2.0.3 → 2.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 +4 -4
- data/.github/workflows/publish.yml +120 -0
- data/.github/workflows/test.yml +23 -0
- data/CLAUDE.md +9 -0
- data/Gemfile +4 -1
- data/Gemfile.lock +33 -27
- data/Rakefile +1 -1
- data/lib/xdelivery/api/base.rb +21 -0
- data/lib/xdelivery/api/orders.rb +3 -2
- data/lib/xdelivery/api/response/orders.rb +6 -0
- data/lib/xdelivery/api/sales.rb +3 -2
- data/lib/xdelivery/client.rb +6 -2
- data/lib/xdelivery/version.rb +1 -1
- data/lib/xdelivery.rb +1 -0
- data/xdelivery-ruby.gemspec +8 -3
- metadata +27 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 92e95d5a3dc4d682bf321826b4386ef8b4852a17cae9a9801af04010ff89341b
|
|
4
|
+
data.tar.gz: 0ef58af566f28ef63f059b1d83b8ffb92d614d657906c4481650e51e1f8917d4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9932c36d2d1ead111c920cbce76b07de96e32911e032744cfe146a3d6202b6b02942aed5e93f89767344eea44a68705cae397456ed38e1d54ada8c0d9ebdf6d7
|
|
7
|
+
data.tar.gz: 5971044b3f5277d2a9bce14d21588029777b313c2d59dfa29d30520a4ae237af89312a91c1f7d08df703c2c0ffbc8662e23dbf930d8c653c25a7ac4c127317cd
|
|
@@ -0,0 +1,120 @@
|
|
|
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.11 一致(使用根目錄 Gemfile / Gemfile.lock)
|
|
20
|
+
RUBY_VERSION: '3.4.11'
|
|
21
|
+
GEM_NAME: xdelivery
|
|
22
|
+
GEMSPEC: xdelivery-ruby.gemspec
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
check:
|
|
26
|
+
name: Check version on rubygems.org
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
outputs:
|
|
29
|
+
should_publish: ${{ steps.check.outputs.should_publish }}
|
|
30
|
+
gem_name: ${{ steps.spec.outputs.name }}
|
|
31
|
+
gem_version: ${{ steps.spec.outputs.version }}
|
|
32
|
+
steps:
|
|
33
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
34
|
+
with:
|
|
35
|
+
persist-credentials: false
|
|
36
|
+
|
|
37
|
+
- uses: ruby/setup-ruby@b1da4809b005e0178fe08a1d57317bffc00b7b4c # v1.332.0
|
|
38
|
+
with:
|
|
39
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
40
|
+
|
|
41
|
+
- name: Read gem name and version from gemspec
|
|
42
|
+
id: spec
|
|
43
|
+
run: |
|
|
44
|
+
ruby -e 'spec = Gem::Specification.load(ENV.fetch("GEMSPEC")) or abort("cannot load #{ENV["GEMSPEC"]}"); abort("gemspec name #{spec.name} != #{ENV["GEM_NAME"]}") unless spec.name == ENV["GEM_NAME"]; puts "name=#{spec.name}"; puts "version=#{spec.version}"' >> "$GITHUB_OUTPUT"
|
|
45
|
+
cat "$GITHUB_OUTPUT"
|
|
46
|
+
|
|
47
|
+
- name: Check whether this version already exists on rubygems.org
|
|
48
|
+
id: check
|
|
49
|
+
env:
|
|
50
|
+
GEM_NAME: ${{ steps.spec.outputs.name }}
|
|
51
|
+
GEM_VERSION: ${{ steps.spec.outputs.version }}
|
|
52
|
+
run: |
|
|
53
|
+
set -euo pipefail
|
|
54
|
+
status=$(curl -sS -o versions.json -w '%{http_code}' "https://rubygems.org/api/v1/versions/${GEM_NAME}.json")
|
|
55
|
+
if [ "$status" = "404" ]; then
|
|
56
|
+
echo "Gem ${GEM_NAME} not found on rubygems.org; will publish."
|
|
57
|
+
echo "should_publish=true" >> "$GITHUB_OUTPUT"
|
|
58
|
+
exit 0
|
|
59
|
+
fi
|
|
60
|
+
if [ "$status" != "200" ]; then
|
|
61
|
+
echo "::error::rubygems.org API returned HTTP ${status}"
|
|
62
|
+
exit 1
|
|
63
|
+
fi
|
|
64
|
+
if jq -e --arg v "$GEM_VERSION" 'any(.[]; .number == $v)' versions.json > /dev/null; then
|
|
65
|
+
echo "${GEM_NAME} ${GEM_VERSION} already on rubygems.org; skip publish."
|
|
66
|
+
echo "should_publish=false" >> "$GITHUB_OUTPUT"
|
|
67
|
+
else
|
|
68
|
+
echo "${GEM_NAME} ${GEM_VERSION} not on rubygems.org yet; will publish."
|
|
69
|
+
echo "should_publish=true" >> "$GITHUB_OUTPUT"
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
test:
|
|
73
|
+
name: Test (Ruby 3.4)
|
|
74
|
+
needs: check
|
|
75
|
+
if: needs.check.outputs.should_publish == 'true'
|
|
76
|
+
runs-on: ubuntu-latest
|
|
77
|
+
steps:
|
|
78
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
79
|
+
with:
|
|
80
|
+
persist-credentials: false
|
|
81
|
+
|
|
82
|
+
- uses: ruby/setup-ruby@b1da4809b005e0178fe08a1d57317bffc00b7b4c # v1.332.0
|
|
83
|
+
with:
|
|
84
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
85
|
+
bundler-cache: true
|
|
86
|
+
|
|
87
|
+
- run: bundle exec rake t
|
|
88
|
+
|
|
89
|
+
publish:
|
|
90
|
+
name: Publish ${{ needs.check.outputs.gem_name }} ${{ needs.check.outputs.gem_version }}
|
|
91
|
+
needs: [check, test]
|
|
92
|
+
if: needs.check.outputs.should_publish == 'true' && github.ref == 'refs/heads/master'
|
|
93
|
+
runs-on: ubuntu-latest
|
|
94
|
+
environment: gem-publish
|
|
95
|
+
permissions:
|
|
96
|
+
id-token: write # Trusted Publishing (OIDC)
|
|
97
|
+
contents: write # rake release 推送 vX.Y.Z tag
|
|
98
|
+
steps:
|
|
99
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
100
|
+
with:
|
|
101
|
+
persist-credentials: false
|
|
102
|
+
|
|
103
|
+
- uses: ruby/setup-ruby@b1da4809b005e0178fe08a1d57317bffc00b7b4c # v1.332.0
|
|
104
|
+
with:
|
|
105
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
106
|
+
bundler-cache: true
|
|
107
|
+
|
|
108
|
+
# setup-ruby 的 bundler-cache 會把 BUNDLE_PATH 等設定寫進 .bundle/config,
|
|
109
|
+
# 若該檔被 git 追蹤,rake release 的 guard_clean 會判定工作目錄不乾淨。
|
|
110
|
+
# 目前此 repo 沒有追蹤任何 .bundle/config;這一步對「有追蹤才標記」做容錯處理,
|
|
111
|
+
# 日後若加入 gemfiles/.bundle/config 或 .bundle/config 也不會讓發佈失敗。
|
|
112
|
+
- name: Ignore CI-only bundler config change
|
|
113
|
+
run: |
|
|
114
|
+
git status --porcelain
|
|
115
|
+
git ls-files -z '*.bundle/config' | xargs -0 -r git update-index --assume-unchanged
|
|
116
|
+
git status --porcelain
|
|
117
|
+
|
|
118
|
+
# 透過 rubygems/configure-rubygems-credentials 取得短效 OIDC token,
|
|
119
|
+
# 再執行 bundle exec rake release(build、建立並推送 vX.Y.Z tag、push gem)
|
|
120
|
+
- uses: rubygems/release-gem@7f9650160c1a4e7989fdc9855807bdbd421d8b6b # v1.4.1
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
name: Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master, main ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ master, main ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
ruby: ["3.1.7", "3.3.12", "3.4.11"]
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
- uses: ruby/setup-ruby@v1
|
|
19
|
+
with:
|
|
20
|
+
ruby-version: ${{ matrix.ruby }}
|
|
21
|
+
bundler-cache: true
|
|
22
|
+
- name: Run tests
|
|
23
|
+
run: bundle exec rake t
|
data/CLAUDE.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
## 發版規則(Ruby gem)
|
|
4
|
+
|
|
5
|
+
- 這個 gem(`xdelivery`,gemspec:`xdelivery.gemspec`)在 master 收到「新版本號」時,由 GitHub Actions(`.github/workflows/publish.yml`)自動發佈到 rubygems.org(Trusted Publishing,不使用 API key)。
|
|
6
|
+
- **每一個 PR 都必須跳版號**(改 `lib/xdelivery/version.rb`),除非這個 PR 只改文件、CI 或 CLAUDE.md 且明確不需要發版。沒跳版號的 PR 合進 master 後不會發佈。
|
|
7
|
+
- 跳版規則(Semantic Versioning):修 bug 跳 patch(x.y.Z);新增相容功能跳 minor(x.Y.0);不相容變更跳 major(X.0.0)。
|
|
8
|
+
- 版號只改在 PR 裡。AI 帳號只能開 branch 與 PR,不得合併到 master;只有真人帳號可以合併。合併就等於批准發佈。
|
|
9
|
+
- 不得為了讓測試通過而改變程式原本的行為。
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,53 +1,59 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
xdelivery (2.
|
|
5
|
-
|
|
4
|
+
xdelivery (2.1.0)
|
|
5
|
+
ostruct
|
|
6
|
+
rest-client (>= 2.0)
|
|
6
7
|
|
|
7
8
|
GEM
|
|
8
9
|
remote: https://rubygems.org/
|
|
9
10
|
specs:
|
|
10
|
-
addressable (2.
|
|
11
|
-
public_suffix (>= 2.0.2, <
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
addressable (2.9.0)
|
|
12
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
13
|
+
bigdecimal (4.1.3)
|
|
14
|
+
crack (1.0.1)
|
|
15
|
+
bigdecimal
|
|
16
|
+
rexml
|
|
17
|
+
domain_name (0.6.20260907)
|
|
18
|
+
hashdiff (1.2.1)
|
|
19
|
+
http-accept (1.7.0)
|
|
20
|
+
http-cookie (1.1.6)
|
|
18
21
|
domain_name (~> 0.5)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
logger (1.7.0)
|
|
23
|
+
mime-types (3.7.0)
|
|
24
|
+
logger
|
|
25
|
+
mime-types-data (~> 3.2025, >= 3.2025.0507)
|
|
26
|
+
mime-types-data (3.2026.0922)
|
|
27
|
+
minitest (5.27.0)
|
|
23
28
|
minitest-stub-const (0.6)
|
|
24
29
|
netrc (0.11.0)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
ostruct (0.6.3)
|
|
31
|
+
public_suffix (6.0.2)
|
|
32
|
+
rake (13.4.2)
|
|
33
|
+
rest-client (2.1.0)
|
|
34
|
+
http-accept (>= 1.7.0, < 2.0)
|
|
28
35
|
http-cookie (>= 1.0.2, < 2.0)
|
|
29
36
|
mime-types (>= 1.16, < 4.0)
|
|
30
37
|
netrc (~> 0.8)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
unf_ext (0.0.7.5)
|
|
35
|
-
webmock (3.4.2)
|
|
36
|
-
addressable (>= 2.3.6)
|
|
38
|
+
rexml (3.4.4)
|
|
39
|
+
webmock (3.26.4)
|
|
40
|
+
addressable (>= 2.8.0)
|
|
37
41
|
crack (>= 0.3.2)
|
|
38
|
-
hashdiff
|
|
42
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
|
39
43
|
|
|
40
44
|
PLATFORMS
|
|
41
45
|
ruby
|
|
46
|
+
x86_64-linux
|
|
42
47
|
|
|
43
48
|
DEPENDENCIES
|
|
44
|
-
bundler (
|
|
49
|
+
bundler (>= 2.3)
|
|
45
50
|
minitest (~> 5.0)
|
|
46
51
|
minitest-stub-const
|
|
47
|
-
|
|
52
|
+
public_suffix (>= 2.0.2, < 7)
|
|
53
|
+
rake (>= 10.0)
|
|
48
54
|
rest-client
|
|
49
55
|
webmock
|
|
50
56
|
xdelivery!
|
|
51
57
|
|
|
52
58
|
BUNDLED WITH
|
|
53
|
-
2.
|
|
59
|
+
2.5.23
|
data/Rakefile
CHANGED
data/lib/xdelivery/api/base.rb
CHANGED
|
@@ -24,20 +24,31 @@ module Xdelivery
|
|
|
24
24
|
|
|
25
25
|
protected
|
|
26
26
|
|
|
27
|
+
# NOTICE: rescue 的順序不可以對調。
|
|
28
|
+
# RestClient 的 timeout 例外是 ExceptionWithResponse 的子孫(經由 408 RequestTimeout),
|
|
29
|
+
# 但它的 response 是 nil。若被下面那條接住並回傳 e.response,呼叫端會拿到 nil,
|
|
30
|
+
# 接著在 Response::Base 裡 nil.code 噴 NoMethodError —— 完全看不出原因是逾時。
|
|
31
|
+
# 逾時要原樣往外拋,讓呼叫端自己決定怎麼處理
|
|
27
32
|
def patch(path)
|
|
28
33
|
RestClient::Request.execute(method: :patch, url: uri(path).to_s, payload: patch_data, open_timeout: open_timeout, read_timeout: read_timeout)
|
|
34
|
+
rescue RestClient::Exceptions::Timeout
|
|
35
|
+
raise
|
|
29
36
|
rescue RestClient::ExceptionWithResponse => e
|
|
30
37
|
e.response
|
|
31
38
|
end
|
|
32
39
|
|
|
33
40
|
def post(path)
|
|
34
41
|
RestClient::Request.execute(method: :post, url: uri(path).to_s, payload: post_data, open_timeout: open_timeout, read_timeout: read_timeout)
|
|
42
|
+
rescue RestClient::Exceptions::Timeout
|
|
43
|
+
raise
|
|
35
44
|
rescue RestClient::ExceptionWithResponse => e
|
|
36
45
|
e.response
|
|
37
46
|
end
|
|
38
47
|
|
|
39
48
|
def get(path)
|
|
40
49
|
RestClient::Request.execute(method: :get, url: uri(path).to_s, open_timeout: open_timeout, read_timeout: read_timeout)
|
|
50
|
+
rescue RestClient::Exceptions::Timeout
|
|
51
|
+
raise
|
|
41
52
|
rescue RestClient::ExceptionWithResponse => e
|
|
42
53
|
e.response
|
|
43
54
|
end
|
|
@@ -65,6 +76,16 @@ module Xdelivery
|
|
|
65
76
|
{}
|
|
66
77
|
end
|
|
67
78
|
|
|
79
|
+
# 空字串/只有空白(例如表單沒填的欄位)跟 nil 一樣視為「不掛既有紀錄」,
|
|
80
|
+
# 送出去只會讓對方拿到一個無效的 id。有值的字串則去掉前後空白才送,
|
|
81
|
+
# 不然貼上來的 " 5566 " 會被序列化成 import[history_id]=+5566+
|
|
82
|
+
def history_id_payload(history_id)
|
|
83
|
+
id = history_id.respond_to?(:strip) ? history_id.strip : history_id
|
|
84
|
+
return {} if id.to_s.empty?
|
|
85
|
+
|
|
86
|
+
{ history_id: id }
|
|
87
|
+
end
|
|
88
|
+
|
|
68
89
|
private
|
|
69
90
|
|
|
70
91
|
def uri(path)
|
data/lib/xdelivery/api/orders.rb
CHANGED
|
@@ -3,7 +3,8 @@ module Xdelivery
|
|
|
3
3
|
class Orders < Base
|
|
4
4
|
include Enumerable
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
# history_id: 掛進火箭快遞既有匯入紀錄的 id,nil 則由對方新建一筆
|
|
7
|
+
attr_accessor :orders, :history_id
|
|
7
8
|
|
|
8
9
|
COLUMNS = [
|
|
9
10
|
:order_id, :provider, :recipient, :mobile, :email, :store_id, :store_name, :address,
|
|
@@ -46,7 +47,7 @@ module Xdelivery
|
|
|
46
47
|
protected
|
|
47
48
|
|
|
48
49
|
def post_data
|
|
49
|
-
{ import: { orders: orders } }
|
|
50
|
+
{ import: { orders: orders }.merge(history_id_payload(history_id)) }
|
|
50
51
|
end
|
|
51
52
|
end
|
|
52
53
|
end
|
data/lib/xdelivery/api/sales.rb
CHANGED
|
@@ -3,7 +3,8 @@ module Xdelivery
|
|
|
3
3
|
class Sales < Base
|
|
4
4
|
include Enumerable
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
# history_id: 掛進火箭快遞既有匯入紀錄的 id,nil 則由對方新建一筆
|
|
7
|
+
attr_accessor :sales, :history_id
|
|
7
8
|
|
|
8
9
|
COLUMNS = [
|
|
9
10
|
:order_id, :recipient, :mobile, :email, :address,
|
|
@@ -46,7 +47,7 @@ module Xdelivery
|
|
|
46
47
|
protected
|
|
47
48
|
|
|
48
49
|
def post_data
|
|
49
|
-
{ import: { orders: sales } }
|
|
50
|
+
{ import: { orders: sales }.merge(history_id_payload(history_id)) }
|
|
50
51
|
end
|
|
51
52
|
end
|
|
52
53
|
end
|
data/lib/xdelivery/client.rb
CHANGED
|
@@ -8,14 +8,18 @@ module Xdelivery
|
|
|
8
8
|
self.access_key = access_key
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
# history_id 帶值時,這批訂單會掛進火箭快遞既有的匯入紀錄,
|
|
12
|
+
# 讓多次呼叫在對方後台合併成同一筆 history
|
|
13
|
+
def create_orders!(history_id: nil)
|
|
12
14
|
api = API::Orders.new(merchant_no, access_key)
|
|
15
|
+
api.history_id = history_id
|
|
13
16
|
yield(api)
|
|
14
17
|
api.create!
|
|
15
18
|
end
|
|
16
19
|
|
|
17
|
-
def create_sales!
|
|
20
|
+
def create_sales!(history_id: nil)
|
|
18
21
|
api = API::Sales.new(merchant_no, access_key)
|
|
22
|
+
api.history_id = history_id
|
|
19
23
|
yield(api)
|
|
20
24
|
api.create!
|
|
21
25
|
end
|
data/lib/xdelivery/version.rb
CHANGED
data/lib/xdelivery.rb
CHANGED
data/xdelivery-ruby.gemspec
CHANGED
|
@@ -14,6 +14,8 @@ Gem::Specification.new do |spec|
|
|
|
14
14
|
spec.homepage = "https://github.com/superlanding/xdelivery-ruby"
|
|
15
15
|
spec.license = "MIT"
|
|
16
16
|
|
|
17
|
+
spec.required_ruby_version = ">= 2.7"
|
|
18
|
+
|
|
17
19
|
# Specify which files should be added to the gem when it is released.
|
|
18
20
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
19
21
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
|
@@ -23,10 +25,13 @@ Gem::Specification.new do |spec|
|
|
|
23
25
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
24
26
|
spec.require_paths = ["lib"]
|
|
25
27
|
|
|
26
|
-
spec.add_development_dependency "bundler", "
|
|
27
|
-
spec.add_development_dependency "rake", "
|
|
28
|
+
spec.add_development_dependency "bundler", ">= 2.3"
|
|
29
|
+
spec.add_development_dependency "rake", ">= 10.0"
|
|
28
30
|
spec.add_development_dependency "minitest", "~> 5.0"
|
|
29
31
|
spec.add_development_dependency "minitest-stub-const"
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
# lib/xdelivery/api/base.rb 用到 RestClient::Exceptions::Timeout,2.0 才有這個常數
|
|
34
|
+
spec.add_dependency "rest-client", ">= 2.0"
|
|
35
|
+
# OpenStruct extracted from default gems (needed on Ruby 3.3+/3.4)
|
|
36
|
+
spec.add_dependency "ostruct"
|
|
32
37
|
end
|
metadata
CHANGED
|
@@ -1,41 +1,40 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xdelivery
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0
|
|
4
|
+
version: 2.1.0
|
|
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
|
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
|
16
15
|
requirements:
|
|
17
|
-
- - "
|
|
16
|
+
- - ">="
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 2.3
|
|
18
|
+
version: '2.3'
|
|
20
19
|
type: :development
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
|
-
- - "
|
|
23
|
+
- - ">="
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 2.3
|
|
25
|
+
version: '2.3'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: rake
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
|
-
- - "
|
|
30
|
+
- - ">="
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
32
|
version: '10.0'
|
|
34
33
|
type: :development
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
|
-
- - "
|
|
37
|
+
- - ">="
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
39
|
version: '10.0'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
@@ -68,6 +67,20 @@ dependencies:
|
|
|
68
67
|
version: '0'
|
|
69
68
|
- !ruby/object:Gem::Dependency
|
|
70
69
|
name: rest-client
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - ">="
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '2.0'
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - ">="
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '2.0'
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: ostruct
|
|
71
84
|
requirement: !ruby/object:Gem::Requirement
|
|
72
85
|
requirements:
|
|
73
86
|
- - ">="
|
|
@@ -87,8 +100,11 @@ executables: []
|
|
|
87
100
|
extensions: []
|
|
88
101
|
extra_rdoc_files: []
|
|
89
102
|
files:
|
|
103
|
+
- ".github/workflows/publish.yml"
|
|
104
|
+
- ".github/workflows/test.yml"
|
|
90
105
|
- ".gitignore"
|
|
91
106
|
- ".travis.yml"
|
|
107
|
+
- CLAUDE.md
|
|
92
108
|
- Gemfile
|
|
93
109
|
- Gemfile.lock
|
|
94
110
|
- LICENSE.txt
|
|
@@ -117,7 +133,6 @@ homepage: https://github.com/superlanding/xdelivery-ruby
|
|
|
117
133
|
licenses:
|
|
118
134
|
- MIT
|
|
119
135
|
metadata: {}
|
|
120
|
-
post_install_message:
|
|
121
136
|
rdoc_options: []
|
|
122
137
|
require_paths:
|
|
123
138
|
- lib
|
|
@@ -125,15 +140,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
125
140
|
requirements:
|
|
126
141
|
- - ">="
|
|
127
142
|
- !ruby/object:Gem::Version
|
|
128
|
-
version: '
|
|
143
|
+
version: '2.7'
|
|
129
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
145
|
requirements:
|
|
131
146
|
- - ">="
|
|
132
147
|
- !ruby/object:Gem::Version
|
|
133
148
|
version: '0'
|
|
134
149
|
requirements: []
|
|
135
|
-
rubygems_version: 3.
|
|
136
|
-
signing_key:
|
|
150
|
+
rubygems_version: 3.6.9
|
|
137
151
|
specification_version: 4
|
|
138
152
|
summary: 火箭快遞 API 串接
|
|
139
153
|
test_files: []
|