simple_twitter 2.2.2 → 2.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28bb8b34b67d38e9a9b5a303afd8f81f862161c41436d4424f221ec19a29f2d7
4
- data.tar.gz: 76f8aa9bf7039a3e6e51acebf1ef0e6532b1c0f5bd9bba4e42db6ebc113848d1
3
+ metadata.gz: 29d38ab0964ac1b22f5e6426505a2a6ba080a438aaf13f4de95e5f23c50e7218
4
+ data.tar.gz: fd9fee5bbb098986a6f94f96eb6c8c20e2bbc3dfef8d48072f0683b037a6d7d6
5
5
  SHA512:
6
- metadata.gz: 78b7dd35126dbc2545768d2d64f3b54d5830889b8dc57ba0e0db27e577c2a93a0c42dfb353370b1d2774d14d4153707ab94a6e5cc077733e0348fe3b55776992
7
- data.tar.gz: 41ebc4010d50b15905fd140256644e4c864d8a43f416a3d1c6953e43d267847c75b4c85892725662666a5ac8b3728b91d595af21e0fae9e9f466c2b114bba2ba
6
+ metadata.gz: 33e74c6c9b1443430c65e0de3a30facb33cbb5ea9596c8facca99578f5cc068000c578293c04e4ce9c720ddcd1a409c87dc0b1d595a3eb98672b2f8a5e9e2f3b
7
+ data.tar.gz: 6952312f24cb38e7417e53b8b2032f253c3f2fbc672184f8eddcf4e4dfcc4a8211c4231769e4073bc3b4b232d4e025e35d8afce4226fff1aabce53de5d0b114a
@@ -5,4 +5,10 @@ updates:
5
5
  - package-ecosystem: github-actions
6
6
  directory: /
7
7
  schedule:
8
- interval: weekly
8
+ interval: monthly
9
+ time: "05:00"
10
+ timezone: Asia/Tokyo
11
+ cooldown:
12
+ default-days: 7
13
+ assignees:
14
+ - sue445
@@ -0,0 +1,31 @@
1
+ # ref. https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes#configuring-automatically-generated-release-notes
2
+
3
+ changelog:
4
+ exclude:
5
+ labels:
6
+ - chore
7
+
8
+ categories:
9
+ - title: ":bomb: Breaking Changes"
10
+ labels:
11
+ - breaking change
12
+
13
+ - title: ":lock: Security Fix"
14
+ labels:
15
+ - security
16
+
17
+ - title: ":rocket: Features"
18
+ labels:
19
+ - enhancement
20
+
21
+ - title: ":bug: Bug Fixes"
22
+ labels:
23
+ - bug
24
+
25
+ - title: ":dependabot: Dependency updates"
26
+ labels:
27
+ - dependencies
28
+
29
+ - title: ":pencil: Other Changes"
30
+ labels:
31
+ - "*"
@@ -30,7 +30,7 @@ jobs:
30
30
  runs-on: ubuntu-latest
31
31
  steps:
32
32
  - name: Checkout
33
- uses: actions/checkout@v4
33
+ uses: actions/checkout@v6.0.1
34
34
 
35
35
  - uses: ruby/setup-ruby@v1
36
36
  with:
@@ -40,12 +40,12 @@ jobs:
40
40
  - run: bundle exec yard
41
41
 
42
42
  - name: Setup Pages
43
- uses: actions/configure-pages@v3
43
+ uses: actions/configure-pages@v6
44
44
  - name: Upload artifact
45
- uses: actions/upload-pages-artifact@v2
45
+ uses: actions/upload-pages-artifact@v4
46
46
  with:
47
47
  # Upload entire repository
48
48
  path: './doc'
49
49
  - name: Deploy to GitHub Pages
50
50
  id: deployment
