texd 0.6.0 → 0.7.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.
data/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # texd
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/texd.svg)](https://badge.fury.io/rb/texd)
4
+ [![Build Status](https://github.com/digineo/texd-ruby/actions/workflows/main.yml/badge.svg)](https://github.com/digineo/texd-ruby/actions)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
3
7
  texd is a Ruby client for the [texd web service](https://github.com/digineo/texd).
4
8
 
5
9
  It leverages ActionView's template rendering mechanism to compile `.tex`
@@ -8,27 +12,33 @@ in background jobs.
8
12
 
9
13
  ## Installation
10
14
 
11
- You need to meet the following requirements for this gem to work:
15
+ The following Rails and Ruby versions[^1] are supported
16
+ [and tested](https://github.com/digineo/texd-ruby/actions/workflows/main.yml?query=branch%3Amaster);
17
+ older versions of Ruby and Rails *may* work, but this is not guaranteed.
18
+
19
+ | ↓ Rails / Ruby → | 3.2 | 3.3 | 3.4 | Notes |
20
+ |-----------------:|:----|:----|:----|:--------|
21
+ | 7.0 | ✅ | ❌ | ❌ | (1) |
22
+ | 7.1 | ✅ | ❌ | ❌ | (1) |
23
+ | 7.2 | ✅ | ✅ | ✅ | |
24
+ | 8.0 | ✅ | ✅ | ✅ | (2) |
25
+ | 8.1 | ✅ | ✅ | ✅ | (2) |
26
+ | main branch | ✅ | ✅ | ✅ | (2) |
12
27
 
13
- - Ruby 2.7 or later[^1]
14
- - Rails 6.0 or later
28
+ <details open><summary>Notes</summary>
15
29
 
16
- Older versions of Ruby and Rails *may* work, but this is not guaranteed.
30
+ 1. Rails upto 7.2 depends on a version of Nokogiri which isn't available for Ruby 3.2+
31
+ 2. Rails 8.0+ requires Ruby 3.2+[^2]
17
32
 
18
- (Please note that the current Rails `main` branch, i.e. Rails 7.2-to-be,
19
- requires Ruby 3.1+[^2].)
33
+ </details>
20
34
 
21
35
  Install the gem and add to the application's Gemfile by executing:
22
36
 
23
37
  $ bundle add texd
24
38
 
25
- [^1]: We're currently tracking the Ruby version shipped with
26
- [Ubuntu Focal (20.04 LTS)](https://packages.ubuntu.com/focal/ruby).
27
- This may jump to [Ubuntu Noble (24.04 LTS)](https://packages.ubuntu.com/noble/ruby)
28
- and Ruby 3.1 in the near future.
39
+ [^1]: We're focussing on the minimal Ruby version available in [Debian Stable](https://packages.debian.org/trixie/ruby) and [Ubuntu LTS](https://packages.ubuntu.com/noble/ruby), i.e. 3.3 and 3.2 respectively. Regarding Rails, we'll cover a wider range.
29
40
 
30
- [^2]: See [commit `6ba2fdb`](https://github.com/rails/rails/commit/6ba2fdb2fe85751b573aadd05608471daf1a44ff)
31
- and [PR #50491](https://github.com/rails/rails/pull/50491) in the Rails repository.
41
+ [^2]: See [commit `c7b9bb1`][https://github.com/rails/rails/commit/c7b9bb1b73628daf9c9ebd56c63ce3008b31ac6f] in the Rails repository
32
42
 
33
43
  ## Configuration
34
44
 
@@ -239,8 +249,17 @@ $ make run-container EXTRA_RUN_ARGS='--reference-store dir://./tmp/refs'
239
249
  ```
240
250
 
241
251
  Note: In order to run the tests against the latest `rails/main` commit, you
242
- need to have Ruby 3.1+ installed. To run the tests against all released Rails
243
- versions, Ruby 2.7 currently suffices.
252
+ need to have Ruby 3.2 or newer installed. To run the tests against all released
253
+ Rails versions, Ruby 3.2 currently suffices.
254
+
255
+ I'd recommend running `USE_DOCKER=1 make test-all` to run against all minimally
256
+ supported Ruby versions in Docker containers. This obviously requires Docker to
257
+ be installed.
258
+
259
+ Note: `USE_DOCKER=1 make test-x` *also* requires to define the endpoint for the
260
+ gem. The easiest way is to declare `TEXD_ENDPOINT=http://$CONTAINER_IP:2201/` in
261
+ addition to `USE_DOCKER=1` (substitute `$CONTAINER_IP` with the *Docker host* IP
262
+ address of the container, usually in 172.17.0.1/16).
244
263
 
245
264
  ## Contributing
246
265
 
@@ -3,10 +3,12 @@
3
3
  source "https://rubygems.org"
4
4
  gemspec path: "../.."
5
5
 
6
- gem "nokogiri", "~> 1.15.5" # remove constraint when min. RUBY_VERSION >= 3
6
+ gem "nokogiri", "~> 1.15.6" # remove constraint when min. RUBY_VERSION >= 3
7
7
  gem "pry-byebug"
8
8
  gem "rails", "~> 7.0.8"
9
9
 
10
+ gem "concurrent-ruby", "1.3.4"
11
+
10
12
  # keep in sync with ../../Gemfile
11
13
  group :development, :test do
12
14
  gem "combustion"
@@ -1,95 +1,96 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- texd (0.6.0)
4
+ texd (0.7.0)
5
5
  multipart-post (~> 2.0)
6
- rails (>= 6.0, < 8)
6
+ rails (>= 6.0, < 9)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actioncable (7.0.8)
12
- actionpack (= 7.0.8)
13
- activesupport (= 7.0.8)
11
+ actioncable (7.0.8.7)
12
+ actionpack (= 7.0.8.7)
13
+ activesupport (= 7.0.8.7)
14
14
  nio4r (~> 2.0)
15
15
  websocket-driver (>= 0.6.1)
16
- actionmailbox (7.0.8)
17
- actionpack (= 7.0.8)
18
- activejob (= 7.0.8)
19
- activerecord (= 7.0.8)
20
- activestorage (= 7.0.8)
21
- activesupport (= 7.0.8)
16
+ actionmailbox (7.0.8.7)
17
+ actionpack (= 7.0.8.7)
18
+ activejob (= 7.0.8.7)
19
+ activerecord (= 7.0.8.7)
20
+ activestorage (= 7.0.8.7)
21
+ activesupport (= 7.0.8.7)
22
22
  mail (>= 2.7.1)
23
23
  net-imap
24
24
  net-pop
25
25
  net-smtp
26
- actionmailer (7.0.8)
27
- actionpack (= 7.0.8)
28
- actionview (= 7.0.8)
29
- activejob (= 7.0.8)
30
- activesupport (= 7.0.8)
26
+ actionmailer (7.0.8.7)
27
+ actionpack (= 7.0.8.7)
28
+ actionview (= 7.0.8.7)
29
+ activejob (= 7.0.8.7)
30
+ activesupport (= 7.0.8.7)
31
31
  mail (~> 2.5, >= 2.5.4)
32
32
  net-imap
33
33
  net-pop
34
34
  net-smtp
35
35
  rails-dom-testing (~> 2.0)
36
- actionpack (7.0.8)
37
- actionview (= 7.0.8)
38
- activesupport (= 7.0.8)
36
+ actionpack (7.0.8.7)
37
+ actionview (= 7.0.8.7)
38
+ activesupport (= 7.0.8.7)
39
39
  rack (~> 2.0, >= 2.2.4)
40
40
  rack-test (>= 0.6.3)
41
41
  rails-dom-testing (~> 2.0)
42
42
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
43
- actiontext (7.0.8)
44
- actionpack (= 7.0.8)
45
- activerecord (= 7.0.8)
46
- activestorage (= 7.0.8)
47
- activesupport (= 7.0.8)
43
+ actiontext (7.0.8.7)
44
+ actionpack (= 7.0.8.7)
45
+ activerecord (= 7.0.8.7)
46
+ activestorage (= 7.0.8.7)
47
+ activesupport (= 7.0.8.7)
48
48
  globalid (>= 0.6.0)
49
49
  nokogiri (>= 1.8.5)
50
- actionview (7.0.8)
51
- activesupport (= 7.0.8)
50
+ actionview (7.0.8.7)
51
+ activesupport (= 7.0.8.7)
52
52
  builder (~> 3.1)
53
53
  erubi (~> 1.4)
54
54
  rails-dom-testing (~> 2.0)
55
55
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
56
- activejob (7.0.8)
57
- activesupport (= 7.0.8)
56
+ activejob (7.0.8.7)
57
+ activesupport (= 7.0.8.7)
58
58
  globalid (>= 0.3.6)
59
- activemodel (7.0.8)
60
- activesupport (= 7.0.8)
61
- activerecord (7.0.8)
62
- activemodel (= 7.0.8)
63
- activesupport (= 7.0.8)
64
- activestorage (7.0.8)
65
- actionpack (= 7.0.8)
66
- activejob (= 7.0.8)
67
- activerecord (= 7.0.8)
68
- activesupport (= 7.0.8)
59
+ activemodel (7.0.8.7)
60
+ activesupport (= 7.0.8.7)
61
+ activerecord (7.0.8.7)
62
+ activemodel (= 7.0.8.7)
63
+ activesupport (= 7.0.8.7)
64
+ activestorage (7.0.8.7)
65
+ actionpack (= 7.0.8.7)
66
+ activejob (= 7.0.8.7)
67
+ activerecord (= 7.0.8.7)
68
+ activesupport (= 7.0.8.7)
69
69
  marcel (~> 1.0)
70
70
  mini_mime (>= 1.1.0)
71
- activesupport (7.0.8)
71
+ activesupport (7.0.8.7)
72
72
  concurrent-ruby (~> 1.0, >= 1.0.2)
73
73
  i18n (>= 1.6, < 2)
74
74
  minitest (>= 5.1)
75
75
  tzinfo (~> 2.0)
76
- builder (3.2.4)
77
- byebug (11.1.3)
76
+ base64 (0.3.0)
77
+ builder (3.3.0)
78
+ byebug (12.0.0)
78
79
  coderay (1.1.3)
79
- combustion (1.4.0)
80
+ combustion (1.5.0)
80
81
  activesupport (>= 3.0.0)
81
82
  railties (>= 3.0.0)
82
83
  thor (>= 0.14.6)
83
- concurrent-ruby (1.2.3)
84
+ concurrent-ruby (1.3.4)
84
85
  crass (1.0.6)
85
- date (3.3.4)
86
- diff-lcs (1.5.1)
87
- erubi (1.12.0)
88
- globalid (1.2.1)
86
+ date (3.4.1)
87
+ diff-lcs (1.6.2)
88
+ erubi (1.13.1)
89
+ globalid (1.3.0)
89
90
  activesupport (>= 6.1)
90
- i18n (1.14.1)
91
+ i18n (1.14.7)
91
92
  concurrent-ruby (~> 1.0)
92
- loofah (2.22.0)
93
+ loofah (2.24.1)
93
94
  crass (~> 1.0.2)
94
95
  nokogiri (>= 1.12.0)
95
96
  mail (2.8.1)
@@ -97,95 +98,96 @@ GEM
97
98
  net-imap
98
99
  net-pop
99
100
  net-smtp
100
- marcel (1.0.2)
101
- method_source (1.0.0)
101
+ marcel (1.1.0)
102
+ method_source (1.1.0)
102
103
  mini_mime (1.1.5)
103
- mini_portile2 (2.8.5)
104
- minitest (5.22.2)
105
- multipart-post (2.4.0)
106
- net-imap (0.4.10)
104
+ mini_portile2 (2.8.9)
105
+ minitest (5.26.0)
106
+ multipart-post (2.4.1)
107
+ net-imap (0.5.12)
107
108
  date
108
109
  net-protocol
109
110
  net-pop (0.1.2)
110
111
  net-protocol
111
112
  net-protocol (0.2.2)
112
113
  timeout
113
- net-smtp (0.4.0.1)
114
+ net-smtp (0.5.1)
114
115
  net-protocol
115
- nio4r (2.7.0)
116
- nokogiri (1.15.5)
116
+ nio4r (2.7.4)
117
+ nokogiri (1.15.7)
117
118
  mini_portile2 (~> 2.8.2)
118
119
  racc (~> 1.4)
119
- nokogiri (1.15.5-x86_64-linux)
120
+ nokogiri (1.15.7-x86_64-linux)
120
121
  racc (~> 1.4)
121
- pry (0.14.2)
122
+ pry (0.15.2)
122
123
  coderay (~> 1.1)
123
124
  method_source (~> 1.0)
124
- pry-byebug (3.10.1)
125
- byebug (~> 11.0)
126
- pry (>= 0.13, < 0.15)
127
- racc (1.7.3)
128
- rack (2.2.8)
129
- rack-test (2.1.0)
125
+ pry-byebug (3.11.0)
126
+ byebug (~> 12.0)
127
+ pry (>= 0.13, < 0.16)
128
+ racc (1.8.1)
129
+ rack (2.2.20)
130
+ rack-test (2.2.0)
130
131
  rack (>= 1.3)
131
- rails (7.0.8)
132
- actioncable (= 7.0.8)
133
- actionmailbox (= 7.0.8)
134
- actionmailer (= 7.0.8)
135
- actionpack (= 7.0.8)
136
- actiontext (= 7.0.8)
137
- actionview (= 7.0.8)
138
- activejob (= 7.0.8)
139
- activemodel (= 7.0.8)
140
- activerecord (= 7.0.8)
141
- activestorage (= 7.0.8)
142
- activesupport (= 7.0.8)
132
+ rails (7.0.8.7)
133
+ actioncable (= 7.0.8.7)
134
+ actionmailbox (= 7.0.8.7)
135
+ actionmailer (= 7.0.8.7)
136
+ actionpack (= 7.0.8.7)
137
+ actiontext (= 7.0.8.7)
138
+ actionview (= 7.0.8.7)
139
+ activejob (= 7.0.8.7)
140
+ activemodel (= 7.0.8.7)
141
+ activerecord (= 7.0.8.7)
142
+ activestorage (= 7.0.8.7)
143
+ activesupport (= 7.0.8.7)
143
144
  bundler (>= 1.15.0)
144
- railties (= 7.0.8)
145
- rails-dom-testing (2.2.0)
145
+ railties (= 7.0.8.7)
146
+ rails-dom-testing (2.3.0)
146
147
  activesupport (>= 5.0.0)
147
148
  minitest
148
149
  nokogiri (>= 1.6)
149
- rails-html-sanitizer (1.6.0)
150
+ rails-html-sanitizer (1.6.2)
150
151
  loofah (~> 2.21)
151
- nokogiri (~> 1.14)
152
- railties (7.0.8)
153
- actionpack (= 7.0.8)
154
- activesupport (= 7.0.8)
152
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
153
+ railties (7.0.8.7)
154
+ actionpack (= 7.0.8.7)
155
+ activesupport (= 7.0.8.7)
155
156
  method_source
156
157
  rake (>= 12.2)
157
158
  thor (~> 1.0)
158
159
  zeitwerk (~> 2.5)
159
- rake (13.1.0)
160
- rspec (3.13.0)
160
+ rake (13.3.0)
161
+ rspec (3.13.1)
161
162
  rspec-core (~> 3.13.0)
162
163
  rspec-expectations (~> 3.13.0)
163
164
  rspec-mocks (~> 3.13.0)
164
- rspec-core (3.13.0)
165
+ rspec-core (3.13.6)
165
166
  rspec-support (~> 3.13.0)
166
- rspec-expectations (3.13.0)
167
+ rspec-expectations (3.13.5)
167
168
  diff-lcs (>= 1.2.0, < 2.0)
168
169
  rspec-support (~> 3.13.0)
169
- rspec-mocks (3.13.0)
170
+ rspec-mocks (3.13.6)
170
171
  diff-lcs (>= 1.2.0, < 2.0)
171
172
  rspec-support (~> 3.13.0)
172
- rspec-rails (6.1.1)
173
- actionpack (>= 6.1)
174
- activesupport (>= 6.1)
175
- railties (>= 6.1)
176
- rspec-core (~> 3.12)
177
- rspec-expectations (~> 3.12)
178
- rspec-mocks (~> 3.12)
179
- rspec-support (~> 3.12)
180
- rspec-support (3.13.0)
181
- thor (1.3.0)
182
- timeout (0.4.1)
173
+ rspec-rails (7.1.1)
174
+ actionpack (>= 7.0)
175
+ activesupport (>= 7.0)
176
+ railties (>= 7.0)
177
+ rspec-core (~> 3.13)
178
+ rspec-expectations (~> 3.13)
179
+ rspec-mocks (~> 3.13)
180
+ rspec-support (~> 3.13)
181
+ rspec-support (3.13.6)
182
+ thor (1.4.0)
183
+ timeout (0.4.3)
183
184
  tzinfo (2.0.6)
184
185
  concurrent-ruby (~> 1.0)
185
- websocket-driver (0.7.6)
186
+ websocket-driver (0.8.0)
187
+ base64
186
188
  websocket-extensions (>= 0.1.0)
187
189
  websocket-extensions (0.1.5)
188
- zeitwerk (2.6.13)
190
+ zeitwerk (2.7.3)
189
191
 
190
192
  PLATFORMS
191
193
  ruby
@@ -193,7 +195,8 @@ PLATFORMS
193
195
 
194
196
  DEPENDENCIES
195
197
  combustion
196
- nokogiri (~> 1.15.5)
198
+ concurrent-ruby (= 1.3.4)
199
+ nokogiri (~> 1.15.6)
197
200
  pry-byebug
198
201
  rails (~> 7.0.8)
199
202
  rake (~> 13.0)
@@ -202,4 +205,4 @@ DEPENDENCIES
202
205
  texd!
203
206
 
204
207
  BUNDLED WITH
205
- 2.4.22
208
+ 2.7.2
@@ -7,6 +7,8 @@ gem "nokogiri", "~> 1.15.5" # remove constraint when min. RUBY_VERSION >= 3
7
7
  gem "pry-byebug"
8
8
  gem "rails", "~> 7.1.0"
9
9
 
10
+ gem "concurrent-ruby", "1.3.4"
11
+
10
12
  # keep in sync with ../../Gemfile
11
13
  group :development, :test do
12
14
  gem "combustion"