himg 0.0.1 → 0.0.2

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: 516bc67aa868ad60941f30c3da0ae3394c52527d98066260ec6eccbf7c37d71c
4
- data.tar.gz: e2b6109e2d740755aca950d0615de4e45cb2d3d988c323d32425b3bd835f8378
3
+ metadata.gz: 1fc5224bd15d81a7d37a613be2ff4b648db40f6489898ef164c6144ae9e68e0f
4
+ data.tar.gz: 036c08c03d4cee6c08df32efeeddd2b334b43ba1e090a8f9e27196df4d401524
5
5
  SHA512:
6
- metadata.gz: 3eedcbb8954b86e31808c6a4cfb13b76db86086c7c243babd9ecf244cc0d0bb8d6b0dab174b06f6d79420d1eb75ee58e6e3c1f9ca0694b08ded2c8a5a2283c92
7
- data.tar.gz: f7f2c9c1b9e9731a9c7baff46b5307508e37c9204a232b55b29f9f1dda69cd2ae66ddcc51d91936689c716a0be1f89396388cbcffaf2914d3b264e02a78f19eb
6
+ metadata.gz: b0534b8ae5f8ba53db0173f71dc44742c3be7c4466dd5d76be6190ec7b7227a23c7e2135ea97d071de93667c339d2263e9adc43b7664db16803255e99a58b4bb
7
+ data.tar.gz: 2f72cfe20ac86a5243295073e6a152a76dcefb3192d860adb71510ed6fb59c841b58e1ed54ed7807979920dca0ae3cd8b7c478db214ff9b9df930f90531e070b
data/Appraisals ADDED
@@ -0,0 +1,33 @@
1
+ appraise "plain-ruby" do
2
+ end
3
+
4
+ appraise "rails-6" do
5
+ gem "rails", "~> 6.0"
6
+ gem "rspec-rails", "~> 6.0"
7
+ gem "concurrent-ruby", "1.3.4" # Logger dependency fix, see: https://stackoverflow.com/questions/79360526/uninitialized-constant-activesupportloggerthreadsafelevellogger-nameerror
8
+ gem "bigdecimal", "~> 1.4" # See: https://github.com/rails/rails/issues/34822
9
+ gem "drb"
10
+ end
11
+
12
+ appraise "rails-7-0" do
13
+ gem "rails", "~> 7.0.0"
14
+ gem "rspec-rails", "~> 7.0"
15
+ gem "concurrent-ruby", "1.3.4" # Logger dependency fix, see: https://stackoverflow.com/questions/79360526/uninitialized-constant-activesupportloggerthreadsafelevellogger-nameerror
16
+ gem "bigdecimal", "~> 1.4" # See: https://github.com/rails/rails/issues/34822
17
+ gem "drb"
18
+ end
19
+
20
+ appraise "rails-7-1" do
21
+ gem "rails", "~> 7.1.0"
22
+ gem "rspec-rails", "~> 7.0"
23
+ end
24
+
25
+ appraise "rails-7-2" do
26
+ gem "rails", "~> 7.2.0"
27
+ gem "rspec-rails", "~> 7.0"
28
+ end
29
+
30
+ appraise "rails-8" do
31
+ gem "rails", "~> 8.0"
32
+ gem "rspec-rails", "~> 7.0"
33
+ end
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Himg
1
+ # Himg: The Hyper Image Generator
2
2
 
3
- Library for generating an image from HTML
3
+ You give it HTML and it gives back an image!
4
4
 
5
5
  Parses a minimal subset of HTML/CSS, fetches nested resources, renders an image on the GPU.
6
6
 
@@ -8,34 +8,66 @@ Uses rust libraries to do this in a fast, hopefully safe way.
8
8
 
9
9
  In Rails this will mean you can process user.himg.erb to display an image including data from a user's profile.
10
10
 
11
- ## Installation
11
+ ## CAVEATS
12
+
13
+ 1. This is **pre-alpha** software, don't expect it to work yet.
14
+ 2. Rendering requires a GPU. Awaiting CPU support in vello, which Canva may be working on.
15
+ 3. Performance needs tuning. Both in the underlying blitz library and how data is passed between Rust and Ruby
16
+ 4. Network requests can be made: don't use this library with untrusted inputs.
17
+ 5. file:// URLs are resolved: this could expose files on your computer.
18
+ 6. Native extensions are not yet being published for different os/arch
19
+ 7. Error handling hasn't been added yet
20
+ 8. Verbose logging is hardcoded
12
21
 