51
- uses: actions/deploy-pages@main
51
+ uses: actions/deploy-pages@v5
@@ -0,0 +1,41 @@
1
+ name: Publish gem to rubygems.org
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ release:
8
+ if: github.repository == 'yhara/simple_twitter'
9
+ runs-on: ubuntu-latest
10
+
11
+ environment:
12
+ name: rubygems.org
13
+ url: https://rubygems.org/gems/simple_twitter
14
+
15
+ permissions:
16
+ contents: write
17
+ id-token: write
18
+
19
+ steps:
20
+ - name: Harden Runner
21
+ uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
22
+ with:
23
+ egress-policy: audit
24
+
25
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5.0.1
26
+
27
+ - name: Set up Ruby
28
+ uses: ruby/setup-ruby@eaecf785f6a34567a6d97f686bbb7bccc1ac1e5c # v1.237.0
29
+ with:
30
+ bundler-cache: true
31
+ ruby-version: ruby
32
+
33
+ - name: Publish to RubyGems
34
+ uses: rubygems/release-gem@1c162a739e8b4cb21a676e97b087e8268d8fc40b # v1.1.2
35
+
36
+ - name: Create GitHub release
37
+ run: |
38
+ tag_name="$(git describe --tags --abbrev=0)"
39
+ gh release create "${tag_name}" --verify-tag --generate-notes
40
+ env:
41
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -9,11 +9,11 @@ on:
9
9
  - opened
10
10
  - synchronize
11
11
  - reopened
12
- schedule:
13
- - cron: "0 10 * * 5" # JST 19:00 (Fri)
14
12
 
15
13
  jobs:
16
14
  test:
15
+ name: "test (Ruby ${{ matrix.ruby }}, gemfile ${{ matrix.gemfile }})"
16
+
17
17
  runs-on: ubuntu-latest
18
18
 
19
19
  strategy:
@@ -29,14 +29,64 @@ jobs:
29
29
  - "3.0"
30
30
  - "3.1"
31
31
  - "3.2"
32
+ - "3.3"
33
+ - "3.4"
34
+ - "4.0"
35
+
36
+ gemfile:
37
+ - http_4
38
+ - http_5
39
+ - http_6
40
+
41
+ exclude:
42
+ # http gem v5+ requires Ruby 2.5+
43
+ - ruby: "2.3"
44
+ gemfile: http_5
45
+ - ruby: "2.4"
46
+ gemfile: http_5
47
+
48
+ # http gem v6+ requires Ruby 3.2+
49
+ - ruby: "2.3"
50
+ gemfile: http_6
51
+ - ruby: "2.4"
52
+ gemfile: http_6
53
+ - ruby: "2.5"
54
+ gemfile: http_6
55
+ - ruby: "2.6"
56
+ gemfile: http_6
57
+ - ruby: "2.7"
58
+ gemfile: http_6
59
+ - ruby: "3.0"
60
+ gemfile: http_6
61
+ - ruby: "3.1"
62
+ gemfile: http_6
63
+
64
+ include:
65
+ # FIXME: Workaround for "ArgumentError: wrong number of arguments (given 4, expected 1)"
66
+ # c.f. https://github.com/ruby/setup-ruby#rubygems
67
+ - ruby: "2.5"
68
+ rubygems: "3.0.0"
69
+
70
+ env:
71
+ BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
32
72
 
33
73
  steps:
34
- - uses: actions/checkout@v4
74
+ - uses: actions/checkout@v6.0.1
75
+
76
+ # FIXME: Workaround for error in `bundle clean`
77
+ # /opt/hostedtoolcache/Ruby/2.5.9/x64/bin/bundle clean
78
+ # Cleaning all the gems on your system is dangerous! If you're sure you want to
79
+ # remove every system gem not in this bundle, run `bundle clean --force`.
80
+ - name: export BUNDLE_PATH
81
+ run: echo "BUNDLE_PATH=vendor/bundle" >> $GITHUB_ENV
82
+ if: matrix.ruby == '2.5'
35
83
 
36
84
  - uses: ruby/setup-ruby@v1
37
85
  with:
38
86
  ruby-version: ${{ matrix.ruby }}
39
87
  bundler-cache: true
88
+ rubygems: ${{ matrix.rubygems || 'default' }}
89
+ cache-version: ${{ matrix.gemfile }}
40
90
 
41
91
  - name: bundle update
42
92
  run: |
@@ -45,13 +95,12 @@ jobs:
45
95
  bundle update --jobs $(nproc) --retry 3
46
96
 
47
97
  - run: bundle exec rspec
48
- - run: bundle exec yard --fail-on-warning
49
98
 
50
99
  rbs:
51
100
  runs-on: ubuntu-latest
52
101
 
53
102
  steps:
