twitchrb 1.9.1 → 1.10.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: c1a8ec322ca201921696368ca233dde770618982deddc216f4a312d392cadc84
4
- data.tar.gz: '092e46eccc58dca91227562cfbabacf8f234b17d49be1c4bc738acf0d9fc8331'
3
+ metadata.gz: 9fbfacc0abeb1677c2f16b79eefeaaaedb1b7ff4f3506fcf2f465ffb82735f78
4
+ data.tar.gz: 2a04bfacd176f1287cacfe55c939550a8b2b92f63b207aead8ae48dc47de0508
5
5
  SHA512:
6
- metadata.gz: 17230eacff5f07b1e2fd5442a0f811ba0028e6d568497f4e9e0ae75f3fbff77e85a6404b338f44598741bbe5789533fc28e93a36a56248188108290d495f227c
7
- data.tar.gz: 03c6b2866d43558f19e2610ad520b260622c1c03fce7b9e3575f694bc13ee6e47a2ec7a9f3c436b9ca9590bf745476633796ac8817fada01acc70acd521f4623
6
+ metadata.gz: d472b2b93b0aaacaf635079e4dd1a35d213026f0c517dd7c2f6b411f7a1caf8121fd652b46672c145730cd648f94aa5206c0655fd8d2bf08508f11b257facdb4
7
+ data.tar.gz: f175c566b480a93032f9fb19cfeb490f9834d5c8f58aa4f2141fd2488f3191047f556cd90518f166e00acd8ffb581e3b214161a90aee317d4621e49dbdfa3158
@@ -1,21 +1,18 @@
1
1
  name: CI
2
2
  on:
3
3
  push:
4
- branches:
5
- - main
6
4
  pull_request:
7
- branches:
8
- - main
9
5
  jobs:
10
6
  lint:
11
7
  runs-on: ubuntu-latest
8
+ continue-on-error: true
12
9
  steps:
13
10
  - name: Checkout code
14
11
  uses: actions/checkout@v6
15
12
  - name: Set up Ruby
16
13
  uses: ruby/setup-ruby@v1
17
14
  with:
18
- ruby-version: '3.4'
15
+ ruby-version: '4.0'
19
16
  bundler-cache: true
20
17
  - name: Lint code for consistent style
21
18
  run: bundle exec rubocop -f github
@@ -27,9 +24,9 @@ jobs:
27
24
  fail-fast: false
28
25
  matrix:
29
26
  ruby_version:
30
- - '3.2'
31
27
  - '3.3'
32
28
  - '3.4'
29
+ - '4.0'
33
30
  steps:
34
31
  - uses: actions/checkout@v6
35
32
  - uses: ruby/setup-ruby@v1
data/.rubocop.yml CHANGED
@@ -1,6 +1,11 @@
1
1
  # Omakase Ruby styling for Rails
2
2
  inherit_gem: { rubocop-rails-omakase: rubocop.yml }
3
3
 
4
+ AllCops:
5
+ Exclude:
6
+ - 'test/**/*'
7
+ TargetRubyVersion: 4.0
8
+
4
9
  # Overwrite or add rules to create your own house style
5
10
  #
6
11
  # # Use `[a, [b, c]]` not `[ a, [ b, c ] ]`