13
- TODO: Replace `UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG` with your gem name right after releasing it to RubyGems.org. Please do not do it earlier due to security reasons. Alternatively, replace this section with instructions to install your gem from git if you don't plan to release to RubyGems.org.
22
+ ## Installation
14
23
 
15
24
  Install the gem and add to the application's Gemfile by executing:
16
25
 
17
26
  ```bash
18
- bundle add UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG
27
+ bundle add himg
19
28
  ```
20
29
 
21
30
  If bundler is not being used to manage dependencies, install the gem by executing:
22
31
 
23
32
  ```bash
24
- gem install UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG
33
+ gem install himg
25
34
  ```
26
35
 
27
36
  ## Usage
28
37
 
29
- ### Run from Ruby
38
+ ### Rails
39
+
40
+ Simply add a `show.himg.erb`!
41
+
42
+ ```erb
43
+ <div><%= @username %></div>
44
+ ```
45
+
46
+ A :himg template handler is registered and will be called by rails' `default_render` method automatically when the corresponding view is found. This can be `show.himg` for a static image, or `show.himg.erb` to use variables from the controller.
47
+
48
+ If you prefer you could also use `render himg: "<div>My Data</div>"` instead, but should be careful with untrusted input if constructing HTML manually.
49
+
50
+ To be explicit in the controler you can also use `respond_to` style:
30
51
 
31
52
  ```ruby
32
- png = Himg.render("<html bgcolor='blue'></html>")
53
+ respond_to do |format|
54
+ format.html
55
+ format.himg
56
+ end
33
57
  ```
34
58
 
