x 0.15.0 → 0.15.1
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/CHANGELOG.md +7 -0
- data/lib/x/media_uploader.rb +1 -1
- data/lib/x/oauth_authenticator.rb +1 -1
- data/lib/x/redirect_handler.rb +4 -5
- data/lib/x/request_builder.rb +3 -1
- data/lib/x/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96d08de21266cc093e64eaa91a2f9835ec3fcfe1652790a7ef134e7bf621d6e5
|
4
|
+
data.tar.gz: 0061b62ae16521cb959580b3ce56509998c61050139ea880aa5d61991a3f92f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 904988eb897a4b598e7ac8ac8dbf9eeafaefe5b5b1c7ed7d16ddce440cc7fdd5d59cbbec75062d3f943e6a4417844709f7f04e49f3eb9a4b4ca5c3894eee483f
|
7
|
+
data.tar.gz: 4605412f136aa0828403ac198b7e6a5b7ffe449b7d6ccad993ec19b848155f0ed6266d1b96fe80d8837b3e51105647da3ccaf5beb24bfe5b41abf78e8ce3fd35
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
|
2
|
+
## [0.15.0] - 2025-03-24
|
3
|
+
* Fix bug in MediaUploader#await_processing (136dff8)
|
4
|
+
* Refactor RedirectHandler#build_request (fd379c3)
|
5
|
+
* Escape space in query string as %20, not + (2d2df75)
|
6
|
+
* Don't escape commas in query parameters (e7d9056)
|
7
|
+
|
1
8
|
## [0.15.0] - 2025-02-06
|
2
9
|
* Change media upload to use the API v2 endpoints (eca2b88)
|
3
10
|
|
data/lib/x/media_uploader.rb
CHANGED
@@ -35,7 +35,7 @@ module X
|
|
35
35
|
|
36
36
|
def await_processing(client:, media:)
|
37
37
|
loop do
|
38
|
-
status = client.get("media/upload?command=STATUS&
|
38
|
+
status = client.get("media/upload?command=STATUS&media_id=#{media["id"]}")&.fetch("data")
|
39
39
|
return status if !status["processing_info"] || PROCESSING_INFO_STATES.include?(status["processing_info"]["state"])
|
40
40
|
|
41
41
|
sleep status["processing_info"]["check_after_secs"].to_i
|
@@ -71,7 +71,7 @@ module X
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def signature_base_string(method, url, params)
|
74
|
-
"#{method}&#{CGI.escapeURIComponent(url)}&#{CGI.escapeURIComponent(URI.encode_www_form(params.sort))}"
|
74
|
+
"#{method}&#{CGI.escapeURIComponent(url)}&#{CGI.escapeURIComponent(URI.encode_www_form(params.sort).gsub("+", "%20"))}"
|
75
75
|
end
|
76
76
|
|
77
77
|
def signing_key
|
data/lib/x/redirect_handler.rb
CHANGED
@@ -43,11 +43,10 @@ module X
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def build_request(request, uri, response_code, authenticator)
|
46
|
-
http_method
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
[:get, nil]
|
46
|
+
http_method = :get
|
47
|
+
if [307, 308].include?(response_code)
|
48
|
+
http_method = request.method.downcase.to_sym
|
49
|
+
body = request.body
|
51
50
|
end
|
52
51
|
|
53
52
|
request_builder.build(http_method:, uri:, body:, authenticator:)
|
data/lib/x/request_builder.rb
CHANGED
@@ -50,7 +50,9 @@ module X
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def escape_query_params(uri)
|
53
|
-
URI(uri).tap
|
53
|
+
URI(uri).tap do |u|
|
54
|
+
u.query = URI.encode_www_form(URI.decode_www_form(u.query)).gsub("%2C", ",") if u.query
|
55
|
+
end
|
54
56
|
end
|
55
57
|
end
|
56
58
|
end
|
data/lib/x/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: x
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erik Berlin
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-03-24 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
email:
|
13
13
|
- sferik@gmail.com
|
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
78
|
- !ruby/object:Gem::Version
|
79
79
|
version: '0'
|
80
80
|
requirements: []
|
81
|
-
rubygems_version: 3.6.
|
81
|
+
rubygems_version: 3.6.5
|
82
82
|
specification_version: 4
|
83
83
|
summary: A Ruby interface to the X API.
|
84
84
|
test_files: []
|