data/CHANGELOG.md ADDED
@@ -0,0 +1,237 @@
1
+ # Changelog
2
+
3
+ All notable changes to `twitchrb` are documented in this file.
4
+
5
+ Published release notes were sourced from GitHub releases where available. Older tag-only versions and the current unreleased work were reconstructed from local git history.
6
+
7
+ ## [1.10.0] - Unreleased
8
+
9
+ ### Added
10
+ - Added custom power-up API support.
11
+ - Added shared chat announcement support.
12
+ - Added shared chat session support.
13
+ - Added suspicious user moderation APIs.
14
+ - Added VOD clip creation and downloads.
15
+ - Added pinned chat message support.
16
+
17
+ ### Changed
18
+ - Replaced hype train events with the status API.
19
+ - Improved EventSub subscription conflict handling.
20
+
21
+ ### Fixed
22
+ - Fixed SSRF via protocol-relative request paths.
23
+
24
+ ## [1.9.1] - 2025-12-06
25
+
26
+ ### Fixed
27
+ - Permissions fix.
28
+
29
+ ## [1.9.0] - 2025-12-05
30
+
31
+ ### Changed
32
+ - Tag-only release with no published release notes or recorded user-facing changes beyond the version bump.
33
+
34
+ ## [1.8.1] - 2025-12-05
35
+
36
+ ### Added
37
+ - Added support for Start Commercial.
38
+
39
+ ### Changed
40
+ - Imported `Enumerable` into collections.
41
+
42
+ ## [1.8.0] - 2025-12-01
43
+
44
+ ### Added
45
+ - Added support for Get Stream Key.
46
+
47
+ ## [1.7.0] - 2025-10-20
48
+
49
+ ### Added
50
+ - Added support for Get Authorization By User.
51
+
52
+ ## [1.6.0] - 2025-09-13
53
+
54
+ ### Fixed
55
+ - Fixed issues in the error generator.
56
+
57
+ ## [1.5.0] - 2025-09-12
58
+
59
+ ### Added
60
+ - Added an explicit `ostruct` dependency.
61
+
62
+ ### Changed
63
+ - Updated Faraday.
64
+
65
+ ## [1.4.0] - 2024-08-02
66
+
67
+ ### Added
68
+ - Added a new error generator.
69
+
70
+ ### Changed
71
+ - Required `ostruct` globally.
72
+ - Refreshed CI and dependency configuration.
73
+
74
+ ## [1.3.0] - 2024-06-28
75
+
76
+ ### Added
77
+ - Added Warn Chat User API support.
78
+ - Added `each`, `first`, and `last` on collections.
79
+
80
+ ## [1.2.6] - 2024-05-27
81
+
82
+ ### Fixed
83
+ - Returned `false` when token validation fails.
84
+
85
+ ### Changed
86
+ - Minor README updates.
87
+
88
+ ## [1.2.5] - 2024-03-17
89
+
90
+ ### Added
91
+ - Added Unban Requests API support.
92
+ - Added Get User Emotes API support.
93
+
94
+ ## [1.2.4] - 2024-01-31
95
+
96
+ ### Fixed
97
+ - Fixed users/games lookups so `ids`, `usernames`, and `names` return collections consistently.
98
+
99
+ ## [1.2.3] - 2024-01-27
100
+
101
+ ### Added
102
+ - Added send chat messages support.
103
+
104
+ ## [1.2.2] - 2024-01-09
105
+
106
+ ### Added
107
+ - Added `moderators.channels`.
108
+
109
+ ## [1.2.1] - 2024-01-02
110
+
111
+ ### Fixed
112
+ - Fixed custom reward redemption updates.
113
+ - Corrected documentation headings and repository metadata.
114
+
115
+ ### Changed
116
+ - Added Ruby 3.3 to CI coverage.
117
+
118
+ ## [1.2.0] - 2023-10-29
119
+
120
+ ### Changed
121
+ - Renamed Users `get_by_id` to `retrieve`.
122
+ - Renamed Users `get_by_username` to `retrieve`.
123
+ - Expanded Users `retrieve` to accept `id`, `ids`, `name`, and `names`.
124
+ - Renamed Channels `get` to `retrieve`.
125
+
126
+ ### Added
127
+ - Added Videos `retrieve`.
128
+ - Added Games `retrieve` with support for `id`, `ids`, `name`, and `names`.
129
+
130
+ ## [1.1.0] - 2023-02-21
131
+
132
+ ### Added
133
+ - Added support for Get Followed Channels.
134
+ - Added support for Get Channel Followers.
135
+
136
+ ### Deprecated
137
+ - Deprecated `user.follows`.
138
+ - Deprecated `user.following?` ahead of the Twitch API removal on August 3, 2023.
139
+
140
+ ## [1.0.4] - 2023-01-22
141
+
142
+ ### Changed
143
+ - Set the default User-Agent.
144
+
145
+ ## [1.0.3] - 2023-01-22
146
+
147
+ ### Added
148
+ - Added support for Shoutouts.
149
+
150
+ ## [1.0.2] - 2022-10-02
151
+
152
+ ### Added
153
+ - Added Chatters support.
154
+
155
+ ### Fixed
156
+ - Fixed Charity Campaigns handling.
157
+
158
+ ## [1.0.1] - 2022-08-26
159
+
160
+ ### Added
161
+ - Added support for the Charity Campaigns API.
162
+
163
+ ## [1.0.0] - 2022-07-18
164
+
165
+ ### Changed
166
+ - Removed Client Secret as a required client value; only Client ID and Access Token are required.
167
+
168
+ ### Added
169
+ - Added chat announcements.
170
+ - Added raids.
171
+ - Added chat message deletion.
172
+ - Added user chat colours.
173
+ - Added moderator management.
174
+ - Added VIP management.
175
+ - Added send whisper support.
176
+ - Added AutoMod status.
177
+ - Added AutoMod settings get/update support.
178
+ - Added ban/unban user support.
179
+ - Added blocked terms management.
180
+
181
+ ## [0.2.6] - 2022-04-26
182
+
183
+ ### Changed
184
+ - Removed thumbnail handling that was no longer needed.
185
+
186
+ ## [0.2.5] - 2022-04-10
187
+
188
+ ### Added
189
+ - Added channel follow count support.
190
+ - Added subscriber counts to channels.
191
+ - Expanded test coverage.
192
+
193
+ ### Changed
194
+ - Upgraded to Faraday 2.
195
+ - Improved project documentation.
196
+
197
+ ## [0.2.4] - 2021-12-31
198
+
199
+ ### Fixed
200
+ - Fixed handling for resources without a thumbnail URL.
201
+
202
+ ## [0.2.3] - 2021-12-31
203
+
204
+ ### Added
205
+ - Added `require "twitchrb"` so `require "twitch"` is no longer necessary.
206
+ - Added generated large thumbnail and animated image URLs.
207
+
208
+ ### Changed
209
+ - Improved channel return behavior.
210
+ - Added client secret support in the client flow.
211
+
212
+ ## [0.2.2] - 2021-12-12
213
+
214
+ ### Added
215
+ - Added `retrieve` to clips.
216
+
217
+ ## [0.2.1] - 2021-10-02
218
+
219
+ ### Changed
220
+ - Removed the older subscriber counting approach in favor of Twitch's newer totals/points behavior.
221
+ - Removed Travis CI configuration.
222
+
223
+ ## [0.2.0] - 2021-09-26
224
+
225
+ ### Added
226
+ - Expanded the gem to focus on the Twitch Helix API.
227
+ - Added badges, emotes, channels, channel editors, games, follows, blocks, videos, clips, EventSub subscriptions, banned events, banned users, moderators, moderator events, polls, predictions, stream schedule segments, search, streams, stream markers, subscriptions, tags, custom rewards, redemptions, goals, and hype train event support.
228
+ - Added model-based resource objects and improved error reporting.
229
+
230
+ ### Changed
231
+ - Replaced HTTParty with Faraday.
232
+ - Simplified collection handling by always reading from `data`.
233
+
234
+ ## [0.1.1] - 2021-06-20
235
+
236
+ ### Added
237
+ - Early tagged release of the Helix client.
data/Gemfile CHANGED
@@ -6,6 +6,8 @@ gemspec
6
6
  gem "rake", "~> 12.0"
