esa 3.1.0 → 3.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: 93e305f596857d93c6f6489344371fa9369488b819ab4071804cdb0e576c8c11
4
- data.tar.gz: 6d3fd439655db92eaa698a77d4a23dad260b2e8f451fe0f35a6b89877419d251
3
+ metadata.gz: 205c4708d2d3d1f127888576ca7f8d08dba47cbb2b8c58c05ae97a47b52fe77c
4
+ data.tar.gz: 3be3f09e557ad57290d56d977e41a2807ec3482cdeaeab0b3cf79f9df857cbb3
5
5
  SHA512:
6
- metadata.gz: 743652d2bd4dc1de8c4d0d7cec158bbeb4277cba7c523f476b2ed0371475add00e3f2f3e336cb9f43e502b40a7c7174677f0b40044af979df2bb6d58d6eca1e2
7
- data.tar.gz: f38b5e9d9e1f471f16d4009412c25d64830620f40303bbe533889a90526367e965b7b7c013de67b6c3008276982e1dafee208df6e59f28c77d4e7690ab5e038c
6
+ metadata.gz: 4e5ca8fdbf369b520551df825526d1bda565c28f216e141ff72ff58258fe778bd5e71509e5cfb26f91002ac94fe9bbd7c762a0e6b8ed8271d0c0903ead3bf34b
7
+ data.tar.gz: e1299c1a6bf097f00f152b19d4a9d0e35a9b5671cac0ead94a8405d0b5159b755f6431b941946a44b130e5849a5f2d8fc734292644e609089434897899a7d6be
data/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  nothing
4
4
 