54
- - uses: actions/checkout@v4
103
+ - uses: actions/checkout@v6.0.1
55
104
 
56
105
  - uses: ruby/setup-ruby@v1
57
106
  with:
@@ -62,8 +111,31 @@ jobs:
62
111
  run: |
63
112
  set -xe
64
113
  bundle config path vendor/bundle
65
- bundle update --jobs $(nproc) --retry 3
114
+ bundle update --all --jobs $(nproc) --retry 3
66
115
 
67
116
  - run: bundle exec rbs collection install
68
- - run: bundle exec rbs validate --silent
117
+ - run: bundle exec rbs validate
69
118
  - run: bundle exec steep check
119
+
120
+ yard:
121
+ runs-on: ubuntu-latest
122
+
123
+ steps:
124
+ - uses: actions/checkout@v6
125
+
126
+ - uses: ruby/setup-ruby@v1
127
+ with:
128
+ ruby-version: ruby
129
+ bundler-cache: true
130
+
131
+ - name: bundle update
132
+ run: |
133
+ set -xe
134
+ bundle config path vendor/bundle
135
+ bundle update --all --jobs $(nproc) --retry 3
136
+
137
+ - name: yard generating test
138
+ run: |
139
+ set -xe
140
+ bundle exec yard --fail-on-warning
141
+ ls -ld doc/
data/CHANGELOG.md CHANGED
@@ -1,7 +1,19 @@
1
1
  ## Unreleased
2
- https://github.com/yhara/simple_twitter/compare/v2.2.2...main
2
+ https://github.com/yhara/simple_twitter/compare/v2.3.0...main
3
3
 
4
- ## v2.2.1 (2023-07-25)
4
+ ## [v2.3.0](https://github.com/yhara/simple_twitter/releases/tag/v2.3.0) (2026-04-01)
5
+ https://github.com/yhara/simple_twitter/compare/v2.2.3...v2.3.0
6
+
7
+ * Support http gem v6
8
+ * https://github.com/yhara/simple_twitter/pull/59
9
+
10
+ ## [v2.2.3](https://github.com/yhara/simple_twitter/releases/tag/v2.2.3) (2025-11-30)
11
+ https://github.com/yhara/simple_twitter/compare/v2.2.2...v2.2.3
12
+
13
+ * ci: Release gem from GitHub Actions
14
+ * https://github.com/yhara/simple_twitter/pull/47
15
+
16
+ ## v2.2.2 (2023-09-11)
5
17
  https://github.com/yhara/simple_twitter/compare/v2.2.1...v2.2.2
6
18
 
7
19
  * [docs] Tweak yard doc
data/Gemfile CHANGED
@@ -5,4 +5,4 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in simple_twitter.gemspec
6
6
  gemspec
7
7
 
8
- gem "rake", "~> 13.0"
8
+ eval_gemfile "#{__dir__}/gemfiles/common.gemfile"
@@ -0,0 +1,3 @@
1
+ # FIXME: rbs bundled with ffi v1.17.0+ is broken
2
+ # c.f. https://github.com/ffi/ffi/issues/1107
3
+ gem "ffi", "< 1.17.0"
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "http", "~> 4.0"
4
+
5
+ eval_gemfile "#{__dir__}/common.gemfile"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "http", "~> 5.0"
4
+
5
+ eval_gemfile "#{__dir__}/common.gemfile"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "http", "~> 6.0"
4
+
5
+ eval_gemfile "#{__dir__}/common.gemfile"
6
+
7
+ gemspec path: "../"
@@ -119,7 +119,12 @@ module SimpleTwitter
119
119
 
120
120
  def #{m}_raw(url, params: {}, json: {}, form: {})
121
121
  args = create_http_args(params: params, json: json, form: form)