7
7
  gem "minitest", "~> 5.0"
8
8
  gem "dotenv"
9
- gem "vcr"
9
+ gem "webmock"
10
10
  gem "rubocop-rails-omakase", require: false
11
11
  gem "activesupport", ">= 4.2.0", "< 8.0"
12
+ gem "irb"
13
+ gem "cgi"
data/Gemfile.lock CHANGED
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- twitchrb (1.9.1)
5
- faraday (~> 2.11)
4
+ twitchrb (1.10.0)
5
+ faraday (>= 2.14.1, < 3)
6
6
  ostruct (~> 0.6.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (7.2.2.2)
11
+ activesupport (7.2.3.1)
12
12
  base64
13
13
  benchmark (>= 0.3)
14
14
  bigdecimal
@@ -17,62 +17,91 @@ GEM
17
17
  drb
18
18
  i18n (>= 1.6, < 2)
19
19
  logger (>= 1.4.2)
20
- minitest (>= 5.1)
20
+ minitest (>= 5.1, < 6)
21
21
  securerandom (>= 0.3)
22
22
  tzinfo (~> 2.0, >= 2.0.5)
23
+ addressable (2.9.0)
24
+ public_suffix (>= 2.0.2, < 8.0)
23
25
  ast (2.4.3)
24
26
  base64 (0.3.0)
25
- benchmark (0.4.1)
26
- bigdecimal (3.3.1)
27
- concurrent-ruby (1.3.5)
28
- connection_pool (2.5.4)
29
- dotenv (3.1.8)
27
+ benchmark (0.5.0)
28
+ bigdecimal (4.1.2)
29
+ cgi (0.5.1)
30
+ concurrent-ruby (1.3.6)
31
+ connection_pool (3.0.2)
32
+ crack (1.0.1)
33
+ bigdecimal
34
+ rexml
35
+ date (3.5.1)
36
+ dotenv (3.2.0)
30
37
  drb (2.2.3)
31
- faraday (2.14.0)
38
+ erb (6.0.4)
39
+ faraday (2.14.2)
32
40
  faraday-net_http (>= 2.0, < 3.5)
33
41
  json
34
42
  logger
35
- faraday-net_http (3.4.1)
36
- net-http (>= 0.5.0)
37
- i18n (1.14.7)
43
+ faraday-net_http (3.4.2)
44
+ net-http (~> 0.5)
45
+ hashdiff (1.2.1)
46
+ i18n (1.14.8)
38
47
  concurrent-ruby (~> 1.0)
39
- json (2.15.1)
48
+ io-console (0.8.2)
49
+ irb (1.18.0)
50
+ pp (>= 0.6.0)
51
+ prism (>= 1.3.0)
52
+ rdoc (>= 4.0.0)
53
+ reline (>= 0.4.2)
54
+ json (2.19.5)
40
55
  language_server-protocol (3.17.0.5)
41
56
  lint_roller (1.1.0)
42
57
  logger (1.7.0)
43
- minitest (5.26.0)
44
- net-http (0.6.0)
45
- uri
58
+ minitest (5.27.0)
59
+ net-http (0.9.1)
60
+ uri (>= 0.11.1)
46
61
  ostruct (0.6.3)
47
- parallel (1.27.0)
48
- parser (3.3.9.0)
62
+ parallel (2.1.0)
63
+ parser (3.3.11.1)
49
64
  ast (~> 2.4.1)
50
65
  racc
51
- prism (1.6.0)
66
+ pp (0.6.3)
67
+ prettyprint
68
+ prettyprint (0.2.0)
69
+ prism (1.9.0)
70
+ psych (5.3.1)
71
+ date
72
+ stringio
73
+ public_suffix (7.0.5)
52
74
  racc (1.8.1)
53
- rack (3.2.3)
75
+ rack (3.2.6)
54
76
  rainbow (3.1.1)
55
77
  rake (12.3.3)
56
- regexp_parser (2.11.3)
57
- rubocop (1.81.1)
78
+ rdoc (7.2.0)
79
+ erb
80
+ psych (>= 4.0.0)
81
+ tsort
82
+ regexp_parser (2.12.0)
83
+ reline (0.6.3)
84
+ io-console (~> 0.5)
85
+ rexml (3.4.4)
86
+ rubocop (1.86.2)
58
87
  json (~> 2.3)
59
88
  language_server-protocol (~> 3.17.0.2)
60
89
  lint_roller (~> 1.1.0)
61
- parallel (~> 1.10)
90
+ parallel (>= 1.10)
62
91
  parser (>= 3.3.0.2)
63
92
  rainbow (>= 2.2.2, < 4.0)
64
93
  regexp_parser (>= 2.9.3, < 3.0)
65
- rubocop-ast (>= 1.47.1, < 2.0)
94
+ rubocop-ast (>= 1.49.0, < 2.0)
66
95
  ruby-progressbar (~> 1.7)
67
96
  unicode-display_width (>= 2.4.0, < 4.0)
68
- rubocop-ast (1.47.1)
97
+ rubocop-ast (1.49.1)
69
98
  parser (>= 3.3.7.2)
70
- prism (~> 1.4)
99
+ prism (~> 1.7)
71
100
  rubocop-performance (1.26.1)
72
101
  lint_roller (~> 1.1)
73
102
  rubocop (>= 1.75.0, < 2.0)
74
103
  rubocop-ast (>= 1.47.1, < 2.0)
75
- rubocop-rails (2.33.4)
104
+ rubocop-rails (2.35.0)
76
105
  activesupport (>= 4.2.0)
77
106
  lint_roller (~> 1.1)
78
107
  rack (>= 1.1)
@@ -84,26 +113,32 @@ GEM
84
113
  rubocop-rails (>= 2.30)
85
114
  ruby-progressbar (1.13.0)
86
115
  securerandom (0.4.1)
116
+ stringio (3.2.0)
117
+ tsort (0.2.0)
87
118
  tzinfo (2.0.6)
88
119
  concurrent-ruby (~> 1.0)
89
120
  unicode-display_width (3.2.0)
90
121
  unicode-emoji (~> 4.1)
91
- unicode-emoji (4.1.0)
92
- uri (1.0.4)
93
- vcr (6.3.1)
94
- base64
122
+ unicode-emoji (4.2.0)
123
+ uri (1.1.1)
124
+ webmock (3.26.2)
125
+ addressable (>= 2.8.0)
126
+ crack (>= 0.3.2)
127
+ hashdiff (>= 0.4.0, < 2.0.0)
95
128
 
96
129
  PLATFORMS
97
130
  ruby
98
131
 
99
132
  DEPENDENCIES
100
133
  activesupport (>= 4.2.0, < 8.0)
134
+ cgi
101
135
  dotenv
136
+ irb
102
137
  minitest (~> 5.0)
103
138
  rake (~> 12.0)
104
139
  rubocop-rails-omakase
105
140
  twitchrb!
106
- vcr
141
+ webmock
107
142
 
108
143
  BUNDLED WITH
109
- 2.5.17
144
+ 4.0.11