35
- ### Run directly from the command line to output an image
36
- ```bash
37
- bundle exec cargo run --example file
38
- bundle exec cargo run --example file -- path/to/file.html
59
+ ```ruby
60
+ respond_to do |format|
61
+ format.html
62
+ format.himg { render himg: '<h1 style="text-align: center;">Recent Users</h1>' }
63
+ format.png { render himg: '<div>For .png URLs</div>' }
64
+ end
65
+ ```
66
+
67
+ ### Run from Ruby
68
+
69
+ ```ruby
70
+ png = Himg.render("<html bgcolor='blue'></html>")
39
71
  ```
40
72
 
41
73
  ## Development
@@ -44,6 +76,12 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
44
76
 
45
77
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
46
78
 
79
+ ### Run directly from the command line to output an image
80
+ ```bash
81
+ bundle exec cargo run --example file
82
+ bundle exec cargo run --example file -- path/to/file.html
83
+ ```
84
+
47
85
  ## Contributing
48
86
 
49
87
  Bug reports and pull requests are welcome on GitHub at https://github.com/jamedjo/himg.
data/Rakefile CHANGED
@@ -17,4 +17,4 @@ RbSys::ExtensionTask.new("himg", GEMSPEC) do |ext|
17
17
  ext.lib_dir = "lib/himg"
18
18
  end
19
19
 
20
- task default: %i[compile spec standard]
20
+ task default: %i[compile standard]
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "irb"
6
+ gem "rake", "~> 13.0"
7
+ gem "rake-compiler"
8
+ gem "rspec", "~> 3.0"
9
+ gem "standard", "~> 1.3"
10
+ gem "steep"
11
+
12
+ gemspec path: "../"
@@ -0,0 +1,192 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ himg (0.0.1)
5
+ rb_sys (~> 0.9)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activesupport (8.0.2)
11
+ base64
12
+ benchmark (>= 0.3)
13
+ bigdecimal
14
+ concurrent-ruby (~> 1.0, >= 1.3.1)
15
+ connection_pool (>= 2.2.5)
16
+ drb
17
+ i18n (>= 1.6, < 2)
18
+ logger (>= 1.4.2)
19
+ minitest (>= 5.1)
20
+ securerandom (>= 0.3)
21
+ tzinfo (~> 2.0, >= 2.0.5)
22
+ uri (>= 0.13.1)
23
+ appraisal (2.5.0)
24
+ bundler
25
+ rake
26
+ thor (>= 0.14.0)
27
+ ast (2.4.3)
28
+ base64 (0.2.0)
29
+ benchmark (0.4.0)
30
+ bigdecimal (3.1.9)
31
+ concurrent-ruby (1.3.5)
32
+ connection_pool (2.5.1)
33
+ csv (3.3.4)
34
+ date (3.4.1)
35
+ diff-lcs (1.6.1)
36
+ drb (2.2.1)
37
+ ffi (1.17.2)
38
+ ffi (1.17.2-aarch64-linux-gnu)
39
+ ffi (1.17.2-aarch64-linux-musl)
40
+ ffi (1.17.2-arm-linux-gnu)
41
+ ffi (1.17.2-arm-linux-musl)
42
+ ffi (1.17.2-arm64-darwin)
43
+ ffi (1.17.2-x86-linux-gnu)
44
+ ffi (1.17.2-x86-linux-musl)
45
+ ffi (1.17.2-x86_64-darwin)
46
+ ffi (1.17.2-x86_64-linux-gnu)
47
+ ffi (1.17.2-x86_64-linux-musl)
48
+ fileutils (1.7.3)
49
+ i18n (1.14.7)
50
+ concurrent-ruby (~> 1.0)
51
+ io-console (0.8.0)
52
+ irb (1.15.2)
53
+ pp (>= 0.6.0)
54
+ rdoc (>= 4.0.0)
55
+ reline (>= 0.4.2)
56
+ json (2.10.2)
57
+ language_server-protocol (3.17.0.4)
58
+ lint_roller (1.1.0)
59
+ listen (3.9.0)
60
+ rb-fsevent (~> 0.10, >= 0.10.3)
61
+ rb-inotify (~> 0.9, >= 0.9.10)
62
+ logger (1.7.0)
63
+ minitest (5.25.5)
64
+ mutex_m (0.3.0)
65
+ parallel (1.27.0)
66
+ parser (3.3.8.0)
67
+ ast (~> 2.4.1)
68
+ racc
69
+ pp (0.6.2)
70
+ prettyprint
71
+ prettyprint (0.2.0)
72
+ prism (1.4.0)
73
+ psych (5.2.3)
74
+ date
75
+ stringio
76
+ racc (1.8.1)
77
+ rainbow (3.1.1)
78
+ rake (13.2.1)
79
+ rake-compiler (1.3.0)
80
+ rake
81
+ rake-compiler-dock (1.9.1)
82
+ rb-fsevent (0.11.2)
83
+ rb-inotify (0.11.1)
84
+ ffi (~> 1.0)
85
+ rb_sys (0.9.111)
86
+ rake-compiler-dock (= 1.9.1)
87
+ rbs (3.9.2)
88
+ logger
89
+ rdoc (6.13.1)
90
+ psych (>= 4.0.0)
91
+ regexp_parser (2.10.0)
92
+ reline (0.6.1)
93
+ io-console (~> 0.5)
94
+ rspec (3.13.0)
95
+ rspec-core (~> 3.13.0)
96
+ rspec-expectations (~> 3.13.0)
97
+ rspec-mocks (~> 3.13.0)
98
+ rspec-core (3.13.3)
99
+ rspec-support (~> 3.13.0)
100
+ rspec-expectations (3.13.3)
101
+ diff-lcs (>= 1.2.0, < 2.0)
102
+ rspec-support (~> 3.13.0)
103
+ rspec-mocks (3.13.2)
104
+ diff-lcs (>= 1.2.0, < 2.0)
105
+ rspec-support (~> 3.13.0)
106
+ rspec-support (3.13.2)
107
+ rubocop (1.75.2)
108
+ json (~> 2.3)
109
+ language_server-protocol (~> 3.17.0.2)
110
+ lint_roller (~> 1.1.0)
111
+ parallel (~> 1.10)
112
+ parser (>= 3.3.0.2)
113
+ rainbow (>= 2.2.2, < 4.0)
114
+ regexp_parser (>= 2.9.3, < 3.0)
115
+ rubocop-ast (>= 1.44.0, < 2.0)
116
+ ruby-progressbar (~> 1.7)
117
+ unicode-display_width (>= 2.4.0, < 4.0)
118
+ rubocop-ast (1.44.1)
119
+ parser (>= 3.3.7.2)
120
+ prism (~> 1.4)
121
+ rubocop-performance (1.25.0)
122
+ lint_roller (~> 1.1)
123
+ rubocop (>= 1.75.0, < 2.0)
124
+ rubocop-ast (>= 1.38.0, < 2.0)
125
+ ruby-progressbar (1.13.0)
126
+ securerandom (0.4.1)
127
+ standard (1.49.0)
128
+ language_server-protocol (~> 3.17.0.2)
129
+ lint_roller (~> 1.0)
130
+ rubocop (~> 1.75.2)
131
+ standard-custom (~> 1.0.0)
132
+ standard-performance (~> 1.8)
133
+ standard-custom (1.0.2)
134
+ lint_roller (~> 1.0)
135
+ rubocop (~> 1.50)
136
+ standard-performance (1.8.0)
137
+ lint_roller (~> 1.1)
138
+ rubocop-performance (~> 1.25.0)
139
+ steep (1.10.0)
140
+ activesupport (>= 5.1)
141
+ concurrent-ruby (>= 1.1.10)
142
+ csv (>= 3.0.9)
143
+ fileutils (>= 1.1.0)
144
+ json (>= 2.1.0)
145
+ language_server-protocol (>= 3.17.0.4, < 4.0)
146
+ listen (~> 3.0)
147
+ logger (>= 1.3.0)
148
+ mutex_m (>= 0.3.0)
149
+ parser (>= 3.1)
150
+ rainbow (>= 2.2.2, < 4.0)
151
+ rbs (~> 3.9)
152
+ securerandom (>= 0.1)
153
+ strscan (>= 1.0.0)
154
+ terminal-table (>= 2, < 5)
155
+ uri (>= 0.12.0)
156
+ stringio (3.1.7)
157
+ strscan (3.1.3)
158
+ terminal-table (4.0.0)
159
+ unicode-display_width (>= 1.1.1, < 4)
160
+ thor (1.3.2)
161
+ tzinfo (2.0.6)
162
+ concurrent-ruby (~> 1.0)
163
+ unicode-display_width (3.1.4)
164
+ unicode-emoji (~> 4.0, >= 4.0.4)
165
+ unicode-emoji (4.0.4)
166
+ uri (1.0.3)
167
+
168
+ PLATFORMS
169
+ aarch64-linux-gnu
170
+ aarch64-linux-musl
171
+ arm-linux-gnu
172
+ arm-linux-musl
173
+ arm64-darwin
174
+ ruby
175
+ x86-linux-gnu
176
+ x86-linux-musl
177
+ x86_64-darwin
178
+ x86_64-linux-gnu
179
+ x86_64-linux-musl
180
+
181
+ DEPENDENCIES
182
+ appraisal
183
+ himg!
184
+ irb
185
+ rake (~> 13.0)
186
+ rake-compiler
187
+ rspec (~> 3.0)
188
+ standard (~> 1.3)
189
+ steep
190
+
191
+ BUNDLED WITH
192
+ 2.6.7
@@ -0,0 +1,17 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "irb"
6
+ gem "rake", "~> 13.0"
7
+ gem "rake-compiler"
8
+ gem "rspec", "~> 3.0"
9
+ gem "standard", "~> 1.3"
10
+ gem "steep"
11
+ gem "rails", "~> 6.0"
12
+ gem "rspec-rails", "~> 6.0"
13
+ gem "concurrent-ruby", "1.3.4"
14
+ gem "bigdecimal", "~> 1.4"
15
+ gem "drb"
16
+
17
+ gemspec path: "../"
@@ -0,0 +1,330 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ himg (0.0.1)
5
+ rb_sys (~> 0.9)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actioncable (6.1.7.10)
11
+ actionpack (= 6.1.7.10)
12
+ activesupport (= 6.1.7.10)
13
+ nio4r (~> 2.0)
14
+ websocket-driver (>= 0.6.1)
15
+ actionmailbox (6.1.7.10)
16
+ actionpack (= 6.1.7.10)
17
+ activejob (= 6.1.7.10)
18
+ activerecord (= 6.1.7.10)
19
+ activestorage (= 6.1.7.10)
20
+ activesupport (= 6.1.7.10)
21
+ mail (>= 2.7.1)
22
+ actionmailer (6.1.7.10)
23
+ actionpack (= 6.1.7.10)
24
+ actionview (= 6.1.7.10)
25
+ activejob (= 6.1.7.10)
26
+ activesupport (= 6.1.7.10)
27
+ mail (~> 2.5, >= 2.5.4)
28
+ rails-dom-testing (~> 2.0)
29
+ actionpack (6.1.7.10)
30
+ actionview (= 6.1.7.10)
31
+ activesupport (= 6.1.7.10)
32
+ rack (~> 2.0, >= 2.0.9)
33
+ rack-test (>= 0.6.3)
34
+ rails-dom-testing (~> 2.0)
35
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
36
+ actiontext (6.1.7.10)
37
+ actionpack (= 6.1.7.10)
38
+ activerecord (= 6.1.7.10)
39
+ activestorage (= 6.1.7.10)
40
+ activesupport (= 6.1.7.10)
41
+ nokogiri (>= 1.8.5)
42
+ actionview (6.1.7.10)
43
+ activesupport (= 6.1.7.10)
44
+ builder (~> 3.1)
45
+ erubi (~> 1.4)
46
+ rails-dom-testing (~> 2.0)
47
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
48
+ activejob (6.1.7.10)
49
+ activesupport (= 6.1.7.10)
50
+ globalid (>= 0.3.6)
51
+ activemodel (6.1.7.10)
52
+ activesupport (= 6.1.7.10)
53
+ activerecord (6.1.7.10)
54
+ activemodel (= 6.1.7.10)
55
+ activesupport (= 6.1.7.10)
56
+ activestorage (6.1.7.10)
57
+ actionpack (= 6.1.7.10)
58
+ activejob (= 6.1.7.10)
59
+ activerecord (= 6.1.7.10)
60
+ activesupport (= 6.1.7.10)
61
+ marcel (~> 1.0)
62
+ mini_mime (>= 1.1.0)
63
+ activesupport (6.1.7.10)
64
+ concurrent-ruby (~> 1.0, >= 1.0.2)
65
+ i18n (>= 1.6, < 2)
66
+ minitest (>= 5.1)
67
+ tzinfo (~> 2.0)
68
+ zeitwerk (~> 2.3)
69
+ appraisal (2.5.0)
70
+ bundler
71
+ rake
72
+ thor (>= 0.14.0)
73
+ ast (2.4.3)
74
+ base64 (0.2.0)
75
+ bigdecimal (1.4.4)
76
+ builder (3.3.0)
77
+ concurrent-ruby (1.3.4)
78
+ crass (1.0.6)
79
+ csv (3.3.4)
80
+ date (3.4.1)
81
+ diff-lcs (1.6.1)
82
+ drb (2.2.1)
83
+ erubi (1.13.1)
84
+ ffi (1.17.2-aarch64-linux-gnu)
85
+ ffi (1.17.2-aarch64-linux-musl)
86
+ ffi (1.17.2-arm-linux-gnu)
87
+ ffi (1.17.2-arm-linux-musl)
88
+ ffi (1.17.2-arm64-darwin)
89
+ ffi (1.17.2-x86_64-darwin)
90
+ ffi (1.17.2-x86_64-linux-gnu)
91
+ ffi (1.17.2-x86_64-linux-musl)
92
+ fileutils (1.7.3)
93
+ globalid (1.2.1)
94
+ activesupport (>= 6.1)
95
+ i18n (1.14.7)
96
+ concurrent-ruby (~> 1.0)
97
+ io-console (0.8.0)
98
+ irb (1.15.2)
99
+ pp (>= 0.6.0)
100
+ rdoc (>= 4.0.0)
101
+ reline (>= 0.4.2)
102
+ json (2.10.2)
103
+ language_server-protocol (3.17.0.4)
104
+ lint_roller (1.1.0)
105
+ listen (3.9.0)
106
+ rb-fsevent (~> 0.10, >= 0.10.3)
107
+ rb-inotify (~> 0.9, >= 0.9.10)
108
+ logger (1.7.0)
109
+ loofah (2.24.0)
110
+ crass (~> 1.0.2)
111
+ nokogiri (>= 1.12.0)
112
+ mail (2.8.1)
113
+ mini_mime (>= 0.1.1)
114
+ net-imap
115
+ net-pop
116
+ net-smtp
117
+ marcel (1.0.4)
118
+ method_source (1.1.0)
119
+ mini_mime (1.1.5)
120
+ minitest (5.25.5)
121
+ mutex_m (0.3.0)
122
+ net-imap (0.5.6)
123
+ date
124
+ net-protocol
125
+ net-pop (0.1.2)
126
+ net-protocol
127
+ net-protocol (0.2.2)
128
+ timeout
129
+ net-smtp (0.5.1)
130
+ net-protocol
131
+ nio4r (2.7.4)
132
+ nokogiri (1.18.7-aarch64-linux-gnu)
133
+ racc (~> 1.4)
134
+ nokogiri (1.18.7-aarch64-linux-musl)
135
+ racc (~> 1.4)
136
+ nokogiri (1.18.7-arm-linux-gnu)
137
+ racc (~> 1.4)
138
+ nokogiri (1.18.7-arm-linux-musl)
139
+ racc (~> 1.4)
140
+ nokogiri (1.18.7-arm64-darwin)
141
+ racc (~> 1.4)
142
+ nokogiri (1.18.7-x86_64-darwin)
143
+ racc (~> 1.4)
144
+ nokogiri (1.18.7-x86_64-linux-gnu)
145
+ racc (~> 1.4)
146
+ nokogiri (1.18.7-x86_64-linux-musl)
147
+ racc (~> 1.4)
148
+ parallel (1.27.0)
149
+ parser (3.3.8.0)
150
+ ast (~> 2.4.1)
151
+ racc
152
+ pp (0.6.2)
153
+ prettyprint
154
+ prettyprint (0.2.0)
155
+ prism (1.4.0)
156
+ psych (5.2.3)
157
+ date
158
+ stringio
159
+ racc (1.8.1)
160
+ rack (2.2.13)
161
+ rack-test (2.2.0)
162
+ rack (>= 1.3)
163
+ rails (6.1.7.10)
164
+ actioncable (= 6.1.7.10)
165
+ actionmailbox (= 6.1.7.10)
166
+ actionmailer (= 6.1.7.10)
167
+ actionpack (= 6.1.7.10)
168
+ actiontext (= 6.1.7.10)
169
+ actionview (= 6.1.7.10)
170
+ activejob (= 6.1.7.10)
171
+ activemodel (= 6.1.7.10)
172
+ activerecord (= 6.1.7.10)
173
+ activestorage (= 6.1.7.10)
174
+ activesupport (= 6.1.7.10)
175
+ bundler (>= 1.15.0)
176
+ railties (= 6.1.7.10)
177
+ sprockets-rails (>= 2.0.0)
178
+ rails-dom-testing (2.2.0)
179
+ activesupport (>= 5.0.0)
180
+ minitest
181
+ nokogiri (>= 1.6)
182
+ rails-html-sanitizer (1.6.2)
183
+ loofah (~> 2.21)
184
+ 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)
185
+ railties (6.1.7.10)
186
+ actionpack (= 6.1.7.10)
187
+ activesupport (= 6.1.7.10)
188
+ method_source
189
+ rake (>= 12.2)
190
+ thor (~> 1.0)
191
+ rainbow (3.1.1)
192
+ rake (13.2.1)
193
+ rake-compiler (1.3.0)
194
+ rake
195
+ rake-compiler-dock (1.9.1)
196
+ rb-fsevent (0.11.2)
197
+ rb-inotify (0.11.1)
198
+ ffi (~> 1.0)
199
+ rb_sys (0.9.111)
200
+ rake-compiler-dock (= 1.9.1)
201
+ rbs (3.9.2)
202
+ logger
203
+ rdoc (6.13.1)
204
+ psych (>= 4.0.0)
205
+ regexp_parser (2.10.0)
206
+ reline (0.6.1)
207
+ io-console (~> 0.5)
208
+ rspec (3.13.0)
209
+ rspec-core (~> 3.13.0)
210
+ rspec-expectations (~> 3.13.0)
211
+ rspec-mocks (~> 3.13.0)
212
+ rspec-core (3.13.3)
213
+ rspec-support (~> 3.13.0)
214
+ rspec-expectations (3.13.3)
215
+ diff-lcs (>= 1.2.0, < 2.0)
216
+ rspec-support (~> 3.13.0)
217
+ rspec-mocks (3.13.2)
218
+ diff-lcs (>= 1.2.0, < 2.0)
219
+ rspec-support (~> 3.13.0)
220
+ rspec-rails (6.1.5)
221
+ actionpack (>= 6.1)
222
+ activesupport (>= 6.1)
223
+ railties (>= 6.1)
224
+ rspec-core (~> 3.13)
225
+ rspec-expectations (~> 3.13)
226
+ rspec-mocks (~> 3.13)
227
+ rspec-support (~> 3.13)
228
+ rspec-support (3.13.2)
229
+ rubocop (1.75.2)
230
+ json (~> 2.3)
231
+ language_server-protocol (~> 3.17.0.2)
232
+ lint_roller (~> 1.1.0)
233
+ parallel (~> 1.10)
234
+ parser (>= 3.3.0.2)
235
+ rainbow (>= 2.2.2, < 4.0)
236
+ regexp_parser (>= 2.9.3, < 3.0)
237
+ rubocop-ast (>= 1.44.0, < 2.0)
238
+ ruby-progressbar (~> 1.7)
239
+ unicode-display_width (>= 2.4.0, < 4.0)
240
+ rubocop-ast (1.44.1)
241
+ parser (>= 3.3.7.2)
242
+ prism (~> 1.4)
243
+ rubocop-performance (1.25.0)
244
+ lint_roller (~> 1.1)
245
+ rubocop (>= 1.75.0, < 2.0)
246
+ rubocop-ast (>= 1.38.0, < 2.0)
247
+ ruby-progressbar (1.13.0)
248
+ securerandom (0.4.1)
249
+ sprockets (4.2.2)
250
+ concurrent-ruby (~> 1.0)
251
+ logger
252
+ rack (>= 2.2.4, < 4)
253
+ sprockets-rails (3.5.2)
254
+ actionpack (>= 6.1)
255
+ activesupport (>= 6.1)
256
+ sprockets (>= 3.0.0)
257
+ standard (1.49.0)
258
+ language_server-protocol (~> 3.17.0.2)
259
+ lint_roller (~> 1.0)
260
+ rubocop (~> 1.75.2)
261
+ standard-custom (~> 1.0.0)
262
+ standard-performance (~> 1.8)
263
+ standard-custom (1.0.2)
264
+ lint_roller (~> 1.0)
265
+ rubocop (~> 1.50)
266
+ standard-performance (1.8.0)
267
+ lint_roller (~> 1.1)
268
+ rubocop-performance (~> 1.25.0)
269
+ steep (1.10.0)
270
+ activesupport (>= 5.1)
271
+ concurrent-ruby (>= 1.1.10)
272
+ csv (>= 3.0.9)
273
+ fileutils (>= 1.1.0)
274
+ json (>= 2.1.0)
275
+ language_server-protocol (>= 3.17.0.4, < 4.0)
276
+ listen (~> 3.0)
277
+ logger (>= 1.3.0)
278
+ mutex_m (>= 0.3.0)
279
+ parser (>= 3.1)
280
+ rainbow (>= 2.2.2, < 4.0)
281
+ rbs (~> 3.9)
282
+ securerandom (>= 0.1)
283
+ strscan (>= 1.0.0)
284
+ terminal-table (>= 2, < 5)
285
+ uri (>= 0.12.0)
286
+ stringio (3.1.7)
287
+ strscan (3.1.3)
288
+ terminal-table (4.0.0)
289
+ unicode-display_width (>= 1.1.1, < 4)
290
+ thor (1.3.2)
291
+ timeout (0.4.3)
292
+ tzinfo (2.0.6)
293
+ concurrent-ruby (~> 1.0)
294
+ unicode-display_width (3.1.4)
295
+ unicode-emoji (~> 4.0, >= 4.0.4)
296
+ unicode-emoji (4.0.4)
297
+ uri (1.0.3)
298
+ websocket-driver (0.7.7)
299
+ base64
300
+ websocket-extensions (>= 0.1.0)
301
+ websocket-extensions (0.1.5)
302
+ zeitwerk (2.7.2)
303
+
304
+ PLATFORMS
305
+ aarch64-linux-gnu
306
+ aarch64-linux-musl
307
+ arm-linux-gnu
308
+ arm-linux-musl
309
+ arm64-darwin
310
+ x86_64-darwin
311
+ x86_64-linux-gnu
312
+ x86_64-linux-musl
313
+
314
+ DEPENDENCIES
315
+ appraisal
316
+ bigdecimal (~> 1.4)
317
+ concurrent-ruby (= 1.3.4)
318
+ drb
319
+ himg!
320
+ irb
321
+ rails (~> 6.0)
322
+ rake (~> 13.0)
323
+ rake-compiler
324
+ rspec (~> 3.0)
325
+ rspec-rails (~> 6.0)
326
+ standard (~> 1.3)
327
+ steep
328
+
329
+ BUNDLED WITH
330
+ 2.6.7