122
- http(:#{m}, url, params).#{m}(url, args)
122
+
123
+ if http_v6_or_later?
124
+ http(:#{m}, url, params).#{m}(url, **args)
125
+ else
126
+ http(:#{m}, url, params).#{m}(url, args)
127
+ end
123
128
  end
124
129
  EOD
125
130
  end
@@ -142,6 +147,11 @@ module SimpleTwitter
142
147
  args
143
148
  end
144
149
 
150
+ # @return [Boolean]
151
+ def http_v6_or_later?
152
+ Gem::Version.new(HTTP::VERSION) >= Gem::Version.new("6.0.0")
153
+ end
154
+
145
155
  # @param method [Symbol]
146
156
  # @param url [String]
147
157
  # @param params [Hash<Symbol, String>]
@@ -1,3 +1,3 @@
1
1
  module SimpleTwitter
2
- VERSION = "2.2.2"
2
+ VERSION = "2.3.0"
3
3
  end
@@ -1,26 +1,116 @@
1
1
  ---
2
- sources:
3
- - type: git
4
- name: ruby/gem_rbs_collection
5
- revision: aeede7258d020bfd509541e0c8075ce833292409
6
- remote: https://github.com/ruby/gem_rbs_collection.git
7
- repo_dir: gems
8
2
  path: ".gem_rbs_collection"
9
3
  gems:
4
+ - name: addressable
5
+ version: '2.8'
6
+ source:
7
+ type: git
8
+ name: ruby/gem_rbs_collection
9
+ revision: 2c49b34efb3ab42ec5160e1870c23d8349adb157
10
+ remote: https://github.com/ruby/gem_rbs_collection.git
11
+ repo_dir: gems
12
+ - name: base64
13
+ version: '0'
14
+ source:
15
+ type: stdlib
16
+ - name: bigdecimal
17
+ version: '0'
18
+ source:
19
+ type: stdlib
20
+ - name: cgi
21
+ version: '0.5'
22
+ source:
23
+ type: git
24
+ name: ruby/gem_rbs_collection
25
+ revision: ecdc16fbc015cc667476120bdc2bd20735882f3a
26
+ remote: https://github.com/ruby/gem_rbs_collection.git
27
+ repo_dir: gems
28
+ - name: delegate
29
+ version: '0'
30
+ source:
31
+ type: stdlib
32
+ - name: diff-lcs
33
+ version: '1.5'
34
+ source:
35
+ type: git
36
+ name: ruby/gem_rbs_collection
37
+ revision: 2c49b34efb3ab42ec5160e1870c23d8349adb157
38
+ remote: https://github.com/ruby/gem_rbs_collection.git
39
+ repo_dir: gems
40
+ - name: fileutils
41
+ version: '0'
42
+ source:
43
+ type: stdlib
44
+ - name: forwardable
45
+ version: '0'
46
+ source:
47
+ type: stdlib
48
+ - name: hashdiff
49
+ version: '1.1'
50
+ source:
51
+ type: git
52
+ name: ruby/gem_rbs_collection
53
+ revision: 2c49b34efb3ab42ec5160e1870c23d8349adb157
54
+ remote: https://github.com/ruby/gem_rbs_collection.git
55
+ repo_dir: gems
10
56
  - name: http
11
57
  version: '5.1'
12
58
  source:
13
59
  type: git
14
60
  name: ruby/gem_rbs_collection
15
- revision: aeede7258d020bfd509541e0c8075ce833292409
61
+ revision: 2c49b34efb3ab42ec5160e1870c23d8349adb157
16
62
  remote: https://github.com/ruby/gem_rbs_collection.git
17
63
  repo_dir: gems
64
+ - name: io-console
65
+ version: '0'
66
+ source:
67
+ type: stdlib
68
+ - name: pp
69
+ version: '0'
70
+ source:
71
+ type: stdlib
72
+ - name: prettyprint
73
+ version: '0'
74
+ source:
75
+ type: stdlib
76
+ - name: prism
77
+ version: 1.9.0
78
+ source:
79
+ type: rubygems
80
+ - name: rake
81
+ version: '13.0'
82
+ source:
83
+ type: git
84
+ name: ruby/gem_rbs_collection
85
+ revision: 2c49b34efb3ab42ec5160e1870c23d8349adb157
86
+ remote: https://github.com/ruby/gem_rbs_collection.git
87
+ repo_dir: gems
88
+ - name: rdoc
89
+ version: '0'
90
+ source:
91
+ type: stdlib
18
92
  - name: simple_oauth
19
93
  version: '0.3'
20
94
  source:
21
95
  type: git
22
96
  name: ruby/gem_rbs_collection
23
- revision: aeede7258d020bfd509541e0c8075ce833292409
97
+ revision: 2c49b34efb3ab42ec5160e1870c23d8349adb157
98
+ remote: https://github.com/ruby/gem_rbs_collection.git
99
+ repo_dir: gems
100
+ - name: stringio
101
+ version: '0'
102
+ source:
103
+ type: stdlib
104
+ - name: tempfile
105
+ version: '0'
106
+ source:
107
+ type: stdlib
108
+ - name: webmock
109
+ version: '3.19'
110
+ source:
111
+ type: git
112
+ name: ruby/gem_rbs_collection
113
+ revision: 2c49b34efb3ab42ec5160e1870c23d8349adb157
24
114
  remote: https://github.com/ruby/gem_rbs_collection.git
25
115
  repo_dir: gems
26
116
  gemfile_lock_path: Gemfile.lock
@@ -22,6 +22,7 @@ module SimpleTwitter
22
22
 
23
23
  def create_http_args: (params: Hash[Symbol, untyped], json: Hash[Symbol, untyped], form: Hash[Symbol, untyped]) -> Hash[Symbol, untyped]
24
24
  def http: (Symbol method, String url, Hash[Symbol, String] params) -> HTTP::Client
25
+ def http_v6_or_later?: () -> bool
25
26
  def auth_header: (Symbol method, String url, Hash[Symbol, String] params) -> String
26
27
  def parse_response: (HTTP::Response res) -> Hash[Symbol, untyped]
27
28
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  # Specify which files should be added to the gem when it is released.
22
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
23
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
24
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features|sig/non-gemify)/}) }
25
25
  end