5
+ ## 3.3.0 (2025-07-18)
6
+ - add: [Support revision API](https://github.com/esaio/esa-ruby/pull/72)
7
+
8
+ ## 3.2.0 (2025-07-08)
9
+ - add: [Support `faraday_middlewares` option in Esa::Client](https://github.com/esaio/esa-ruby/pull/71)
10
+
5
11
  ## 3.1.0 (2025-02-21)
6
12
  - add: [Add signed_urls method](https://github.com/esaio/esa-ruby/pull/70)
7
13
 
data/README.md CHANGED
@@ -26,6 +26,9 @@ Or install it yourself as:
26
26
  # Initialization
27
27
  client = Esa::Client.new(access_token: "<access_token>", current_team: 'foo')
28
28
 
29
+ # Initialization with faraday_middlewares
30
+ # client = Esa::Client.new(access_token: "<access_token>", current_team: 'foo', faraday_middlewares: [Faraday::Response::Logger])
31
+
29
32
  # Authenticated User API
30
33
  client.user
31
34
  #=> GET /v1/user
@@ -88,6 +91,16 @@ client.delete_post(post_number)
88
91
  #=> DELETE /v1/teams/foobar/posts/1
89
92
 
90
93
 
94
+ client.revisions(post_number)
95
+ #=> GET /v1/teams/foobar/posts/1/revisions
96
+
97
+ client.revision(post_number, revision_number)
98
+ #=> GET /v1/teams/foobar/posts/1/revisions
99
+
100
+ client.compare_revisions(post_number, from, to)
101
+ #=> GET /v1/teams/foobar/posts/1/revisions/compare/1...2
102
+
103
+
91
104
  # Comment API
92
105
  client.comments(post_number)
93
106
  #=> GET /v1/teams/foobar/posts/1/comments
@@ -53,6 +53,18 @@ module Esa
53
53
  send_post("/v1/teams/#{current_team!}/posts/#{post_number}/append", wrap(params, :post), headers)
54
54
  end
55
55
 
56
+ def revisions(post_number, params = nil, headers = nil)
57
+ send_get("/v1/teams/#{current_team!}/posts/#{post_number}/revisions", params, headers)
58
+ end
59
+
60
+ def revision(post_number, revision_number, params = nil, headers = nil)
61
+ send_get("/v1/teams/#{current_team!}/posts/#{post_number}/revisions/#{revision_number}", params, headers)
62
+ end
63
+
64
+ def compare_revisions(post_number, from_revision_number, to_revision_number, params = nil, headers = nil)
65
+ send_get("/v1/teams/#{current_team!}/posts/#{post_number}/revisions/compare/#{from_revision_number}...#{to_revision_number}", params, headers)
66
+ end
67
+
56
68
  def delete_post(post_number, params = nil, headers = nil)
57
69
  send_delete("/v1/teams/#{current_team!}/posts/#{post_number}", params, headers)
58
70
  end
data/lib/esa/client.rb CHANGED
@@ -8,14 +8,15 @@ module Esa
8
8
 
9
9
  include ApiMethods
10
10
 
11
- def initialize(access_token: nil, api_endpoint: nil, current_team: nil, default_headers: {}, retry_on_rate_limit_exceeded: true)
11
+ def initialize(access_token: nil, api_endpoint: nil, current_team: nil, default_headers: {}, retry_on_rate_limit_exceeded: true, faraday_middlewares: [])
12
12
  @access_token = access_token
13
13
  @api_endpoint = api_endpoint
14
14
  @current_team = current_team
15
15
  @default_headers = default_headers
16
16
  @retry_on_rate_limit_exceeded = retry_on_rate_limit_exceeded
17
+ @faraday_middlewares = faraday_middlewares
17
18
  end
18
- attr_accessor :current_team, :default_headers, :retry_on_rate_limit_exceeded
19
+ attr_accessor :current_team, :default_headers, :retry_on_rate_limit_exceeded, :faraday_middlewares
19
20
 
20
21
  def current_team!
21
22
  raise TeamNotSpecifiedError, "current_team is not specified" unless @current_team
@@ -63,6 +64,7 @@ module Esa
63
64
 
64
65
  def esa_connection
65
66
  @esa_connection ||= Faraday.new(faraday_options) do |c|
67
+ faraday_middlewares.each { |faraday_middleware| c.use faraday_middleware }
66
68
  c.request :json
67
69
  c.response :json
68
70
  c.adapter Faraday.default_adapter
@@ -71,6 +73,7 @@ module Esa
71
73
 
72
74
  def s3_connection
73
75
  @s3_connection ||= Faraday.new do |c|
76
+ faraday_middlewares.each { |faraday_middleware| c.use faraday_middleware }
74
77
  c.request :multipart
75
78
  c.request :url_encoded
76
79
  c.response :xml
@@ -80,6 +83,7 @@ module Esa
80
83
 
81
84
  def simple_connection
82
85
  @simple_connection ||= Faraday.new do |c|
86
+ faraday_middlewares.each { |faraday_middleware| c.use faraday_middleware }
83
87
  c.adapter Faraday.default_adapter
84
88
  end
85
89
  end
data/lib/esa/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Esa
4
- VERSION = '3.1.0'
4
+ VERSION = '3.3.0'
5
5
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esa
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - fukayatsu
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2025-02-20 00:00:00.000000000 Z
11
+ date: 2025-07-18 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: base64
@@ -181,6 +182,7 @@ dependencies:
181
182
  - - "~>"
182
183
  - !ruby/object:Gem::Version
183
184
  version: 3.7.6
185
+ description:
184
186
  email:
185
187
  - fukayatsu@gmail.com
186
188
  executables: []
@@ -203,6 +205,7 @@ homepage: https://github.com/esaio/esa-ruby/
203
205
  licenses:
204
206
  - MIT
205
207
  metadata: {}
208
+ post_install_message:
206
209
  rdoc_options: []
207
210
  require_paths:
208
211
  - lib
@@ -217,7 +220,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
217
220
  - !ruby/object:Gem::Version
218
221
  version: '0'
219
222
  requirements: []
220
- rubygems_version: 3.6.2
223
+ rubygems_version: 3.5.16
224
+ signing_key:
221
225
  specification_version: 4
222
226
  summary: esa API v1 client library, written in Ruby
223
227
  test_files: []