26
26
  spec.bindir = "exe"
27
27
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
@@ -31,6 +31,9 @@ Gem::Specification.new do |spec|
31
31
  spec.add_dependency "simple_oauth", ">= 0.3.1"
32
32
 
33
33
  spec.add_development_dependency "dotenv"
34
+ spec.add_development_dependency "irb"
35
+ spec.add_development_dependency "rake", "~> 13.0"
36
+ spec.add_development_dependency "rdoc"
34
37
  spec.add_development_dependency "rspec"
35
38
  spec.add_development_dependency "rspec-its"
36
39
  spec.add_development_dependency "steep"
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_twitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yutaka HARA
8
8
  - sue445
9
- autorequire:
10
9
  bindir: exe
11
10
  cert_chain: []
12
- date: 2023-09-11 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: http
@@ -53,6 +52,48 @@ dependencies:
53
52
  - - ">="
54
53
  - !ruby/object:Gem::Version
55
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: irb
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '13.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '13.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rdoc
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'
56
97
  - !ruby/object:Gem::Dependency
57
98
  name: rspec
58
99
  requirement: !ruby/object:Gem::Requirement
@@ -134,7 +175,9 @@ extra_rdoc_files: []
134
175
  files:
135
176
  - ".env.example"
136
177
  - ".github/dependabot.yml"
178
+ - ".github/release.yml"
137
179
  - ".github/workflows/pages.yml"
180
+ - ".github/workflows/release_gem.yml"
138
181
  - ".github/workflows/test.yml"
139
182
  - ".gitignore"
140
183
  - ".rspec"
@@ -147,6 +190,10 @@ files:
147
190
  - Steepfile
148
191
  - bin/console
149
192
  - bin/setup
193
+ - gemfiles/common.gemfile
194
+ - gemfiles/http_4.gemfile
195
+ - gemfiles/http_5.gemfile
196
+ - gemfiles/http_6.gemfile
150
197
  - lib/simple_twitter.rb
151
198
  - lib/simple_twitter/client.rb
152
199
  - lib/simple_twitter/client_error.rb
@@ -171,7 +218,6 @@ metadata:
171
218
  changelog_uri: https://github.com/yhara/simple_twitter/blob/main/CHANGELOG.md
172
219
  documentation_uri: https://yhara.github.io/simple_twitter/
173
220
  rubygems_mfa_required: 'true'
174
- post_install_message:
175
221
  rdoc_options: []
176
222
  require_paths:
177
223
  - lib
@@ -186,8 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
232
  - !ruby/object:Gem::Version
187
233
  version: '0'
188
234
  requirements: []
189
- rubygems_version: 3.4.10
190
- signing_key:
235
+ rubygems_version: 3.6.7
191
236
  specification_version: 4
192
237
  summary: Dead simple client for X (formerly Twitter) API v1/v2
193
238
  test_files: []